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/06/17 06:17:12 UTC

[01/32] ios commit: CB-11445 Updated checked-in node_modules

Repository: cordova-ios
Updated Branches:
  refs/heads/master d16ffe238 -> 0f34d79a6


http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLNode.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLNode.js b/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLNode.js
deleted file mode 100644
index 1551647..0000000
--- a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLNode.js
+++ /dev/null
@@ -1,304 +0,0 @@
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLNode, _,
-    __hasProp = {}.hasOwnProperty;
-
-  _ = require('lodash-node');
-
-  module.exports = XMLNode = (function() {
-    function XMLNode(parent) {
-      this.parent = parent;
-      this.options = this.parent.options;
-      this.stringify = this.parent.stringify;
-    }
-
-    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;
-      lastChild = null;
-      if (attributes == null) {
-        attributes = {};
-      }
-      if (!_.isObject(attributes)) {
-        _ref = [attributes, text], text = _ref[0], attributes = _ref[1];
-      }
-      if (_.isArray(name)) {
-        for (_i = 0, _len = name.length; _i < _len; _i++) {
-          item = name[_i];
-          lastChild = this.element(item);
-        }
-      } else if (_.isFunction(name)) {
-        lastChild = this.element(name.apply());
-      } else if (_.isObject(name)) {
-        for (key in name) {
-          if (!__hasProp.call(name, key)) continue;
-          val = name[key];
-          if (!(val != null)) {
-            continue;
-          }
-          if (_.isFunction(val)) {
-            val = val.apply();
-          }
-          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 {
-            lastChild = this.element(key, val);
-          }
-        }
-      } else {
-        if (!this.options.ignoreDecorators && this.stringify.convertTextKey && name.indexOf(this.stringify.convertTextKey) === 0) {
-          lastChild = this.text(text);
-        } else if (!this.options.ignoreDecorators && this.stringify.convertCDataKey && name.indexOf(this.stringify.convertCDataKey) === 0) {
-          lastChild = this.cdata(text);
-        } else if (!this.options.ignoreDecorators && this.stringify.convertCommentKey && name.indexOf(this.stringify.convertCommentKey) === 0) {
-          lastChild = this.comment(text);
-        } else if (!this.options.ignoreDecorators && this.stringify.convertRawKey && name.indexOf(this.stringify.convertRawKey) === 0) {
-          lastChild = this.raw(text);
-        } else {
-          lastChild = this.node(name, attributes, text);
-        }
-      }
-      if (lastChild == null) {
-        throw new Error("Could not create any elements with: " + name);
-      }
-      return lastChild;
-    };
-
-    XMLNode.prototype.insertBefore = function(name, attributes, text) {
-      var child, i, removed;
-      if (this.isRoot) {
-        throw new Error("Cannot insert elements at root level");
-      }
-      i = this.parent.children.indexOf(this);
-      removed = this.parent.children.splice(i);
-      child = this.parent.element(name, attributes, text);
-      Array.prototype.push.apply(this.parent.children, removed);
-      return child;
-    };
-
-    XMLNode.prototype.insertAfter = function(name, attributes, text) {
-      var child, i, removed;
-      if (this.isRoot) {
-        throw new Error("Cannot insert elements at root level");
-      }
-      i = this.parent.children.indexOf(this);
-      removed = this.parent.children.splice(i + 1);
-      child = this.parent.element(name, attributes, text);
-      Array.prototype.push.apply(this.parent.children, removed);
-      return child;
-    };
-
-    XMLNode.prototype.remove = function() {
-      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;
-      return this.parent;
-    };
-
-    XMLNode.prototype.node = function(name, attributes, text) {
-      var XMLElement, child, _ref;
-      if (attributes == null) {
-        attributes = {};
-      }
-      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);
-      }
-      this.children.push(child);
-      return child;
-    };
-
-    XMLNode.prototype.text = function(value) {
-      var XMLText, child;
-      XMLText = require('./XMLText');
-      child = new XMLText(this, value);
-      this.children.push(child);
-      return this;
-    };
-
-    XMLNode.prototype.cdata = function(value) {
-      var XMLCData, child;
-      XMLCData = require('./XMLCData');
-      child = new XMLCData(this, value);
-      this.children.push(child);
-      return this;
-    };
-
-    XMLNode.prototype.comment = function(value) {
-      var XMLComment, child;
-      XMLComment = require('./XMLComment');
-      child = new XMLComment(this, value);
-      this.children.push(child);
-      return this;
-    };
-
-    XMLNode.prototype.raw = function(value) {
-      var XMLRaw, child;
-      XMLRaw = require('./XMLRaw');
-      child = new XMLRaw(this, value);
-      this.children.push(child);
-      return this;
-    };
-
-    XMLNode.prototype.declaration = function(version, encoding, standalone) {
-      var XMLDeclaration, 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;
-      doc = this.document();
-      XMLDocType = require('./XMLDocType');
-      doctype = new XMLDocType(doc, pubID, sysID);
-      doc.doctype = doctype;
-      return doctype;
-    };
-
-    XMLNode.prototype.up = function() {
-      if (this.isRoot) {
-        throw new Error("The root node has no parent. Use doc() if you need to get the document object.");
-      }
-      return this.parent;
-    };
-
-    XMLNode.prototype.root = function() {
-      var child;
-      if (this.isRoot) {
-        return this;
-      }
-      child = this.parent;
-      while (!child.isRoot) {
-        child = child.parent;
-      }
-      return child;
-    };
-
-    XMLNode.prototype.document = function() {
-      return this.root().documentObject;
-    };
-
-    XMLNode.prototype.end = function(options) {
-      return this.document().toString(options);
-    };
-
-    XMLNode.prototype.prev = function() {
-      var i;
-      if (this.isRoot) {
-        throw new Error("Root node has no siblings");
-      }
-      i = this.parent.children.indexOf(this);
-      if (i < 1) {
-        throw new Error("Already at the first node");
-      }
-      return this.parent.children[i - 1];
-    };
-
-    XMLNode.prototype.next = function() {
-      var i;
-      if (this.isRoot) {
-        throw new Error("Root node has no siblings");
-      }
-      i = this.parent.children.indexOf(this);
-      if (i === -1 || i === this.parent.children.length - 1) {
-        throw new Error("Already at the last node");
-      }
-      return this.parent.children[i + 1];
-    };
-
-    XMLNode.prototype.importXMLBuilder = function(xmlbuilder) {
-      var clonedRoot;
-      clonedRoot = xmlbuilder.root().clone();
-      clonedRoot.parent = this;
-      clonedRoot.isRoot = false;
-      this.children.push(clonedRoot);
-      return this;
-    };
-
-    XMLNode.prototype.ele = function(name, attributes, text) {
-      return this.element(name, attributes, text);
-    };
-
-    XMLNode.prototype.nod = function(name, attributes, text) {
-      return this.node(name, attributes, text);
-    };
-
-    XMLNode.prototype.txt = function(value) {
-      return this.text(value);
-    };
-
-    XMLNode.prototype.dat = function(value) {
-      return this.cdata(value);
-    };
-
-    XMLNode.prototype.com = function(value) {
-      return this.comment(value);
-    };
-
-    XMLNode.prototype.doc = function() {
-      return this.document();
-    };
-
-    XMLNode.prototype.dec = function(version, encoding, standalone) {
-      return this.declaration(version, encoding, standalone);
-    };
-
-    XMLNode.prototype.dtd = function(pubID, sysID) {
-      return this.doctype(pubID, sysID);
-    };
-
-    XMLNode.prototype.e = function(name, attributes, text) {
-      return this.element(name, attributes, text);
-    };
-
-    XMLNode.prototype.n = function(name, attributes, text) {
-      return this.node(name, attributes, text);
-    };
-
-    XMLNode.prototype.t = function(value) {
-      return this.text(value);
-    };
-
-    XMLNode.prototype.d = function(value) {
-      return this.cdata(value);
-    };
-
-    XMLNode.prototype.c = function(value) {
-      return this.comment(value);
-    };
-
-    XMLNode.prototype.r = function(value) {
-      return this.raw(value);
-    };
-
-    XMLNode.prototype.u = function() {
-      return this.up();
-    };
-
-    return XMLNode;
-
-  })();
-
-}).call(this);

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js b/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js
deleted file mode 100644
index bf85ed3..0000000
--- a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLProcessingInstruction, _;
-
-  _ = require('lodash-node');
-
-  module.exports = XMLProcessingInstruction = (function() {
-    function XMLProcessingInstruction(parent, target, value) {
-      this.stringify = parent.stringify;
-      if (target == null) {
-        throw new Error("Missing instruction target");
-      }
-      this.target = this.stringify.insTarget(target);
-      if (value) {
-        this.value = this.stringify.insValue(value);
-      }
-    }
-
-    XMLProcessingInstruction.prototype.clone = function() {
-      return _.create(XMLProcessingInstruction.prototype, this);
-    };
-
-    XMLProcessingInstruction.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<?';
-      r += this.target;
-      if (this.value) {
-        r += ' ' + this.value;
-      }
-      r += '?>';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLProcessingInstruction;
-
-  })();
-
-}).call(this);

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLRaw.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLRaw.js b/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLRaw.js
deleted file mode 100644
index 9761c42..0000000
--- a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLRaw.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Generated by CoffeeScript 1.6.3
-(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; };
-
-  _ = require('lodash-node');
-
-  XMLNode = require('./XMLNode');
-
-  module.exports = XMLRaw = (function(_super) {
-    __extends(XMLRaw, _super);
-
-    function XMLRaw(parent, text) {
-      XMLRaw.__super__.constructor.call(this, parent);
-      if (text == null) {
-        throw new Error("Missing raw text");
-      }
-      this.value = this.stringify.raw(text);
-    }
-
-    XMLRaw.prototype.clone = function() {
-      return _.create(XMLRaw.prototype, this);
-    };
-
-    XMLRaw.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += this.value;
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLRaw;
-
-  })(XMLNode);
-
-}).call(this);

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLStringifier.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLStringifier.js b/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLStringifier.js
deleted file mode 100644
index 460b626..0000000
--- a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLStringifier.js
+++ /dev/null
@@ -1,163 +0,0 @@
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLStringifier,
-    __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.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];
-        this[key] = value;
-      }
-    }
-
-    XMLStringifier.prototype.eleName = function(val) {
-      val = '' + val || '';
-      return this.assertLegalChar(val);
-    };
-
-    XMLStringifier.prototype.eleText = function(val) {
-      val = '' + val || '';
-      return this.assertLegalChar(this.escape(val));
-    };
-
-    XMLStringifier.prototype.cdata = function(val) {
-      val = '' + val || '';
-      if (val.match(/]]>/)) {
-        throw new Error("Invalid CDATA text: " + val);
-      }
-      return this.assertLegalChar(val);
-    };
-
-    XMLStringifier.prototype.comment = function(val) {
-      val = '' + val || '';
-      if (val.match(/--/)) {
-        throw new Error("Comment text cannot contain double-hypen: " + val);
-      }
-      return this.assertLegalChar(this.escape(val));
-    };
-
-    XMLStringifier.prototype.raw = function(val) {
-      return '' + val || '';
-    };
-
-    XMLStringifier.prototype.attName = function(val) {
-      return '' + val || '';
-    };
-
-    XMLStringifier.prototype.attValue = function(val) {
-      val = '' + val || '';
-      return this.escape(val);
-    };
-
-    XMLStringifier.prototype.insTarget = function(val) {
-      return '' + val || '';
-    };
-
-    XMLStringifier.prototype.insValue = function(val) {
-      val = '' + val || '';
-      if (val.match(/\?>/)) {
-        throw new Error("Invalid processing instruction value: " + val);
-      }
-      return val;
-    };
-
-    XMLStringifier.prototype.xmlVersion = function(val) {
-      val = '' + val || '';
-      if (!val.match(/1\.[0-9]+/)) {
-        throw new Error("Invalid version number: " + val);
-      }
-      return val;
-    };
-
-    XMLStringifier.prototype.xmlEncoding = function(val) {
-      val = '' + val || '';
-      if (!val.match(/[A-Za-z](?:[A-Za-z0-9._-]|-)*/)) {
-        throw new Error("Invalid encoding: " + options.val);
-      }
-      return val;
-    };
-
-    XMLStringifier.prototype.xmlStandalone = function(val) {
-      if (val) {
-        return "yes";
-      } else {
-        return "no";
-      }
-    };
-
-    XMLStringifier.prototype.dtdPubID = function(val) {
-      return '' + val || '';
-    };
-
-    XMLStringifier.prototype.dtdSysID = function(val) {
-      return '' + val || '';
-    };
-
-    XMLStringifier.prototype.dtdElementValue = function(val) {
-      return '' + val || '';
-    };
-
-    XMLStringifier.prototype.dtdAttType = function(val) {
-      return '' + val || '';
-    };
-
-    XMLStringifier.prototype.dtdAttDefault = function(val) {
-      if (val != null) {
-        return '' + val || '';
-      } else {
-        return val;
-      }
-    };
-
-    XMLStringifier.prototype.dtdEntityValue = function(val) {
-      return '' + val || '';
-    };
-
-    XMLStringifier.prototype.dtdNData = function(val) {
-      return '' + val || '';
-    };
-
-    XMLStringifier.prototype.convertAttKey = '@';
-
-    XMLStringifier.prototype.convertPIKey = '?';
-
-    XMLStringifier.prototype.convertTextKey = '#text';
-
-    XMLStringifier.prototype.convertCDataKey = '#cdata';
-
-    XMLStringifier.prototype.convertCommentKey = '#comment';
-
-    XMLStringifier.prototype.convertRawKey = '#raw';
-
-    XMLStringifier.prototype.convertListKey = '#list';
-
-    XMLStringifier.prototype.assertLegalChar = function(str) {
-      var chars, chr;
-      if (this.allowSurrogateChars) {
-        chars = /[\u0000-\u0008\u000B-\u000C\u000E-\u001F\uFFFE-\uFFFF]/;
-      } else {
-        chars = /[\u0000-\u0008\u000B-\u000C\u000E-\u001F\uD800-\uDFFF\uFFFE-\uFFFF]/;
-      }
-      chr = str.match(chars);
-      if (chr) {
-        throw new Error("Invalid character (" + chr + ") in string: " + str + " at index " + chr.index);
-      }
-      return str;
-    };
-
-    XMLStringifier.prototype.escape = function(str) {
-      return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/'/g, '&apos;').replace(/"/g, '&quot;');
-    };
-
-    return XMLStringifier;
-
-  })();
-
-}).call(this);

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLText.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLText.js b/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLText.js
deleted file mode 100644
index 9afe447..0000000
--- a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLText.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Generated by CoffeeScript 1.6.3
-(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; };
-
-  _ = require('lodash-node');
-
-  XMLNode = require('./XMLNode');
-
-  module.exports = XMLText = (function(_super) {
-    __extends(XMLText, _super);
-
-    function XMLText(parent, text) {
-      this.parent = parent;
-      XMLText.__super__.constructor.call(this, parent);
-      if (text == null) {
-        throw new Error("Missing element text");
-      }
-      this.value = this.stringify.eleText(text);
-    }
-
-    XMLText.prototype.clone = function() {
-      return _.create(XMLText.prototype, this);
-    };
-
-    XMLText.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += this.value;
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLText;
-
-  })(XMLNode);
-
-}).call(this);

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/xmlbuilder/lib/index.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/xmlbuilder/lib/index.js b/node_modules/simple-plist/node_modules/xmlbuilder/lib/index.js
deleted file mode 100644
index cd9ac48..0000000
--- a/node_modules/simple-plist/node_modules/xmlbuilder/lib/index.js
+++ /dev/null
@@ -1,14 +0,0 @@
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLBuilder, _;
-
-  _ = require('lodash-node');
-
-  XMLBuilder = require('./XMLBuilder');
-
-  module.exports.create = function(name, xmldec, doctype, options) {
-    options = _.extend({}, xmldec, doctype, options);
-    return new XMLBuilder(name, options).root();
-  };
-
-}).call(this);

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/xmlbuilder/package.json
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/xmlbuilder/package.json b/node_modules/simple-plist/node_modules/xmlbuilder/package.json
deleted file mode 100644
index 3e59205..0000000
--- a/node_modules/simple-plist/node_modules/xmlbuilder/package.json
+++ /dev/null
@@ -1,99 +0,0 @@
-{
-  "_args": [
-    [
-      "xmlbuilder@2.2.1",
-      "D:\\Cordova\\cordova-ios\\node_modules\\simple-plist\\node_modules\\plist"
-    ]
-  ],
-  "_from": "xmlbuilder@2.2.1",
-  "_id": "xmlbuilder@2.2.1",
-  "_inCache": true,
-  "_installable": true,
-  "_location": "/simple-plist/xmlbuilder",
-  "_npmUser": {
-    "email": "oozcitak@gmail.com",
-    "name": "oozcitak"
-  },
-  "_npmVersion": "1.4.6",
-  "_phantomChildren": {},
-  "_requested": {
-    "name": "xmlbuilder",
-    "raw": "xmlbuilder@2.2.1",
-    "rawSpec": "2.2.1",
-    "scope": null,
-    "spec": "2.2.1",
-    "type": "version"
-  },
-  "_requiredBy": [
-    "/simple-plist/plist"
-  ],
-  "_resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.2.1.tgz",
-  "_shasum": "9326430f130d87435d4c4086643aa2926e105a32",
-  "_shrinkwrap": null,
-  "_spec": "xmlbuilder@2.2.1",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\simple-plist\\node_modules\\plist",
-  "author": {
-    "email": "oozcitak@gmail.com",
-    "name": "Ozgur Ozcitak"
-  },
-  "bugs": {
-    "url": "http://github.com/oozcitak/xmlbuilder-js/issues"
-  },
-  "dependencies": {
-    "lodash-node": "~2.4.1"
-  },
-  "description": "An XML builder for node.js",
-  "devDependencies": {
-    "coffee-script": "~1.6.3",
-    "memwatch": "*",
-    "vows": "*"
-  },
-  "directories": {},
-  "dist": {
-    "shasum": "9326430f130d87435d4c4086643aa2926e105a32",
-    "tarball": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.2.1.tgz"
-  },
-  "engines": {
-    "node": "0.8.x || 0.10.x"
-  },
-  "homepage": "http://github.com/oozcitak/xmlbuilder-js",
-  "keywords": [
-    "xml",
-    "xmlbuilder"
-  ],
-  "licenses": [
-    {
-      "type": "MIT",
-      "url": "http://opensource.org/licenses/mit-license.php"
-    }
-  ],
-  "main": "./lib/index",
-  "maintainers": [
-    {
-      "email": "oozcitak@gmail.com",
-      "name": "oozcitak"
-    }
-  ],
-  "name": "xmlbuilder",
-  "optionalDependencies": {},
-  "readme": "ERROR: No README data found!",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/oozcitak/xmlbuilder-js.git"
-  },
-  "scripts": {
-    "postpublish": "rm -rf lib",
-    "prepublish": "coffee -co lib/ src/*.coffee",
-    "test": "vows test/*"
-  },
-  "version": "2.2.1",
-  "warnings": [
-    {
-      "code": "ENOTSUP",
-      "pkgid": "xmlbuilder@2.2.1",
-      "required": {
-        "node": "0.8.x || 0.10.x"
-      }
-    }
-  ]
-}

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/package.json
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/package.json b/node_modules/simple-plist/package.json
index 23b16de..3c126b4 100644
--- a/node_modules/simple-plist/package.json
+++ b/node_modules/simple-plist/package.json
@@ -1,40 +1,42 @@
 {
   "_args": [
     [
-      "simple-plist@0.0.4",
-      "D:\\Cordova\\cordova-ios\\node_modules\\xcode"
+      "simple-plist@0.1.4",
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/xcode"
     ]
   ],
-  "_from": "simple-plist@0.0.4",
-  "_id": "simple-plist@0.0.4",
+  "_from": "simple-plist@0.1.4",
+  "_id": "simple-plist@0.1.4",
   "_inCache": true,
   "_installable": true,
   "_location": "/simple-plist",
+  "_nodeVersion": "0.12.7",
+  "_npmOperationalInternal": {
+    "host": "packages-16-east.internal.npmjs.com",
+    "tmp": "tmp/simple-plist-0.1.4.tgz_1462930930371_0.9155550985597074"
+  },
   "_npmUser": {
-    "email": "wollardj@denison.edu",
+    "email": "joe.wollard@gmail.com",
     "name": "wollardj"
   },
-  "_npmVersion": "1.4.28",
-  "_phantomChildren": {
-    "lodash-node": "2.4.1",
-    "xmldom": "0.1.22"
-  },
+  "_npmVersion": "2.11.3",
+  "_phantomChildren": {},
   "_requested": {
     "name": "simple-plist",
-    "raw": "simple-plist@0.0.4",
-    "rawSpec": "0.0.4",
+    "raw": "simple-plist@0.1.4",
+    "rawSpec": "0.1.4",
     "scope": null,
-    "spec": "0.0.4",
+    "spec": "0.1.4",
     "type": "version"
   },
   "_requiredBy": [
     "/xcode"
   ],
-  "_resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-0.0.4.tgz",
-  "_shasum": "7f863438b63cb75df99dd81b8336d7c5075cfc0b",
+  "_resolved": "http://registry.npmjs.org/simple-plist/-/simple-plist-0.1.4.tgz",
+  "_shasum": "10eb51b47e33c556eb8ec46d5ee64d64e717db5d",
   "_shrinkwrap": null,
-  "_spec": "simple-plist@0.0.4",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\xcode",
+  "_spec": "simple-plist@0.1.4",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/xcode",
   "author": {
     "name": "Joe Wollard"
   },
@@ -44,16 +46,16 @@
   "dependencies": {
     "bplist-creator": "0.0.4",
     "bplist-parser": "0.0.6",
-    "plist": "1.1.0"
+    "plist": "1.2.0"
   },
   "description": "A wrapper utility for interacting with plist data.",
   "devDependencies": {},
   "directories": {},
   "dist": {
-    "shasum": "7f863438b63cb75df99dd81b8336d7c5075cfc0b",
-    "tarball": "https://registry.npmjs.org/simple-plist/-/simple-plist-0.0.4.tgz"
+    "shasum": "10eb51b47e33c556eb8ec46d5ee64d64e717db5d",
+    "tarball": "https://registry.npmjs.org/simple-plist/-/simple-plist-0.1.4.tgz"
   },
-  "gitHead": "3ef628e1d08f670123fb003da4f2839aea1a1293",
+  "gitHead": "a01406ab0d347b5a1a9a0f59395fe6d464b0f962",
   "homepage": "https://github.com/wollardj/node-simple-plist.git",
   "keywords": [
     "plist",
@@ -81,5 +83,5 @@
     "url": "git+https://github.com/wollardj/node-simple-plist.git"
   },
   "scripts": {},
-  "version": "0.0.4"
+  "version": "0.1.4"
 }

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/simple-plist.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/simple-plist.js b/node_modules/simple-plist/simple-plist.js
index e600fb1..850b3e8 100644
--- a/node_modules/simple-plist/simple-plist.js
+++ b/node_modules/simple-plist/simple-plist.js
@@ -1,7 +1,7 @@
 var bplistParser = require('bplist-parser'),
-	bplistCreator = require('bplist-creator'),
-	plist = require('plist'),
-	fs = require('fs');
+    bplistCreator = require('bplist-creator'),
+    plist = require('plist'),
+    fs = require('fs');
 
 // reveal the underlying modules
 exports.plist = plist;
@@ -9,60 +9,94 @@ exports.bplistCreator = bplistCreator;
 exports.bplistParser = bplistParser;
 
 
-// Parses the given file and returns its contents as a native JavaScript object.
+// Parses the given file and returns its contents as a native JavaScript
+// object.
 exports.readFileSync = function(aFile) {
-	var results,
-		contents = fs.readFileSync(aFile),
-		firstByte = contents[0];
+  var contents = fs.readFileSync(aFile);
 
-	if (contents.length === 0) {
-		console.error("Unable to read file '%s'", aFile);
-		return {};
-	}
-
-	try {
-		if (firstByte === 60) {
-			results = plist.parse(contents.toString());
-		}
-		else if (firstByte === 98) {
-			results = bplistParser.parseBuffer(contents)[0];
-		}
-		else {
-			console.error("Unable to determine format for '%s'", aFile);
-			results = {};
-		}
-	}
-	catch(e) {
-		throw Error("'%s' has errors", aFile);
-	}
-	return results;
+  if (contents.length === 0) {
+    console.error("Unable to read file '%s'", aFile);
+    return {};
+  }
+  return exports.parse(contents, aFile);
 };
 
-
-
+exports.readFile = function(aFile, callback) {
+  var results;
+
+  fs.readFile(aFile, function(err, contents){
+    if (err) {
+      callback(err);
+    }
+    else {
+      try {
+        results = exports.parse(contents, aFile);
+        callback(null,results);
+      }
+      catch(err) {
+        callback(err);
+      }
+    }
+  });
+}
 
 exports.writeFileSync = function(aFile, anObject, options) {
-	var data = plist.build(anObject);
-	fs.writeFileSync(aFile, data, options);
+  var data = plist.build(anObject);
+  fs.writeFileSync(aFile, data, options);
 };
 
-
-
+exports.writeFile = function(aFile, anObject, options, callback) {
+  if (arguments.length === 3 && typeof options === 'function') {
+    callback = options;
+    options = undefined;
+  }
+  var data = plist.build(anObject);
+  fs.writeFile(aFile, data, options, callback);
+};
 
 exports.writeBinaryFileSync = function(aFile, anObject, options) {
-	var data = bplistCreator(anObject);
-	fs.writeFileSync(aFile, data, options);
+  var data = bplistCreator(anObject);
+  fs.writeFileSync(aFile, data, options);
 };
 
+exports.writeBinaryFile = function(aFile, anObject, options, callback) {
+  if (arguments.length === 3 && typeof options === 'function') {
+    callback = options;
+    options = undefined;
+  }
 
-
+  var data = bplistCreator(anObject);
+  fs.writeFile(aFile, data, options, callback);
+};
 
 exports.stringify = function(anObject) {
-	return plist.build(anObject);
+  return plist.build(anObject);
 };
 
 
 
-exports.parse = function(aString) {
-	return plist.parse(aString);
+exports.parse = function(aStringOrBuffer, aFile) {
+  var results,
+      firstByte = aStringOrBuffer[0];
+  try {
+    if (firstByte === 60 || firstByte === '<') {
+      results = plist.parse(aStringOrBuffer.toString());
+    }
+    else if (firstByte === 98) {
+      results = bplistParser.parseBuffer(aStringOrBuffer)[0];
+    }
+    else {
+      if (aFile != undefined) {
+        console.error("Unable to determine format for '%s'", aFile);
+      }
+      else {
+        console.error("Unable to determine format for plist aStringOrBuffer: '%s'", aStringOrBuffer);
+      }
+      results = {};
+    }
+  }
+  catch(e) {
+    throw Error("'%s' has errors", aFile);
+  }
+  return results;
 }

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/stream-buffers/package.json
----------------------------------------------------------------------
diff --git a/node_modules/stream-buffers/package.json b/node_modules/stream-buffers/package.json
index 8cae11c..d0ae614 100644
--- a/node_modules/stream-buffers/package.json
+++ b/node_modules/stream-buffers/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "stream-buffers@~0.2.3",
-      "D:\\Cordova\\cordova-ios\\node_modules\\bplist-creator"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/bplist-creator"
     ]
   ],
   "_from": "stream-buffers@>=0.2.3 <0.3.0",
@@ -27,11 +27,11 @@
   "_requiredBy": [
     "/bplist-creator"
   ],
-  "_resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-0.2.6.tgz",
+  "_resolved": "http://registry.npmjs.org/stream-buffers/-/stream-buffers-0.2.6.tgz",
   "_shasum": "181c08d5bb3690045f69401b9ae6a7a0cf3313fc",
   "_shrinkwrap": null,
   "_spec": "stream-buffers@~0.2.3",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\bplist-creator",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/bplist-creator",
   "author": {
     "email": "me@samcday.com.au",
     "name": "Sam Day"

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/tail/package.json
----------------------------------------------------------------------
diff --git a/node_modules/tail/package.json b/node_modules/tail/package.json
index f11bfb6..a3a387d 100644
--- a/node_modules/tail/package.json
+++ b/node_modules/tail/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "tail@^0.4.0",
-      "D:\\Cordova\\cordova-ios\\node_modules\\simctl"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/simctl"
     ]
   ],
   "_from": "tail@>=0.4.0 <0.5.0",
@@ -27,11 +27,11 @@
   "_requiredBy": [
     "/simctl"
   ],
-  "_resolved": "https://registry.npmjs.org/tail/-/tail-0.4.0.tgz",
+  "_resolved": "http://registry.npmjs.org/tail/-/tail-0.4.0.tgz",
   "_shasum": "d29de72750cc99db1e053aff13c359ecfb713002",
   "_shrinkwrap": null,
   "_spec": "tail@^0.4.0",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\simctl",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/simctl",
   "author": {
     "name": "Luca Grulla"
   },

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/underscore/package.json
----------------------------------------------------------------------
diff --git a/node_modules/underscore/package.json b/node_modules/underscore/package.json
index 9089c91..faf4d28 100644
--- a/node_modules/underscore/package.json
+++ b/node_modules/underscore/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "underscore@^1.8.3",
-      "D:\\Cordova\\cordova-ios\\node_modules\\cordova-common"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/cordova-common"
     ]
   ],
   "_from": "underscore@>=1.8.3 <2.0.0",
@@ -27,11 +27,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
+  "_resolved": "http://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
   "_shasum": "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022",
   "_shrinkwrap": null,
   "_spec": "underscore@^1.8.3",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/cordova-common",
   "author": {
     "email": "jeremy@documentcloud.org",
     "name": "Jeremy Ashkenas"

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/unorm/package.json
----------------------------------------------------------------------
diff --git a/node_modules/unorm/package.json b/node_modules/unorm/package.json
index 0f4e412..a8aa875 100644
--- a/node_modules/unorm/package.json
+++ b/node_modules/unorm/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "unorm@^1.3.3",
-      "D:\\Cordova\\cordova-ios\\node_modules\\cordova-common"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/cordova-common"
     ]
   ],
   "_from": "unorm@>=1.3.3 <2.0.0",
@@ -27,11 +27,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz",
+  "_resolved": "http://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz",
   "_shasum": "364200d5f13646ca8bcd44490271335614792300",
   "_shrinkwrap": null,
   "_spec": "unorm@^1.3.3",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/cordova-common",
   "author": {
     "email": "bwp@bwp.dk",
     "name": "Bjarke Walling"
@@ -66,7 +66,7 @@
   "directories": {},
   "dist": {
     "shasum": "364200d5f13646ca8bcd44490271335614792300",
-    "tarball": "http://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz"
+    "tarball": "https://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz"
   },
   "engines": {
     "node": ">= 0.4.0"

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/util-deprecate/package.json
----------------------------------------------------------------------
diff --git a/node_modules/util-deprecate/package.json b/node_modules/util-deprecate/package.json
index 799c710..f72169d 100644
--- a/node_modules/util-deprecate/package.json
+++ b/node_modules/util-deprecate/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "util-deprecate@1.0.2",
-      "D:\\Cordova\\cordova-ios\\node_modules\\plist"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/plist"
     ]
   ],
   "_from": "util-deprecate@1.0.2",
@@ -28,11 +28,11 @@
   "_requiredBy": [
     "/plist"
   ],
-  "_resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+  "_resolved": "http://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
   "_shasum": "450d4dc9fa70de732762fbd2d4a28981419a0ccf",
   "_shrinkwrap": null,
   "_spec": "util-deprecate@1.0.2",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\plist",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/plist",
   "author": {
     "email": "nathan@tootallnate.net",
     "name": "Nathan Rajlich",

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/wrappy/package.json
----------------------------------------------------------------------
diff --git a/node_modules/wrappy/package.json b/node_modules/wrappy/package.json
index 3838f39..7cc70a4 100644
--- a/node_modules/wrappy/package.json
+++ b/node_modules/wrappy/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "wrappy@1",
-      "D:\\Cordova\\cordova-ios\\node_modules\\inflight"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/inflight"
     ]
   ],
   "_from": "wrappy@>=1.0.0 <2.0.0",
@@ -33,11 +33,11 @@
     "/inflight",
     "/once"
   ],
-  "_resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+  "_resolved": "http://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
   "_shasum": "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f",
   "_shrinkwrap": null,
   "_spec": "wrappy@1",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\inflight",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/inflight",
   "author": {
     "email": "i@izs.me",
     "name": "Isaac Z. Schlueter",

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/xcode/lib/pbxFile.js
----------------------------------------------------------------------
diff --git a/node_modules/xcode/lib/pbxFile.js b/node_modules/xcode/lib/pbxFile.js
index b4e8bdd..0215bc3 100644
--- a/node_modules/xcode/lib/pbxFile.js
+++ b/node_modules/xcode/lib/pbxFile.js
@@ -23,6 +23,7 @@ var FILETYPE_BY_EXTENSION = {
         plist: 'text.plist.xml',
         sh: 'text.script.sh',
         swift: 'sourcecode.swift',
+        tbd: 'sourcecode.text-based-dylib-definition',
         xcassets: 'folder.assetcatalog',
         xcconfig: 'text.xcconfig',
         xcdatamodel: 'wrapper.xcdatamodel',
@@ -33,6 +34,7 @@ var FILETYPE_BY_EXTENSION = {
     GROUP_BY_FILETYPE = {
         'archive.ar': 'Frameworks',
         'compiled.mach-o.dylib': 'Frameworks',
+        'sourcecode.text-based-dylib-definition': 'Frameworks',
         'wrapper.framework': 'Frameworks',
         'embedded.framework': 'Embed Frameworks',
         'sourcecode.c.h': 'Resources',
@@ -41,10 +43,12 @@ var FILETYPE_BY_EXTENSION = {
     },
     PATH_BY_FILETYPE = {
         'compiled.mach-o.dylib': 'usr/lib/',
+        'sourcecode.text-based-dylib-definition': 'usr/lib/',
         'wrapper.framework': 'System/Library/Frameworks/'
     },
     SOURCETREE_BY_FILETYPE = {
         'compiled.mach-o.dylib': 'SDKROOT',
+        'sourcecode.text-based-dylib-definition': 'SDKROOT',
         'wrapper.framework': 'SDKROOT'
     },
     ENCODING_BY_FILETYPE = {

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/xcode/lib/pbxProject.js
----------------------------------------------------------------------
diff --git a/node_modules/xcode/lib/pbxProject.js b/node_modules/xcode/lib/pbxProject.js
index b9cf4fd..9a2f5ed 100644
--- a/node_modules/xcode/lib/pbxProject.js
+++ b/node_modules/xcode/lib/pbxProject.js
@@ -214,7 +214,14 @@ pbxProject.prototype.removeHeaderFile = function (path, opt, group) {
     }
 }
 
-pbxProject.prototype.addResourceFile = function(path, opt) {
+/**
+ *
+ * @param path {String}
+ * @param opt {Object} see pbxFile for avail options
+ * @param group {String} group key
+ * @returns {Object} file; see pbxFile
+ */
+pbxProject.prototype.addResourceFile = function(path, opt, group) {
     opt = opt || {};
 
     var file;
@@ -223,7 +230,7 @@ pbxProject.prototype.addResourceFile = function(path, opt) {
         file = this.addPluginFile(path, opt);
         if (!file) return false;
     } else {
-        file = new pbxFile(path, opt);
+        file = new pbxFile(path, opt);       
         if (this.hasFile(file.path)) return false;
     }
 
@@ -234,19 +241,32 @@ pbxProject.prototype.addResourceFile = function(path, opt) {
         correctForResourcesPath(file, this);
         file.fileRef = this.generateUuid();
     }
-
+    
     this.addToPbxBuildFileSection(file);        // PBXBuildFile
     this.addToPbxResourcesBuildPhase(file);     // PBXResourcesBuildPhase
-
+    
     if (!opt.plugin) {
         this.addToPbxFileReferenceSection(file);    // PBXFileReference
-        this.addToResourcesPbxGroup(file);          // PBXGroup
+        if (group) {
+            this.addToPbxGroup(file, group);            //Group other than Resources (i.e. 'splash')
+        }
+        else {
+            this.addToResourcesPbxGroup(file);          // PBXGroup
+        }
+        
     }
-
+    
     return file;
 }
 
-pbxProject.prototype.removeResourceFile = function(path, opt) {
+/**
+ *
+ * @param path {String}
+ * @param opt {Object} see pbxFile for avail options
+ * @param group {String} group key
+ * @returns {Object} file; see pbxFile
+ */
+pbxProject.prototype.removeResourceFile = function(path, opt, group) {
     var file = new pbxFile(path, opt);
     file.target = opt ? opt.target : undefined;
 
@@ -254,7 +274,12 @@ pbxProject.prototype.removeResourceFile = function(path, opt) {
 
     this.removeFromPbxBuildFileSection(file);        // PBXBuildFile
     this.removeFromPbxFileReferenceSection(file);    // PBXFileReference
-    this.removeFromResourcesPbxGroup(file);          // PBXGroup
+    if (group) {
+        this.removeFromPbxGroup(file, group);           //Group other than Resources (i.e. 'splash')
+    }
+    else {
+        this.removeFromResourcesPbxGroup(file);          // PBXGroup
+    }    
     this.removeFromPbxResourcesBuildPhase(file);     // PBXResourcesBuildPhase
 
     return file;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/xcode/package.json
----------------------------------------------------------------------
diff --git a/node_modules/xcode/package.json b/node_modules/xcode/package.json
index fb2a1a8..5d0176b 100644
--- a/node_modules/xcode/package.json
+++ b/node_modules/xcode/package.json
@@ -2,18 +2,18 @@
   "_args": [
     [
       "xcode@^0.8.5",
-      "D:\\Cordova\\cordova-ios"
+      "/Users/steveng/repo/cordova/cordova-ios"
     ]
   ],
   "_from": "xcode@>=0.8.5 <0.9.0",
-  "_id": "xcode@0.8.7",
+  "_id": "xcode@0.8.8",
   "_inCache": true,
   "_installable": true,
   "_location": "/xcode",
   "_nodeVersion": "4.2.6",
   "_npmOperationalInternal": {
-    "host": "packages-12-west.internal.npmjs.com",
-    "tmp": "tmp/xcode-0.8.7.tgz_1463581469714_0.6752443755976856"
+    "host": "packages-16-east.internal.npmjs.com",
+    "tmp": "tmp/xcode-0.8.8.tgz_1464802009993_0.8885985244996846"
   },
   "_npmUser": {
     "email": "anis.kadri@gmail.com",
@@ -32,11 +32,11 @@
   "_requiredBy": [
     "/"
   ],
-  "_resolved": "https://registry.npmjs.org/xcode/-/xcode-0.8.7.tgz",
-  "_shasum": "aab86d999d4019f76c573c62dc392fbd1aaa3408",
+  "_resolved": "http://registry.npmjs.org/xcode/-/xcode-0.8.8.tgz",
+  "_shasum": "1330877c4200f2094009e3bf144e6932596fcca0",
   "_shrinkwrap": null,
   "_spec": "xcode@^0.8.5",
-  "_where": "D:\\Cordova\\cordova-ios",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios",
   "author": {
     "email": "alunny@gmail.com",
     "name": "Andrew Lunny"
@@ -72,22 +72,22 @@
   ],
   "dependencies": {
     "node-uuid": "1.4.7",
-    "pegjs": "0.6.2",
-    "simple-plist": "0.0.4"
+    "pegjs": "0.9.0",
+    "simple-plist": "0.1.4"
   },
   "description": "parser for xcodeproj/project.pbxproj files",
   "devDependencies": {
-    "nodeunit": "0.9.0"
+    "nodeunit": "0.9.1"
   },
   "directories": {},
   "dist": {
-    "shasum": "aab86d999d4019f76c573c62dc392fbd1aaa3408",
-    "tarball": "https://registry.npmjs.org/xcode/-/xcode-0.8.7.tgz"
+    "shasum": "1330877c4200f2094009e3bf144e6932596fcca0",
+    "tarball": "https://registry.npmjs.org/xcode/-/xcode-0.8.8.tgz"
   },
   "engines": {
     "node": ">=0.6.7"
   },
-  "gitHead": "941ed7ceb200759e34b28f98c83e4d07494bc5f5",
+  "gitHead": "35824cb8bd180decdc15b1ade895090abf941583",
   "homepage": "https://github.com/alunny/node-xcode#readme",
   "main": "index.js",
   "maintainers": [
@@ -117,5 +117,5 @@
   "scripts": {
     "test": "nodeunit test/parser test"
   },
-  "version": "0.8.7"
+  "version": "0.8.8"
 }

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/xmlbuilder/package.json
----------------------------------------------------------------------
diff --git a/node_modules/xmlbuilder/package.json b/node_modules/xmlbuilder/package.json
index f6a5c74..8cf05bf 100644
--- a/node_modules/xmlbuilder/package.json
+++ b/node_modules/xmlbuilder/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "xmlbuilder@4.0.0",
-      "D:\\Cordova\\cordova-ios\\node_modules\\plist"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/plist"
     ]
   ],
   "_from": "xmlbuilder@4.0.0",
@@ -27,11 +27,11 @@
   "_requiredBy": [
     "/plist"
   ],
-  "_resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.0.0.tgz",
+  "_resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.0.0.tgz",
   "_shasum": "98b8f651ca30aa624036f127d11cc66dc7b907a3",
   "_shrinkwrap": null,
   "_spec": "xmlbuilder@4.0.0",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\plist",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/plist",
   "author": {
     "email": "oozcitak@gmail.com",
     "name": "Ozgur Ozcitak"

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/xmldom/package.json
----------------------------------------------------------------------
diff --git a/node_modules/xmldom/package.json b/node_modules/xmldom/package.json
index 7b5dff2..bb3273b 100644
--- a/node_modules/xmldom/package.json
+++ b/node_modules/xmldom/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "xmldom@0.1.x",
-      "D:\\Cordova\\cordova-ios\\node_modules\\plist"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/plist"
     ]
   ],
   "_from": "xmldom@>=0.1.0 <0.2.0",
@@ -26,14 +26,13 @@
     "type": "range"
   },
   "_requiredBy": [
-    "/plist",
-    "/simple-plist/plist"
+    "/plist"
   ],
-  "_resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.22.tgz",
+  "_resolved": "http://registry.npmjs.org/xmldom/-/xmldom-0.1.22.tgz",
   "_shasum": "10de4e5e964981f03c8cc72fadc08d14b6c3aa26",
   "_shrinkwrap": null,
   "_spec": "xmldom@0.1.x",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\plist",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/plist",
   "author": {
     "email": "jindw@xidea.org",
     "name": "jindw",


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


[23/32] ios commit: CB-11445 Updated checked-in node_modules

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/indexBy.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/indexBy.js b/node_modules/lodash-node/compat/collections/indexBy.js
deleted file mode 100644
index b8c277e..0000000
--- a/node_modules/lodash-node/compat/collections/indexBy.js
+++ /dev/null
@@ -1,54 +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 createAggregator = require('../internals/createAggregator');
-
-/**
- * Creates an object composed of keys generated from the results of running
- * each element of the collection through the given callback. The corresponding
- * value of each key is the last element responsible for generating the key.
- * The callback is bound to `thisArg` and invoked with three arguments;
- * (value, index|key, collection).
- *
- * 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 Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {Object} Returns the composed aggregate object.
- * @example
- *
- * var keys = [
- *   { 'dir': 'left', 'code': 97 },
- *   { 'dir': 'right', 'code': 100 }
- * ];
- *
- * _.indexBy(keys, 'dir');
- * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }
- *
- * _.indexBy(keys, function(key) { return String.fromCharCode(key.code); });
- * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }
- *
- * _.indexBy(characters, function(key) { this.fromCharCode(key.code); }, String);
- * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }
- */
-var indexBy = createAggregator(function(result, value, key) {
-  result[key] = value;
-});
-
-module.exports = indexBy;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/invoke.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/invoke.js b/node_modules/lodash-node/compat/collections/invoke.js
deleted file mode 100644
index 17de1ee..0000000
--- a/node_modules/lodash-node/compat/collections/invoke.js
+++ /dev/null
@@ -1,47 +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 forEach = require('./forEach'),
-    slice = require('../internals/slice');
-
-/**
- * Invokes the method named by `methodName` on each element in the `collection`
- * returning an array of the results of each invoked method. Additional arguments
- * will be provided to each invoked method. If `methodName` is a function it
- * will be invoked for, and `this` bound to, each element in the `collection`.
- *
- * @static
- * @memberOf _
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Function|string} methodName The name of the method to invoke or
- *  the function invoked per iteration.
- * @param {...*} [arg] Arguments to invoke the method with.
- * @returns {Array} Returns a new array of the results of each invoked method.
- * @example
- *
- * _.invoke([[5, 1, 7], [3, 2, 1]], 'sort');
- * // => [[1, 5, 7], [1, 2, 3]]
- *
- * _.invoke([123, 456], String.prototype.split, '');
- * // => [['1', '2', '3'], ['4', '5', '6']]
- */
-function invoke(collection, methodName) {
-  var args = slice(arguments, 2),
-      index = -1,
-      isFunc = typeof methodName == 'function',
-      length = collection ? collection.length : 0,
-      result = Array(typeof length == 'number' ? length : 0);
-
-  forEach(collection, function(value) {
-    result[++index] = (isFunc ? methodName : value[methodName]).apply(value, args);
-  });
-  return result;
-}
-
-module.exports = invoke;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/map.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/map.js b/node_modules/lodash-node/compat/collections/map.js
deleted file mode 100644
index cd371e8..0000000
--- a/node_modules/lodash-node/compat/collections/map.js
+++ /dev/null
@@ -1,70 +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 baseEach = require('../internals/baseEach'),
-    createCallback = require('../functions/createCallback'),
-    isArray = require('../objects/isArray');
-
-/**
- * Creates an array of values by running each element in the collection
- * through the callback. The callback is bound to `thisArg` and invoked with
- * three arguments; (value, index|key, collection).
- *
- * 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 _
- * @alias collect
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {Array} Returns a new array of the results of each `callback` execution.
- * @example
- *
- * _.map([1, 2, 3], function(num) { return num * 3; });
- * // => [3, 6, 9]
- *
- * _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; });
- * // => [3, 6, 9] (property order is not guaranteed across environments)
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.map(characters, 'name');
- * // => ['barney', 'fred']
- */
-function map(collection, callback, thisArg) {
-  var index = -1,
-      length = collection ? collection.length : 0,
-      result = Array(typeof length == 'number' ? length : 0);
-
-  callback = createCallback(callback, thisArg, 3);
-  if (isArray(collection)) {
-    while (++index < length) {
-      result[index] = callback(collection[index], index, collection);
-    }
-  } else {
-    baseEach(collection, function(value, key, collection) {
-      result[++index] = callback(value, key, collection);
-    });
-  }
-  return result;
-}
-
-module.exports = map;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/max.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/max.js b/node_modules/lodash-node/compat/collections/max.js
deleted file mode 100644
index 8547613..0000000
--- a/node_modules/lodash-node/compat/collections/max.js
+++ /dev/null
@@ -1,90 +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 baseEach = require('../internals/baseEach'),
-    charAtCallback = require('../internals/charAtCallback'),
-    createCallback = require('../functions/createCallback'),
-    isArray = require('../objects/isArray'),
-    isString = require('../objects/isString');
-
-/**
- * Retrieves the maximum value of a collection. If the collection is empty or
- * falsey `-Infinity` is returned. If a callback is provided it will be executed
- * for each value in the collection to generate the criterion by which the value
- * is ranked. The callback is bound to `thisArg` and invoked with three
- * arguments; (value, index, collection).
- *
- * 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 Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {*} Returns the maximum value.
- * @example
- *
- * _.max([4, 2, 8, 6]);
- * // => 8
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * _.max(characters, function(chr) { return chr.age; });
- * // => { 'name': 'fred', 'age': 40 };
- *
- * // using "_.pluck" callback shorthand
- * _.max(characters, 'age');
- * // => { 'name': 'fred', 'age': 40 };
- */
-function max(collection, callback, thisArg) {
-  var computed = -Infinity,
-      result = computed;
-
-  // allows working with functions like `_.map` without using
-  // their `index` argument as a callback
-  if (typeof callback != 'function' && thisArg && thisArg[callback] === collection) {
-    callback = null;
-  }
-  if (callback == null && isArray(collection)) {
-    var index = -1,
-        length = collection.length;
-
-    while (++index < length) {
-      var value = collection[index];
-      if (value > result) {
-        result = value;
-      }
-    }
-  } else {
-    callback = (callback == null && isString(collection))
-      ? charAtCallback
-      : createCallback(callback, thisArg, 3);
-
-    baseEach(collection, function(value, index, collection) {
-      var current = callback(value, index, collection);
-      if (current > computed) {
-        computed = current;
-        result = value;
-      }
-    });
-  }
-  return result;
-}
-
-module.exports = max;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/min.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/min.js b/node_modules/lodash-node/compat/collections/min.js
deleted file mode 100644
index 925f32c..0000000
--- a/node_modules/lodash-node/compat/collections/min.js
+++ /dev/null
@@ -1,90 +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 baseEach = require('../internals/baseEach'),
-    charAtCallback = require('../internals/charAtCallback'),
-    createCallback = require('../functions/createCallback'),
-    isArray = require('../objects/isArray'),
-    isString = require('../objects/isString');
-
-/**
- * Retrieves the minimum value of a collection. If the collection is empty or
- * falsey `Infinity` is returned. If a callback is provided it will be executed
- * for each value in the collection to generate the criterion by which the value
- * is ranked. The callback is bound to `thisArg` and invoked with three
- * arguments; (value, index, collection).
- *
- * 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 Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {*} Returns the minimum value.
- * @example
- *
- * _.min([4, 2, 8, 6]);
- * // => 2
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * _.min(characters, function(chr) { return chr.age; });
- * // => { 'name': 'barney', 'age': 36 };
- *
- * // using "_.pluck" callback shorthand
- * _.min(characters, 'age');
- * // => { 'name': 'barney', 'age': 36 };
- */
-function min(collection, callback, thisArg) {
-  var computed = Infinity,
-      result = computed;
-
-  // allows working with functions like `_.map` without using
-  // their `index` argument as a callback
-  if (typeof callback != 'function' && thisArg && thisArg[callback] === collection) {
-    callback = null;
-  }
-  if (callback == null && isArray(collection)) {
-    var index = -1,
-        length = collection.length;
-
-    while (++index < length) {
-      var value = collection[index];
-      if (value < result) {
-        result = value;
-      }
-    }
-  } else {
-    callback = (callback == null && isString(collection))
-      ? charAtCallback
-      : createCallback(callback, thisArg, 3);
-
-    baseEach(collection, function(value, index, collection) {
-      var current = callback(value, index, collection);
-      if (current < computed) {
-        computed = current;
-        result = value;
-      }
-    });
-  }
-  return result;
-}
-
-module.exports = min;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/pluck.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/pluck.js b/node_modules/lodash-node/compat/collections/pluck.js
deleted file mode 100644
index 8ef0be0..0000000
--- a/node_modules/lodash-node/compat/collections/pluck.js
+++ /dev/null
@@ -1,33 +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 map = require('./map');
-
-/**
- * Retrieves the value of a specified property from all elements in the collection.
- *
- * @static
- * @memberOf _
- * @type Function
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {string} property The name of the property to pluck.
- * @returns {Array} Returns a new array of property values.
- * @example
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * _.pluck(characters, 'name');
- * // => ['barney', 'fred']
- */
-var pluck = map;
-
-module.exports = pluck;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/reduce.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/reduce.js b/node_modules/lodash-node/compat/collections/reduce.js
deleted file mode 100644
index fb7854b..0000000
--- a/node_modules/lodash-node/compat/collections/reduce.js
+++ /dev/null
@@ -1,67 +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 baseEach = require('../internals/baseEach'),
-    createCallback = require('../functions/createCallback'),
-    isArray = require('../objects/isArray');
-
-/**
- * Reduces a collection to a value which is the accumulated result of running
- * each element in the collection through the callback, where each successive
- * callback execution consumes the return value of the previous execution. If
- * `accumulator` is not provided the first element of the collection will be
- * used as the initial `accumulator` value. The callback is bound to `thisArg`
- * and invoked with four arguments; (accumulator, value, index|key, collection).
- *
- * @static
- * @memberOf _
- * @alias foldl, inject
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Function} [callback=identity] The function called per iteration.
- * @param {*} [accumulator] Initial value of the accumulator.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {*} Returns the accumulated value.
- * @example
- *
- * var sum = _.reduce([1, 2, 3], function(sum, num) {
- *   return sum + num;
- * });
- * // => 6
- *
- * var mapped = _.reduce({ 'a': 1, 'b': 2, 'c': 3 }, function(result, num, key) {
- *   result[key] = num * 3;
- *   return result;
- * }, {});
- * // => { 'a': 3, 'b': 6, 'c': 9 }
- */
-function reduce(collection, callback, accumulator, thisArg) {
-  var noaccum = arguments.length < 3;
-  callback = createCallback(callback, thisArg, 4);
-
-  if (isArray(collection)) {
-    var index = -1,
-        length = collection.length;
-
-    if (noaccum) {
-      accumulator = collection[++index];
-    }
-    while (++index < length) {
-      accumulator = callback(accumulator, collection[index], index, collection);
-    }
-  } else {
-    baseEach(collection, function(value, index, collection) {
-      accumulator = noaccum
-        ? (noaccum = false, value)
-        : callback(accumulator, value, index, collection)
-    });
-  }
-  return accumulator;
-}
-
-module.exports = reduce;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/reduceRight.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/reduceRight.js b/node_modules/lodash-node/compat/collections/reduceRight.js
deleted file mode 100644
index 58625ea..0000000
--- a/node_modules/lodash-node/compat/collections/reduceRight.js
+++ /dev/null
@@ -1,42 +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'),
-    forEachRight = require('./forEachRight');
-
-/**
- * This method is like `_.reduce` except that it iterates over elements
- * of a `collection` from right to left.
- *
- * @static
- * @memberOf _
- * @alias foldr
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Function} [callback=identity] The function called per iteration.
- * @param {*} [accumulator] Initial value of the accumulator.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {*} Returns the accumulated value.
- * @example
- *
- * var list = [[0, 1], [2, 3], [4, 5]];
- * var flat = _.reduceRight(list, function(a, b) { return a.concat(b); }, []);
- * // => [4, 5, 2, 3, 0, 1]
- */
-function reduceRight(collection, callback, accumulator, thisArg) {
-  var noaccum = arguments.length < 3;
-  callback = createCallback(callback, thisArg, 4);
-  forEachRight(collection, function(value, index, collection) {
-    accumulator = noaccum
-      ? (noaccum = false, value)
-      : callback(accumulator, value, index, collection);
-  });
-  return accumulator;
-}
-
-module.exports = reduceRight;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/reject.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/reject.js b/node_modules/lodash-node/compat/collections/reject.js
deleted file mode 100644
index f33239b..0000000
--- a/node_modules/lodash-node/compat/collections/reject.js
+++ /dev/null
@@ -1,57 +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'),
-    filter = require('./filter');
-
-/**
- * The opposite of `_.filter` this method returns the elements of a
- * collection that the callback does **not** return truey for.
- *
- * 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 Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {Array} Returns a new array of elements that failed the callback check.
- * @example
- *
- * var odds = _.reject([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; });
- * // => [1, 3, 5]
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36, 'blocked': false },
- *   { 'name': 'fred',   'age': 40, 'blocked': true }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.reject(characters, 'blocked');
- * // => [{ 'name': 'barney', 'age': 36, 'blocked': false }]
- *
- * // using "_.where" callback shorthand
- * _.reject(characters, { 'age': 36 });
- * // => [{ 'name': 'fred', 'age': 40, 'blocked': true }]
- */
-function reject(collection, callback, thisArg) {
-  callback = createCallback(callback, thisArg, 3);
-  return filter(collection, function(value, index, collection) {
-    return !callback(value, index, collection);
-  });
-}
-
-module.exports = reject;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/sample.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/sample.js b/node_modules/lodash-node/compat/collections/sample.js
deleted file mode 100644
index 481c7e4..0000000
--- a/node_modules/lodash-node/compat/collections/sample.js
+++ /dev/null
@@ -1,52 +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 baseRandom = require('../internals/baseRandom'),
-    isString = require('../objects/isString'),
-    shuffle = require('./shuffle'),
-    support = require('../support'),
-    values = require('../objects/values');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max,
-    nativeMin = Math.min;
-
-/**
- * Retrieves a random element or `n` random elements from a collection.
- *
- * @static
- * @memberOf _
- * @category Collections
- * @param {Array|Object|string} collection The collection to sample.
- * @param {number} [n] The number of elements to sample.
- * @param- {Object} [guard] Allows working with functions like `_.map`
- *  without using their `index` arguments as `n`.
- * @returns {Array} Returns the random sample(s) of `collection`.
- * @example
- *
- * _.sample([1, 2, 3, 4]);
- * // => 2
- *
- * _.sample([1, 2, 3, 4], 2);
- * // => [3, 1]
- */
-function sample(collection, n, guard) {
-  if (collection && typeof collection.length != 'number') {
-    collection = values(collection);
-  } else if (support.unindexedChars && isString(collection)) {
-    collection = collection.split('');
-  }
-  if (n == null || guard) {
-    return collection ? collection[baseRandom(0, collection.length - 1)] : undefined;
-  }
-  var result = shuffle(collection);
-  result.length = nativeMin(nativeMax(0, n), result.length);
-  return result;
-}
-
-module.exports = sample;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/shuffle.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/shuffle.js b/node_modules/lodash-node/compat/collections/shuffle.js
deleted file mode 100644
index d37777c..0000000
--- a/node_modules/lodash-node/compat/collections/shuffle.js
+++ /dev/null
@@ -1,39 +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 baseRandom = require('../internals/baseRandom'),
-    forEach = require('./forEach');
-
-/**
- * Creates an array of shuffled values, using a version of the Fisher-Yates
- * shuffle. See http://en.wikipedia.org/wiki/Fisher-Yates_shuffle.
- *
- * @static
- * @memberOf _
- * @category Collections
- * @param {Array|Object|string} collection The collection to shuffle.
- * @returns {Array} Returns a new shuffled collection.
- * @example
- *
- * _.shuffle([1, 2, 3, 4, 5, 6]);
- * // => [4, 1, 6, 3, 5, 2]
- */
-function shuffle(collection) {
-  var index = -1,
-      length = collection ? collection.length : 0,
-      result = Array(typeof length == 'number' ? length : 0);
-
-  forEach(collection, function(value) {
-    var rand = baseRandom(0, ++index);
-    result[index] = result[rand];
-    result[rand] = value;
-  });
-  return result;
-}
-
-module.exports = shuffle;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/size.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/size.js b/node_modules/lodash-node/compat/collections/size.js
deleted file mode 100644
index bfc821f..0000000
--- a/node_modules/lodash-node/compat/collections/size.js
+++ /dev/null
@@ -1,36 +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 keys = require('../objects/keys');
-
-/**
- * Gets the size of the `collection` by returning `collection.length` for arrays
- * and array-like objects or the number of own enumerable properties for objects.
- *
- * @static
- * @memberOf _
- * @category Collections
- * @param {Array|Object|string} collection The collection to inspect.
- * @returns {number} Returns `collection.length` or number of own enumerable properties.
- * @example
- *
- * _.size([1, 2]);
- * // => 2
- *
- * _.size({ 'one': 1, 'two': 2, 'three': 3 });
- * // => 3
- *
- * _.size('pebbles');
- * // => 7
- */
-function size(collection) {
-  var length = collection ? collection.length : 0;
-  return typeof length == 'number' ? length : keys(collection).length;
-}
-
-module.exports = size;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/some.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/some.js b/node_modules/lodash-node/compat/collections/some.js
deleted file mode 100644
index c8d7ee5..0000000
--- a/node_modules/lodash-node/compat/collections/some.js
+++ /dev/null
@@ -1,76 +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 baseEach = require('../internals/baseEach'),
-    createCallback = require('../functions/createCallback'),
-    isArray = require('../objects/isArray');
-
-/**
- * Checks if the callback returns a truey value for **any** element of a
- * collection. The function returns as soon as it finds a passing value and
- * does not iterate over the entire collection. The callback is bound to
- * `thisArg` and invoked with three arguments; (value, index|key, collection).
- *
- * 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 _
- * @alias any
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {boolean} Returns `true` if any element passed the callback check,
- *  else `false`.
- * @example
- *
- * _.some([null, 0, 'yes', false], Boolean);
- * // => true
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36, 'blocked': false },
- *   { 'name': 'fred',   'age': 40, 'blocked': true }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.some(characters, 'blocked');
- * // => true
- *
- * // using "_.where" callback shorthand
- * _.some(characters, { 'age': 1 });
- * // => false
- */
-function some(collection, callback, thisArg) {
-  var result;
-  callback = createCallback(callback, thisArg, 3);
-
-  if (isArray(collection)) {
-    var index = -1,
-        length = collection.length;
-
-    while (++index < length) {
-      if ((result = callback(collection[index], index, collection))) {
-        break;
-      }
-    }
-  } else {
-    baseEach(collection, function(value, index, collection) {
-      return !(result = callback(value, index, collection));
-    });
-  }
-  return !!result;
-}
-
-module.exports = some;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/sortBy.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/sortBy.js b/node_modules/lodash-node/compat/collections/sortBy.js
deleted file mode 100644
index 777b152..0000000
--- a/node_modules/lodash-node/compat/collections/sortBy.js
+++ /dev/null
@@ -1,101 +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 compareAscending = require('../internals/compareAscending'),
-    createCallback = require('../functions/createCallback'),
-    forEach = require('./forEach'),
-    getArray = require('../internals/getArray'),
-    getObject = require('../internals/getObject'),
-    isArray = require('../objects/isArray'),
-    map = require('./map'),
-    releaseArray = require('../internals/releaseArray'),
-    releaseObject = require('../internals/releaseObject');
-
-/**
- * Creates an array of elements, sorted in ascending order by the results of
- * running each element in a collection through the callback. This method
- * performs a stable sort, that is, it will preserve the original sort order
- * of equal elements. The callback is bound to `thisArg` and invoked with
- * three arguments; (value, index|key, collection).
- *
- * If a property name is provided for `callback` the created "_.pluck" style
- * callback will return the property value of the given element.
- *
- * If an array of property names is provided for `callback` the collection
- * will be sorted by each property value.
- *
- * 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 Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Array|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 {Array} Returns a new array of sorted elements.
- * @example
- *
- * _.sortBy([1, 2, 3], function(num) { return Math.sin(num); });
- * // => [3, 1, 2]
- *
- * _.sortBy([1, 2, 3], function(num) { return this.sin(num); }, Math);
- * // => [3, 1, 2]
- *
- * var characters = [
- *   { 'name': 'barney',  'age': 36 },
- *   { 'name': 'fred',    'age': 40 },
- *   { 'name': 'barney',  'age': 26 },
- *   { 'name': 'fred',    'age': 30 }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.map(_.sortBy(characters, 'age'), _.values);
- * // => [['barney', 26], ['fred', 30], ['barney', 36], ['fred', 40]]
- *
- * // sorting by multiple properties
- * _.map(_.sortBy(characters, ['name', 'age']), _.values);
- * // = > [['barney', 26], ['barney', 36], ['fred', 30], ['fred', 40]]
- */
-function sortBy(collection, callback, thisArg) {
-  var index = -1,
-      isArr = isArray(callback),
-      length = collection ? collection.length : 0,
-      result = Array(typeof length == 'number' ? length : 0);
-
-  if (!isArr) {
-    callback = createCallback(callback, thisArg, 3);
-  }
-  forEach(collection, function(value, key, collection) {
-    var object = result[++index] = getObject();
-    if (isArr) {
-      object.criteria = map(callback, function(key) { return value[key]; });
-    } else {
-      (object.criteria = getArray())[0] = callback(value, key, collection);
-    }
-    object.index = index;
-    object.value = value;
-  });
-
-  length = result.length;
-  result.sort(compareAscending);
-  while (length--) {
-    var object = result[length];
-    result[length] = object.value;
-    if (!isArr) {
-      releaseArray(object.criteria);
-    }
-    releaseObject(object);
-  }
-  return result;
-}
-
-module.exports = sortBy;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/toArray.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/toArray.js b/node_modules/lodash-node/compat/collections/toArray.js
deleted file mode 100644
index 223cf21..0000000
--- a/node_modules/lodash-node/compat/collections/toArray.js
+++ /dev/null
@@ -1,36 +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 isString = require('../objects/isString'),
-    slice = require('../internals/slice'),
-    support = require('../support'),
-    values = require('../objects/values');
-
-/**
- * Converts the `collection` to an array.
- *
- * @static
- * @memberOf _
- * @category Collections
- * @param {Array|Object|string} collection The collection to convert.
- * @returns {Array} Returns the new converted array.
- * @example
- *
- * (function() { return _.toArray(arguments).slice(1); })(1, 2, 3, 4);
- * // => [2, 3, 4]
- */
-function toArray(collection) {
-  if (collection && typeof collection.length == 'number') {
-    return (support.unindexedChars && isString(collection))
-      ? collection.split('')
-      : slice(collection);
-  }
-  return values(collection);
-}
-
-module.exports = toArray;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/where.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/where.js b/node_modules/lodash-node/compat/collections/where.js
deleted file mode 100644
index c035b72..0000000
--- a/node_modules/lodash-node/compat/collections/where.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>
- */
-var filter = require('./filter');
-
-/**
- * Performs a deep comparison of each element in a `collection` to the given
- * `properties` object, returning an array of all elements that have equivalent
- * property values.
- *
- * @static
- * @memberOf _
- * @type Function
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Object} props The object of property values to filter by.
- * @returns {Array} Returns a new array of elements that have the given properties.
- * @example
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36, 'pets': ['hoppy'] },
- *   { 'name': 'fred',   'age': 40, 'pets': ['baby puss', 'dino'] }
- * ];
- *
- * _.where(characters, { 'age': 36 });
- * // => [{ 'name': 'barney', 'age': 36, 'pets': ['hoppy'] }]
- *
- * _.where(characters, { 'pets': ['dino'] });
- * // => [{ 'name': 'fred', 'age': 40, 'pets': ['baby puss', 'dino'] }]
- */
-var where = filter;
-
-module.exports = where;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/functions.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/functions.js b/node_modules/lodash-node/compat/functions.js
deleted file mode 100644
index 084bdd4..0000000
--- a/node_modules/lodash-node/compat/functions.js
+++ /dev/null
@@ -1,27 +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 = {
-  'after': require('./functions/after'),
-  'bind': require('./functions/bind'),
-  'bindAll': require('./functions/bindAll'),
-  'bindKey': require('./functions/bindKey'),
-  'compose': require('./functions/compose'),
-  'createCallback': require('./functions/createCallback'),
-  'curry': require('./functions/curry'),
-  'debounce': require('./functions/debounce'),
-  'defer': require('./functions/defer'),
-  'delay': require('./functions/delay'),
-  'memoize': require('./functions/memoize'),
-  'once': require('./functions/once'),
-  'partial': require('./functions/partial'),
-  'partialRight': require('./functions/partialRight'),
-  'throttle': require('./functions/throttle'),
-  'wrap': require('./functions/wrap')
-};

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/functions/after.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/functions/after.js b/node_modules/lodash-node/compat/functions/after.js
deleted file mode 100644
index 48ef88e..0000000
--- a/node_modules/lodash-node/compat/functions/after.js
+++ /dev/null
@@ -1,46 +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 isFunction = require('../objects/isFunction');
-
-/**
- * Creates a function that executes `func`, with  the `this` binding and
- * arguments of the created function, only after being called `n` times.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {number} n The number of times the function must be called before
- *  `func` is executed.
- * @param {Function} func The function to restrict.
- * @returns {Function} Returns the new restricted function.
- * @example
- *
- * var saves = ['profile', 'settings'];
- *
- * var done = _.after(saves.length, function() {
- *   console.log('Done saving!');
- * });
- *
- * _.forEach(saves, function(type) {
- *   asyncSave({ 'type': type, 'complete': done });
- * });
- * // => logs 'Done saving!', after all saves have completed
- */
-function after(n, func) {
-  if (!isFunction(func)) {
-    throw new TypeError;
-  }
-  return function() {
-    if (--n < 1) {
-      return func.apply(this, arguments);
-    }
-  };
-}
-
-module.exports = after;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/functions/bind.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/functions/bind.js b/node_modules/lodash-node/compat/functions/bind.js
deleted file mode 100644
index 42284b3..0000000
--- a/node_modules/lodash-node/compat/functions/bind.js
+++ /dev/null
@@ -1,41 +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 createWrapper = require('../internals/createWrapper'),
-    slice = require('../internals/slice'),
-    support = require('../support');
-
-/**
- * Creates a function that, when called, invokes `func` with the `this`
- * binding of `thisArg` and prepends any additional `bind` arguments to those
- * provided to the bound function.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to bind.
- * @param {*} [thisArg] The `this` binding of `func`.
- * @param {...*} [arg] Arguments to be partially applied.
- * @returns {Function} Returns the new bound function.
- * @example
- *
- * var func = function(greeting) {
- *   return greeting + ' ' + this.name;
- * };
- *
- * func = _.bind(func, { 'name': 'fred' }, 'hi');
- * func();
- * // => 'hi fred'
- */
-function bind(func, thisArg) {
-  return arguments.length > 2
-    ? createWrapper(func, 17, slice(arguments, 2), null, thisArg)
-    : createWrapper(func, 1, null, null, thisArg);
-}
-
-module.exports = bind;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/functions/bindAll.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/functions/bindAll.js b/node_modules/lodash-node/compat/functions/bindAll.js
deleted file mode 100644
index f62d906..0000000
--- a/node_modules/lodash-node/compat/functions/bindAll.js
+++ /dev/null
@@ -1,49 +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 baseFlatten = require('../internals/baseFlatten'),
-    createWrapper = require('../internals/createWrapper'),
-    functions = require('../objects/functions');
-
-/**
- * Binds methods of an object to the object itself, overwriting the existing
- * method. Method names may be specified as individual arguments or as arrays
- * of method names. If no method names are provided all the function properties
- * of `object` will be bound.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Object} object The object to bind and assign the bound methods to.
- * @param {...string} [methodName] The object method names to
- *  bind, specified as individual method names or arrays of method names.
- * @returns {Object} Returns `object`.
- * @example
- *
- * var view = {
- *   'label': 'docs',
- *   'onClick': function() { console.log('clicked ' + this.label); }
- * };
- *
- * _.bindAll(view);
- * jQuery('#docs').on('click', view.onClick);
- * // => logs 'clicked docs', when the button is clicked
- */
-function bindAll(object) {
-  var funcs = arguments.length > 1 ? baseFlatten(arguments, true, false, 1) : functions(object),
-      index = -1,
-      length = funcs.length;
-
-  while (++index < length) {
-    var key = funcs[index];
-    object[key] = createWrapper(object[key], 1, null, null, object);
-  }
-  return object;
-}
-
-module.exports = bindAll;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/functions/bindKey.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/functions/bindKey.js b/node_modules/lodash-node/compat/functions/bindKey.js
deleted file mode 100644
index 7e07139..0000000
--- a/node_modules/lodash-node/compat/functions/bindKey.js
+++ /dev/null
@@ -1,52 +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 createWrapper = require('../internals/createWrapper'),
-    slice = require('../internals/slice');
-
-/**
- * Creates a function that, when called, invokes the method at `object[key]`
- * and prepends any additional `bindKey` arguments to those provided to the bound
- * function. This method differs from `_.bind` by allowing bound functions to
- * reference methods that will be redefined or don't yet exist.
- * See http://michaux.ca/articles/lazy-function-definition-pattern.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Object} object The object the method belongs to.
- * @param {string} key The key of the method.
- * @param {...*} [arg] Arguments to be partially applied.
- * @returns {Function} Returns the new bound function.
- * @example
- *
- * var object = {
- *   'name': 'fred',
- *   'greet': function(greeting) {
- *     return greeting + ' ' + this.name;
- *   }
- * };
- *
- * var func = _.bindKey(object, 'greet', 'hi');
- * func();
- * // => 'hi fred'
- *
- * object.greet = function(greeting) {
- *   return greeting + 'ya ' + this.name + '!';
- * };
- *
- * func();
- * // => 'hiya fred!'
- */
-function bindKey(object, key) {
-  return arguments.length > 2
-    ? createWrapper(key, 19, slice(arguments, 2), null, object)
-    : createWrapper(key, 3, null, null, object);
-}
-
-module.exports = bindKey;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/functions/compose.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/functions/compose.js b/node_modules/lodash-node/compat/functions/compose.js
deleted file mode 100644
index 2a70d65..0000000
--- a/node_modules/lodash-node/compat/functions/compose.js
+++ /dev/null
@@ -1,61 +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 isFunction = require('../objects/isFunction');
-
-/**
- * Creates a function that is the composition of the provided functions,
- * where each function consumes the return value of the function that follows.
- * For example, composing the functions `f()`, `g()`, and `h()` produces `f(g(h()))`.
- * Each function is executed with the `this` binding of the composed function.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {...Function} [func] Functions to compose.
- * @returns {Function} Returns the new composed function.
- * @example
- *
- * var realNameMap = {
- *   'pebbles': 'penelope'
- * };
- *
- * var format = function(name) {
- *   name = realNameMap[name.toLowerCase()] || name;
- *   return name.charAt(0).toUpperCase() + name.slice(1).toLowerCase();
- * };
- *
- * var greet = function(formatted) {
- *   return 'Hiya ' + formatted + '!';
- * };
- *
- * var welcome = _.compose(greet, format);
- * welcome('pebbles');
- * // => 'Hiya Penelope!'
- */
-function compose() {
-  var funcs = arguments,
-      length = funcs.length;
-
-  while (length--) {
-    if (!isFunction(funcs[length])) {
-      throw new TypeError;
-    }
-  }
-  return function() {
-    var args = arguments,
-        length = funcs.length;
-
-    while (length--) {
-      args = [funcs[length].apply(this, args)];
-    }
-    return args[0];
-  };
-}
-
-module.exports = compose;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/functions/createCallback.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/functions/createCallback.js b/node_modules/lodash-node/compat/functions/createCallback.js
deleted file mode 100644
index 460b80e..0000000
--- a/node_modules/lodash-node/compat/functions/createCallback.js
+++ /dev/null
@@ -1,81 +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 baseCreateCallback = require('../internals/baseCreateCallback'),
-    baseIsEqual = require('../internals/baseIsEqual'),
-    isObject = require('../objects/isObject'),
-    keys = require('../objects/keys'),
-    property = require('../utilities/property');
-
-/**
- * Produces a callback bound to an optional `thisArg`. If `func` is a property
- * name the created callback will return the property value for a given element.
- * If `func` is an object the created callback will return `true` for elements
- * that contain the equivalent object properties, otherwise it will return `false`.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {*} [func=identity] The value to convert to a callback.
- * @param {*} [thisArg] The `this` binding of the created callback.
- * @param {number} [argCount] The number of arguments the callback accepts.
- * @returns {Function} Returns a callback function.
- * @example
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * // wrap to create custom callback shorthands
- * _.createCallback = _.wrap(_.createCallback, function(func, callback, thisArg) {
- *   var match = /^(.+?)__([gl]t)(.+)$/.exec(callback);
- *   return !match ? func(callback, thisArg) : function(object) {
- *     return match[2] == 'gt' ? object[match[1]] > match[3] : object[match[1]] < match[3];
- *   };
- * });
- *
- * _.filter(characters, 'age__gt38');
- * // => [{ 'name': 'fred', 'age': 40 }]
- */
-function createCallback(func, thisArg, argCount) {
-  var type = typeof func;
-  if (func == null || type == 'function') {
-    return baseCreateCallback(func, thisArg, argCount);
-  }
-  // handle "_.pluck" style callback shorthands
-  if (type != 'object') {
-    return property(func);
-  }
-  var props = keys(func),
-      key = props[0],
-      a = func[key];
-
-  // handle "_.where" style callback shorthands
-  if (props.length == 1 && a === a && !isObject(a)) {
-    // fast path the common case of providing an object with a single
-    // property containing a primitive value
-    return function(object) {
-      var b = object[key];
-      return a === b && (a !== 0 || (1 / a == 1 / b));
-    };
-  }
-  return function(object) {
-    var length = props.length,
-        result = false;
-
-    while (length--) {
-      if (!(result = baseIsEqual(object[props[length]], func[props[length]], null, true))) {
-        break;
-      }
-    }
-    return result;
-  };
-}
-
-module.exports = createCallback;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/functions/curry.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/functions/curry.js b/node_modules/lodash-node/compat/functions/curry.js
deleted file mode 100644
index 77fb780..0000000
--- a/node_modules/lodash-node/compat/functions/curry.js
+++ /dev/null
@@ -1,44 +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 createWrapper = require('../internals/createWrapper');
-
-/**
- * Creates a function which accepts one or more arguments of `func` that when
- * invoked either executes `func` returning its result, if all `func` arguments
- * have been provided, or returns a function that accepts one or more of the
- * remaining `func` arguments, and so on. The arity of `func` can be specified
- * if `func.length` is not sufficient.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to curry.
- * @param {number} [arity=func.length] The arity of `func`.
- * @returns {Function} Returns the new curried function.
- * @example
- *
- * var curried = _.curry(function(a, b, c) {
- *   console.log(a + b + c);
- * });
- *
- * curried(1)(2)(3);
- * // => 6
- *
- * curried(1, 2)(3);
- * // => 6
- *
- * curried(1, 2, 3);
- * // => 6
- */
-function curry(func, arity) {
-  arity = typeof arity == 'number' ? arity : (+arity || func.length);
-  return createWrapper(func, 4, null, null, null, arity);
-}
-
-module.exports = curry;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/functions/debounce.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/functions/debounce.js b/node_modules/lodash-node/compat/functions/debounce.js
deleted file mode 100644
index 6bc27f4..0000000
--- a/node_modules/lodash-node/compat/functions/debounce.js
+++ /dev/null
@@ -1,156 +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 isFunction = require('../objects/isFunction'),
-    isObject = require('../objects/isObject'),
-    now = require('../utilities/now');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max;
-
-/**
- * Creates a function that will delay the execution of `func` until after
- * `wait` milliseconds have elapsed since the last time it was invoked.
- * Provide an options object to indicate that `func` should be invoked on
- * the leading and/or trailing edge of the `wait` timeout. Subsequent calls
- * to the debounced function will return the result of the last `func` call.
- *
- * Note: If `leading` and `trailing` options are `true` `func` will be called
- * on the trailing edge of the timeout only if the the debounced function is
- * invoked more than once during the `wait` timeout.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to debounce.
- * @param {number} wait The number of milliseconds to delay.
- * @param {Object} [options] The options object.
- * @param {boolean} [options.leading=false] Specify execution on the leading edge of the timeout.
- * @param {number} [options.maxWait] The maximum time `func` is allowed to be delayed before it's called.
- * @param {boolean} [options.trailing=true] Specify execution on the trailing edge of the timeout.
- * @returns {Function} Returns the new debounced function.
- * @example
- *
- * // avoid costly calculations while the window size is in flux
- * var lazyLayout = _.debounce(calculateLayout, 150);
- * jQuery(window).on('resize', lazyLayout);
- *
- * // execute `sendMail` when the click event is fired, debouncing subsequent calls
- * jQuery('#postbox').on('click', _.debounce(sendMail, 300, {
- *   'leading': true,
- *   'trailing': false
- * });
- *
- * // ensure `batchLog` is executed once after 1 second of debounced calls
- * var source = new EventSource('/stream');
- * source.addEventListener('message', _.debounce(batchLog, 250, {
- *   'maxWait': 1000
- * }, false);
- */
-function debounce(func, wait, options) {
-  var args,
-      maxTimeoutId,
-      result,
-      stamp,
-      thisArg,
-      timeoutId,
-      trailingCall,
-      lastCalled = 0,
-      maxWait = false,
-      trailing = true;
-
-  if (!isFunction(func)) {
-    throw new TypeError;
-  }
-  wait = nativeMax(0, wait) || 0;
-  if (options === true) {
-    var leading = true;
-    trailing = false;
-  } else if (isObject(options)) {
-    leading = options.leading;
-    maxWait = 'maxWait' in options && (nativeMax(wait, options.maxWait) || 0);
-    trailing = 'trailing' in options ? options.trailing : trailing;
-  }
-  var delayed = function() {
-    var remaining = wait - (now() - stamp);
-    if (remaining <= 0) {
-      if (maxTimeoutId) {
-        clearTimeout(maxTimeoutId);
-      }
-      var isCalled = trailingCall;
-      maxTimeoutId = timeoutId = trailingCall = undefined;
-      if (isCalled) {
-        lastCalled = now();
-        result = func.apply(thisArg, args);
-        if (!timeoutId && !maxTimeoutId) {
-          args = thisArg = null;
-        }
-      }
-    } else {
-      timeoutId = setTimeout(delayed, remaining);
-    }
-  };
-
-  var maxDelayed = function() {
-    if (timeoutId) {
-      clearTimeout(timeoutId);
-    }
-    maxTimeoutId = timeoutId = trailingCall = undefined;
-    if (trailing || (maxWait !== wait)) {
-      lastCalled = now();
-      result = func.apply(thisArg, args);
-      if (!timeoutId && !maxTimeoutId) {
-        args = thisArg = null;
-      }
-    }
-  };
-
-  return function() {
-    args = arguments;
-    stamp = now();
-    thisArg = this;
-    trailingCall = trailing && (timeoutId || !leading);
-
-    if (maxWait === false) {
-      var leadingCall = leading && !timeoutId;
-    } else {
-      if (!maxTimeoutId && !leading) {
-        lastCalled = stamp;
-      }
-      var remaining = maxWait - (stamp - lastCalled),
-          isCalled = remaining <= 0;
-
-      if (isCalled) {
-        if (maxTimeoutId) {
-          maxTimeoutId = clearTimeout(maxTimeoutId);
-        }
-        lastCalled = stamp;
-        result = func.apply(thisArg, args);
-      }
-      else if (!maxTimeoutId) {
-        maxTimeoutId = setTimeout(maxDelayed, remaining);
-      }
-    }
-    if (isCalled && timeoutId) {
-      timeoutId = clearTimeout(timeoutId);
-    }
-    else if (!timeoutId && wait !== maxWait) {
-      timeoutId = setTimeout(delayed, wait);
-    }
-    if (leadingCall) {
-      isCalled = true;
-      result = func.apply(thisArg, args);
-    }
-    if (isCalled && !timeoutId && !maxTimeoutId) {
-      args = thisArg = null;
-    }
-    return result;
-  };
-}
-
-module.exports = debounce;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/functions/defer.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/functions/defer.js b/node_modules/lodash-node/compat/functions/defer.js
deleted file mode 100644
index 7a7bf32..0000000
--- a/node_modules/lodash-node/compat/functions/defer.js
+++ /dev/null
@@ -1,35 +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 isFunction = require('../objects/isFunction'),
-    slice = require('../internals/slice');
-
-/**
- * Defers executing the `func` function until the current call stack has cleared.
- * Additional arguments will be provided to `func` when it is invoked.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to defer.
- * @param {...*} [arg] Arguments to invoke the function with.
- * @returns {number} Returns the timer id.
- * @example
- *
- * _.defer(function(text) { console.log(text); }, 'deferred');
- * // logs 'deferred' after one or more milliseconds
- */
-function defer(func) {
-  if (!isFunction(func)) {
-    throw new TypeError;
-  }
-  var args = slice(arguments, 1);
-  return setTimeout(function() { func.apply(undefined, args); }, 1);
-}
-
-module.exports = defer;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/functions/delay.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/functions/delay.js b/node_modules/lodash-node/compat/functions/delay.js
deleted file mode 100644
index 5a466ae..0000000
--- a/node_modules/lodash-node/compat/functions/delay.js
+++ /dev/null
@@ -1,36 +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 isFunction = require('../objects/isFunction'),
-    slice = require('../internals/slice');
-
-/**
- * Executes the `func` function after `wait` milliseconds. Additional arguments
- * will be provided to `func` when it is invoked.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to delay.
- * @param {number} wait The number of milliseconds to delay execution.
- * @param {...*} [arg] Arguments to invoke the function with.
- * @returns {number} Returns the timer id.
- * @example
- *
- * _.delay(function(text) { console.log(text); }, 1000, 'later');
- * // => logs 'later' after one second
- */
-function delay(func, wait) {
-  if (!isFunction(func)) {
-    throw new TypeError;
-  }
-  var args = slice(arguments, 2);
-  return setTimeout(function() { func.apply(undefined, args); }, wait);
-}
-
-module.exports = delay;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/functions/memoize.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/functions/memoize.js b/node_modules/lodash-node/compat/functions/memoize.js
deleted file mode 100644
index 4ba8192..0000000
--- a/node_modules/lodash-node/compat/functions/memoize.js
+++ /dev/null
@@ -1,71 +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 isFunction = require('../objects/isFunction'),
-    keyPrefix = require('../internals/keyPrefix');
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/**
- * Creates a function that memoizes the result of `func`. If `resolver` is
- * provided it will be used to determine the cache key for storing the result
- * based on the arguments provided to the memoized function. By default, the
- * first argument provided to the memoized function is used as the cache key.
- * The `func` is executed with the `this` binding of the memoized function.
- * The result cache is exposed as the `cache` property on the memoized function.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to have its output memoized.
- * @param {Function} [resolver] A function used to resolve the cache key.
- * @returns {Function} Returns the new memoizing function.
- * @example
- *
- * var fibonacci = _.memoize(function(n) {
- *   return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2);
- * });
- *
- * fibonacci(9)
- * // => 34
- *
- * var data = {
- *   'fred': { 'name': 'fred', 'age': 40 },
- *   'pebbles': { 'name': 'pebbles', 'age': 1 }
- * };
- *
- * // modifying the result cache
- * var get = _.memoize(function(name) { return data[name]; }, _.identity);
- * get('pebbles');
- * // => { 'name': 'pebbles', 'age': 1 }
- *
- * get.cache.pebbles.name = 'penelope';
- * get('pebbles');
- * // => { 'name': 'penelope', 'age': 1 }
- */
-function memoize(func, resolver) {
-  if (!isFunction(func)) {
-    throw new TypeError;
-  }
-  var memoized = function() {
-    var cache = memoized.cache,
-        key = resolver ? resolver.apply(this, arguments) : keyPrefix + arguments[0];
-
-    return hasOwnProperty.call(cache, key)
-      ? cache[key]
-      : (cache[key] = func.apply(this, arguments));
-  }
-  memoized.cache = {};
-  return memoized;
-}
-
-module.exports = memoize;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/functions/once.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/functions/once.js b/node_modules/lodash-node/compat/functions/once.js
deleted file mode 100644
index 6409810..0000000
--- a/node_modules/lodash-node/compat/functions/once.js
+++ /dev/null
@@ -1,48 +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 isFunction = require('../objects/isFunction');
-
-/**
- * Creates a function that is restricted to execute `func` once. Repeat calls to
- * the function will return the value of the first call. The `func` is executed
- * with the `this` binding of the created function.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to restrict.
- * @returns {Function} Returns the new restricted function.
- * @example
- *
- * var initialize = _.once(createApplication);
- * initialize();
- * initialize();
- * // `initialize` executes `createApplication` once
- */
-function once(func) {
-  var ran,
-      result;
-
-  if (!isFunction(func)) {
-    throw new TypeError;
-  }
-  return function() {
-    if (ran) {
-      return result;
-    }
-    ran = true;
-    result = func.apply(this, arguments);
-
-    // clear the `func` variable so the function may be garbage collected
-    func = null;
-    return result;
-  };
-}
-
-module.exports = once;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/functions/partial.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/functions/partial.js b/node_modules/lodash-node/compat/functions/partial.js
deleted file mode 100644
index 64ff0ee..0000000
--- a/node_modules/lodash-node/compat/functions/partial.js
+++ /dev/null
@@ -1,34 +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 createWrapper = require('../internals/createWrapper'),
-    slice = require('../internals/slice');
-
-/**
- * Creates a function that, when called, invokes `func` with any additional
- * `partial` arguments prepended to those provided to the new function. This
- * method is similar to `_.bind` except it does **not** alter the `this` binding.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to partially apply arguments to.
- * @param {...*} [arg] Arguments to be partially applied.
- * @returns {Function} Returns the new partially applied function.
- * @example
- *
- * var greet = function(greeting, name) { return greeting + ' ' + name; };
- * var hi = _.partial(greet, 'hi');
- * hi('fred');
- * // => 'hi fred'
- */
-function partial(func) {
-  return createWrapper(func, 16, slice(arguments, 1));
-}
-
-module.exports = partial;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/functions/partialRight.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/functions/partialRight.js b/node_modules/lodash-node/compat/functions/partialRight.js
deleted file mode 100644
index 3028819..0000000
--- a/node_modules/lodash-node/compat/functions/partialRight.js
+++ /dev/null
@@ -1,43 +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 createWrapper = require('../internals/createWrapper'),
-    slice = require('../internals/slice');
-
-/**
- * This method is like `_.partial` except that `partial` arguments are
- * appended to those provided to the new function.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to partially apply arguments to.
- * @param {...*} [arg] Arguments to be partially applied.
- * @returns {Function} Returns the new partially applied function.
- * @example
- *
- * var defaultsDeep = _.partialRight(_.merge, _.defaults);
- *
- * var options = {
- *   'variable': 'data',
- *   'imports': { 'jq': $ }
- * };
- *
- * defaultsDeep(options, _.templateSettings);
- *
- * options.variable
- * // => 'data'
- *
- * options.imports
- * // => { '_': _, 'jq': $ }
- */
-function partialRight(func) {
-  return createWrapper(func, 32, null, slice(arguments, 1));
-}
-
-module.exports = partialRight;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/functions/throttle.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/functions/throttle.js b/node_modules/lodash-node/compat/functions/throttle.js
deleted file mode 100644
index 8300c65..0000000
--- a/node_modules/lodash-node/compat/functions/throttle.js
+++ /dev/null
@@ -1,71 +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 debounce = require('./debounce'),
-    isFunction = require('../objects/isFunction'),
-    isObject = require('../objects/isObject');
-
-/** Used as an internal `_.debounce` options object */
-var debounceOptions = {
-  'leading': false,
-  'maxWait': 0,
-  'trailing': false
-};
-
-/**
- * Creates a function that, when executed, will only call the `func` function
- * at most once per every `wait` milliseconds. Provide an options object to
- * indicate that `func` should be invoked on the leading and/or trailing edge
- * of the `wait` timeout. Subsequent calls to the throttled function will
- * return the result of the last `func` call.
- *
- * Note: If `leading` and `trailing` options are `true` `func` will be called
- * on the trailing edge of the timeout only if the the throttled function is
- * invoked more than once during the `wait` timeout.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to throttle.
- * @param {number} wait The number of milliseconds to throttle executions to.
- * @param {Object} [options] The options object.
- * @param {boolean} [options.leading=true] Specify execution on the leading edge of the timeout.
- * @param {boolean} [options.trailing=true] Specify execution on the trailing edge of the timeout.
- * @returns {Function} Returns the new throttled function.
- * @example
- *
- * // avoid excessively updating the position while scrolling
- * var throttled = _.throttle(updatePosition, 100);
- * jQuery(window).on('scroll', throttled);
- *
- * // execute `renewToken` when the click event is fired, but not more than once every 5 minutes
- * jQuery('.interactive').on('click', _.throttle(renewToken, 300000, {
- *   'trailing': false
- * }));
- */
-function throttle(func, wait, options) {
-  var leading = true,
-      trailing = true;
-
-  if (!isFunction(func)) {
-    throw new TypeError;
-  }
-  if (options === false) {
-    leading = false;
-  } else if (isObject(options)) {
-    leading = 'leading' in options ? options.leading : leading;
-    trailing = 'trailing' in options ? options.trailing : trailing;
-  }
-  debounceOptions.leading = leading;
-  debounceOptions.maxWait = wait;
-  debounceOptions.trailing = trailing;
-
-  return debounce(func, wait, debounceOptions);
-}
-
-module.exports = throttle;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/functions/wrap.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/functions/wrap.js b/node_modules/lodash-node/compat/functions/wrap.js
deleted file mode 100644
index 9168ffc..0000000
--- a/node_modules/lodash-node/compat/functions/wrap.js
+++ /dev/null
@@ -1,36 +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 createWrapper = require('../internals/createWrapper');
-
-/**
- * Creates a function that provides `value` to the wrapper function as its
- * first argument. Additional arguments provided to the function are appended
- * to those provided to the wrapper function. The wrapper is executed with
- * the `this` binding of the created function.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {*} value The value to wrap.
- * @param {Function} wrapper The wrapper function.
- * @returns {Function} Returns the new function.
- * @example
- *
- * var p = _.wrap(_.escape, function(func, text) {
- *   return '<p>' + func(text) + '</p>';
- * });
- *
- * p('Fred, Wilma, & Pebbles');
- * // => '<p>Fred, Wilma, &amp; Pebbles</p>'
- */
-function wrap(value, wrapper) {
-  return createWrapper(wrapper, 16, [value]);
-}
-
-module.exports = wrap;


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


[28/32] ios commit: CB-11445 Updated RELEASENOTES and Version for release 4.2.0

Posted by st...@apache.org.
CB-11445 Updated RELEASENOTES and Version for release 4.2.0


Project: http://git-wip-us.apache.org/repos/asf/cordova-ios/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-ios/commit/41341763
Tree: http://git-wip-us.apache.org/repos/asf/cordova-ios/tree/41341763
Diff: http://git-wip-us.apache.org/repos/asf/cordova-ios/diff/41341763

Branch: refs/heads/master
Commit: 413417633855994ae1b5ffc529b87a4b32580504
Parents: 69a2911
Author: Steve Gill <st...@gmail.com>
Authored: Thu Jun 16 21:11:36 2016 -0700
Committer: Steve Gill <st...@gmail.com>
Committed: Thu Jun 16 21:11:36 2016 -0700

----------------------------------------------------------------------
 RELEASENOTES.md | 1577 +++++++++++++++++++++++++-------------------------
 package.json    |    2 +-
 2 files changed, 801 insertions(+), 778 deletions(-)
----------------------------------------------------------------------



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


[22/32] ios commit: CB-11445 Updated checked-in node_modules

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/index.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/index.js b/node_modules/lodash-node/compat/index.js
deleted file mode 100644
index cbea241..0000000
--- a/node_modules/lodash-node/compat/index.js
+++ /dev/null
@@ -1,376 +0,0 @@
-/**
- * @license
- * 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 arrays = require('./arrays'),
-    chaining = require('./chaining'),
-    collections = require('./collections'),
-    functions = require('./functions'),
-    objects = require('./objects'),
-    utilities = require('./utilities'),
-    baseEach = require('./internals/baseEach'),
-    forOwn = require('./objects/forOwn'),
-    isArray = require('./objects/isArray'),
-    lodashWrapper = require('./internals/lodashWrapper'),
-    mixin = require('./utilities/mixin'),
-    support = require('./support'),
-    templateSettings = require('./utilities/templateSettings');
-
-/**
- * Used for `Array` method references.
- *
- * Normally `Array.prototype` would suffice, however, using an array literal
- * avoids issues in Narwhal.
- */
-var arrayRef = [];
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/**
- * Creates a `lodash` object which wraps the given value to enable intuitive
- * method chaining.
- *
- * In addition to Lo-Dash methods, wrappers also have the following `Array` methods:
- * `concat`, `join`, `pop`, `push`, `reverse`, `shift`, `slice`, `sort`, `splice`,
- * and `unshift`
- *
- * Chaining is supported in custom builds as long as the `value` method is
- * implicitly or explicitly included in the build.
- *
- * The chainable wrapper functions are:
- * `after`, `assign`, `bind`, `bindAll`, `bindKey`, `chain`, `compact`,
- * `compose`, `concat`, `countBy`, `create`, `createCallback`, `curry`,
- * `debounce`, `defaults`, `defer`, `delay`, `difference`, `filter`, `flatten`,
- * `forEach`, `forEachRight`, `forIn`, `forInRight`, `forOwn`, `forOwnRight`,
- * `functions`, `groupBy`, `indexBy`, `initial`, `intersection`, `invert`,
- * `invoke`, `keys`, `map`, `max`, `memoize`, `merge`, `min`, `object`, `omit`,
- * `once`, `pairs`, `partial`, `partialRight`, `pick`, `pluck`, `pull`, `push`,
- * `range`, `reject`, `remove`, `rest`, `reverse`, `shuffle`, `slice`, `sort`,
- * `sortBy`, `splice`, `tap`, `throttle`, `times`, `toArray`, `transform`,
- * `union`, `uniq`, `unshift`, `unzip`, `values`, `where`, `without`, `wrap`,
- * and `zip`
- *
- * The non-chainable wrapper functions are:
- * `clone`, `cloneDeep`, `contains`, `escape`, `every`, `find`, `findIndex`,
- * `findKey`, `findLast`, `findLastIndex`, `findLastKey`, `has`, `identity`,
- * `indexOf`, `isArguments`, `isArray`, `isBoolean`, `isDate`, `isElement`,
- * `isEmpty`, `isEqual`, `isFinite`, `isFunction`, `isNaN`, `isNull`, `isNumber`,
- * `isObject`, `isPlainObject`, `isRegExp`, `isString`, `isUndefined`, `join`,
- * `lastIndexOf`, `mixin`, `noConflict`, `parseInt`, `pop`, `random`, `reduce`,
- * `reduceRight`, `result`, `shift`, `size`, `some`, `sortedIndex`, `runInContext`,
- * `template`, `unescape`, `uniqueId`, and `value`
- *
- * The wrapper functions `first` and `last` return wrapped values when `n` is
- * provided, otherwise they return unwrapped values.
- *
- * Explicit chaining can be enabled by using the `_.chain` method.
- *
- * @name _
- * @constructor
- * @category Chaining
- * @param {*} value The value to wrap in a `lodash` instance.
- * @returns {Object} Returns a `lodash` instance.
- * @example
- *
- * var wrapped = _([1, 2, 3]);
- *
- * // returns an unwrapped value
- * wrapped.reduce(function(sum, num) {
- *   return sum + num;
- * });
- * // => 6
- *
- * // returns a wrapped value
- * var squares = wrapped.map(function(num) {
- *   return num * num;
- * });
- *
- * _.isArray(squares);
- * // => false
- *
- * _.isArray(squares.value());
- * // => true
- */
-function lodash(value) {
-  // don't wrap if already wrapped, even if wrapped by a different `lodash` constructor
-  return (value && typeof value == 'object' && !isArray(value) && hasOwnProperty.call(value, '__wrapped__'))
-   ? value
-   : new lodashWrapper(value);
-}
-// ensure `new lodashWrapper` is an instance of `lodash`
-lodashWrapper.prototype = lodash.prototype;
-
-// wrap `_.mixin` so it works when provided only one argument
-mixin = (function(fn) {
-  var functions = objects.functions;
-  return function(object, source, options) {
-    if (!source || (!options && !functions(source).length)) {
-      if (options == null) {
-        options = source;
-      }
-      source = object;
-      object = lodash;
-    }
-    return fn(object, source, options);
-  };
-}(mixin));
-
-// add functions that return wrapped values when chaining
-lodash.after = functions.after;
-lodash.assign = objects.assign;
-lodash.at = collections.at;
-lodash.bind = functions.bind;
-lodash.bindAll = functions.bindAll;
-lodash.bindKey = functions.bindKey;
-lodash.chain = chaining.chain;
-lodash.compact = arrays.compact;
-lodash.compose = functions.compose;
-lodash.constant = utilities.constant;
-lodash.countBy = collections.countBy;
-lodash.create = objects.create;
-lodash.createCallback = functions.createCallback;
-lodash.curry = functions.curry;
-lodash.debounce = functions.debounce;
-lodash.defaults = objects.defaults;
-lodash.defer = functions.defer;
-lodash.delay = functions.delay;
-lodash.difference = arrays.difference;
-lodash.filter = collections.filter;
-lodash.flatten = arrays.flatten;
-lodash.forEach = collections.forEach;
-lodash.forEachRight = collections.forEachRight;
-lodash.forIn = objects.forIn;
-lodash.forInRight = objects.forInRight;
-lodash.forOwn = forOwn;
-lodash.forOwnRight = objects.forOwnRight;
-lodash.functions = objects.functions;
-lodash.groupBy = collections.groupBy;
-lodash.indexBy = collections.indexBy;
-lodash.initial = arrays.initial;
-lodash.intersection = arrays.intersection;
-lodash.invert = objects.invert;
-lodash.invoke = collections.invoke;
-lodash.keys = objects.keys;
-lodash.map = collections.map;
-lodash.mapValues = objects.mapValues;
-lodash.max = collections.max;
-lodash.memoize = functions.memoize;
-lodash.merge = objects.merge;
-lodash.min = collections.min;
-lodash.omit = objects.omit;
-lodash.once = functions.once;
-lodash.pairs = objects.pairs;
-lodash.partial = functions.partial;
-lodash.partialRight = functions.partialRight;
-lodash.pick = objects.pick;
-lodash.pluck = collections.pluck;
-lodash.property = utilities.property;
-lodash.pull = arrays.pull;
-lodash.range = arrays.range;
-lodash.reject = collections.reject;
-lodash.remove = arrays.remove;
-lodash.rest = arrays.rest;
-lodash.shuffle = collections.shuffle;
-lodash.sortBy = collections.sortBy;
-lodash.tap = chaining.tap;
-lodash.throttle = functions.throttle;
-lodash.times = utilities.times;
-lodash.toArray = collections.toArray;
-lodash.transform = objects.transform;
-lodash.union = arrays.union;
-lodash.uniq = arrays.uniq;
-lodash.values = objects.values;
-lodash.where = collections.where;
-lodash.without = arrays.without;
-lodash.wrap = functions.wrap;
-lodash.xor = arrays.xor;
-lodash.zip = arrays.zip;
-lodash.zipObject = arrays.zipObject;
-
-// add aliases
-lodash.collect = collections.map;
-lodash.drop = arrays.rest;
-lodash.each = collections.forEach;
-lodash.eachRight = collections.forEachRight;
-lodash.extend = objects.assign;
-lodash.methods = objects.functions;
-lodash.object = arrays.zipObject;
-lodash.select = collections.filter;
-lodash.tail = arrays.rest;
-lodash.unique = arrays.uniq;
-lodash.unzip = arrays.zip;
-
-// add functions to `lodash.prototype`
-mixin(lodash);
-
-// add functions that return unwrapped values when chaining
-lodash.clone = objects.clone;
-lodash.cloneDeep = objects.cloneDeep;
-lodash.contains = collections.contains;
-lodash.escape = utilities.escape;
-lodash.every = collections.every;
-lodash.find = collections.find;
-lodash.findIndex = arrays.findIndex;
-lodash.findKey = objects.findKey;
-lodash.findLast = collections.findLast;
-lodash.findLastIndex = arrays.findLastIndex;
-lodash.findLastKey = objects.findLastKey;
-lodash.has = objects.has;
-lodash.identity = utilities.identity;
-lodash.indexOf = arrays.indexOf;
-lodash.isArguments = objects.isArguments;
-lodash.isArray = isArray;
-lodash.isBoolean = objects.isBoolean;
-lodash.isDate = objects.isDate;
-lodash.isElement = objects.isElement;
-lodash.isEmpty = objects.isEmpty;
-lodash.isEqual = objects.isEqual;
-lodash.isFinite = objects.isFinite;
-lodash.isFunction = objects.isFunction;
-lodash.isNaN = objects.isNaN;
-lodash.isNull = objects.isNull;
-lodash.isNumber = objects.isNumber;
-lodash.isObject = objects.isObject;
-lodash.isPlainObject = objects.isPlainObject;
-lodash.isRegExp = objects.isRegExp;
-lodash.isString = objects.isString;
-lodash.isUndefined = objects.isUndefined;
-lodash.lastIndexOf = arrays.lastIndexOf;
-lodash.mixin = mixin;
-lodash.noConflict = utilities.noConflict;
-lodash.noop = utilities.noop;
-lodash.now = utilities.now;
-lodash.parseInt = utilities.parseInt;
-lodash.random = utilities.random;
-lodash.reduce = collections.reduce;
-lodash.reduceRight = collections.reduceRight;
-lodash.result = utilities.result;
-lodash.size = collections.size;
-lodash.some = collections.some;
-lodash.sortedIndex = arrays.sortedIndex;
-lodash.template = utilities.template;
-lodash.unescape = utilities.unescape;
-lodash.uniqueId = utilities.uniqueId;
-
-// add aliases
-lodash.all = collections.every;
-lodash.any = collections.some;
-lodash.detect = collections.find;
-lodash.findWhere = collections.find;
-lodash.foldl = collections.reduce;
-lodash.foldr = collections.reduceRight;
-lodash.include = collections.contains;
-lodash.inject = collections.reduce;
-
-mixin(function() {
-  var source = {}
-  forOwn(lodash, function(func, methodName) {
-    if (!lodash.prototype[methodName]) {
-      source[methodName] = func;
-    }
-  });
-  return source;
-}(), false);
-
-// add functions capable of returning wrapped and unwrapped values when chaining
-lodash.first = arrays.first;
-lodash.last = arrays.last;
-lodash.sample = collections.sample;
-
-// add aliases
-lodash.take = arrays.first;
-lodash.head = arrays.first;
-
-forOwn(lodash, function(func, methodName) {
-  var callbackable = methodName !== 'sample';
-  if (!lodash.prototype[methodName]) {
-    lodash.prototype[methodName]= function(n, guard) {
-      var chainAll = this.__chain__,
-          result = func(this.__wrapped__, n, guard);
-
-      return !chainAll && (n == null || (guard && !(callbackable && typeof n == 'function')))
-        ? result
-        : new lodashWrapper(result, chainAll);
-    };
-  }
-});
-
-/**
- * The semantic version number.
- *
- * @static
- * @memberOf _
- * @type string
- */
-lodash.VERSION = '2.4.1';
-
-// add "Chaining" functions to the wrapper
-lodash.prototype.chain = chaining.wrapperChain;
-lodash.prototype.toString = chaining.wrapperToString;
-lodash.prototype.value = chaining.wrapperValueOf;
-lodash.prototype.valueOf = chaining.wrapperValueOf;
-
-// add `Array` functions that return unwrapped values
-baseEach(['join', 'pop', 'shift'], function(methodName) {
-  var func = arrayRef[methodName];
-  lodash.prototype[methodName] = function() {
-    var chainAll = this.__chain__,
-        result = func.apply(this.__wrapped__, arguments);
-
-    return chainAll
-      ? new lodashWrapper(result, chainAll)
-      : result;
-  };
-});
-
-// add `Array` functions that return the existing wrapped value
-baseEach(['push', 'reverse', 'sort', 'unshift'], function(methodName) {
-  var func = arrayRef[methodName];
-  lodash.prototype[methodName] = function() {
-    func.apply(this.__wrapped__, arguments);
-    return this;
-  };
-});
-
-// add `Array` functions that return new wrapped values
-baseEach(['concat', 'slice', 'splice'], function(methodName) {
-  var func = arrayRef[methodName];
-  lodash.prototype[methodName] = function() {
-    return new lodashWrapper(func.apply(this.__wrapped__, arguments), this.__chain__);
-  };
-});
-
-// avoid array-like object bugs with `Array#shift` and `Array#splice`
-// in IE < 9, Firefox < 10, Narwhal, and RingoJS
-if (!support.spliceObjects) {
-  baseEach(['pop', 'shift', 'splice'], function(methodName) {
-    var func = arrayRef[methodName],
-        isSplice = methodName == 'splice';
-
-    lodash.prototype[methodName] = function() {
-      var chainAll = this.__chain__,
-          value = this.__wrapped__,
-          result = func.apply(value, arguments);
-
-      if (value.length === 0) {
-        delete value[0];
-      }
-      return (chainAll || isSplice)
-        ? new lodashWrapper(result, chainAll)
-        : result;
-    };
-  });
-}
-
-lodash.support = support;
-(lodash.templateSettings = utilities.templateSettings).imports._ = lodash;
-module.exports = lodash;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/arrayPool.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/arrayPool.js b/node_modules/lodash-node/compat/internals/arrayPool.js
deleted file mode 100644
index 56e34e5..0000000
--- a/node_modules/lodash-node/compat/internals/arrayPool.js
+++ /dev/null
@@ -1,13 +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>
- */
-
-/** Used to pool arrays and objects used internally */
-var arrayPool = [];
-
-module.exports = arrayPool;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/baseBind.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/baseBind.js b/node_modules/lodash-node/compat/internals/baseBind.js
deleted file mode 100644
index 5e328f7..0000000
--- a/node_modules/lodash-node/compat/internals/baseBind.js
+++ /dev/null
@@ -1,62 +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 baseCreate = require('./baseCreate'),
-    isObject = require('../objects/isObject'),
-    setBindData = require('./setBindData'),
-    slice = require('./slice');
-
-/**
- * Used for `Array` method references.
- *
- * Normally `Array.prototype` would suffice, however, using an array literal
- * avoids issues in Narwhal.
- */
-var arrayRef = [];
-
-/** Native method shortcuts */
-var push = arrayRef.push;
-
-/**
- * The base implementation of `_.bind` that creates the bound function and
- * sets its meta data.
- *
- * @private
- * @param {Array} bindData The bind data array.
- * @returns {Function} Returns the new bound function.
- */
-function baseBind(bindData) {
-  var func = bindData[0],
-      partialArgs = bindData[2],
-      thisArg = bindData[4];
-
-  function bound() {
-    // `Function#bind` spec
-    // http://es5.github.io/#x15.3.4.5
-    if (partialArgs) {
-      // avoid `arguments` object deoptimizations by using `slice` instead
-      // of `Array.prototype.slice.call` and not assigning `arguments` to a
-      // variable as a ternary expression
-      var args = slice(partialArgs);
-      push.apply(args, arguments);
-    }
-    // mimic the constructor's `return` behavior
-    // http://es5.github.io/#x13.2.2
-    if (this instanceof bound) {
-      // ensure `new bound` is an instance of `func`
-      var thisBinding = baseCreate(func.prototype),
-          result = func.apply(thisBinding, args || arguments);
-      return isObject(result) ? result : thisBinding;
-    }
-    return func.apply(thisArg, args || arguments);
-  }
-  setBindData(bound, bindData);
-  return bound;
-}
-
-module.exports = baseBind;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/baseClone.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/baseClone.js b/node_modules/lodash-node/compat/internals/baseClone.js
deleted file mode 100644
index fa262bf..0000000
--- a/node_modules/lodash-node/compat/internals/baseClone.js
+++ /dev/null
@@ -1,154 +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 assign = require('../objects/assign'),
-    baseEach = require('./baseEach'),
-    forOwn = require('../objects/forOwn'),
-    getArray = require('./getArray'),
-    isArray = require('../objects/isArray'),
-    isNode = require('./isNode'),
-    isObject = require('../objects/isObject'),
-    releaseArray = require('./releaseArray'),
-    slice = require('./slice'),
-    support = require('../support');
-
-/** Used to match regexp flags from their coerced string values */
-var reFlags = /\w*$/;
-
-/** `Object#toString` result shortcuts */
-var argsClass = '[object Arguments]',
-    arrayClass = '[object Array]',
-    boolClass = '[object Boolean]',
-    dateClass = '[object Date]',
-    funcClass = '[object Function]',
-    numberClass = '[object Number]',
-    objectClass = '[object Object]',
-    regexpClass = '[object RegExp]',
-    stringClass = '[object String]';
-
-/** Used to identify object classifications that `_.clone` supports */
-var cloneableClasses = {};
-cloneableClasses[funcClass] = false;
-cloneableClasses[argsClass] = cloneableClasses[arrayClass] =
-cloneableClasses[boolClass] = cloneableClasses[dateClass] =
-cloneableClasses[numberClass] = cloneableClasses[objectClass] =
-cloneableClasses[regexpClass] = cloneableClasses[stringClass] = true;
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/** Used to lookup a built-in constructor by [[Class]] */
-var ctorByClass = {};
-ctorByClass[arrayClass] = Array;
-ctorByClass[boolClass] = Boolean;
-ctorByClass[dateClass] = Date;
-ctorByClass[funcClass] = Function;
-ctorByClass[objectClass] = Object;
-ctorByClass[numberClass] = Number;
-ctorByClass[regexpClass] = RegExp;
-ctorByClass[stringClass] = String;
-
-/**
- * The base implementation of `_.clone` without argument juggling or support
- * for `thisArg` binding.
- *
- * @private
- * @param {*} value The value to clone.
- * @param {boolean} [isDeep=false] Specify a deep clone.
- * @param {Function} [callback] The function to customize cloning values.
- * @param {Array} [stackA=[]] Tracks traversed source objects.
- * @param {Array} [stackB=[]] Associates clones with source counterparts.
- * @returns {*} Returns the cloned value.
- */
-function baseClone(value, isDeep, callback, stackA, stackB) {
-  if (callback) {
-    var result = callback(value);
-    if (typeof result != 'undefined') {
-      return result;
-    }
-  }
-  // inspect [[Class]]
-  var isObj = isObject(value);
-  if (isObj) {
-    var className = toString.call(value);
-    if (!cloneableClasses[className] || (!support.nodeClass && isNode(value))) {
-      return value;
-    }
-    var ctor = ctorByClass[className];
-    switch (className) {
-      case boolClass:
-      case dateClass:
-        return new ctor(+value);
-
-      case numberClass:
-      case stringClass:
-        return new ctor(value);
-
-      case regexpClass:
-        result = ctor(value.source, reFlags.exec(value));
-        result.lastIndex = value.lastIndex;
-        return result;
-    }
-  } else {
-    return value;
-  }
-  var isArr = isArray(value);
-  if (isDeep) {
-    // check for circular references and return corresponding clone
-    var initedStack = !stackA;
-    stackA || (stackA = getArray());
-    stackB || (stackB = getArray());
-
-    var length = stackA.length;
-    while (length--) {
-      if (stackA[length] == value) {
-        return stackB[length];
-      }
-    }
-    result = isArr ? ctor(value.length) : {};
-  }
-  else {
-    result = isArr ? slice(value) : assign({}, value);
-  }
-  // add array properties assigned by `RegExp#exec`
-  if (isArr) {
-    if (hasOwnProperty.call(value, 'index')) {
-      result.index = value.index;
-    }
-    if (hasOwnProperty.call(value, 'input')) {
-      result.input = value.input;
-    }
-  }
-  // exit for shallow clone
-  if (!isDeep) {
-    return result;
-  }
-  // add the source value to the stack of traversed objects
-  // and associate it with its clone
-  stackA.push(value);
-  stackB.push(result);
-
-  // recursively populate clone (susceptible to call stack limits)
-  (isArr ? baseEach : forOwn)(value, function(objValue, key) {
-    result[key] = baseClone(objValue, isDeep, callback, stackA, stackB);
-  });
-
-  if (initedStack) {
-    releaseArray(stackA);
-    releaseArray(stackB);
-  }
-  return result;
-}
-
-module.exports = baseClone;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/baseCreate.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/baseCreate.js b/node_modules/lodash-node/compat/internals/baseCreate.js
deleted file mode 100644
index 90fcd68..0000000
--- a/node_modules/lodash-node/compat/internals/baseCreate.js
+++ /dev/null
@@ -1,42 +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 isNative = require('./isNative'),
-    isObject = require('../objects/isObject'),
-    noop = require('../utilities/noop');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeCreate = isNative(nativeCreate = Object.create) && nativeCreate;
-
-/**
- * The base implementation of `_.create` without support for assigning
- * properties to the created object.
- *
- * @private
- * @param {Object} prototype The object to inherit from.
- * @returns {Object} Returns the new object.
- */
-function baseCreate(prototype, properties) {
-  return isObject(prototype) ? nativeCreate(prototype) : {};
-}
-// fallback for browsers without `Object.create`
-if (!nativeCreate) {
-  baseCreate = (function() {
-    function Object() {}
-    return function(prototype) {
-      if (isObject(prototype)) {
-        Object.prototype = prototype;
-        var result = new Object;
-        Object.prototype = null;
-      }
-      return result || global.Object();
-    };
-  }());
-}
-
-module.exports = baseCreate;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/baseCreateCallback.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/baseCreateCallback.js b/node_modules/lodash-node/compat/internals/baseCreateCallback.js
deleted file mode 100644
index cb9657b..0000000
--- a/node_modules/lodash-node/compat/internals/baseCreateCallback.js
+++ /dev/null
@@ -1,80 +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 bind = require('../functions/bind'),
-    identity = require('../utilities/identity'),
-    setBindData = require('./setBindData'),
-    support = require('../support');
-
-/** Used to detected named functions */
-var reFuncName = /^\s*function[ \n\r\t]+\w/;
-
-/** Used to detect functions containing a `this` reference */
-var reThis = /\bthis\b/;
-
-/** Native method shortcuts */
-var fnToString = Function.prototype.toString;
-
-/**
- * The base implementation of `_.createCallback` without support for creating
- * "_.pluck" or "_.where" style callbacks.
- *
- * @private
- * @param {*} [func=identity] The value to convert to a callback.
- * @param {*} [thisArg] The `this` binding of the created callback.
- * @param {number} [argCount] The number of arguments the callback accepts.
- * @returns {Function} Returns a callback function.
- */
-function baseCreateCallback(func, thisArg, argCount) {
-  if (typeof func != 'function') {
-    return identity;
-  }
-  // exit early for no `thisArg` or already bound by `Function#bind`
-  if (typeof thisArg == 'undefined' || !('prototype' in func)) {
-    return func;
-  }
-  var bindData = func.__bindData__;
-  if (typeof bindData == 'undefined') {
-    if (support.funcNames) {
-      bindData = !func.name;
-    }
-    bindData = bindData || !support.funcDecomp;
-    if (!bindData) {
-      var source = fnToString.call(func);
-      if (!support.funcNames) {
-        bindData = !reFuncName.test(source);
-      }
-      if (!bindData) {
-        // checks if `func` references the `this` keyword and stores the result
-        bindData = reThis.test(source);
-        setBindData(func, bindData);
-      }
-    }
-  }
-  // exit early if there are no `this` references or `func` is bound
-  if (bindData === false || (bindData !== true && bindData[1] & 1)) {
-    return func;
-  }
-  switch (argCount) {
-    case 1: return function(value) {
-      return func.call(thisArg, value);
-    };
-    case 2: return function(a, b) {
-      return func.call(thisArg, a, b);
-    };
-    case 3: return function(value, index, collection) {
-      return func.call(thisArg, value, index, collection);
-    };
-    case 4: return function(accumulator, value, index, collection) {
-      return func.call(thisArg, accumulator, value, index, collection);
-    };
-  }
-  return bind(func, thisArg);
-}
-
-module.exports = baseCreateCallback;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/baseCreateWrapper.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/baseCreateWrapper.js b/node_modules/lodash-node/compat/internals/baseCreateWrapper.js
deleted file mode 100644
index 41bb35f..0000000
--- a/node_modules/lodash-node/compat/internals/baseCreateWrapper.js
+++ /dev/null
@@ -1,78 +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 baseCreate = require('./baseCreate'),
-    isObject = require('../objects/isObject'),
-    setBindData = require('./setBindData'),
-    slice = require('./slice');
-
-/**
- * Used for `Array` method references.
- *
- * Normally `Array.prototype` would suffice, however, using an array literal
- * avoids issues in Narwhal.
- */
-var arrayRef = [];
-
-/** Native method shortcuts */
-var push = arrayRef.push;
-
-/**
- * The base implementation of `createWrapper` that creates the wrapper and
- * sets its meta data.
- *
- * @private
- * @param {Array} bindData The bind data array.
- * @returns {Function} Returns the new function.
- */
-function baseCreateWrapper(bindData) {
-  var func = bindData[0],
-      bitmask = bindData[1],
-      partialArgs = bindData[2],
-      partialRightArgs = bindData[3],
-      thisArg = bindData[4],
-      arity = bindData[5];
-
-  var isBind = bitmask & 1,
-      isBindKey = bitmask & 2,
-      isCurry = bitmask & 4,
-      isCurryBound = bitmask & 8,
-      key = func;
-
-  function bound() {
-    var thisBinding = isBind ? thisArg : this;
-    if (partialArgs) {
-      var args = slice(partialArgs);
-      push.apply(args, arguments);
-    }
-    if (partialRightArgs || isCurry) {
-      args || (args = slice(arguments));
-      if (partialRightArgs) {
-        push.apply(args, partialRightArgs);
-      }
-      if (isCurry && args.length < arity) {
-        bitmask |= 16 & ~32;
-        return baseCreateWrapper([func, (isCurryBound ? bitmask : bitmask & ~3), args, null, thisArg, arity]);
-      }
-    }
-    args || (args = arguments);
-    if (isBindKey) {
-      func = thisBinding[key];
-    }
-    if (this instanceof bound) {
-      thisBinding = baseCreate(func.prototype);
-      var result = func.apply(thisBinding, args);
-      return isObject(result) ? result : thisBinding;
-    }
-    return func.apply(thisBinding, args);
-  }
-  setBindData(bound, bindData);
-  return bound;
-}
-
-module.exports = baseCreateWrapper;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/baseDifference.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/baseDifference.js b/node_modules/lodash-node/compat/internals/baseDifference.js
deleted file mode 100644
index cc32c28..0000000
--- a/node_modules/lodash-node/compat/internals/baseDifference.js
+++ /dev/null
@@ -1,52 +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 baseIndexOf = require('./baseIndexOf'),
-    cacheIndexOf = require('./cacheIndexOf'),
-    createCache = require('./createCache'),
-    largeArraySize = require('./largeArraySize'),
-    releaseObject = require('./releaseObject');
-
-/**
- * The base implementation of `_.difference` that accepts a single array
- * of values to exclude.
- *
- * @private
- * @param {Array} array The array to process.
- * @param {Array} [values] The array of values to exclude.
- * @returns {Array} Returns a new array of filtered values.
- */
-function baseDifference(array, values) {
-  var index = -1,
-      indexOf = baseIndexOf,
-      length = array ? array.length : 0,
-      isLarge = length >= largeArraySize,
-      result = [];
-
-  if (isLarge) {
-    var cache = createCache(values);
-    if (cache) {
-      indexOf = cacheIndexOf;
-      values = cache;
-    } else {
-      isLarge = false;
-    }
-  }
-  while (++index < length) {
-    var value = array[index];
-    if (indexOf(values, value) < 0) {
-      result.push(value);
-    }
-  }
-  if (isLarge) {
-    releaseObject(values);
-  }
-  return result;
-}
-
-module.exports = baseDifference;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/baseEach.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/baseEach.js b/node_modules/lodash-node/compat/internals/baseEach.js
deleted file mode 100644
index 0c833bc..0000000
--- a/node_modules/lodash-node/compat/internals/baseEach.js
+++ /dev/null
@@ -1,28 +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 createIterator = require('./createIterator'),
-    eachIteratorOptions = require('./eachIteratorOptions');
-
-/**
- * A function compiled to iterate `arguments` objects, arrays, objects, and
- * strings consistenly across environments, executing the callback for each
- * element in the collection. The callback is bound to `thisArg` and invoked
- * with three arguments; (value, index|key, collection). Callbacks may exit
- * iteration early by explicitly returning `false`.
- *
- * @private
- * @type Function
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Function} [callback=identity] The function called per iteration.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Array|Object|string} Returns `collection`.
- */
-var baseEach = createIterator(eachIteratorOptions);
-
-module.exports = baseEach;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/baseFlatten.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/baseFlatten.js b/node_modules/lodash-node/compat/internals/baseFlatten.js
deleted file mode 100644
index aaad714..0000000
--- a/node_modules/lodash-node/compat/internals/baseFlatten.js
+++ /dev/null
@@ -1,52 +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 isArguments = require('../objects/isArguments'),
-    isArray = require('../objects/isArray');
-
-/**
- * The base implementation of `_.flatten` without support for callback
- * shorthands or `thisArg` binding.
- *
- * @private
- * @param {Array} array The array to flatten.
- * @param {boolean} [isShallow=false] A flag to restrict flattening to a single level.
- * @param {boolean} [isStrict=false] A flag to restrict flattening to arrays and `arguments` objects.
- * @param {number} [fromIndex=0] The index to start from.
- * @returns {Array} Returns a new flattened array.
- */
-function baseFlatten(array, isShallow, isStrict, fromIndex) {
-  var index = (fromIndex || 0) - 1,
-      length = array ? array.length : 0,
-      result = [];
-
-  while (++index < length) {
-    var value = array[index];
-
-    if (value && typeof value == 'object' && typeof value.length == 'number'
-        && (isArray(value) || isArguments(value))) {
-      // recursively flatten arrays (susceptible to call stack limits)
-      if (!isShallow) {
-        value = baseFlatten(value, isShallow, isStrict);
-      }
-      var valIndex = -1,
-          valLength = value.length,
-          resIndex = result.length;
-
-      result.length += valLength;
-      while (++valIndex < valLength) {
-        result[resIndex++] = value[valIndex];
-      }
-    } else if (!isStrict) {
-      result.push(value);
-    }
-  }
-  return result;
-}
-
-module.exports = baseFlatten;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/baseIndexOf.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/baseIndexOf.js b/node_modules/lodash-node/compat/internals/baseIndexOf.js
deleted file mode 100644
index bb12119..0000000
--- a/node_modules/lodash-node/compat/internals/baseIndexOf.js
+++ /dev/null
@@ -1,32 +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>
- */
-
-/**
- * The base implementation of `_.indexOf` without support for binary searches
- * or `fromIndex` constraints.
- *
- * @private
- * @param {Array} array The array to search.
- * @param {*} value The value to search for.
- * @param {number} [fromIndex=0] The index to search from.
- * @returns {number} Returns the index of the matched value or `-1`.
- */
-function baseIndexOf(array, value, fromIndex) {
-  var index = (fromIndex || 0) - 1,
-      length = array ? array.length : 0;
-
-  while (++index < length) {
-    if (array[index] === value) {
-      return index;
-    }
-  }
-  return -1;
-}
-
-module.exports = baseIndexOf;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/baseIsEqual.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/baseIsEqual.js b/node_modules/lodash-node/compat/internals/baseIsEqual.js
deleted file mode 100644
index 79e26a9..0000000
--- a/node_modules/lodash-node/compat/internals/baseIsEqual.js
+++ /dev/null
@@ -1,212 +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 forIn = require('../objects/forIn'),
-    getArray = require('./getArray'),
-    isArguments = require('../objects/isArguments'),
-    isFunction = require('../objects/isFunction'),
-    isNode = require('./isNode'),
-    objectTypes = require('./objectTypes'),
-    releaseArray = require('./releaseArray'),
-    support = require('../support');
-
-/** `Object#toString` result shortcuts */
-var argsClass = '[object Arguments]',
-    arrayClass = '[object Array]',
-    boolClass = '[object Boolean]',
-    dateClass = '[object Date]',
-    numberClass = '[object Number]',
-    objectClass = '[object Object]',
-    regexpClass = '[object RegExp]',
-    stringClass = '[object String]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/**
- * The base implementation of `_.isEqual`, without support for `thisArg` binding,
- * that allows partial "_.where" style comparisons.
- *
- * @private
- * @param {*} a The value to compare.
- * @param {*} b The other value to compare.
- * @param {Function} [callback] The function to customize comparing values.
- * @param {Function} [isWhere=false] A flag to indicate performing partial comparisons.
- * @param {Array} [stackA=[]] Tracks traversed `a` objects.
- * @param {Array} [stackB=[]] Tracks traversed `b` objects.
- * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
- */
-function baseIsEqual(a, b, callback, isWhere, stackA, stackB) {
-  // used to indicate that when comparing objects, `a` has at least the properties of `b`
-  if (callback) {
-    var result = callback(a, b);
-    if (typeof result != 'undefined') {
-      return !!result;
-    }
-  }
-  // exit early for identical values
-  if (a === b) {
-    // treat `+0` vs. `-0` as not equal
-    return a !== 0 || (1 / a == 1 / b);
-  }
-  var type = typeof a,
-      otherType = typeof b;
-
-  // exit early for unlike primitive values
-  if (a === a &&
-      !(a && objectTypes[type]) &&
-      !(b && objectTypes[otherType])) {
-    return false;
-  }
-  // exit early for `null` and `undefined` avoiding ES3's Function#call behavior
-  // http://es5.github.io/#x15.3.4.4
-  if (a == null || b == null) {
-    return a === b;
-  }
-  // compare [[Class]] names
-  var className = toString.call(a),
-      otherClass = toString.call(b);
-
-  if (className == argsClass) {
-    className = objectClass;
-  }
-  if (otherClass == argsClass) {
-    otherClass = objectClass;
-  }
-  if (className != otherClass) {
-    return false;
-  }
-  switch (className) {
-    case boolClass:
-    case dateClass:
-      // coerce dates and booleans to numbers, dates to milliseconds and booleans
-      // to `1` or `0` treating invalid dates coerced to `NaN` as not equal
-      return +a == +b;
-
-    case numberClass:
-      // treat `NaN` vs. `NaN` as equal
-      return (a != +a)
-        ? b != +b
-        // but treat `+0` vs. `-0` as not equal
-        : (a == 0 ? (1 / a == 1 / b) : a == +b);
-
-    case regexpClass:
-    case stringClass:
-      // coerce regexes to strings (http://es5.github.io/#x15.10.6.4)
-      // treat string primitives and their corresponding object instances as equal
-      return a == String(b);
-  }
-  var isArr = className == arrayClass;
-  if (!isArr) {
-    // unwrap any `lodash` wrapped values
-    var aWrapped = hasOwnProperty.call(a, '__wrapped__'),
-        bWrapped = hasOwnProperty.call(b, '__wrapped__');
-
-    if (aWrapped || bWrapped) {
-      return baseIsEqual(aWrapped ? a.__wrapped__ : a, bWrapped ? b.__wrapped__ : b, callback, isWhere, stackA, stackB);
-    }
-    // exit for functions and DOM nodes
-    if (className != objectClass || (!support.nodeClass && (isNode(a) || isNode(b)))) {
-      return false;
-    }
-    // in older versions of Opera, `arguments` objects have `Array` constructors
-    var ctorA = !support.argsObject && isArguments(a) ? Object : a.constructor,
-        ctorB = !support.argsObject && isArguments(b) ? Object : b.constructor;
-
-    // non `Object` object instances with different constructors are not equal
-    if (ctorA != ctorB &&
-          !(isFunction(ctorA) && ctorA instanceof ctorA && isFunction(ctorB) && ctorB instanceof ctorB) &&
-          ('constructor' in a && 'constructor' in b)
-        ) {
-      return false;
-    }
-  }
-  // assume cyclic structures are equal
-  // the algorithm for detecting cyclic structures is adapted from ES 5.1
-  // section 15.12.3, abstract operation `JO` (http://es5.github.io/#x15.12.3)
-  var initedStack = !stackA;
-  stackA || (stackA = getArray());
-  stackB || (stackB = getArray());
-
-  var length = stackA.length;
-  while (length--) {
-    if (stackA[length] == a) {
-      return stackB[length] == b;
-    }
-  }
-  var size = 0;
-  result = true;
-
-  // add `a` and `b` to the stack of traversed objects
-  stackA.push(a);
-  stackB.push(b);
-
-  // recursively compare objects and arrays (susceptible to call stack limits)
-  if (isArr) {
-    // compare lengths to determine if a deep comparison is necessary
-    length = a.length;
-    size = b.length;
-    result = size == length;
-
-    if (result || isWhere) {
-      // deep compare the contents, ignoring non-numeric properties
-      while (size--) {
-        var index = length,
-            value = b[size];
-
-        if (isWhere) {
-          while (index--) {
-            if ((result = baseIsEqual(a[index], value, callback, isWhere, stackA, stackB))) {
-              break;
-            }
-          }
-        } else if (!(result = baseIsEqual(a[size], value, callback, isWhere, stackA, stackB))) {
-          break;
-        }
-      }
-    }
-  }
-  else {
-    // deep compare objects using `forIn`, instead of `forOwn`, to avoid `Object.keys`
-    // which, in this case, is more costly
-    forIn(b, function(value, key, b) {
-      if (hasOwnProperty.call(b, key)) {
-        // count the number of properties.
-        size++;
-        // deep compare each property value.
-        return (result = hasOwnProperty.call(a, key) && baseIsEqual(a[key], value, callback, isWhere, stackA, stackB));
-      }
-    });
-
-    if (result && !isWhere) {
-      // ensure both objects have the same number of properties
-      forIn(a, function(value, key, a) {
-        if (hasOwnProperty.call(a, key)) {
-          // `size` will be `-1` if `a` has more properties than `b`
-          return (result = --size > -1);
-        }
-      });
-    }
-  }
-  stackA.pop();
-  stackB.pop();
-
-  if (initedStack) {
-    releaseArray(stackA);
-    releaseArray(stackB);
-  }
-  return result;
-}
-
-module.exports = baseIsEqual;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/baseMerge.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/baseMerge.js b/node_modules/lodash-node/compat/internals/baseMerge.js
deleted file mode 100644
index f0dd885..0000000
--- a/node_modules/lodash-node/compat/internals/baseMerge.js
+++ /dev/null
@@ -1,79 +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 forEach = require('../collections/forEach'),
-    forOwn = require('../objects/forOwn'),
-    isArray = require('../objects/isArray'),
-    isPlainObject = require('../objects/isPlainObject');
-
-/**
- * The base implementation of `_.merge` without argument juggling or support
- * for `thisArg` binding.
- *
- * @private
- * @param {Object} object The destination object.
- * @param {Object} source The source object.
- * @param {Function} [callback] The function to customize merging properties.
- * @param {Array} [stackA=[]] Tracks traversed source objects.
- * @param {Array} [stackB=[]] Associates values with source counterparts.
- */
-function baseMerge(object, source, callback, stackA, stackB) {
-  (isArray(source) ? forEach : forOwn)(source, function(source, key) {
-    var found,
-        isArr,
-        result = source,
-        value = object[key];
-
-    if (source && ((isArr = isArray(source)) || isPlainObject(source))) {
-      // avoid merging previously merged cyclic sources
-      var stackLength = stackA.length;
-      while (stackLength--) {
-        if ((found = stackA[stackLength] == source)) {
-          value = stackB[stackLength];
-          break;
-        }
-      }
-      if (!found) {
-        var isShallow;
-        if (callback) {
-          result = callback(value, source);
-          if ((isShallow = typeof result != 'undefined')) {
-            value = result;
-          }
-        }
-        if (!isShallow) {
-          value = isArr
-            ? (isArray(value) ? value : [])
-            : (isPlainObject(value) ? value : {});
-        }
-        // add `source` and associated `value` to the stack of traversed objects
-        stackA.push(source);
-        stackB.push(value);
-
-        // recursively merge objects and arrays (susceptible to call stack limits)
-        if (!isShallow) {
-          baseMerge(value, source, callback, stackA, stackB);
-        }
-      }
-    }
-    else {
-      if (callback) {
-        result = callback(value, source);
-        if (typeof result == 'undefined') {
-          result = source;
-        }
-      }
-      if (typeof result != 'undefined') {
-        value = result;
-      }
-    }
-    object[key] = value;
-  });
-}
-
-module.exports = baseMerge;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/baseRandom.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/baseRandom.js b/node_modules/lodash-node/compat/internals/baseRandom.js
deleted file mode 100644
index a9f12b9..0000000
--- a/node_modules/lodash-node/compat/internals/baseRandom.js
+++ /dev/null
@@ -1,29 +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>
- */
-
-/** Native method shortcuts */
-var floor = Math.floor;
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeRandom = Math.random;
-
-/**
- * The base implementation of `_.random` without argument juggling or support
- * for returning floating-point numbers.
- *
- * @private
- * @param {number} min The minimum possible value.
- * @param {number} max The maximum possible value.
- * @returns {number} Returns a random number.
- */
-function baseRandom(min, max) {
-  return min + floor(nativeRandom() * (max - min + 1));
-}
-
-module.exports = baseRandom;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/baseUniq.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/baseUniq.js b/node_modules/lodash-node/compat/internals/baseUniq.js
deleted file mode 100644
index 1d96d63..0000000
--- a/node_modules/lodash-node/compat/internals/baseUniq.js
+++ /dev/null
@@ -1,64 +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 baseIndexOf = require('./baseIndexOf'),
-    cacheIndexOf = require('./cacheIndexOf'),
-    createCache = require('./createCache'),
-    getArray = require('./getArray'),
-    largeArraySize = require('./largeArraySize'),
-    releaseArray = require('./releaseArray'),
-    releaseObject = require('./releaseObject');
-
-/**
- * The base implementation of `_.uniq` without support for callback shorthands
- * or `thisArg` binding.
- *
- * @private
- * @param {Array} array The array to process.
- * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.
- * @param {Function} [callback] The function called per iteration.
- * @returns {Array} Returns a duplicate-value-free array.
- */
-function baseUniq(array, isSorted, callback) {
-  var index = -1,
-      indexOf = baseIndexOf,
-      length = array ? array.length : 0,
-      result = [];
-
-  var isLarge = !isSorted && length >= largeArraySize,
-      seen = (callback || isLarge) ? getArray() : result;
-
-  if (isLarge) {
-    var cache = createCache(seen);
-    indexOf = cacheIndexOf;
-    seen = cache;
-  }
-  while (++index < length) {
-    var value = array[index],
-        computed = callback ? callback(value, index, array) : value;
-
-    if (isSorted
-          ? !index || seen[seen.length - 1] !== computed
-          : indexOf(seen, computed) < 0
-        ) {
-      if (callback || isLarge) {
-        seen.push(computed);
-      }
-      result.push(value);
-    }
-  }
-  if (isLarge) {
-    releaseArray(seen.array);
-    releaseObject(seen);
-  } else if (callback) {
-    releaseArray(seen);
-  }
-  return result;
-}
-
-module.exports = baseUniq;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/cacheIndexOf.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/cacheIndexOf.js b/node_modules/lodash-node/compat/internals/cacheIndexOf.js
deleted file mode 100644
index 7d540fd..0000000
--- a/node_modules/lodash-node/compat/internals/cacheIndexOf.js
+++ /dev/null
@@ -1,39 +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 baseIndexOf = require('./baseIndexOf'),
-    keyPrefix = require('./keyPrefix');
-
-/**
- * An implementation of `_.contains` for cache objects that mimics the return
- * signature of `_.indexOf` by returning `0` if the value is found, else `-1`.
- *
- * @private
- * @param {Object} cache The cache object to inspect.
- * @param {*} value The value to search for.
- * @returns {number} Returns `0` if `value` is found, else `-1`.
- */
-function cacheIndexOf(cache, value) {
-  var type = typeof value;
-  cache = cache.cache;
-
-  if (type == 'boolean' || value == null) {
-    return cache[value] ? 0 : -1;
-  }
-  if (type != 'number' && type != 'string') {
-    type = 'object';
-  }
-  var key = type == 'number' ? value : keyPrefix + value;
-  cache = (cache = cache[type]) && cache[key];
-
-  return type == 'object'
-    ? (cache && baseIndexOf(cache, value) > -1 ? 0 : -1)
-    : (cache ? 0 : -1);
-}
-
-module.exports = cacheIndexOf;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/cachePush.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/cachePush.js b/node_modules/lodash-node/compat/internals/cachePush.js
deleted file mode 100644
index b16163a..0000000
--- a/node_modules/lodash-node/compat/internals/cachePush.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>
- */
-var keyPrefix = require('./keyPrefix');
-
-/**
- * Adds a given value to the corresponding cache object.
- *
- * @private
- * @param {*} value The value to add to the cache.
- */
-function cachePush(value) {
-  var cache = this.cache,
-      type = typeof value;
-
-  if (type == 'boolean' || value == null) {
-    cache[value] = true;
-  } else {
-    if (type != 'number' && type != 'string') {
-      type = 'object';
-    }
-    var key = type == 'number' ? value : keyPrefix + value,
-        typeCache = cache[type] || (cache[type] = {});
-
-    if (type == 'object') {
-      (typeCache[key] || (typeCache[key] = [])).push(value);
-    } else {
-      typeCache[key] = true;
-    }
-  }
-}
-
-module.exports = cachePush;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/charAtCallback.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/charAtCallback.js b/node_modules/lodash-node/compat/internals/charAtCallback.js
deleted file mode 100644
index f754fe9..0000000
--- a/node_modules/lodash-node/compat/internals/charAtCallback.js
+++ /dev/null
@@ -1,22 +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>
- */
-
-/**
- * Used by `_.max` and `_.min` as the default callback when a given
- * collection is a string value.
- *
- * @private
- * @param {string} value The character to inspect.
- * @returns {number} Returns the code unit of given character.
- */
-function charAtCallback(value) {
-  return value.charCodeAt(0);
-}
-
-module.exports = charAtCallback;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/compareAscending.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/compareAscending.js b/node_modules/lodash-node/compat/internals/compareAscending.js
deleted file mode 100644
index 7387123..0000000
--- a/node_modules/lodash-node/compat/internals/compareAscending.js
+++ /dev/null
@@ -1,47 +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>
- */
-
-/**
- * Used by `sortBy` to compare transformed `collection` elements, stable sorting
- * them in ascending order.
- *
- * @private
- * @param {Object} a The object to compare to `b`.
- * @param {Object} b The object to compare to `a`.
- * @returns {number} Returns the sort order indicator of `1` or `-1`.
- */
-function compareAscending(a, b) {
-  var ac = a.criteria,
-      bc = b.criteria,
-      index = -1,
-      length = ac.length;
-
-  while (++index < length) {
-    var value = ac[index],
-        other = bc[index];
-
-    if (value !== other) {
-      if (value > other || typeof value == 'undefined') {
-        return 1;
-      }
-      if (value < other || typeof other == 'undefined') {
-        return -1;
-      }
-    }
-  }
-  // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications
-  // that causes it, under certain circumstances, to return the same value for
-  // `a` and `b`. See https://github.com/jashkenas/underscore/pull/1247
-  //
-  // This also ensures a stable sort in V8 and other engines.
-  // See http://code.google.com/p/v8/issues/detail?id=90
-  return a.index - b.index;
-}
-
-module.exports = compareAscending;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/createAggregator.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/createAggregator.js b/node_modules/lodash-node/compat/internals/createAggregator.js
deleted file mode 100644
index cef4290..0000000
--- a/node_modules/lodash-node/compat/internals/createAggregator.js
+++ /dev/null
@@ -1,45 +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 baseEach = require('./baseEach'),
-    createCallback = require('../functions/createCallback'),
-    isArray = require('../objects/isArray');
-
-/**
- * Creates a function that aggregates a collection, creating an object composed
- * of keys generated from the results of running each element of the collection
- * through a callback. The given `setter` function sets the keys and values
- * of the composed object.
- *
- * @private
- * @param {Function} setter The setter function.
- * @returns {Function} Returns the new aggregator function.
- */
-function createAggregator(setter) {
-  return function(collection, callback, thisArg) {
-    var result = {};
-    callback = createCallback(callback, thisArg, 3);
-
-    if (isArray(collection)) {
-      var index = -1,
-          length = collection.length;
-
-      while (++index < length) {
-        var value = collection[index];
-        setter(result, value, callback(value, index, collection), collection);
-      }
-    } else {
-      baseEach(collection, function(value, key, collection) {
-        setter(result, value, callback(value, key, collection), collection);
-      });
-    }
-    return result;
-  };
-}
-
-module.exports = createAggregator;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/createCache.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/createCache.js b/node_modules/lodash-node/compat/internals/createCache.js
deleted file mode 100644
index fb94745..0000000
--- a/node_modules/lodash-node/compat/internals/createCache.js
+++ /dev/null
@@ -1,45 +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 cachePush = require('./cachePush'),
-    getObject = require('./getObject'),
-    releaseObject = require('./releaseObject');
-
-/**
- * Creates a cache object to optimize linear searches of large arrays.
- *
- * @private
- * @param {Array} [array=[]] The array to search.
- * @returns {null|Object} Returns the cache object or `null` if caching should not be used.
- */
-function createCache(array) {
-  var index = -1,
-      length = array.length,
-      first = array[0],
-      mid = array[(length / 2) | 0],
-      last = array[length - 1];
-
-  if (first && typeof first == 'object' &&
-      mid && typeof mid == 'object' && last && typeof last == 'object') {
-    return false;
-  }
-  var cache = getObject();
-  cache['false'] = cache['null'] = cache['true'] = cache['undefined'] = false;
-
-  var result = getObject();
-  result.array = array;
-  result.cache = cache;
-  result.push = cachePush;
-
-  while (++index < length) {
-    result.push(array[index]);
-  }
-  return result;
-}
-
-module.exports = createCache;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/createIterator.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/createIterator.js b/node_modules/lodash-node/compat/internals/createIterator.js
deleted file mode 100644
index 2dab121..0000000
--- a/node_modules/lodash-node/compat/internals/createIterator.js
+++ /dev/null
@@ -1,127 +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 baseCreateCallback = require('./baseCreateCallback'),
-    indicatorObject = require('./indicatorObject'),
-    isArguments = require('../objects/isArguments'),
-    isArray = require('../objects/isArray'),
-    isString = require('../objects/isString'),
-    iteratorTemplate = require('./iteratorTemplate'),
-    objectTypes = require('./objectTypes');
-
-/** Used to fix the JScript [[DontEnum]] bug */
-var shadowedProps = [
-  'constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable',
-  'toLocaleString', 'toString', 'valueOf'
-];
-
-/** `Object#toString` result shortcuts */
-var arrayClass = '[object Array]',
-    boolClass = '[object Boolean]',
-    dateClass = '[object Date]',
-    errorClass = '[object Error]',
-    funcClass = '[object Function]',
-    numberClass = '[object Number]',
-    objectClass = '[object Object]',
-    regexpClass = '[object RegExp]',
-    stringClass = '[object String]';
-
-/** Used as the data object for `iteratorTemplate` */
-var iteratorData = {
-  'args': '',
-  'array': null,
-  'bottom': '',
-  'firstArg': '',
-  'init': '',
-  'keys': null,
-  'loop': '',
-  'shadowedProps': null,
-  'support': null,
-  'top': '',
-  'useHas': false
-};
-
-/** Used for native method references */
-var errorProto = Error.prototype,
-    objectProto = Object.prototype,
-    stringProto = String.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/** Used to avoid iterating non-enumerable properties in IE < 9 */
-var nonEnumProps = {};
-nonEnumProps[arrayClass] = nonEnumProps[dateClass] = nonEnumProps[numberClass] = { 'constructor': true, 'toLocaleString': true, 'toString': true, 'valueOf': true };
-nonEnumProps[boolClass] = nonEnumProps[stringClass] = { 'constructor': true, 'toString': true, 'valueOf': true };
-nonEnumProps[errorClass] = nonEnumProps[funcClass] = nonEnumProps[regexpClass] = { 'constructor': true, 'toString': true };
-nonEnumProps[objectClass] = { 'constructor': true };
-
-(function() {
-  var length = shadowedProps.length;
-  while (length--) {
-    var key = shadowedProps[length];
-    for (var className in nonEnumProps) {
-      if (hasOwnProperty.call(nonEnumProps, className) && !hasOwnProperty.call(nonEnumProps[className], key)) {
-        nonEnumProps[className][key] = false;
-      }
-    }
-  }
-}());
-
-/**
- * Creates compiled iteration functions.
- *
- * @private
- * @param {...Object} [options] The compile options object(s).
- * @param {string} [options.array] Code to determine if the iterable is an array or array-like.
- * @param {boolean} [options.useHas] Specify using `hasOwnProperty` checks in the object loop.
- * @param {Function} [options.keys] A reference to `_.keys` for use in own property iteration.
- * @param {string} [options.args] A comma separated string of iteration function arguments.
- * @param {string} [options.top] Code to execute before the iteration branches.
- * @param {string} [options.loop] Code to execute in the object loop.
- * @param {string} [options.bottom] Code to execute after the iteration branches.
- * @returns {Function} Returns the compiled function.
- */
-function createIterator() {
-  // data properties
-  iteratorData.shadowedProps = shadowedProps;
-
-  // iterator options
-  iteratorData.array = iteratorData.bottom = iteratorData.loop = iteratorData.top = '';
-  iteratorData.init = 'iterable';
-  iteratorData.useHas = true;
-
-  // merge options into a template data object
-  for (var object, index = 0; object = arguments[index]; index++) {
-    for (var key in object) {
-      iteratorData[key] = object[key];
-    }
-  }
-  var args = iteratorData.args;
-  iteratorData.firstArg = /^[^,]+/.exec(args)[0];
-
-  // create the function factory
-  var factory = Function(
-      'baseCreateCallback, errorClass, errorProto, hasOwnProperty, ' +
-      'indicatorObject, isArguments, isArray, isString, keys, objectProto, ' +
-      'objectTypes, nonEnumProps, stringClass, stringProto, toString',
-    'return function(' + args + ') {\n' + iteratorTemplate(iteratorData) + '\n}'
-  );
-
-  // return the compiled function
-  return factory(
-    baseCreateCallback, errorClass, errorProto, hasOwnProperty,
-    indicatorObject, isArguments, isArray, isString, iteratorData.keys, objectProto,
-    objectTypes, nonEnumProps, stringClass, stringProto, toString
-  );
-}
-
-module.exports = createIterator;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/createWrapper.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/createWrapper.js b/node_modules/lodash-node/compat/internals/createWrapper.js
deleted file mode 100644
index 2525e10..0000000
--- a/node_modules/lodash-node/compat/internals/createWrapper.js
+++ /dev/null
@@ -1,106 +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 baseBind = require('./baseBind'),
-    baseCreateWrapper = require('./baseCreateWrapper'),
-    isFunction = require('../objects/isFunction'),
-    slice = require('./slice');
-
-/**
- * Used for `Array` method references.
- *
- * Normally `Array.prototype` would suffice, however, using an array literal
- * avoids issues in Narwhal.
- */
-var arrayRef = [];
-
-/** Native method shortcuts */
-var push = arrayRef.push,
-    unshift = arrayRef.unshift;
-
-/**
- * Creates a function that, when called, either curries or invokes `func`
- * with an optional `this` binding and partially applied arguments.
- *
- * @private
- * @param {Function|string} func The function or method name to reference.
- * @param {number} bitmask The bitmask of method flags to compose.
- *  The bitmask may be composed of the following flags:
- *  1 - `_.bind`
- *  2 - `_.bindKey`
- *  4 - `_.curry`
- *  8 - `_.curry` (bound)
- *  16 - `_.partial`
- *  32 - `_.partialRight`
- * @param {Array} [partialArgs] An array of arguments to prepend to those
- *  provided to the new function.
- * @param {Array} [partialRightArgs] An array of arguments to append to those
- *  provided to the new function.
- * @param {*} [thisArg] The `this` binding of `func`.
- * @param {number} [arity] The arity of `func`.
- * @returns {Function} Returns the new function.
- */
-function createWrapper(func, bitmask, partialArgs, partialRightArgs, thisArg, arity) {
-  var isBind = bitmask & 1,
-      isBindKey = bitmask & 2,
-      isCurry = bitmask & 4,
-      isCurryBound = bitmask & 8,
-      isPartial = bitmask & 16,
-      isPartialRight = bitmask & 32;
-
-  if (!isBindKey && !isFunction(func)) {
-    throw new TypeError;
-  }
-  if (isPartial && !partialArgs.length) {
-    bitmask &= ~16;
-    isPartial = partialArgs = false;
-  }
-  if (isPartialRight && !partialRightArgs.length) {
-    bitmask &= ~32;
-    isPartialRight = partialRightArgs = false;
-  }
-  var bindData = func && func.__bindData__;
-  if (bindData && bindData !== true) {
-    // clone `bindData`
-    bindData = slice(bindData);
-    if (bindData[2]) {
-      bindData[2] = slice(bindData[2]);
-    }
-    if (bindData[3]) {
-      bindData[3] = slice(bindData[3]);
-    }
-    // set `thisBinding` is not previously bound
-    if (isBind && !(bindData[1] & 1)) {
-      bindData[4] = thisArg;
-    }
-    // set if previously bound but not currently (subsequent curried functions)
-    if (!isBind && bindData[1] & 1) {
-      bitmask |= 8;
-    }
-    // set curried arity if not yet set
-    if (isCurry && !(bindData[1] & 4)) {
-      bindData[5] = arity;
-    }
-    // append partial left arguments
-    if (isPartial) {
-      push.apply(bindData[2] || (bindData[2] = []), partialArgs);
-    }
-    // append partial right arguments
-    if (isPartialRight) {
-      unshift.apply(bindData[3] || (bindData[3] = []), partialRightArgs);
-    }
-    // merge flags
-    bindData[1] |= bitmask;
-    return createWrapper.apply(null, bindData);
-  }
-  // fast path for `_.bind`
-  var creater = (bitmask == 1 || bitmask === 17) ? baseBind : baseCreateWrapper;
-  return creater([func, bitmask, partialArgs, partialRightArgs, thisArg, arity]);
-}
-
-module.exports = createWrapper;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/defaultsIteratorOptions.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/defaultsIteratorOptions.js b/node_modules/lodash-node/compat/internals/defaultsIteratorOptions.js
deleted file mode 100644
index 97c87dd..0000000
--- a/node_modules/lodash-node/compat/internals/defaultsIteratorOptions.js
+++ /dev/null
@@ -1,26 +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 keys = require('../objects/keys');
-
-/** Reusable iterator options for `assign` and `defaults` */
-var defaultsIteratorOptions = {
-  'args': 'object, source, guard',
-  'top':
-    'var args = arguments,\n' +
-    '    argsIndex = 0,\n' +
-    "    argsLength = typeof guard == 'number' ? 2 : args.length;\n" +
-    'while (++argsIndex < argsLength) {\n' +
-    '  iterable = args[argsIndex];\n' +
-    '  if (iterable && objectTypes[typeof iterable]) {',
-  'keys': keys,
-  'loop': "if (typeof result[index] == 'undefined') result[index] = iterable[index]",
-  'bottom': '  }\n}'
-};
-
-module.exports = defaultsIteratorOptions;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/eachIteratorOptions.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/eachIteratorOptions.js b/node_modules/lodash-node/compat/internals/eachIteratorOptions.js
deleted file mode 100644
index 0112c82..0000000
--- a/node_modules/lodash-node/compat/internals/eachIteratorOptions.js
+++ /dev/null
@@ -1,20 +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 keys = require('../objects/keys');
-
-/** Reusable iterator options shared by `each`, `forIn`, and `forOwn` */
-var eachIteratorOptions = {
-  'args': 'collection, callback, thisArg',
-  'top': "callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",
-  'array': "typeof length == 'number'",
-  'keys': keys,
-  'loop': 'if (callback(iterable[index], index, collection) === false) return result'
-};
-
-module.exports = eachIteratorOptions;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/escapeHtmlChar.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/escapeHtmlChar.js b/node_modules/lodash-node/compat/internals/escapeHtmlChar.js
deleted file mode 100644
index 10fe163..0000000
--- a/node_modules/lodash-node/compat/internals/escapeHtmlChar.js
+++ /dev/null
@@ -1,22 +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 htmlEscapes = require('./htmlEscapes');
-
-/**
- * Used by `escape` to convert characters to HTML entities.
- *
- * @private
- * @param {string} match The matched character to escape.
- * @returns {string} Returns the escaped character.
- */
-function escapeHtmlChar(match) {
-  return htmlEscapes[match];
-}
-
-module.exports = escapeHtmlChar;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/escapeStringChar.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/escapeStringChar.js b/node_modules/lodash-node/compat/internals/escapeStringChar.js
deleted file mode 100644
index 00ad70a..0000000
--- a/node_modules/lodash-node/compat/internals/escapeStringChar.js
+++ /dev/null
@@ -1,33 +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>
- */
-
-/** Used to escape characters for inclusion in compiled string literals */
-var stringEscapes = {
-  '\\': '\\',
-  "'": "'",
-  '\n': 'n',
-  '\r': 'r',
-  '\t': 't',
-  '\u2028': 'u2028',
-  '\u2029': 'u2029'
-};
-
-/**
- * Used by `template` to escape characters for inclusion in compiled
- * string literals.
- *
- * @private
- * @param {string} match The matched character to escape.
- * @returns {string} Returns the escaped character.
- */
-function escapeStringChar(match) {
-  return '\\' + stringEscapes[match];
-}
-
-module.exports = escapeStringChar;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/forOwnIteratorOptions.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/forOwnIteratorOptions.js b/node_modules/lodash-node/compat/internals/forOwnIteratorOptions.js
deleted file mode 100644
index 831d622..0000000
--- a/node_modules/lodash-node/compat/internals/forOwnIteratorOptions.js
+++ /dev/null
@@ -1,17 +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 eachIteratorOptions = require('./eachIteratorOptions');
-
-/** Reusable iterator options for `forIn` and `forOwn` */
-var forOwnIteratorOptions = {
-  'top': 'if (!objectTypes[typeof iterable]) return result;\n' + eachIteratorOptions.top,
-  'array': false
-};
-
-module.exports = forOwnIteratorOptions;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/getArray.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/getArray.js b/node_modules/lodash-node/compat/internals/getArray.js
deleted file mode 100644
index 9420559..0000000
--- a/node_modules/lodash-node/compat/internals/getArray.js
+++ /dev/null
@@ -1,21 +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 arrayPool = require('./arrayPool');
-
-/**
- * Gets an array from the array pool or creates a new one if the pool is empty.
- *
- * @private
- * @returns {Array} The array from the pool.
- */
-function getArray() {
-  return arrayPool.pop() || [];
-}
-
-module.exports = getArray;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/getObject.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/getObject.js b/node_modules/lodash-node/compat/internals/getObject.js
deleted file mode 100644
index 67b0cb5..0000000
--- a/node_modules/lodash-node/compat/internals/getObject.js
+++ /dev/null
@@ -1,35 +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 objectPool = require('./objectPool');
-
-/**
- * Gets an object from the object pool or creates a new one if the pool is empty.
- *
- * @private
- * @returns {Object} The object from the pool.
- */
-function getObject() {
-  return objectPool.pop() || {
-    'array': null,
-    'cache': null,
-    'criteria': null,
-    'false': false,
-    'index': 0,
-    'null': false,
-    'number': null,
-    'object': null,
-    'push': null,
-    'string': null,
-    'true': false,
-    'undefined': false,
-    'value': null
-  };
-}
-
-module.exports = getObject;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/htmlEscapes.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/htmlEscapes.js b/node_modules/lodash-node/compat/internals/htmlEscapes.js
deleted file mode 100644
index 0fd6c1d..0000000
--- a/node_modules/lodash-node/compat/internals/htmlEscapes.js
+++ /dev/null
@@ -1,26 +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>
- */
-
-/**
- * Used to convert characters to HTML entities:
- *
- * Though the `>` character is escaped for symmetry, characters like `>` and `/`
- * don't require escaping in HTML and have no special meaning unless they're part
- * of a tag or an unquoted attribute value.
- * http://mathiasbynens.be/notes/ambiguous-ampersands (under "semi-related fun fact")
- */
-var htmlEscapes = {
-  '&': '&amp;',
-  '<': '&lt;',
-  '>': '&gt;',
-  '"': '&quot;',
-  "'": '&#39;'
-};
-
-module.exports = htmlEscapes;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/htmlUnescapes.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/htmlUnescapes.js b/node_modules/lodash-node/compat/internals/htmlUnescapes.js
deleted file mode 100644
index 9401df9..0000000
--- a/node_modules/lodash-node/compat/internals/htmlUnescapes.js
+++ /dev/null
@@ -1,15 +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 htmlEscapes = require('./htmlEscapes'),
-    invert = require('../objects/invert');
-
-/** Used to convert HTML entities to characters */
-var htmlUnescapes = invert(htmlEscapes);
-
-module.exports = htmlUnescapes;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/indicatorObject.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/indicatorObject.js b/node_modules/lodash-node/compat/internals/indicatorObject.js
deleted file mode 100644
index a0f71ef..0000000
--- a/node_modules/lodash-node/compat/internals/indicatorObject.js
+++ /dev/null
@@ -1,13 +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>
- */
-
-/** Used internally to indicate various things */
-var indicatorObject = {};
-
-module.exports = indicatorObject;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/isNative.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/isNative.js b/node_modules/lodash-node/compat/internals/isNative.js
deleted file mode 100644
index 8d729ff..0000000
--- a/node_modules/lodash-node/compat/internals/isNative.js
+++ /dev/null
@@ -1,34 +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>
- */
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/** Used to detect if a method is native */
-var reNative = RegExp('^' +
-  String(toString)
-    .replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
-    .replace(/toString| for [^\]]+/g, '.*?') + '$'
-);
-
-/**
- * Checks if `value` is a native function.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is a native function, else `false`.
- */
-function isNative(value) {
-  return typeof value == 'function' && reNative.test(value);
-}
-
-module.exports = isNative;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/isNode.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/isNode.js b/node_modules/lodash-node/compat/internals/isNode.js
deleted file mode 100644
index 50c5c06..0000000
--- a/node_modules/lodash-node/compat/internals/isNode.js
+++ /dev/null
@@ -1,23 +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>
- */
-
-/**
- * Checks if `value` is a DOM node in IE < 9.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is a DOM node, else `false`.
- */
-function isNode(value) {
-  // IE < 9 presents DOM nodes as `Object` objects except they have `toString`
-  // methods that are `typeof` "string" and still can coerce nodes to strings
-  return typeof value.toString != 'function' && typeof (value + '') == 'string';
-}
-
-module.exports = isNode;


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


[14/32] ios commit: CB-11445 Updated checked-in node_modules

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections/findWhere.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections/findWhere.js b/node_modules/lodash-node/underscore/collections/findWhere.js
deleted file mode 100644
index 5ef75f6..0000000
--- a/node_modules/lodash-node/underscore/collections/findWhere.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 where = require('./where');
-
-/**
- * Examines each element in a `collection`, returning the first that
- * has the given properties. When checking `properties`, this method
- * performs a deep comparison between values to determine if they are
- * equivalent to each other.
- *
- * @static
- * @memberOf _
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Object} properties The object of property values to filter by.
- * @returns {*} Returns the found element, else `undefined`.
- * @example
- *
- * var food = [
- *   { 'name': 'apple',  'organic': false, 'type': 'fruit' },
- *   { 'name': 'banana', 'organic': true,  'type': 'fruit' },
- *   { 'name': 'beet',   'organic': false, 'type': 'vegetable' }
- * ];
- *
- * _.findWhere(food, { 'type': 'vegetable' });
- * // => { 'name': 'beet', 'organic': false, 'type': 'vegetable' }
- */
-function findWhere(object, properties) {
-  return where(object, properties, true);
-}
-
-module.exports = findWhere;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections/forEach.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections/forEach.js b/node_modules/lodash-node/underscore/collections/forEach.js
deleted file mode 100644
index 8e1e2be..0000000
--- a/node_modules/lodash-node/underscore/collections/forEach.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 baseCreateCallback = require('../internals/baseCreateCallback'),
-    forOwn = require('../objects/forOwn'),
-    indicatorObject = require('../internals/indicatorObject');
-
-/**
- * Iterates over elements of a collection, executing the callback for each
- * element. The callback is bound to `thisArg` and invoked with three arguments;
- * (value, index|key, collection). Callbacks may exit iteration early by
- * explicitly returning `false`.
- *
- * Note: As with other "Collections" methods, objects with a `length` property
- * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn`
- * may be used for object iteration.
- *
- * @static
- * @memberOf _
- * @alias each
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Function} [callback=identity] The function called per iteration.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Array|Object|string} Returns `collection`.
- * @example
- *
- * _([1, 2, 3]).forEach(function(num) { console.log(num); }).join(',');
- * // => logs each number and returns '1,2,3'
- *
- * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { console.log(num); });
- * // => logs each number and returns the object (property order is not guaranteed across environments)
- */
-function forEach(collection, callback, thisArg) {
-  var index = -1,
-      length = collection ? collection.length : 0;
-
-  callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
-  if (typeof length == 'number') {
-    while (++index < length) {
-      if (callback(collection[index], index, collection) === indicatorObject) {
-        break;
-      }
-    }
-  } else {
-    forOwn(collection, callback);
-  }
-}
-
-module.exports = forEach;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections/forEachRight.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections/forEachRight.js b/node_modules/lodash-node/underscore/collections/forEachRight.js
deleted file mode 100644
index 1cf6173..0000000
--- a/node_modules/lodash-node/underscore/collections/forEachRight.js
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 baseCreateCallback = require('../internals/baseCreateCallback'),
-    forOwn = require('../objects/forOwn'),
-    indicatorObject = require('../internals/indicatorObject'),
-    isArray = require('../objects/isArray'),
-    isString = require('../objects/isString'),
-    keys = require('../objects/keys');
-
-/**
- * This method is like `_.forEach` except that it iterates over elements
- * of a `collection` from right to left.
- *
- * @static
- * @memberOf _
- * @alias eachRight
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Function} [callback=identity] The function called per iteration.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Array|Object|string} Returns `collection`.
- * @example
- *
- * _([1, 2, 3]).forEachRight(function(num) { console.log(num); }).join(',');
- * // => logs each number from right to left and returns '3,2,1'
- */
-function forEachRight(collection, callback) {
-  var length = collection ? collection.length : 0;
-  if (typeof length == 'number') {
-    while (length--) {
-      if (callback(collection[length], length, collection) === false) {
-        break;
-      }
-    }
-  } else {
-    var props = keys(collection);
-    length = props.length;
-    forOwn(collection, function(value, key, collection) {
-      key = props ? props[--length] : --length;
-      return callback(collection[key], key, collection) === false && indicatorObject;
-    });
-  }
-}
-
-module.exports = forEachRight;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections/groupBy.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections/groupBy.js b/node_modules/lodash-node/underscore/collections/groupBy.js
deleted file mode 100644
index 739312c..0000000
--- a/node_modules/lodash-node/underscore/collections/groupBy.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 createAggregator = require('../internals/createAggregator');
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/**
- * Creates an object composed of keys generated from the results of running
- * each element of a collection through the callback. The corresponding value
- * of each key is an array of the elements responsible for generating the key.
- * The callback is bound to `thisArg` and invoked with three arguments;
- * (value, index|key, collection).
- *
- * 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 Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {Object} Returns the composed aggregate object.
- * @example
- *
- * _.groupBy([4.2, 6.1, 6.4], function(num) { return Math.floor(num); });
- * // => { '4': [4.2], '6': [6.1, 6.4] }
- *
- * _.groupBy([4.2, 6.1, 6.4], function(num) { return this.floor(num); }, Math);
- * // => { '4': [4.2], '6': [6.1, 6.4] }
- *
- * // using "_.pluck" callback shorthand
- * _.groupBy(['one', 'two', 'three'], 'length');
- * // => { '3': ['one', 'two'], '5': ['three'] }
- */
-var groupBy = createAggregator(function(result, value, key) {
-  (hasOwnProperty.call(result, key) ? result[key] : result[key] = []).push(value);
-});
-
-module.exports = groupBy;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections/indexBy.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections/indexBy.js b/node_modules/lodash-node/underscore/collections/indexBy.js
deleted file mode 100644
index 795256f..0000000
--- a/node_modules/lodash-node/underscore/collections/indexBy.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 createAggregator = require('../internals/createAggregator');
-
-/**
- * Creates an object composed of keys generated from the results of running
- * each element of the collection through the given callback. The corresponding
- * value of each key is the last element responsible for generating the key.
- * The callback is bound to `thisArg` and invoked with three arguments;
- * (value, index|key, collection).
- *
- * 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 Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {Object} Returns the composed aggregate object.
- * @example
- *
- * var keys = [
- *   { 'dir': 'left', 'code': 97 },
- *   { 'dir': 'right', 'code': 100 }
- * ];
- *
- * _.indexBy(keys, 'dir');
- * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }
- *
- * _.indexBy(keys, function(key) { return String.fromCharCode(key.code); });
- * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }
- *
- * _.indexBy(characters, function(key) { this.fromCharCode(key.code); }, String);
- * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }
- */
-var indexBy = createAggregator(function(result, value, key) {
-  result[key] = value;
-});
-
-module.exports = indexBy;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections/invoke.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections/invoke.js b/node_modules/lodash-node/underscore/collections/invoke.js
deleted file mode 100644
index 3f36076..0000000
--- a/node_modules/lodash-node/underscore/collections/invoke.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 forEach = require('./forEach'),
-    slice = require('../internals/slice');
-
-/**
- * Invokes the method named by `methodName` on each element in the `collection`
- * returning an array of the results of each invoked method. Additional arguments
- * will be provided to each invoked method. If `methodName` is a function it
- * will be invoked for, and `this` bound to, each element in the `collection`.
- *
- * @static
- * @memberOf _
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Function|string} methodName The name of the method to invoke or
- *  the function invoked per iteration.
- * @param {...*} [arg] Arguments to invoke the method with.
- * @returns {Array} Returns a new array of the results of each invoked method.
- * @example
- *
- * _.invoke([[5, 1, 7], [3, 2, 1]], 'sort');
- * // => [[1, 5, 7], [1, 2, 3]]
- *
- * _.invoke([123, 456], String.prototype.split, '');
- * // => [['1', '2', '3'], ['4', '5', '6']]
- */
-function invoke(collection, methodName) {
-  var args = slice(arguments, 2),
-      index = -1,
-      isFunc = typeof methodName == 'function',
-      length = collection ? collection.length : 0,
-      result = Array(typeof length == 'number' ? length : 0);
-
-  forEach(collection, function(value) {
-    result[++index] = (isFunc ? methodName : value[methodName]).apply(value, args);
-  });
-  return result;
-}
-
-module.exports = invoke;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections/map.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections/map.js b/node_modules/lodash-node/underscore/collections/map.js
deleted file mode 100644
index 85b4469..0000000
--- a/node_modules/lodash-node/underscore/collections/map.js
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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'),
-    forOwn = require('../objects/forOwn');
-
-/**
- * Creates an array of values by running each element in the collection
- * through the callback. The callback is bound to `thisArg` and invoked with
- * three arguments; (value, index|key, collection).
- *
- * 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 _
- * @alias collect
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {Array} Returns a new array of the results of each `callback` execution.
- * @example
- *
- * _.map([1, 2, 3], function(num) { return num * 3; });
- * // => [3, 6, 9]
- *
- * _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; });
- * // => [3, 6, 9] (property order is not guaranteed across environments)
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.map(characters, 'name');
- * // => ['barney', 'fred']
- */
-function map(collection, callback, thisArg) {
-  var index = -1,
-      length = collection ? collection.length : 0;
-
-  callback = createCallback(callback, thisArg, 3);
-  if (typeof length == 'number') {
-    var result = Array(length);
-    while (++index < length) {
-      result[index] = callback(collection[index], index, collection);
-    }
-  } else {
-    result = [];
-    forOwn(collection, function(value, key, collection) {
-      result[++index] = callback(value, key, collection);
-    });
-  }
-  return result;
-}
-
-module.exports = map;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections/max.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections/max.js b/node_modules/lodash-node/underscore/collections/max.js
deleted file mode 100644
index 576e634..0000000
--- a/node_modules/lodash-node/underscore/collections/max.js
+++ /dev/null
@@ -1,86 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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'),
-    forEach = require('./forEach'),
-    forOwn = require('../objects/forOwn');
-
-/**
- * Retrieves the maximum value of a collection. If the collection is empty or
- * falsey `-Infinity` is returned. If a callback is provided it will be executed
- * for each value in the collection to generate the criterion by which the value
- * is ranked. The callback is bound to `thisArg` and invoked with three
- * arguments; (value, index, collection).
- *
- * 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 Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {*} Returns the maximum value.
- * @example
- *
- * _.max([4, 2, 8, 6]);
- * // => 8
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * _.max(characters, function(chr) { return chr.age; });
- * // => { 'name': 'fred', 'age': 40 };
- *
- * // using "_.pluck" callback shorthand
- * _.max(characters, 'age');
- * // => { 'name': 'fred', 'age': 40 };
- */
-function max(collection, callback, thisArg) {
-  var computed = -Infinity,
-      result = computed;
-
-  // allows working with functions like `_.map` without using
-  // their `index` argument as a callback
-  if (typeof callback != 'function' && thisArg && thisArg[callback] === collection) {
-    callback = null;
-  }
-  var index = -1,
-      length = collection ? collection.length : 0;
-
-  if (callback == null && typeof length == 'number') {
-    while (++index < length) {
-      var value = collection[index];
-      if (value > result) {
-        result = value;
-      }
-    }
-  } else {
-    callback = createCallback(callback, thisArg, 3);
-
-    forEach(collection, function(value, index, collection) {
-      var current = callback(value, index, collection);
-      if (current > computed) {
-        computed = current;
-        result = value;
-      }
-    });
-  }
-  return result;
-}
-
-module.exports = max;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections/min.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections/min.js b/node_modules/lodash-node/underscore/collections/min.js
deleted file mode 100644
index 21ef973..0000000
--- a/node_modules/lodash-node/underscore/collections/min.js
+++ /dev/null
@@ -1,86 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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'),
-    forEach = require('./forEach'),
-    forOwn = require('../objects/forOwn');
-
-/**
- * Retrieves the minimum value of a collection. If the collection is empty or
- * falsey `Infinity` is returned. If a callback is provided it will be executed
- * for each value in the collection to generate the criterion by which the value
- * is ranked. The callback is bound to `thisArg` and invoked with three
- * arguments; (value, index, collection).
- *
- * 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 Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {*} Returns the minimum value.
- * @example
- *
- * _.min([4, 2, 8, 6]);
- * // => 2
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * _.min(characters, function(chr) { return chr.age; });
- * // => { 'name': 'barney', 'age': 36 };
- *
- * // using "_.pluck" callback shorthand
- * _.min(characters, 'age');
- * // => { 'name': 'barney', 'age': 36 };
- */
-function min(collection, callback, thisArg) {
-  var computed = Infinity,
-      result = computed;
-
-  // allows working with functions like `_.map` without using
-  // their `index` argument as a callback
-  if (typeof callback != 'function' && thisArg && thisArg[callback] === collection) {
-    callback = null;
-  }
-  var index = -1,
-      length = collection ? collection.length : 0;
-
-  if (callback == null && typeof length == 'number') {
-    while (++index < length) {
-      var value = collection[index];
-      if (value < result) {
-        result = value;
-      }
-    }
-  } else {
-    callback = createCallback(callback, thisArg, 3);
-
-    forEach(collection, function(value, index, collection) {
-      var current = callback(value, index, collection);
-      if (current < computed) {
-        computed = current;
-        result = value;
-      }
-    });
-  }
-  return result;
-}
-
-module.exports = min;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections/pluck.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections/pluck.js b/node_modules/lodash-node/underscore/collections/pluck.js
deleted file mode 100644
index 66855c9..0000000
--- a/node_modules/lodash-node/underscore/collections/pluck.js
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 map = require('./map');
-
-/**
- * Retrieves the value of a specified property from all elements in the collection.
- *
- * @static
- * @memberOf _
- * @type Function
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {string} property The name of the property to pluck.
- * @returns {Array} Returns a new array of property values.
- * @example
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * _.pluck(characters, 'name');
- * // => ['barney', 'fred']
- */
-var pluck = map;
-
-module.exports = pluck;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections/reduce.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections/reduce.js b/node_modules/lodash-node/underscore/collections/reduce.js
deleted file mode 100644
index 5f0a15f..0000000
--- a/node_modules/lodash-node/underscore/collections/reduce.js
+++ /dev/null
@@ -1,67 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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'),
-    forOwn = require('../objects/forOwn');
-
-/**
- * Reduces a collection to a value which is the accumulated result of running
- * each element in the collection through the callback, where each successive
- * callback execution consumes the return value of the previous execution. If
- * `accumulator` is not provided the first element of the collection will be
- * used as the initial `accumulator` value. The callback is bound to `thisArg`
- * and invoked with four arguments; (accumulator, value, index|key, collection).
- *
- * @static
- * @memberOf _
- * @alias foldl, inject
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Function} [callback=identity] The function called per iteration.
- * @param {*} [accumulator] Initial value of the accumulator.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {*} Returns the accumulated value.
- * @example
- *
- * var sum = _.reduce([1, 2, 3], function(sum, num) {
- *   return sum + num;
- * });
- * // => 6
- *
- * var mapped = _.reduce({ 'a': 1, 'b': 2, 'c': 3 }, function(result, num, key) {
- *   result[key] = num * 3;
- *   return result;
- * }, {});
- * // => { 'a': 3, 'b': 6, 'c': 9 }
- */
-function reduce(collection, callback, accumulator, thisArg) {
-  if (!collection) return accumulator;
-  var noaccum = arguments.length < 3;
-  callback = createCallback(callback, thisArg, 4);
-
-  var index = -1,
-      length = collection.length;
-
-  if (typeof length == 'number') {
-    if (noaccum) {
-      accumulator = collection[++index];
-    }
-    while (++index < length) {
-      accumulator = callback(accumulator, collection[index], index, collection);
-    }
-  } else {
-    forOwn(collection, function(value, index, collection) {
-      accumulator = noaccum
-        ? (noaccum = false, value)
-        : callback(accumulator, value, index, collection)
-    });
-  }
-  return accumulator;
-}
-
-module.exports = reduce;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections/reduceRight.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections/reduceRight.js b/node_modules/lodash-node/underscore/collections/reduceRight.js
deleted file mode 100644
index 6ebae93..0000000
--- a/node_modules/lodash-node/underscore/collections/reduceRight.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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'),
-    forEachRight = require('./forEachRight');
-
-/**
- * This method is like `_.reduce` except that it iterates over elements
- * of a `collection` from right to left.
- *
- * @static
- * @memberOf _
- * @alias foldr
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Function} [callback=identity] The function called per iteration.
- * @param {*} [accumulator] Initial value of the accumulator.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {*} Returns the accumulated value.
- * @example
- *
- * var list = [[0, 1], [2, 3], [4, 5]];
- * var flat = _.reduceRight(list, function(a, b) { return a.concat(b); }, []);
- * // => [4, 5, 2, 3, 0, 1]
- */
-function reduceRight(collection, callback, accumulator, thisArg) {
-  var noaccum = arguments.length < 3;
-  callback = createCallback(callback, thisArg, 4);
-  forEachRight(collection, function(value, index, collection) {
-    accumulator = noaccum
-      ? (noaccum = false, value)
-      : callback(accumulator, value, index, collection);
-  });
-  return accumulator;
-}
-
-module.exports = reduceRight;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections/reject.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections/reject.js b/node_modules/lodash-node/underscore/collections/reject.js
deleted file mode 100644
index 31b32e7..0000000
--- a/node_modules/lodash-node/underscore/collections/reject.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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'),
-    filter = require('./filter');
-
-/**
- * The opposite of `_.filter` this method returns the elements of a
- * collection that the callback does **not** return truey for.
- *
- * 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 Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {Array} Returns a new array of elements that failed the callback check.
- * @example
- *
- * var odds = _.reject([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; });
- * // => [1, 3, 5]
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36, 'blocked': false },
- *   { 'name': 'fred',   'age': 40, 'blocked': true }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.reject(characters, 'blocked');
- * // => [{ 'name': 'barney', 'age': 36, 'blocked': false }]
- *
- * // using "_.where" callback shorthand
- * _.reject(characters, { 'age': 36 });
- * // => [{ 'name': 'fred', 'age': 40, 'blocked': true }]
- */
-function reject(collection, callback, thisArg) {
-  callback = createCallback(callback, thisArg, 3);
-  return filter(collection, function(value, index, collection) {
-    return !callback(value, index, collection);
-  });
-}
-
-module.exports = reject;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections/sample.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections/sample.js b/node_modules/lodash-node/underscore/collections/sample.js
deleted file mode 100644
index b851923..0000000
--- a/node_modules/lodash-node/underscore/collections/sample.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 baseRandom = require('../internals/baseRandom'),
-    isString = require('../objects/isString'),
-    shuffle = require('./shuffle'),
-    values = require('../objects/values');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max,
-    nativeMin = Math.min;
-
-/**
- * Retrieves a random element or `n` random elements from a collection.
- *
- * @static
- * @memberOf _
- * @category Collections
- * @param {Array|Object|string} collection The collection to sample.
- * @param {number} [n] The number of elements to sample.
- * @param- {Object} [guard] Allows working with functions like `_.map`
- *  without using their `index` arguments as `n`.
- * @returns {Array} Returns the random sample(s) of `collection`.
- * @example
- *
- * _.sample([1, 2, 3, 4]);
- * // => 2
- *
- * _.sample([1, 2, 3, 4], 2);
- * // => [3, 1]
- */
-function sample(collection, n, guard) {
-  if (collection && typeof collection.length != 'number') {
-    collection = values(collection);
-  }
-  if (n == null || guard) {
-    return collection ? collection[baseRandom(0, collection.length - 1)] : undefined;
-  }
-  var result = shuffle(collection);
-  result.length = nativeMin(nativeMax(0, n), result.length);
-  return result;
-}
-
-module.exports = sample;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections/shuffle.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections/shuffle.js b/node_modules/lodash-node/underscore/collections/shuffle.js
deleted file mode 100644
index 526f1ce..0000000
--- a/node_modules/lodash-node/underscore/collections/shuffle.js
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 baseRandom = require('../internals/baseRandom'),
-    forEach = require('./forEach');
-
-/**
- * Creates an array of shuffled values, using a version of the Fisher-Yates
- * shuffle. See http://en.wikipedia.org/wiki/Fisher-Yates_shuffle.
- *
- * @static
- * @memberOf _
- * @category Collections
- * @param {Array|Object|string} collection The collection to shuffle.
- * @returns {Array} Returns a new shuffled collection.
- * @example
- *
- * _.shuffle([1, 2, 3, 4, 5, 6]);
- * // => [4, 1, 6, 3, 5, 2]
- */
-function shuffle(collection) {
-  var index = -1,
-      length = collection ? collection.length : 0,
-      result = Array(typeof length == 'number' ? length : 0);
-
-  forEach(collection, function(value) {
-    var rand = baseRandom(0, ++index);
-    result[index] = result[rand];
-    result[rand] = value;
-  });
-  return result;
-}
-
-module.exports = shuffle;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections/size.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections/size.js b/node_modules/lodash-node/underscore/collections/size.js
deleted file mode 100644
index 6ab8211..0000000
--- a/node_modules/lodash-node/underscore/collections/size.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 keys = require('../objects/keys');
-
-/**
- * Gets the size of the `collection` by returning `collection.length` for arrays
- * and array-like objects or the number of own enumerable properties for objects.
- *
- * @static
- * @memberOf _
- * @category Collections
- * @param {Array|Object|string} collection The collection to inspect.
- * @returns {number} Returns `collection.length` or number of own enumerable properties.
- * @example
- *
- * _.size([1, 2]);
- * // => 2
- *
- * _.size({ 'one': 1, 'two': 2, 'three': 3 });
- * // => 3
- *
- * _.size('pebbles');
- * // => 7
- */
-function size(collection) {
-  var length = collection ? collection.length : 0;
-  return typeof length == 'number' ? length : keys(collection).length;
-}
-
-module.exports = size;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections/some.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections/some.js b/node_modules/lodash-node/underscore/collections/some.js
deleted file mode 100644
index a10d1ba..0000000
--- a/node_modules/lodash-node/underscore/collections/some.js
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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'),
-    forOwn = require('../objects/forOwn'),
-    indicatorObject = require('../internals/indicatorObject'),
-    isArray = require('../objects/isArray');
-
-/**
- * Checks if the callback returns a truey value for **any** element of a
- * collection. The function returns as soon as it finds a passing value and
- * does not iterate over the entire collection. The callback is bound to
- * `thisArg` and invoked with three arguments; (value, index|key, collection).
- *
- * 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 _
- * @alias any
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {boolean} Returns `true` if any element passed the callback check,
- *  else `false`.
- * @example
- *
- * _.some([null, 0, 'yes', false], Boolean);
- * // => true
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36, 'blocked': false },
- *   { 'name': 'fred',   'age': 40, 'blocked': true }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.some(characters, 'blocked');
- * // => true
- *
- * // using "_.where" callback shorthand
- * _.some(characters, { 'age': 1 });
- * // => false
- */
-function some(collection, callback, thisArg) {
-  var result;
-  callback = createCallback(callback, thisArg, 3);
-
-  var index = -1,
-      length = collection ? collection.length : 0;
-
-  if (typeof length == 'number') {
-    while (++index < length) {
-      if ((result = callback(collection[index], index, collection))) {
-        break;
-      }
-    }
-  } else {
-    forOwn(collection, function(value, index, collection) {
-      return (result = callback(value, index, collection)) && indicatorObject;
-    });
-  }
-  return !!result;
-}
-
-module.exports = some;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections/sortBy.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections/sortBy.js b/node_modules/lodash-node/underscore/collections/sortBy.js
deleted file mode 100644
index 2576da8..0000000
--- a/node_modules/lodash-node/underscore/collections/sortBy.js
+++ /dev/null
@@ -1,86 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 compareAscending = require('../internals/compareAscending'),
-    createCallback = require('../functions/createCallback'),
-    forEach = require('./forEach'),
-    isArray = require('../objects/isArray'),
-    map = require('./map');
-
-/**
- * Creates an array of elements, sorted in ascending order by the results of
- * running each element in a collection through the callback. This method
- * performs a stable sort, that is, it will preserve the original sort order
- * of equal elements. The callback is bound to `thisArg` and invoked with
- * three arguments; (value, index|key, collection).
- *
- * If a property name is provided for `callback` the created "_.pluck" style
- * callback will return the property value of the given element.
- *
- * If an array of property names is provided for `callback` the collection
- * will be sorted by each property value.
- *
- * 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 Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Array|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 {Array} Returns a new array of sorted elements.
- * @example
- *
- * _.sortBy([1, 2, 3], function(num) { return Math.sin(num); });
- * // => [3, 1, 2]
- *
- * _.sortBy([1, 2, 3], function(num) { return this.sin(num); }, Math);
- * // => [3, 1, 2]
- *
- * var characters = [
- *   { 'name': 'barney',  'age': 36 },
- *   { 'name': 'fred',    'age': 40 },
- *   { 'name': 'barney',  'age': 26 },
- *   { 'name': 'fred',    'age': 30 }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.map(_.sortBy(characters, 'age'), _.values);
- * // => [['barney', 26], ['fred', 30], ['barney', 36], ['fred', 40]]
- *
- * // sorting by multiple properties
- * _.map(_.sortBy(characters, ['name', 'age']), _.values);
- * // = > [['barney', 26], ['barney', 36], ['fred', 30], ['fred', 40]]
- */
-function sortBy(collection, callback, thisArg) {
-  var index = -1,
-      length = collection ? collection.length : 0,
-      result = Array(typeof length == 'number' ? length : 0);
-
-  callback = createCallback(callback, thisArg, 3);
-  forEach(collection, function(value, key, collection) {
-    result[++index] = {
-      'criteria': [callback(value, key, collection)],
-      'index': index,
-      'value': value
-    };
-  });
-
-  length = result.length;
-  result.sort(compareAscending);
-  while (length--) {
-    result[length] = result[length].value;
-  }
-  return result;
-}
-
-module.exports = sortBy;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections/toArray.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections/toArray.js b/node_modules/lodash-node/underscore/collections/toArray.js
deleted file mode 100644
index 825585d..0000000
--- a/node_modules/lodash-node/underscore/collections/toArray.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 isArray = require('../objects/isArray'),
-    map = require('./map'),
-    slice = require('../internals/slice'),
-    values = require('../objects/values');
-
-/**
- * Converts the `collection` to an array.
- *
- * @static
- * @memberOf _
- * @category Collections
- * @param {Array|Object|string} collection The collection to convert.
- * @returns {Array} Returns the new converted array.
- * @example
- *
- * (function() { return _.toArray(arguments).slice(1); })(1, 2, 3, 4);
- * // => [2, 3, 4]
- */
-function toArray(collection) {
-  if (isArray(collection)) {
-    return slice(collection);
-  }
-  if (collection && typeof collection.length == 'number') {
-    return map(collection);
-  }
-  return values(collection);
-}
-
-module.exports = toArray;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections/where.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections/where.js b/node_modules/lodash-node/underscore/collections/where.js
deleted file mode 100644
index 20f7931..0000000
--- a/node_modules/lodash-node/underscore/collections/where.js
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 filter = require('./filter'),
-    find = require('./find'),
-    isEmpty = require('../objects/isEmpty');
-
-/**
- * Performs a deep comparison of each element in a `collection` to the given
- * `properties` object, returning an array of all elements that have equivalent
- * property values.
- *
- * @static
- * @memberOf _
- * @type Function
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Object} props The object of property values to filter by.
- * @returns {Array} Returns a new array of elements that have the given properties.
- * @example
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36, 'pets': ['hoppy'] },
- *   { 'name': 'fred',   'age': 40, 'pets': ['baby puss', 'dino'] }
- * ];
- *
- * _.where(characters, { 'age': 36 });
- * // => [{ 'name': 'barney', 'age': 36, 'pets': ['hoppy'] }]
- *
- * _.where(characters, { 'pets': ['dino'] });
- * // => [{ 'name': 'fred', 'age': 40, 'pets': ['baby puss', 'dino'] }]
- */
-function where(collection, properties, first) {
-  return (first && isEmpty(properties))
-    ? undefined
-    : (first ? find : filter)(collection, properties);
-}
-
-module.exports = where;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/functions.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/functions.js b/node_modules/lodash-node/underscore/functions.js
deleted file mode 100644
index 08a3320..0000000
--- a/node_modules/lodash-node/underscore/functions.js
+++ /dev/null
@@ -1,24 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 = {
-  'after': require('./functions/after'),
-  'bind': require('./functions/bind'),
-  'bindAll': require('./functions/bindAll'),
-  'compose': require('./functions/compose'),
-  'createCallback': require('./functions/createCallback'),
-  'debounce': require('./functions/debounce'),
-  'defer': require('./functions/defer'),
-  'delay': require('./functions/delay'),
-  'memoize': require('./functions/memoize'),
-  'once': require('./functions/once'),
-  'partial': require('./functions/partial'),
-  'throttle': require('./functions/throttle'),
-  'wrap': require('./functions/wrap')
-};

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/functions/after.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/functions/after.js b/node_modules/lodash-node/underscore/functions/after.js
deleted file mode 100644
index c9ba6e5..0000000
--- a/node_modules/lodash-node/underscore/functions/after.js
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 isFunction = require('../objects/isFunction');
-
-/**
- * Creates a function that executes `func`, with  the `this` binding and
- * arguments of the created function, only after being called `n` times.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {number} n The number of times the function must be called before
- *  `func` is executed.
- * @param {Function} func The function to restrict.
- * @returns {Function} Returns the new restricted function.
- * @example
- *
- * var saves = ['profile', 'settings'];
- *
- * var done = _.after(saves.length, function() {
- *   console.log('Done saving!');
- * });
- *
- * _.forEach(saves, function(type) {
- *   asyncSave({ 'type': type, 'complete': done });
- * });
- * // => logs 'Done saving!', after all saves have completed
- */
-function after(n, func) {
-  if (!isFunction(func)) {
-    throw new TypeError;
-  }
-  return function() {
-    if (--n < 1) {
-      return func.apply(this, arguments);
-    }
-  };
-}
-
-module.exports = after;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/functions/bind.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/functions/bind.js b/node_modules/lodash-node/underscore/functions/bind.js
deleted file mode 100644
index 96e6005..0000000
--- a/node_modules/lodash-node/underscore/functions/bind.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 createWrapper = require('../internals/createWrapper'),
-    slice = require('../internals/slice');
-
-/**
- * Creates a function that, when called, invokes `func` with the `this`
- * binding of `thisArg` and prepends any additional `bind` arguments to those
- * provided to the bound function.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to bind.
- * @param {*} [thisArg] The `this` binding of `func`.
- * @param {...*} [arg] Arguments to be partially applied.
- * @returns {Function} Returns the new bound function.
- * @example
- *
- * var func = function(greeting) {
- *   return greeting + ' ' + this.name;
- * };
- *
- * func = _.bind(func, { 'name': 'fred' }, 'hi');
- * func();
- * // => 'hi fred'
- */
-function bind(func, thisArg) {
-  return arguments.length > 2
-    ? createWrapper(func, 17, slice(arguments, 2), null, thisArg)
-    : createWrapper(func, 1, null, null, thisArg);
-}
-
-module.exports = bind;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/functions/bindAll.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/functions/bindAll.js b/node_modules/lodash-node/underscore/functions/bindAll.js
deleted file mode 100644
index c06e606..0000000
--- a/node_modules/lodash-node/underscore/functions/bindAll.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 baseFlatten = require('../internals/baseFlatten'),
-    createWrapper = require('../internals/createWrapper'),
-    functions = require('../objects/functions');
-
-/**
- * Binds methods of an object to the object itself, overwriting the existing
- * method. Method names may be specified as individual arguments or as arrays
- * of method names. If no method names are provided all the function properties
- * of `object` will be bound.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Object} object The object to bind and assign the bound methods to.
- * @param {...string} [methodName] The object method names to
- *  bind, specified as individual method names or arrays of method names.
- * @returns {Object} Returns `object`.
- * @example
- *
- * var view = {
- *   'label': 'docs',
- *   'onClick': function() { console.log('clicked ' + this.label); }
- * };
- *
- * _.bindAll(view);
- * jQuery('#docs').on('click', view.onClick);
- * // => logs 'clicked docs', when the button is clicked
- */
-function bindAll(object) {
-  var funcs = arguments.length > 1 ? baseFlatten(arguments, true, false, 1) : functions(object),
-      index = -1,
-      length = funcs.length;
-
-  while (++index < length) {
-    var key = funcs[index];
-    object[key] = createWrapper(object[key], 1, null, null, object);
-  }
-  return object;
-}
-
-module.exports = bindAll;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/functions/compose.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/functions/compose.js b/node_modules/lodash-node/underscore/functions/compose.js
deleted file mode 100644
index 65efb6a..0000000
--- a/node_modules/lodash-node/underscore/functions/compose.js
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 isFunction = require('../objects/isFunction');
-
-/**
- * Creates a function that is the composition of the provided functions,
- * where each function consumes the return value of the function that follows.
- * For example, composing the functions `f()`, `g()`, and `h()` produces `f(g(h()))`.
- * Each function is executed with the `this` binding of the composed function.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {...Function} [func] Functions to compose.
- * @returns {Function} Returns the new composed function.
- * @example
- *
- * var realNameMap = {
- *   'pebbles': 'penelope'
- * };
- *
- * var format = function(name) {
- *   name = realNameMap[name.toLowerCase()] || name;
- *   return name.charAt(0).toUpperCase() + name.slice(1).toLowerCase();
- * };
- *
- * var greet = function(formatted) {
- *   return 'Hiya ' + formatted + '!';
- * };
- *
- * var welcome = _.compose(greet, format);
- * welcome('pebbles');
- * // => 'Hiya Penelope!'
- */
-function compose() {
-  var funcs = arguments,
-      length = funcs.length;
-
-  while (length--) {
-    if (!isFunction(funcs[length])) {
-      throw new TypeError;
-    }
-  }
-  return function() {
-    var args = arguments,
-        length = funcs.length;
-
-    while (length--) {
-      args = [funcs[length].apply(this, args)];
-    }
-    return args[0];
-  };
-}
-
-module.exports = compose;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/functions/createCallback.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/functions/createCallback.js b/node_modules/lodash-node/underscore/functions/createCallback.js
deleted file mode 100644
index 7fb386c..0000000
--- a/node_modules/lodash-node/underscore/functions/createCallback.js
+++ /dev/null
@@ -1,67 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 baseCreateCallback = require('../internals/baseCreateCallback'),
-    keys = require('../objects/keys'),
-    property = require('../utilities/property');
-
-/**
- * Produces a callback bound to an optional `thisArg`. If `func` is a property
- * name the created callback will return the property value for a given element.
- * If `func` is an object the created callback will return `true` for elements
- * that contain the equivalent object properties, otherwise it will return `false`.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {*} [func=identity] The value to convert to a callback.
- * @param {*} [thisArg] The `this` binding of the created callback.
- * @param {number} [argCount] The number of arguments the callback accepts.
- * @returns {Function} Returns a callback function.
- * @example
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * // wrap to create custom callback shorthands
- * _.createCallback = _.wrap(_.createCallback, function(func, callback, thisArg) {
- *   var match = /^(.+?)__([gl]t)(.+)$/.exec(callback);
- *   return !match ? func(callback, thisArg) : function(object) {
- *     return match[2] == 'gt' ? object[match[1]] > match[3] : object[match[1]] < match[3];
- *   };
- * });
- *
- * _.filter(characters, 'age__gt38');
- * // => [{ 'name': 'fred', 'age': 40 }]
- */
-function createCallback(func, thisArg, argCount) {
-  var type = typeof func;
-  if (func == null || type == 'function') {
-    return baseCreateCallback(func, thisArg, argCount);
-  }
-  // handle "_.pluck" style callback shorthands
-  if (type != 'object') {
-    return property(func);
-  }
-  var props = keys(func);
-  return function(object) {
-    var length = props.length,
-        result = false;
-
-    while (length--) {
-      if (!(result = object[props[length]] === func[props[length]])) {
-        break;
-      }
-    }
-    return result;
-  };
-}
-
-module.exports = createCallback;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/functions/debounce.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/functions/debounce.js b/node_modules/lodash-node/underscore/functions/debounce.js
deleted file mode 100644
index fb0d645..0000000
--- a/node_modules/lodash-node/underscore/functions/debounce.js
+++ /dev/null
@@ -1,156 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 isFunction = require('../objects/isFunction'),
-    isObject = require('../objects/isObject'),
-    now = require('../utilities/now');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max;
-
-/**
- * Creates a function that will delay the execution of `func` until after
- * `wait` milliseconds have elapsed since the last time it was invoked.
- * Provide an options object to indicate that `func` should be invoked on
- * the leading and/or trailing edge of the `wait` timeout. Subsequent calls
- * to the debounced function will return the result of the last `func` call.
- *
- * Note: If `leading` and `trailing` options are `true` `func` will be called
- * on the trailing edge of the timeout only if the the debounced function is
- * invoked more than once during the `wait` timeout.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to debounce.
- * @param {number} wait The number of milliseconds to delay.
- * @param {Object} [options] The options object.
- * @param {boolean} [options.leading=false] Specify execution on the leading edge of the timeout.
- * @param {number} [options.maxWait] The maximum time `func` is allowed to be delayed before it's called.
- * @param {boolean} [options.trailing=true] Specify execution on the trailing edge of the timeout.
- * @returns {Function} Returns the new debounced function.
- * @example
- *
- * // avoid costly calculations while the window size is in flux
- * var lazyLayout = _.debounce(calculateLayout, 150);
- * jQuery(window).on('resize', lazyLayout);
- *
- * // execute `sendMail` when the click event is fired, debouncing subsequent calls
- * jQuery('#postbox').on('click', _.debounce(sendMail, 300, {
- *   'leading': true,
- *   'trailing': false
- * });
- *
- * // ensure `batchLog` is executed once after 1 second of debounced calls
- * var source = new EventSource('/stream');
- * source.addEventListener('message', _.debounce(batchLog, 250, {
- *   'maxWait': 1000
- * }, false);
- */
-function debounce(func, wait, options) {
-  var args,
-      maxTimeoutId,
-      result,
-      stamp,
-      thisArg,
-      timeoutId,
-      trailingCall,
-      lastCalled = 0,
-      maxWait = false,
-      trailing = true;
-
-  if (!isFunction(func)) {
-    throw new TypeError;
-  }
-  wait = nativeMax(0, wait) || 0;
-  if (options === true) {
-    var leading = true;
-    trailing = false;
-  } else if (isObject(options)) {
-    leading = options.leading;
-    maxWait = 'maxWait' in options && (nativeMax(wait, options.maxWait) || 0);
-    trailing = 'trailing' in options ? options.trailing : trailing;
-  }
-  var delayed = function() {
-    var remaining = wait - (now() - stamp);
-    if (remaining <= 0) {
-      if (maxTimeoutId) {
-        clearTimeout(maxTimeoutId);
-      }
-      var isCalled = trailingCall;
-      maxTimeoutId = timeoutId = trailingCall = undefined;
-      if (isCalled) {
-        lastCalled = now();
-        result = func.apply(thisArg, args);
-        if (!timeoutId && !maxTimeoutId) {
-          args = thisArg = null;
-        }
-      }
-    } else {
-      timeoutId = setTimeout(delayed, remaining);
-    }
-  };
-
-  var maxDelayed = function() {
-    if (timeoutId) {
-      clearTimeout(timeoutId);
-    }
-    maxTimeoutId = timeoutId = trailingCall = undefined;
-    if (trailing || (maxWait !== wait)) {
-      lastCalled = now();
-      result = func.apply(thisArg, args);
-      if (!timeoutId && !maxTimeoutId) {
-        args = thisArg = null;
-      }
-    }
-  };
-
-  return function() {
-    args = arguments;
-    stamp = now();
-    thisArg = this;
-    trailingCall = trailing && (timeoutId || !leading);
-
-    if (maxWait === false) {
-      var leadingCall = leading && !timeoutId;
-    } else {
-      if (!maxTimeoutId && !leading) {
-        lastCalled = stamp;
-      }
-      var remaining = maxWait - (stamp - lastCalled),
-          isCalled = remaining <= 0;
-
-      if (isCalled) {
-        if (maxTimeoutId) {
-          maxTimeoutId = clearTimeout(maxTimeoutId);
-        }
-        lastCalled = stamp;
-        result = func.apply(thisArg, args);
-      }
-      else if (!maxTimeoutId) {
-        maxTimeoutId = setTimeout(maxDelayed, remaining);
-      }
-    }
-    if (isCalled && timeoutId) {
-      timeoutId = clearTimeout(timeoutId);
-    }
-    else if (!timeoutId && wait !== maxWait) {
-      timeoutId = setTimeout(delayed, wait);
-    }
-    if (leadingCall) {
-      isCalled = true;
-      result = func.apply(thisArg, args);
-    }
-    if (isCalled && !timeoutId && !maxTimeoutId) {
-      args = thisArg = null;
-    }
-    return result;
-  };
-}
-
-module.exports = debounce;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/functions/defer.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/functions/defer.js b/node_modules/lodash-node/underscore/functions/defer.js
deleted file mode 100644
index 3dc5873..0000000
--- a/node_modules/lodash-node/underscore/functions/defer.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 isFunction = require('../objects/isFunction'),
-    slice = require('../internals/slice');
-
-/**
- * Defers executing the `func` function until the current call stack has cleared.
- * Additional arguments will be provided to `func` when it is invoked.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to defer.
- * @param {...*} [arg] Arguments to invoke the function with.
- * @returns {number} Returns the timer id.
- * @example
- *
- * _.defer(function(text) { console.log(text); }, 'deferred');
- * // logs 'deferred' after one or more milliseconds
- */
-function defer(func) {
-  if (!isFunction(func)) {
-    throw new TypeError;
-  }
-  var args = slice(arguments, 1);
-  return setTimeout(function() { func.apply(undefined, args); }, 1);
-}
-
-module.exports = defer;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/functions/delay.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/functions/delay.js b/node_modules/lodash-node/underscore/functions/delay.js
deleted file mode 100644
index 23e1560..0000000
--- a/node_modules/lodash-node/underscore/functions/delay.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 isFunction = require('../objects/isFunction'),
-    slice = require('../internals/slice');
-
-/**
- * Executes the `func` function after `wait` milliseconds. Additional arguments
- * will be provided to `func` when it is invoked.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to delay.
- * @param {number} wait The number of milliseconds to delay execution.
- * @param {...*} [arg] Arguments to invoke the function with.
- * @returns {number} Returns the timer id.
- * @example
- *
- * _.delay(function(text) { console.log(text); }, 1000, 'later');
- * // => logs 'later' after one second
- */
-function delay(func, wait) {
-  if (!isFunction(func)) {
-    throw new TypeError;
-  }
-  var args = slice(arguments, 2);
-  return setTimeout(function() { func.apply(undefined, args); }, wait);
-}
-
-module.exports = delay;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/functions/memoize.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/functions/memoize.js b/node_modules/lodash-node/underscore/functions/memoize.js
deleted file mode 100644
index 3f3a7e4..0000000
--- a/node_modules/lodash-node/underscore/functions/memoize.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 isFunction = require('../objects/isFunction'),
-    keyPrefix = require('../internals/keyPrefix');
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/**
- * Creates a function that memoizes the result of `func`. If `resolver` is
- * provided it will be used to determine the cache key for storing the result
- * based on the arguments provided to the memoized function. By default, the
- * first argument provided to the memoized function is used as the cache key.
- * The `func` is executed with the `this` binding of the memoized function.
- * The result cache is exposed as the `cache` property on the memoized function.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to have its output memoized.
- * @param {Function} [resolver] A function used to resolve the cache key.
- * @returns {Function} Returns the new memoizing function.
- * @example
- *
- * var fibonacci = _.memoize(function(n) {
- *   return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2);
- * });
- *
- * fibonacci(9)
- * // => 34
- *
- * var data = {
- *   'fred': { 'name': 'fred', 'age': 40 },
- *   'pebbles': { 'name': 'pebbles', 'age': 1 }
- * };
- *
- * // modifying the result cache
- * var get = _.memoize(function(name) { return data[name]; }, _.identity);
- * get('pebbles');
- * // => { 'name': 'pebbles', 'age': 1 }
- *
- * get.cache.pebbles.name = 'penelope';
- * get('pebbles');
- * // => { 'name': 'penelope', 'age': 1 }
- */
-function memoize(func, resolver) {
-  var cache = {};
-  return function() {
-    var key = resolver ? resolver.apply(this, arguments) : keyPrefix + arguments[0];
-    return hasOwnProperty.call(cache, key)
-      ? cache[key]
-      : (cache[key] = func.apply(this, arguments));
-  };
-}
-
-module.exports = memoize;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/functions/once.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/functions/once.js b/node_modules/lodash-node/underscore/functions/once.js
deleted file mode 100644
index e5a1a28..0000000
--- a/node_modules/lodash-node/underscore/functions/once.js
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 isFunction = require('../objects/isFunction');
-
-/**
- * Creates a function that is restricted to execute `func` once. Repeat calls to
- * the function will return the value of the first call. The `func` is executed
- * with the `this` binding of the created function.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to restrict.
- * @returns {Function} Returns the new restricted function.
- * @example
- *
- * var initialize = _.once(createApplication);
- * initialize();
- * initialize();
- * // `initialize` executes `createApplication` once
- */
-function once(func) {
-  var ran,
-      result;
-
-  if (!isFunction(func)) {
-    throw new TypeError;
-  }
-  return function() {
-    if (ran) {
-      return result;
-    }
-    ran = true;
-    result = func.apply(this, arguments);
-
-    // clear the `func` variable so the function may be garbage collected
-    func = null;
-    return result;
-  };
-}
-
-module.exports = once;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/functions/partial.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/functions/partial.js b/node_modules/lodash-node/underscore/functions/partial.js
deleted file mode 100644
index a138531..0000000
--- a/node_modules/lodash-node/underscore/functions/partial.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 createWrapper = require('../internals/createWrapper'),
-    slice = require('../internals/slice');
-
-/**
- * Creates a function that, when called, invokes `func` with any additional
- * `partial` arguments prepended to those provided to the new function. This
- * method is similar to `_.bind` except it does **not** alter the `this` binding.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to partially apply arguments to.
- * @param {...*} [arg] Arguments to be partially applied.
- * @returns {Function} Returns the new partially applied function.
- * @example
- *
- * var greet = function(greeting, name) { return greeting + ' ' + name; };
- * var hi = _.partial(greet, 'hi');
- * hi('fred');
- * // => 'hi fred'
- */
-function partial(func) {
-  return createWrapper(func, 16, slice(arguments, 1));
-}
-
-module.exports = partial;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/functions/throttle.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/functions/throttle.js b/node_modules/lodash-node/underscore/functions/throttle.js
deleted file mode 100644
index 19bc529..0000000
--- a/node_modules/lodash-node/underscore/functions/throttle.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 debounce = require('./debounce'),
-    isFunction = require('../objects/isFunction'),
-    isObject = require('../objects/isObject');
-
-/**
- * Creates a function that, when executed, will only call the `func` function
- * at most once per every `wait` milliseconds. Provide an options object to
- * indicate that `func` should be invoked on the leading and/or trailing edge
- * of the `wait` timeout. Subsequent calls to the throttled function will
- * return the result of the last `func` call.
- *
- * Note: If `leading` and `trailing` options are `true` `func` will be called
- * on the trailing edge of the timeout only if the the throttled function is
- * invoked more than once during the `wait` timeout.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to throttle.
- * @param {number} wait The number of milliseconds to throttle executions to.
- * @param {Object} [options] The options object.
- * @param {boolean} [options.leading=true] Specify execution on the leading edge of the timeout.
- * @param {boolean} [options.trailing=true] Specify execution on the trailing edge of the timeout.
- * @returns {Function} Returns the new throttled function.
- * @example
- *
- * // avoid excessively updating the position while scrolling
- * var throttled = _.throttle(updatePosition, 100);
- * jQuery(window).on('scroll', throttled);
- *
- * // execute `renewToken` when the click event is fired, but not more than once every 5 minutes
- * jQuery('.interactive').on('click', _.throttle(renewToken, 300000, {
- *   'trailing': false
- * }));
- */
-function throttle(func, wait, options) {
-  var leading = true,
-      trailing = true;
-
-  if (!isFunction(func)) {
-    throw new TypeError;
-  }
-  if (options === false) {
-    leading = false;
-  } else if (isObject(options)) {
-    leading = 'leading' in options ? options.leading : leading;
-    trailing = 'trailing' in options ? options.trailing : trailing;
-  }
-  options = {};
-  options.leading = leading;
-  options.maxWait = wait;
-  options.trailing = trailing;
-
-  return debounce(func, wait, options);
-}
-
-module.exports = throttle;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/functions/wrap.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/functions/wrap.js b/node_modules/lodash-node/underscore/functions/wrap.js
deleted file mode 100644
index 690849f..0000000
--- a/node_modules/lodash-node/underscore/functions/wrap.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 createWrapper = require('../internals/createWrapper');
-
-/**
- * Creates a function that provides `value` to the wrapper function as its
- * first argument. Additional arguments provided to the function are appended
- * to those provided to the wrapper function. The wrapper is executed with
- * the `this` binding of the created function.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {*} value The value to wrap.
- * @param {Function} wrapper The wrapper function.
- * @returns {Function} Returns the new function.
- * @example
- *
- * var p = _.wrap(_.escape, function(func, text) {
- *   return '<p>' + func(text) + '</p>';
- * });
- *
- * p('Fred, Wilma, & Pebbles');
- * // => '<p>Fred, Wilma, &amp; Pebbles</p>'
- */
-function wrap(value, wrapper) {
-  return createWrapper(wrapper, 16, [value]);
-}
-
-module.exports = wrap;


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


[21/32] ios commit: CB-11445 Updated checked-in node_modules

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/iteratorTemplate.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/iteratorTemplate.js b/node_modules/lodash-node/compat/internals/iteratorTemplate.js
deleted file mode 100644
index e5526dc..0000000
--- a/node_modules/lodash-node/compat/internals/iteratorTemplate.js
+++ /dev/null
@@ -1,109 +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 support = require('../support');
-
-/**
- * The template used to create iterator functions.
- *
- * @private
- * @param {Object} data The data object used to populate the text.
- * @returns {string} Returns the interpolated text.
- */
-var iteratorTemplate = function(obj) {
-
-  var __p = 'var index, iterable = ' +
-  (obj.firstArg) +
-  ', result = ' +
-  (obj.init) +
-  ';\nif (!iterable) return result;\n' +
-  (obj.top) +
-  ';';
-   if (obj.array) {
-  __p += '\nvar length = iterable.length; index = -1;\nif (' +
-  (obj.array) +
-  ') {  ';
-   if (support.unindexedChars) {
-  __p += '\n  if (isString(iterable)) {\n    iterable = iterable.split(\'\')\n  }  ';
-   }
-  __p += '\n  while (++index < length) {\n    ' +
-  (obj.loop) +
-  ';\n  }\n}\nelse {  ';
-   } else if (support.nonEnumArgs) {
-  __p += '\n  var length = iterable.length; index = -1;\n  if (length && isArguments(iterable)) {\n    while (++index < length) {\n      index += \'\';\n      ' +
-  (obj.loop) +
-  ';\n    }\n  } else {  ';
-   }
-
-   if (support.enumPrototypes) {
-  __p += '\n  var skipProto = typeof iterable == \'function\';\n  ';
-   }
-
-   if (support.enumErrorProps) {
-  __p += '\n  var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n  ';
-   }
-
-      var conditions = [];    if (support.enumPrototypes) { conditions.push('!(skipProto && index == "prototype")'); }    if (support.enumErrorProps)  { conditions.push('!(skipErrorProps && (index == "message" || index == "name"))'); }
-
-   if (obj.useHas && obj.keys) {
-  __p += '\n  var ownIndex = -1,\n      ownProps = objectTypes[typeof iterable] && keys(iterable),\n      length = ownProps ? ownProps.length : 0;\n\n  while (++ownIndex < length) {\n    index = ownProps[ownIndex];\n';
-      if (conditions.length) {
-  __p += '    if (' +
-  (conditions.join(' && ')) +
-  ') {\n  ';
-   }
-  __p +=
-  (obj.loop) +
-  ';    ';
-   if (conditions.length) {
-  __p += '\n    }';
-   }
-  __p += '\n  }  ';
-   } else {
-  __p += '\n  for (index in iterable) {\n';
-      if (obj.useHas) { conditions.push("hasOwnProperty.call(iterable, index)"); }    if (conditions.length) {
-  __p += '    if (' +
-  (conditions.join(' && ')) +
-  ') {\n  ';
-   }
-  __p +=
-  (obj.loop) +
-  ';    ';
-   if (conditions.length) {
-  __p += '\n    }';
-   }
-  __p += '\n  }    ';
-   if (support.nonEnumShadows) {
-  __p += '\n\n  if (iterable !== objectProto) {\n    var ctor = iterable.constructor,\n        isProto = iterable === (ctor && ctor.prototype),\n        className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n        nonEnum = nonEnumProps[className];\n      ';
-   for (k = 0; k < 7; k++) {
-  __p += '\n    index = \'' +
-  (obj.shadowedProps[k]) +
-  '\';\n    if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))';
-          if (!obj.useHas) {
-  __p += ' || (!nonEnum[index] && iterable[index] !== objectProto[index])';
-   }
-  __p += ') {\n      ' +
-  (obj.loop) +
-  ';\n    }      ';
-   }
-  __p += '\n  }    ';
-   }
-
-   }
-
-   if (obj.array || support.nonEnumArgs) {
-  __p += '\n}';
-   }
-  __p +=
-  (obj.bottom) +
-  ';\nreturn result';
-
-  return __p
-};
-
-module.exports = iteratorTemplate;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/keyPrefix.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/keyPrefix.js b/node_modules/lodash-node/compat/internals/keyPrefix.js
deleted file mode 100644
index be57f36..0000000
--- a/node_modules/lodash-node/compat/internals/keyPrefix.js
+++ /dev/null
@@ -1,13 +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>
- */
-
-/** Used to prefix keys to avoid issues with `__proto__` and properties on `Object.prototype` */
-var keyPrefix = +new Date + '';
-
-module.exports = keyPrefix;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/largeArraySize.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/largeArraySize.js b/node_modules/lodash-node/compat/internals/largeArraySize.js
deleted file mode 100644
index b61e52d..0000000
--- a/node_modules/lodash-node/compat/internals/largeArraySize.js
+++ /dev/null
@@ -1,13 +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>
- */
-
-/** Used as the size when optimizations are enabled for large arrays */
-var largeArraySize = 75;
-
-module.exports = largeArraySize;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/lodashWrapper.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/lodashWrapper.js b/node_modules/lodash-node/compat/internals/lodashWrapper.js
deleted file mode 100644
index b8d2442..0000000
--- a/node_modules/lodash-node/compat/internals/lodashWrapper.js
+++ /dev/null
@@ -1,23 +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>
- */
-
-/**
- * A fast path for creating `lodash` wrapper objects.
- *
- * @private
- * @param {*} value The value to wrap in a `lodash` instance.
- * @param {boolean} chainAll A flag to enable chaining for all methods
- * @returns {Object} Returns a `lodash` instance.
- */
-function lodashWrapper(value, chainAll) {
-  this.__chain__ = !!chainAll;
-  this.__wrapped__ = value;
-}
-
-module.exports = lodashWrapper;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/maxPoolSize.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/maxPoolSize.js b/node_modules/lodash-node/compat/internals/maxPoolSize.js
deleted file mode 100644
index 600c92b..0000000
--- a/node_modules/lodash-node/compat/internals/maxPoolSize.js
+++ /dev/null
@@ -1,13 +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>
- */
-
-/** Used as the max size of the `arrayPool` and `objectPool` */
-var maxPoolSize = 40;
-
-module.exports = maxPoolSize;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/objectPool.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/objectPool.js b/node_modules/lodash-node/compat/internals/objectPool.js
deleted file mode 100644
index ab798f1..0000000
--- a/node_modules/lodash-node/compat/internals/objectPool.js
+++ /dev/null
@@ -1,13 +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>
- */
-
-/** Used to pool arrays and objects used internally */
-var objectPool = [];
-
-module.exports = objectPool;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/objectTypes.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/objectTypes.js b/node_modules/lodash-node/compat/internals/objectTypes.js
deleted file mode 100644
index 42a9573..0000000
--- a/node_modules/lodash-node/compat/internals/objectTypes.js
+++ /dev/null
@@ -1,20 +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>
- */
-
-/** Used to determine if values are of the language type Object */
-var objectTypes = {
-  'boolean': false,
-  'function': true,
-  'object': true,
-  'number': false,
-  'string': false,
-  'undefined': false
-};
-
-module.exports = objectTypes;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/reEscapedHtml.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/reEscapedHtml.js b/node_modules/lodash-node/compat/internals/reEscapedHtml.js
deleted file mode 100644
index 311180d..0000000
--- a/node_modules/lodash-node/compat/internals/reEscapedHtml.js
+++ /dev/null
@@ -1,15 +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 htmlUnescapes = require('./htmlUnescapes'),
-    keys = require('../objects/keys');
-
-/** Used to match HTML entities and HTML characters */
-var reEscapedHtml = RegExp('(' + keys(htmlUnescapes).join('|') + ')', 'g');
-
-module.exports = reEscapedHtml;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/reInterpolate.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/reInterpolate.js b/node_modules/lodash-node/compat/internals/reInterpolate.js
deleted file mode 100644
index 18287e4..0000000
--- a/node_modules/lodash-node/compat/internals/reInterpolate.js
+++ /dev/null
@@ -1,13 +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>
- */
-
-/** Used to match "interpolate" template delimiters */
-var reInterpolate = /<%=([\s\S]+?)%>/g;
-
-module.exports = reInterpolate;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/reUnescapedHtml.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/reUnescapedHtml.js b/node_modules/lodash-node/compat/internals/reUnescapedHtml.js
deleted file mode 100644
index 10d1871..0000000
--- a/node_modules/lodash-node/compat/internals/reUnescapedHtml.js
+++ /dev/null
@@ -1,15 +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 htmlEscapes = require('./htmlEscapes'),
-    keys = require('../objects/keys');
-
-/** Used to match HTML entities and HTML characters */
-var reUnescapedHtml = RegExp('[' + keys(htmlEscapes).join('') + ']', 'g');
-
-module.exports = reUnescapedHtml;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/releaseArray.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/releaseArray.js b/node_modules/lodash-node/compat/internals/releaseArray.js
deleted file mode 100644
index 2c7ccba..0000000
--- a/node_modules/lodash-node/compat/internals/releaseArray.js
+++ /dev/null
@@ -1,25 +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 arrayPool = require('./arrayPool'),
-    maxPoolSize = require('./maxPoolSize');
-
-/**
- * Releases the given array back to the array pool.
- *
- * @private
- * @param {Array} [array] The array to release.
- */
-function releaseArray(array) {
-  array.length = 0;
-  if (arrayPool.length < maxPoolSize) {
-    arrayPool.push(array);
-  }
-}
-
-module.exports = releaseArray;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/releaseObject.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/releaseObject.js b/node_modules/lodash-node/compat/internals/releaseObject.js
deleted file mode 100644
index 6ab3d91..0000000
--- a/node_modules/lodash-node/compat/internals/releaseObject.js
+++ /dev/null
@@ -1,29 +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 maxPoolSize = require('./maxPoolSize'),
-    objectPool = require('./objectPool');
-
-/**
- * Releases the given object back to the object pool.
- *
- * @private
- * @param {Object} [object] The object to release.
- */
-function releaseObject(object) {
-  var cache = object.cache;
-  if (cache) {
-    releaseObject(cache);
-  }
-  object.array = object.cache = object.criteria = object.object = object.number = object.string = object.value = null;
-  if (objectPool.length < maxPoolSize) {
-    objectPool.push(object);
-  }
-}
-
-module.exports = releaseObject;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/setBindData.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/setBindData.js b/node_modules/lodash-node/compat/internals/setBindData.js
deleted file mode 100644
index f12bd86..0000000
--- a/node_modules/lodash-node/compat/internals/setBindData.js
+++ /dev/null
@@ -1,43 +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 isNative = require('./isNative'),
-    noop = require('../utilities/noop');
-
-/** Used as the property descriptor for `__bindData__` */
-var descriptor = {
-  'configurable': false,
-  'enumerable': false,
-  'value': null,
-  'writable': false
-};
-
-/** Used to set meta data on functions */
-var defineProperty = (function() {
-  // IE 8 only accepts DOM elements
-  try {
-    var o = {},
-        func = isNative(func = Object.defineProperty) && func,
-        result = func(o, o, o) && func;
-  } catch(e) { }
-  return result;
-}());
-
-/**
- * Sets `this` binding data on a given function.
- *
- * @private
- * @param {Function} func The function to set data on.
- * @param {Array} value The data array to set.
- */
-var setBindData = !defineProperty ? noop : function(func, value) {
-  descriptor.value = value;
-  defineProperty(func, '__bindData__', descriptor);
-};
-
-module.exports = setBindData;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/shimIsPlainObject.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/shimIsPlainObject.js b/node_modules/lodash-node/compat/internals/shimIsPlainObject.js
deleted file mode 100644
index 32bf0f0..0000000
--- a/node_modules/lodash-node/compat/internals/shimIsPlainObject.js
+++ /dev/null
@@ -1,67 +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 forIn = require('../objects/forIn'),
-    isArguments = require('../objects/isArguments'),
-    isFunction = require('../objects/isFunction'),
-    isNode = require('./isNode'),
-    support = require('../support');
-
-/** `Object#toString` result shortcuts */
-var objectClass = '[object Object]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/**
- * A fallback implementation of `isPlainObject` which checks if a given value
- * is an object created by the `Object` constructor, assuming objects created
- * by the `Object` constructor have no inherited enumerable properties and that
- * there are no `Object.prototype` extensions.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
- */
-function shimIsPlainObject(value) {
-  var ctor,
-      result;
-
-  // avoid non Object objects, `arguments` objects, and DOM elements
-  if (!(value && toString.call(value) == objectClass) ||
-      (ctor = value.constructor, isFunction(ctor) && !(ctor instanceof ctor)) ||
-      (!support.argsClass && isArguments(value)) ||
-      (!support.nodeClass && isNode(value))) {
-    return false;
-  }
-  // IE < 9 iterates inherited properties before own properties. If the first
-  // iterated property is an object's own property then there are no inherited
-  // enumerable properties.
-  if (support.ownLast) {
-    forIn(value, function(value, key, object) {
-      result = hasOwnProperty.call(object, key);
-      return false;
-    });
-    return result !== false;
-  }
-  // In most environments an object's own properties are iterated before
-  // its inherited properties. If the last iterated property is an object's
-  // own property then there are no inherited enumerable properties.
-  forIn(value, function(value, key) {
-    result = key;
-  });
-  return typeof result == 'undefined' || hasOwnProperty.call(value, result);
-}
-
-module.exports = shimIsPlainObject;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/shimKeys.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/shimKeys.js b/node_modules/lodash-node/compat/internals/shimKeys.js
deleted file mode 100644
index 6d70860..0000000
--- a/node_modules/lodash-node/compat/internals/shimKeys.js
+++ /dev/null
@@ -1,27 +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 createIterator = require('./createIterator');
-
-/**
- * A fallback implementation of `Object.keys` which produces an array of the
- * given object's own enumerable property names.
- *
- * @private
- * @type Function
- * @param {Object} object The object to inspect.
- * @returns {Array} Returns an array of property names.
- */
-var shimKeys = createIterator({
-  'args': 'object',
-  'init': '[]',
-  'top': 'if (!(objectTypes[typeof object])) return result',
-  'loop': 'result.push(index)'
-});
-
-module.exports = shimKeys;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/slice.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/slice.js b/node_modules/lodash-node/compat/internals/slice.js
deleted file mode 100644
index 2f8318b..0000000
--- a/node_modules/lodash-node/compat/internals/slice.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>
- */
-
-/**
- * Slices the `collection` from the `start` index up to, but not including,
- * the `end` index.
- *
- * Note: This function is used instead of `Array#slice` to support node lists
- * in IE < 9 and to ensure dense arrays are returned.
- *
- * @private
- * @param {Array|Object|string} collection The collection to slice.
- * @param {number} start The start index.
- * @param {number} end The end index.
- * @returns {Array} Returns the new array.
- */
-function slice(array, start, end) {
-  start || (start = 0);
-  if (typeof end == 'undefined') {
-    end = array ? array.length : 0;
-  }
-  var index = -1,
-      length = end - start || 0,
-      result = Array(length < 0 ? 0 : length);
-
-  while (++index < length) {
-    result[index] = array[start + index];
-  }
-  return result;
-}
-
-module.exports = slice;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/internals/unescapeHtmlChar.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/internals/unescapeHtmlChar.js b/node_modules/lodash-node/compat/internals/unescapeHtmlChar.js
deleted file mode 100644
index 3b8fd57..0000000
--- a/node_modules/lodash-node/compat/internals/unescapeHtmlChar.js
+++ /dev/null
@@ -1,22 +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 htmlUnescapes = require('./htmlUnescapes');
-
-/**
- * Used by `unescape` to convert HTML entities to characters.
- *
- * @private
- * @param {string} match The matched character to unescape.
- * @returns {string} Returns the unescaped character.
- */
-function unescapeHtmlChar(match) {
-  return htmlUnescapes[match];
-}
-
-module.exports = unescapeHtmlChar;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects.js b/node_modules/lodash-node/compat/objects.js
deleted file mode 100644
index dca0d30..0000000
--- a/node_modules/lodash-node/compat/objects.js
+++ /dev/null
@@ -1,52 +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 = {
-  'assign': require('./objects/assign'),
-  'clone': require('./objects/clone'),
-  'cloneDeep': require('./objects/cloneDeep'),
-  'create': require('./objects/create'),
-  'defaults': require('./objects/defaults'),
-  'extend': require('./objects/assign'),
-  'findKey': require('./objects/findKey'),
-  'findLastKey': require('./objects/findLastKey'),
-  'forIn': require('./objects/forIn'),
-  'forInRight': require('./objects/forInRight'),
-  'forOwn': require('./objects/forOwn'),
-  'forOwnRight': require('./objects/forOwnRight'),
-  'functions': require('./objects/functions'),
-  'has': require('./objects/has'),
-  'invert': require('./objects/invert'),
-  'isArguments': require('./objects/isArguments'),
-  'isArray': require('./objects/isArray'),
-  'isBoolean': require('./objects/isBoolean'),
-  'isDate': require('./objects/isDate'),
-  'isElement': require('./objects/isElement'),
-  'isEmpty': require('./objects/isEmpty'),
-  'isEqual': require('./objects/isEqual'),
-  'isFinite': require('./objects/isFinite'),
-  'isFunction': require('./objects/isFunction'),
-  'isNaN': require('./objects/isNaN'),
-  'isNull': require('./objects/isNull'),
-  'isNumber': require('./objects/isNumber'),
-  'isObject': require('./objects/isObject'),
-  'isPlainObject': require('./objects/isPlainObject'),
-  'isRegExp': require('./objects/isRegExp'),
-  'isString': require('./objects/isString'),
-  'isUndefined': require('./objects/isUndefined'),
-  'keys': require('./objects/keys'),
-  'mapValues': require('./objects/mapValues'),
-  'merge': require('./objects/merge'),
-  'methods': require('./objects/functions'),
-  'omit': require('./objects/omit'),
-  'pairs': require('./objects/pairs'),
-  'pick': require('./objects/pick'),
-  'transform': require('./objects/transform'),
-  'values': require('./objects/values')
-};

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/assign.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/assign.js b/node_modules/lodash-node/compat/objects/assign.js
deleted file mode 100644
index 73f88ae..0000000
--- a/node_modules/lodash-node/compat/objects/assign.js
+++ /dev/null
@@ -1,55 +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 createIterator = require('../internals/createIterator'),
-    defaultsIteratorOptions = require('../internals/defaultsIteratorOptions');
-
-/**
- * Assigns own enumerable properties of source object(s) to the destination
- * object. Subsequent sources will overwrite property assignments of previous
- * sources. If a callback is provided it will be executed to produce the
- * assigned values. The callback is bound to `thisArg` and invoked with two
- * arguments; (objectValue, sourceValue).
- *
- * @static
- * @memberOf _
- * @type Function
- * @alias extend
- * @category Objects
- * @param {Object} object The destination object.
- * @param {...Object} [source] The source objects.
- * @param {Function} [callback] The function to customize assigning values.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Object} Returns the destination object.
- * @example
- *
- * _.assign({ 'name': 'fred' }, { 'employer': 'slate' });
- * // => { 'name': 'fred', 'employer': 'slate' }
- *
- * var defaults = _.partialRight(_.assign, function(a, b) {
- *   return typeof a == 'undefined' ? b : a;
- * });
- *
- * var object = { 'name': 'barney' };
- * defaults(object, { 'name': 'fred', 'employer': 'slate' });
- * // => { 'name': 'barney', 'employer': 'slate' }
- */
-var assign = createIterator(defaultsIteratorOptions, {
-  'top':
-    defaultsIteratorOptions.top.replace(';',
-      ';\n' +
-      "if (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n" +
-      '  var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n' +
-      "} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n" +
-      '  callback = args[--argsLength];\n' +
-      '}'
-    ),
-  'loop': 'result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]'
-});
-
-module.exports = assign;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/clone.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/clone.js b/node_modules/lodash-node/compat/objects/clone.js
deleted file mode 100644
index c81b204..0000000
--- a/node_modules/lodash-node/compat/objects/clone.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 baseClone = require('../internals/baseClone'),
-    baseCreateCallback = require('../internals/baseCreateCallback');
-
-/**
- * Creates a clone of `value`. If `isDeep` is `true` nested objects will also
- * be cloned, otherwise they will be assigned by reference. If a callback
- * is provided it will be executed to produce the cloned values. If the
- * callback returns `undefined` cloning will be handled by the method instead.
- * The callback is bound to `thisArg` and invoked with one argument; (value).
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to clone.
- * @param {boolean} [isDeep=false] Specify a deep clone.
- * @param {Function} [callback] The function to customize cloning values.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {*} Returns the cloned value.
- * @example
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * var shallow = _.clone(characters);
- * shallow[0] === characters[0];
- * // => true
- *
- * var deep = _.clone(characters, true);
- * deep[0] === characters[0];
- * // => false
- *
- * _.mixin({
- *   'clone': _.partialRight(_.clone, function(value) {
- *     return _.isElement(value) ? value.cloneNode(false) : undefined;
- *   })
- * });
- *
- * var clone = _.clone(document.body);
- * clone.childNodes.length;
- * // => 0
- */
-function clone(value, isDeep, callback, thisArg) {
-  // allows working with "Collections" methods without using their `index`
-  // and `collection` arguments for `isDeep` and `callback`
-  if (typeof isDeep != 'boolean' && isDeep != null) {
-    thisArg = callback;
-    callback = isDeep;
-    isDeep = false;
-  }
-  return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));
-}
-
-module.exports = clone;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/cloneDeep.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/cloneDeep.js b/node_modules/lodash-node/compat/objects/cloneDeep.js
deleted file mode 100644
index 922214e..0000000
--- a/node_modules/lodash-node/compat/objects/cloneDeep.js
+++ /dev/null
@@ -1,57 +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 baseClone = require('../internals/baseClone'),
-    baseCreateCallback = require('../internals/baseCreateCallback');
-
-/**
- * Creates a deep clone of `value`. If a callback is provided it will be
- * executed to produce the cloned values. If the callback returns `undefined`
- * cloning will be handled by the method instead. The callback is bound to
- * `thisArg` and invoked with one argument; (value).
- *
- * Note: This method is loosely based on the structured clone algorithm. Functions
- * and DOM nodes are **not** cloned. The enumerable properties of `arguments` objects and
- * objects created by constructors other than `Object` are cloned to plain `Object` objects.
- * See http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to deep clone.
- * @param {Function} [callback] The function to customize cloning values.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {*} Returns the deep cloned value.
- * @example
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * var deep = _.cloneDeep(characters);
- * deep[0] === characters[0];
- * // => false
- *
- * var view = {
- *   'label': 'docs',
- *   'node': element
- * };
- *
- * var clone = _.cloneDeep(view, function(value) {
- *   return _.isElement(value) ? value.cloneNode(true) : undefined;
- * });
- *
- * clone.node == view.node;
- * // => false
- */
-function cloneDeep(value, callback, thisArg) {
-  return baseClone(value, true, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));
-}
-
-module.exports = cloneDeep;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/create.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/create.js b/node_modules/lodash-node/compat/objects/create.js
deleted file mode 100644
index ec60f54..0000000
--- a/node_modules/lodash-node/compat/objects/create.js
+++ /dev/null
@@ -1,48 +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 assign = require('./assign'),
-    baseCreate = require('../internals/baseCreate');
-
-/**
- * Creates an object that inherits from the given `prototype` object. If a
- * `properties` object is provided its own enumerable properties are assigned
- * to the created object.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} prototype The object to inherit from.
- * @param {Object} [properties] The properties to assign to the object.
- * @returns {Object} Returns the new object.
- * @example
- *
- * function Shape() {
- *   this.x = 0;
- *   this.y = 0;
- * }
- *
- * function Circle() {
- *   Shape.call(this);
- * }
- *
- * Circle.prototype = _.create(Shape.prototype, { 'constructor': Circle });
- *
- * var circle = new Circle;
- * circle instanceof Circle;
- * // => true
- *
- * circle instanceof Shape;
- * // => true
- */
-function create(prototype, properties) {
-  var result = baseCreate(prototype);
-  return properties ? assign(result, properties) : result;
-}
-
-module.exports = create;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/defaults.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/defaults.js b/node_modules/lodash-node/compat/objects/defaults.js
deleted file mode 100644
index 64b5f4d..0000000
--- a/node_modules/lodash-node/compat/objects/defaults.js
+++ /dev/null
@@ -1,34 +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 createIterator = require('../internals/createIterator'),
-    defaultsIteratorOptions = require('../internals/defaultsIteratorOptions');
-
-/**
- * Assigns own enumerable properties of source object(s) to the destination
- * object for all destination properties that resolve to `undefined`. Once a
- * property is set, additional defaults of the same property will be ignored.
- *
- * @static
- * @memberOf _
- * @type Function
- * @category Objects
- * @param {Object} object The destination object.
- * @param {...Object} [source] The source objects.
- * @param- {Object} [guard] Allows working with `_.reduce` without using its
- *  `key` and `object` arguments as sources.
- * @returns {Object} Returns the destination object.
- * @example
- *
- * var object = { 'name': 'barney' };
- * _.defaults(object, { 'name': 'fred', 'employer': 'slate' });
- * // => { 'name': 'barney', 'employer': 'slate' }
- */
-var defaults = createIterator(defaultsIteratorOptions);
-
-module.exports = defaults;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/findKey.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/findKey.js b/node_modules/lodash-node/compat/objects/findKey.js
deleted file mode 100644
index 65a06d3..0000000
--- a/node_modules/lodash-node/compat/objects/findKey.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'),
-    forOwn = require('./forOwn');
-
-/**
- * This method is like `_.findIndex` except that it returns the key 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 Objects
- * @param {Object} object The object 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 {string|undefined} Returns the key of the found element, else `undefined`.
- * @example
- *
- * var characters = {
- *   'barney': {  'age': 36, 'blocked': false },
- *   'fred': {    'age': 40, 'blocked': true },
- *   'pebbles': { 'age': 1,  'blocked': false }
- * };
- *
- * _.findKey(characters, function(chr) {
- *   return chr.age < 40;
- * });
- * // => 'barney' (property order is not guaranteed across environments)
- *
- * // using "_.where" callback shorthand
- * _.findKey(characters, { 'age': 1 });
- * // => 'pebbles'
- *
- * // using "_.pluck" callback shorthand
- * _.findKey(characters, 'blocked');
- * // => 'fred'
- */
-function findKey(object, callback, thisArg) {
-  var result;
-  callback = createCallback(callback, thisArg, 3);
-  forOwn(object, function(value, key, object) {
-    if (callback(value, key, object)) {
-      result = key;
-      return false;
-    }
-  });
-  return result;
-}
-
-module.exports = findKey;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/findLastKey.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/findLastKey.js b/node_modules/lodash-node/compat/objects/findLastKey.js
deleted file mode 100644
index 86ca4dd..0000000
--- a/node_modules/lodash-node/compat/objects/findLastKey.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'),
-    forOwnRight = require('./forOwnRight');
-
-/**
- * This method is like `_.findKey` except that it iterates over elements
- * of a `collection` in the opposite order.
- *
- * 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 Objects
- * @param {Object} object The object 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 {string|undefined} Returns the key of the found element, else `undefined`.
- * @example
- *
- * var characters = {
- *   'barney': {  'age': 36, 'blocked': true },
- *   'fred': {    'age': 40, 'blocked': false },
- *   'pebbles': { 'age': 1,  'blocked': true }
- * };
- *
- * _.findLastKey(characters, function(chr) {
- *   return chr.age < 40;
- * });
- * // => returns `pebbles`, assuming `_.findKey` returns `barney`
- *
- * // using "_.where" callback shorthand
- * _.findLastKey(characters, { 'age': 40 });
- * // => 'fred'
- *
- * // using "_.pluck" callback shorthand
- * _.findLastKey(characters, 'blocked');
- * // => 'pebbles'
- */
-function findLastKey(object, callback, thisArg) {
-  var result;
-  callback = createCallback(callback, thisArg, 3);
-  forOwnRight(object, function(value, key, object) {
-    if (callback(value, key, object)) {
-      result = key;
-      return false;
-    }
-  });
-  return result;
-}
-
-module.exports = findLastKey;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/forIn.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/forIn.js b/node_modules/lodash-node/compat/objects/forIn.js
deleted file mode 100644
index 8f0c0f9..0000000
--- a/node_modules/lodash-node/compat/objects/forIn.js
+++ /dev/null
@@ -1,48 +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 createIterator = require('../internals/createIterator'),
-    eachIteratorOptions = require('../internals/eachIteratorOptions'),
-    forOwnIteratorOptions = require('../internals/forOwnIteratorOptions');
-
-/**
- * Iterates over own and inherited enumerable properties of an object,
- * executing the callback for each property. The callback is bound to `thisArg`
- * and invoked with three arguments; (value, key, object). Callbacks may exit
- * iteration early by explicitly returning `false`.
- *
- * @static
- * @memberOf _
- * @type Function
- * @category Objects
- * @param {Object} object The object to iterate over.
- * @param {Function} [callback=identity] The function called per iteration.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Object} Returns `object`.
- * @example
- *
- * function Shape() {
- *   this.x = 0;
- *   this.y = 0;
- * }
- *
- * Shape.prototype.move = function(x, y) {
- *   this.x += x;
- *   this.y += y;
- * };
- *
- * _.forIn(new Shape, function(value, key) {
- *   console.log(key);
- * });
- * // => logs 'x', 'y', and 'move' (property order is not guaranteed across environments)
- */
-var forIn = createIterator(eachIteratorOptions, forOwnIteratorOptions, {
-  'useHas': false
-});
-
-module.exports = forIn;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/forInRight.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/forInRight.js b/node_modules/lodash-node/compat/objects/forInRight.js
deleted file mode 100644
index 2cdabf5..0000000
--- a/node_modules/lodash-node/compat/objects/forInRight.js
+++ /dev/null
@@ -1,57 +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 baseCreateCallback = require('../internals/baseCreateCallback'),
-    forIn = require('./forIn');
-
-/**
- * This method is like `_.forIn` except that it iterates over elements
- * of a `collection` in the opposite order.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The object to iterate over.
- * @param {Function} [callback=identity] The function called per iteration.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Object} Returns `object`.
- * @example
- *
- * function Shape() {
- *   this.x = 0;
- *   this.y = 0;
- * }
- *
- * Shape.prototype.move = function(x, y) {
- *   this.x += x;
- *   this.y += y;
- * };
- *
- * _.forInRight(new Shape, function(value, key) {
- *   console.log(key);
- * });
- * // => logs 'move', 'y', and 'x' assuming `_.forIn ` logs 'x', 'y', and 'move'
- */
-function forInRight(object, callback, thisArg) {
-  var pairs = [];
-
-  forIn(object, function(value, key) {
-    pairs.push(key, value);
-  });
-
-  var length = pairs.length;
-  callback = baseCreateCallback(callback, thisArg, 3);
-  while (length--) {
-    if (callback(pairs[length--], pairs[length], object) === false) {
-      break;
-    }
-  }
-  return object;
-}
-
-module.exports = forInRight;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/forOwn.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/forOwn.js b/node_modules/lodash-node/compat/objects/forOwn.js
deleted file mode 100644
index a4ab74c..0000000
--- a/node_modules/lodash-node/compat/objects/forOwn.js
+++ /dev/null
@@ -1,36 +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 createIterator = require('../internals/createIterator'),
-    eachIteratorOptions = require('../internals/eachIteratorOptions'),
-    forOwnIteratorOptions = require('../internals/forOwnIteratorOptions');
-
-/**
- * Iterates over own enumerable properties of an object, executing the callback
- * for each property. The callback is bound to `thisArg` and invoked with three
- * arguments; (value, key, object). Callbacks may exit iteration early by
- * explicitly returning `false`.
- *
- * @static
- * @memberOf _
- * @type Function
- * @category Objects
- * @param {Object} object The object to iterate over.
- * @param {Function} [callback=identity] The function called per iteration.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Object} Returns `object`.
- * @example
- *
- * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) {
- *   console.log(key);
- * });
- * // => logs '0', '1', and 'length' (property order is not guaranteed across environments)
- */
-var forOwn = createIterator(eachIteratorOptions, forOwnIteratorOptions);
-
-module.exports = forOwn;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/forOwnRight.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/forOwnRight.js b/node_modules/lodash-node/compat/objects/forOwnRight.js
deleted file mode 100644
index 5d1e3b9..0000000
--- a/node_modules/lodash-node/compat/objects/forOwnRight.js
+++ /dev/null
@@ -1,44 +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 baseCreateCallback = require('../internals/baseCreateCallback'),
-    keys = require('./keys');
-
-/**
- * This method is like `_.forOwn` except that it iterates over elements
- * of a `collection` in the opposite order.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The object to iterate over.
- * @param {Function} [callback=identity] The function called per iteration.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Object} Returns `object`.
- * @example
- *
- * _.forOwnRight({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) {
- *   console.log(key);
- * });
- * // => logs 'length', '1', and '0' assuming `_.forOwn` logs '0', '1', and 'length'
- */
-function forOwnRight(object, callback, thisArg) {
-  var props = keys(object),
-      length = props.length;
-
-  callback = baseCreateCallback(callback, thisArg, 3);
-  while (length--) {
-    var key = props[length];
-    if (callback(object[key], key, object) === false) {
-      break;
-    }
-  }
-  return object;
-}
-
-module.exports = forOwnRight;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/functions.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/functions.js b/node_modules/lodash-node/compat/objects/functions.js
deleted file mode 100644
index 3b78842..0000000
--- a/node_modules/lodash-node/compat/objects/functions.js
+++ /dev/null
@@ -1,37 +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 forIn = require('./forIn'),
-    isFunction = require('./isFunction');
-
-/**
- * Creates a sorted array of property names of all enumerable properties,
- * own and inherited, of `object` that have function values.
- *
- * @static
- * @memberOf _
- * @alias methods
- * @category Objects
- * @param {Object} object The object to inspect.
- * @returns {Array} Returns an array of property names that have function values.
- * @example
- *
- * _.functions(_);
- * // => ['all', 'any', 'bind', 'bindAll', 'clone', 'compact', 'compose', ...]
- */
-function functions(object) {
-  var result = [];
-  forIn(object, function(value, key) {
-    if (isFunction(value)) {
-      result.push(key);
-    }
-  });
-  return result.sort();
-}
-
-module.exports = functions;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/has.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/has.js b/node_modules/lodash-node/compat/objects/has.js
deleted file mode 100644
index 055689c..0000000
--- a/node_modules/lodash-node/compat/objects/has.js
+++ /dev/null
@@ -1,35 +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>
- */
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/**
- * Checks if the specified property name exists as a direct property of `object`,
- * instead of an inherited property.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The object to inspect.
- * @param {string} key The name of the property to check.
- * @returns {boolean} Returns `true` if key is a direct property, else `false`.
- * @example
- *
- * _.has({ 'a': 1, 'b': 2, 'c': 3 }, 'b');
- * // => true
- */
-function has(object, key) {
-  return object ? hasOwnProperty.call(object, key) : false;
-}
-
-module.exports = has;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/invert.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/invert.js b/node_modules/lodash-node/compat/objects/invert.js
deleted file mode 100644
index a623f7c..0000000
--- a/node_modules/lodash-node/compat/objects/invert.js
+++ /dev/null
@@ -1,37 +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 keys = require('./keys');
-
-/**
- * Creates an object composed of the inverted keys and values of the given object.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The object to invert.
- * @returns {Object} Returns the created inverted object.
- * @example
- *
- * _.invert({ 'first': 'fred', 'second': 'barney' });
- * // => { 'fred': 'first', 'barney': 'second' }
- */
-function invert(object) {
-  var index = -1,
-      props = keys(object),
-      length = props.length,
-      result = {};
-
-  while (++index < length) {
-    var key = props[index];
-    result[object[key]] = key;
-  }
-  return result;
-}
-
-module.exports = invert;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/isArguments.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/isArguments.js b/node_modules/lodash-node/compat/objects/isArguments.js
deleted file mode 100644
index 7efc264..0000000
--- a/node_modules/lodash-node/compat/objects/isArguments.js
+++ /dev/null
@@ -1,52 +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 support = require('../support');
-
-/** `Object#toString` result shortcuts */
-var argsClass = '[object Arguments]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty,
-    propertyIsEnumerable = objectProto.propertyIsEnumerable;
-
-/**
- * Checks if `value` is an `arguments` object.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is an `arguments` object, else `false`.
- * @example
- *
- * (function() { return _.isArguments(arguments); })(1, 2, 3);
- * // => true
- *
- * _.isArguments([1, 2, 3]);
- * // => false
- */
-function isArguments(value) {
-  return value && typeof value == 'object' && typeof value.length == 'number' &&
-    toString.call(value) == argsClass || false;
-}
-// fallback for browsers that can't detect `arguments` objects by [[Class]]
-if (!support.argsClass) {
-  isArguments = function(value) {
-    return value && typeof value == 'object' && typeof value.length == 'number' &&
-      hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee') || false;
-  };
-}
-
-module.exports = isArguments;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/isArray.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/isArray.js b/node_modules/lodash-node/compat/objects/isArray.js
deleted file mode 100644
index ceb9f39..0000000
--- a/node_modules/lodash-node/compat/objects/isArray.js
+++ /dev/null
@@ -1,45 +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 isNative = require('../internals/isNative');
-
-/** `Object#toString` result shortcuts */
-var arrayClass = '[object Array]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeIsArray = isNative(nativeIsArray = Array.isArray) && nativeIsArray;
-
-/**
- * Checks if `value` is an array.
- *
- * @static
- * @memberOf _
- * @type Function
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is an array, else `false`.
- * @example
- *
- * (function() { return _.isArray(arguments); })();
- * // => false
- *
- * _.isArray([1, 2, 3]);
- * // => true
- */
-var isArray = nativeIsArray || function(value) {
-  return value && typeof value == 'object' && typeof value.length == 'number' &&
-    toString.call(value) == arrayClass || false;
-};
-
-module.exports = isArray;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/isBoolean.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/isBoolean.js b/node_modules/lodash-node/compat/objects/isBoolean.js
deleted file mode 100644
index aa97cc4..0000000
--- a/node_modules/lodash-node/compat/objects/isBoolean.js
+++ /dev/null
@@ -1,37 +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>
- */
-
-/** `Object#toString` result shortcuts */
-var boolClass = '[object Boolean]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/**
- * Checks if `value` is a boolean value.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is a boolean value, else `false`.
- * @example
- *
- * _.isBoolean(null);
- * // => false
- */
-function isBoolean(value) {
-  return value === true || value === false ||
-    value && typeof value == 'object' && toString.call(value) == boolClass || false;
-}
-
-module.exports = isBoolean;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/isDate.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/isDate.js b/node_modules/lodash-node/compat/objects/isDate.js
deleted file mode 100644
index 9084a4c..0000000
--- a/node_modules/lodash-node/compat/objects/isDate.js
+++ /dev/null
@@ -1,36 +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>
- */
-
-/** `Object#toString` result shortcuts */
-var dateClass = '[object Date]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/**
- * Checks if `value` is a date.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is a date, else `false`.
- * @example
- *
- * _.isDate(new Date);
- * // => true
- */
-function isDate(value) {
-  return value && typeof value == 'object' && toString.call(value) == dateClass || false;
-}
-
-module.exports = isDate;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/isElement.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/isElement.js b/node_modules/lodash-node/compat/objects/isElement.js
deleted file mode 100644
index 9538278..0000000
--- a/node_modules/lodash-node/compat/objects/isElement.js
+++ /dev/null
@@ -1,27 +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>
- */
-
-/**
- * Checks if `value` is a DOM element.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is a DOM element, else `false`.
- * @example
- *
- * _.isElement(document.body);
- * // => true
- */
-function isElement(value) {
-  return value && value.nodeType === 1 || false;
-}
-
-module.exports = isElement;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/isEmpty.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/isEmpty.js b/node_modules/lodash-node/compat/objects/isEmpty.js
deleted file mode 100644
index c9899e3..0000000
--- a/node_modules/lodash-node/compat/objects/isEmpty.js
+++ /dev/null
@@ -1,66 +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 forOwn = require('./forOwn'),
-    isArguments = require('./isArguments'),
-    isFunction = require('./isFunction'),
-    support = require('../support');
-
-/** `Object#toString` result shortcuts */
-var argsClass = '[object Arguments]',
-    arrayClass = '[object Array]',
-    objectClass = '[object Object]',
-    stringClass = '[object String]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/**
- * Checks if `value` is empty. Arrays, strings, or `arguments` objects with a
- * length of `0` and objects with no own enumerable properties are considered
- * "empty".
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Array|Object|string} value The value to inspect.
- * @returns {boolean} Returns `true` if the `value` is empty, else `false`.
- * @example
- *
- * _.isEmpty([1, 2, 3]);
- * // => false
- *
- * _.isEmpty({});
- * // => true
- *
- * _.isEmpty('');
- * // => true
- */
-function isEmpty(value) {
-  var result = true;
-  if (!value) {
-    return result;
-  }
-  var className = toString.call(value),
-      length = value.length;
-
-  if ((className == arrayClass || className == stringClass ||
-      (support.argsClass ? className == argsClass : isArguments(value))) ||
-      (className == objectClass && typeof length == 'number' && isFunction(value.splice))) {
-    return !length;
-  }
-  forOwn(value, function() {
-    return (result = false);
-  });
-  return result;
-}
-
-module.exports = isEmpty;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/isEqual.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/isEqual.js b/node_modules/lodash-node/compat/objects/isEqual.js
deleted file mode 100644
index fbb4960..0000000
--- a/node_modules/lodash-node/compat/objects/isEqual.js
+++ /dev/null
@@ -1,54 +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 baseCreateCallback = require('../internals/baseCreateCallback'),
-    baseIsEqual = require('../internals/baseIsEqual');
-
-/**
- * Performs a deep comparison between two values to determine if they are
- * equivalent to each other. If a callback is provided it will be executed
- * to compare values. If the callback returns `undefined` comparisons will
- * be handled by the method instead. The callback is bound to `thisArg` and
- * invoked with two arguments; (a, b).
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} a The value to compare.
- * @param {*} b The other value to compare.
- * @param {Function} [callback] The function to customize comparing values.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
- * @example
- *
- * var object = { 'name': 'fred' };
- * var copy = { 'name': 'fred' };
- *
- * object == copy;
- * // => false
- *
- * _.isEqual(object, copy);
- * // => true
- *
- * var words = ['hello', 'goodbye'];
- * var otherWords = ['hi', 'goodbye'];
- *
- * _.isEqual(words, otherWords, function(a, b) {
- *   var reGreet = /^(?:hello|hi)$/i,
- *       aGreet = _.isString(a) && reGreet.test(a),
- *       bGreet = _.isString(b) && reGreet.test(b);
- *
- *   return (aGreet || bGreet) ? (aGreet == bGreet) : undefined;
- * });
- * // => true
- */
-function isEqual(a, b, callback, thisArg) {
-  return baseIsEqual(a, b, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 2));
-}
-
-module.exports = isEqual;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/isFinite.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/isFinite.js b/node_modules/lodash-node/compat/objects/isFinite.js
deleted file mode 100644
index 8546112..0000000
--- a/node_modules/lodash-node/compat/objects/isFinite.js
+++ /dev/null
@@ -1,46 +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>
- */
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeIsFinite = global.isFinite,
-    nativeIsNaN = global.isNaN;
-
-/**
- * Checks if `value` is, or can be coerced to, a finite number.
- *
- * Note: This is not the same as native `isFinite` which will return true for
- * booleans and empty strings. See http://es5.github.io/#x15.1.2.5.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is finite, else `false`.
- * @example
- *
- * _.isFinite(-101);
- * // => true
- *
- * _.isFinite('10');
- * // => true
- *
- * _.isFinite(true);
- * // => false
- *
- * _.isFinite('');
- * // => false
- *
- * _.isFinite(Infinity);
- * // => false
- */
-function isFinite(value) {
-  return nativeIsFinite(value) && !nativeIsNaN(parseFloat(value));
-}
-
-module.exports = isFinite;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/isFunction.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/isFunction.js b/node_modules/lodash-node/compat/objects/isFunction.js
deleted file mode 100644
index 22608cd..0000000
--- a/node_modules/lodash-node/compat/objects/isFunction.js
+++ /dev/null
@@ -1,42 +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>
- */
-
-/** `Object#toString` result shortcuts */
-var funcClass = '[object Function]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/**
- * Checks if `value` is a function.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is a function, else `false`.
- * @example
- *
- * _.isFunction(_);
- * // => true
- */
-function isFunction(value) {
-  return typeof value == 'function';
-}
-// fallback for older versions of Chrome and Safari
-if (isFunction(/x/)) {
-  isFunction = function(value) {
-    return typeof value == 'function' && toString.call(value) == funcClass;
-  };
-}
-
-module.exports = isFunction;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/isNaN.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/isNaN.js b/node_modules/lodash-node/compat/objects/isNaN.js
deleted file mode 100644
index 426652d..0000000
--- a/node_modules/lodash-node/compat/objects/isNaN.js
+++ /dev/null
@@ -1,42 +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 isNumber = require('./isNumber');
-
-/**
- * Checks if `value` is `NaN`.
- *
- * Note: This is not the same as native `isNaN` which will return `true` for
- * `undefined` and other non-numeric values. See http://es5.github.io/#x15.1.2.4.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is `NaN`, else `false`.
- * @example
- *
- * _.isNaN(NaN);
- * // => true
- *
- * _.isNaN(new Number(NaN));
- * // => true
- *
- * isNaN(undefined);
- * // => true
- *
- * _.isNaN(undefined);
- * // => false
- */
-function isNaN(value) {
-  // `NaN` as a primitive is the only value that is not equal to itself
-  // (perform the [[Class]] check first to avoid errors with some host objects in IE)
-  return isNumber(value) && value != +value;
-}
-
-module.exports = isNaN;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/isNull.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/isNull.js b/node_modules/lodash-node/compat/objects/isNull.js
deleted file mode 100644
index 4789d5d..0000000
--- a/node_modules/lodash-node/compat/objects/isNull.js
+++ /dev/null
@@ -1,30 +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>
- */
-
-/**
- * Checks if `value` is `null`.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is `null`, else `false`.
- * @example
- *
- * _.isNull(null);
- * // => true
- *
- * _.isNull(undefined);
- * // => false
- */
-function isNull(value) {
-  return value === null;
-}
-
-module.exports = isNull;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/isNumber.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/isNumber.js b/node_modules/lodash-node/compat/objects/isNumber.js
deleted file mode 100644
index f242787..0000000
--- a/node_modules/lodash-node/compat/objects/isNumber.js
+++ /dev/null
@@ -1,39 +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>
- */
-
-/** `Object#toString` result shortcuts */
-var numberClass = '[object Number]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/**
- * Checks if `value` is a number.
- *
- * Note: `NaN` is considered a number. See http://es5.github.io/#x8.5.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is a number, else `false`.
- * @example
- *
- * _.isNumber(8.4 * 5);
- * // => true
- */
-function isNumber(value) {
-  return typeof value == 'number' ||
-    value && typeof value == 'object' && toString.call(value) == numberClass || false;
-}
-
-module.exports = isNumber;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/isObject.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/isObject.js b/node_modules/lodash-node/compat/objects/isObject.js
deleted file mode 100644
index a156308..0000000
--- a/node_modules/lodash-node/compat/objects/isObject.js
+++ /dev/null
@@ -1,39 +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 objectTypes = require('../internals/objectTypes');
-
-/**
- * Checks if `value` is the language type of Object.
- * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is an object, else `false`.
- * @example
- *
- * _.isObject({});
- * // => true
- *
- * _.isObject([1, 2, 3]);
- * // => true
- *
- * _.isObject(1);
- * // => false
- */
-function isObject(value) {
-  // check if the value is the ECMAScript language type of Object
-  // http://es5.github.io/#x8
-  // and avoid a V8 bug
-  // http://code.google.com/p/v8/issues/detail?id=2291
-  return !!(value && objectTypes[typeof value]);
-}
-
-module.exports = isObject;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/isPlainObject.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/isPlainObject.js b/node_modules/lodash-node/compat/objects/isPlainObject.js
deleted file mode 100644
index 9f2fe81..0000000
--- a/node_modules/lodash-node/compat/objects/isPlainObject.js
+++ /dev/null
@@ -1,62 +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 isArguments = require('./isArguments'),
-    isNative = require('../internals/isNative'),
-    shimIsPlainObject = require('../internals/shimIsPlainObject'),
-    support = require('../support');
-
-/** `Object#toString` result shortcuts */
-var objectClass = '[object Object]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/** Native method shortcuts */
-var getPrototypeOf = isNative(getPrototypeOf = Object.getPrototypeOf) && getPrototypeOf;
-
-/**
- * Checks if `value` is an object created by the `Object` constructor.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
- * @example
- *
- * function Shape() {
- *   this.x = 0;
- *   this.y = 0;
- * }
- *
- * _.isPlainObject(new Shape);
- * // => false
- *
- * _.isPlainObject([1, 2, 3]);
- * // => false
- *
- * _.isPlainObject({ 'x': 0, 'y': 0 });
- * // => true
- */
-var isPlainObject = !getPrototypeOf ? shimIsPlainObject : function(value) {
-  if (!(value && toString.call(value) == objectClass) || (!support.argsClass && isArguments(value))) {
-    return false;
-  }
-  var valueOf = value.valueOf,
-      objProto = isNative(valueOf) && (objProto = getPrototypeOf(valueOf)) && getPrototypeOf(objProto);
-
-  return objProto
-    ? (value == objProto || getPrototypeOf(value) == objProto)
-    : shimIsPlainObject(value);
-};
-
-module.exports = isPlainObject;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/isRegExp.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/isRegExp.js b/node_modules/lodash-node/compat/objects/isRegExp.js
deleted file mode 100644
index d7800d0..0000000
--- a/node_modules/lodash-node/compat/objects/isRegExp.js
+++ /dev/null
@@ -1,37 +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 objectTypes = require('../internals/objectTypes');
-
-/** `Object#toString` result shortcuts */
-var regexpClass = '[object RegExp]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/**
- * Checks if `value` is a regular expression.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is a regular expression, else `false`.
- * @example
- *
- * _.isRegExp(/fred/);
- * // => true
- */
-function isRegExp(value) {
-  return value && objectTypes[typeof value] && toString.call(value) == regexpClass || false;
-}
-
-module.exports = isRegExp;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/isString.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/isString.js b/node_modules/lodash-node/compat/objects/isString.js
deleted file mode 100644
index e1fabd5..0000000
--- a/node_modules/lodash-node/compat/objects/isString.js
+++ /dev/null
@@ -1,37 +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>
- */
-
-/** `Object#toString` result shortcuts */
-var stringClass = '[object String]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/**
- * Checks if `value` is a string.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is a string, else `false`.
- * @example
- *
- * _.isString('fred');
- * // => true
- */
-function isString(value) {
-  return typeof value == 'string' ||
-    value && typeof value == 'object' && toString.call(value) == stringClass || false;
-}
-
-module.exports = isString;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/isUndefined.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/isUndefined.js b/node_modules/lodash-node/compat/objects/isUndefined.js
deleted file mode 100644
index 1e28a1f..0000000
--- a/node_modules/lodash-node/compat/objects/isUndefined.js
+++ /dev/null
@@ -1,27 +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>
- */
-
-/**
- * Checks if `value` is `undefined`.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is `undefined`, else `false`.
- * @example
- *
- * _.isUndefined(void 0);
- * // => true
- */
-function isUndefined(value) {
-  return typeof value == 'undefined';
-}
-
-module.exports = isUndefined;


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


[30/32] ios commit: Update JS snapshot to version 4.3.0-dev (via coho)

Posted by st...@apache.org.
Update JS snapshot to version 4.3.0-dev (via coho)


Project: http://git-wip-us.apache.org/repos/asf/cordova-ios/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-ios/commit/9c2dca49
Tree: http://git-wip-us.apache.org/repos/asf/cordova-ios/tree/9c2dca49
Diff: http://git-wip-us.apache.org/repos/asf/cordova-ios/diff/9c2dca49

Branch: refs/heads/master
Commit: 9c2dca499cb8dc56a5122ed7b6f1edccfb5925e8
Parents: 7dd57c9
Author: Steve Gill <st...@gmail.com>
Authored: Thu Jun 16 21:13:10 2016 -0700
Committer: Steve Gill <st...@gmail.com>
Committed: Thu Jun 16 21:13:10 2016 -0700

----------------------------------------------------------------------
 CordovaLib/cordova.js | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/9c2dca49/CordovaLib/cordova.js
----------------------------------------------------------------------
diff --git a/CordovaLib/cordova.js b/CordovaLib/cordova.js
index f728d1a..19f889c 100644
--- a/CordovaLib/cordova.js
+++ b/CordovaLib/cordova.js
@@ -19,7 +19,7 @@
  under the License.
 */
 ;(function() {
-var PLATFORM_VERSION_BUILD_LABEL = '4.2.0-dev';
+var PLATFORM_VERSION_BUILD_LABEL = '4.3.0-dev';
 // file: src/scripts/require.js
 
 /*jshint -W079 */
@@ -817,7 +817,7 @@ module.exports = channel;
 
 });
 
-// file: /Users/ednamorales/dev/apache_plugins/cordova-ios/cordova-js-src/exec.js
+// file: /Users/steveng/repo/cordova/cordova-ios/cordova-js-src/exec.js
 define("cordova/exec", function(require, exports, module) {
 
 /*global require, module, atob, document */
@@ -1545,7 +1545,7 @@ exports.reset();
 
 });
 
-// file: /Users/ednamorales/dev/apache_plugins/cordova-ios/cordova-js-src/platform.js
+// file: /Users/steveng/repo/cordova/cordova-ios/cordova-js-src/platform.js
 define("cordova/platform", function(require, exports, module) {
 
 module.exports = {


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


[05/32] ios commit: CB-11445 Updated checked-in node_modules

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/plist/dist/plist-build.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/plist/dist/plist-build.js b/node_modules/simple-plist/node_modules/plist/dist/plist-build.js
deleted file mode 100644
index 078738e..0000000
--- a/node_modules/simple-plist/node_modules/plist/dist/plist-build.js
+++ /dev/null
@@ -1,12596 +0,0 @@
-!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof self&&(f=self),f.plist=e()}}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
-(function (Buffer){
-
-/**
- * Module dependencies.
- */
-
-var base64 = require('base64-js');
-var xmlbuilder = require('xmlbuilder');
-
-/**
- * Module exports.
- */
-
-exports.build = build;
-
-/**
- * Accepts a `Date` instance and returns an ISO date string.
- *
- * @param {Date} d - Date instance to serialize
- * @returns {String} ISO date string representation of `d`
- * @api private
- */
-
-function ISODateString(d){
-  function pad(n){
-    return n < 10 ? '0' + n : n;
-  }
-  return d.getUTCFullYear()+'-'
-    + pad(d.getUTCMonth()+1)+'-'
-    + pad(d.getUTCDate())+'T'
-    + pad(d.getUTCHours())+':'
-    + pad(d.getUTCMinutes())+':'
-    + pad(d.getUTCSeconds())+'Z';
-}
-
-/**
- * Returns the internal "type" of `obj` via the
- * `Object.prototype.toString()` trick.
- *
- * @param {Mixed} obj - any value
- * @returns {String} the internal "type" name
- * @api private
- */
-
-var toString = Object.prototype.toString;
-function type (obj) {
-  var m = toString.call(obj).match(/\[object (.*)\]/);
-  return m ? m[1] : m;
-}
-
-/**
- * Generate an XML plist string from the input object `obj`.
- *
- * @param {Object} obj - the object to convert
- * @param {Object} [opts] - optional options object
- * @returns {String} converted plist XML string
- * @api public
- */
-
-function build (obj, opts) {
-  var XMLHDR = {
-    version: '1.0',
-    encoding: 'UTF-8'
-  };
-
-  var XMLDTD = {
-    pubid: '-//Apple//DTD PLIST 1.0//EN',
-    sysid: 'http://www.apple.com/DTDs/PropertyList-1.0.dtd'
-  };
-
-  var doc = xmlbuilder.create('plist');
-
-  doc.dec(XMLHDR.version, XMLHDR.encoding, XMLHDR.standalone);
-  doc.dtd(XMLDTD.pubid, XMLDTD.sysid);
-  doc.att('version', '1.0');
-
-  walk_obj(obj, doc);
-
-  if (!opts) opts = {};
-  // default `pretty` to `true`
-  opts.pretty = opts.pretty !== false;
-  return doc.end(opts);
-}
-
-/**
- * depth first, recursive traversal of a javascript object. when complete,
- * next_child contains a reference to the build XML object.
- *
- * @api private
- */
-
-function walk_obj(next, next_child) {
-  var tag_type, i, prop;
-  var name = type(next);
-
-  if (Array.isArray(next)) {
-    next_child = next_child.ele('array');
-    for (i = 0; i < next.length; i++) {
-      walk_obj(next[i], next_child);
-    }
-
-  } else if (Buffer.isBuffer(next)) {
-    next_child.ele('data').raw(next.toString('base64'));
-
-  } else if ('Object' == name) {
-    next_child = next_child.ele('dict');
-    for (prop in next) {
-      if (next.hasOwnProperty(prop)) {
-        next_child.ele('key').txt(prop);
-        walk_obj(next[prop], next_child);
-      }
-    }
-
-  } else if ('Number' == name) {
-    // detect if this is an integer or real
-    // TODO: add an ability to force one way or another via a "cast"
-    tag_type = (next % 1 === 0) ? 'integer' : 'real';
-    next_child.ele(tag_type).txt(next.toString());
-
-  } else if ('Date' == name) {
-    next_child.ele('date').txt(ISODateString(new Date(next)));
-
-  } else if ('Boolean' == name) {
-    next_child.ele(next ? 'true' : 'false');
-
-  } else if ('String' == name) {
-    next_child.ele('string').txt(next);
-
-  } else if ('ArrayBuffer' == name) {
-    next_child.ele('data').raw(base64.fromByteArray(next));
-
-  } else if (next.buffer && 'ArrayBuffer' == type(next.buffer)) {
-    // a typed array
-    next_child.ele('data').raw(base64.fromByteArray(new Uint8Array(next.buffer), next_child));
-
-  }
-}
-
-}).call(this,require("buffer").Buffer)
-},{"base64-js":2,"buffer":3,"xmlbuilder":21}],2:[function(require,module,exports){
-var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
-
-;(function (exports) {
-	'use strict';
-
-  var Arr = (typeof Uint8Array !== 'undefined')
-    ? 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)
-
-	function decode (elt) {
-		var code = elt.charCodeAt(0)
-		if (code === PLUS)
-			return 62 // '+'
-		if (code === SLASH)
-			return 63 // '/'
-		if (code < NUMBER)
-			return -1 //no match
-		if (code < NUMBER + 10)
-			return code - NUMBER + 26 + 26
-		if (code < UPPER + 26)
-			return code - UPPER
-		if (code < LOWER + 26)
-			return code - LOWER + 26
-	}
-
-	function b64ToByteArray (b64) {
-		var i, j, l, tmp, placeHolders, arr
-
-		if (b64.length % 4 > 0) {
-			throw new Error('Invalid string. Length must be a multiple of 4')
-		}
-
-		// the number of equal signs (place holders)
-		// if there are two placeholders, than the two characters before it
-		// represent one byte
-		// if there is only one, then the three characters before it represent 2 bytes
-		// this is just a cheap hack to not do indexOf twice
-		var len = b64.length
-		placeHolders = '=' === b64.charAt(len - 2) ? 2 : '=' === b64.charAt(len - 1) ? 1 : 0
-
-		// base64 is 4/3 + up to two characters of the original data
-		arr = new Arr(b64.length * 3 / 4 - placeHolders)
-
-		// if there are placeholders, only get up to the last complete 4 chars
-		l = placeHolders > 0 ? b64.length - 4 : b64.length
-
-		var L = 0
-
-		function push (v) {
-			arr[L++] = v
-		}
-
-		for (i = 0, j = 0; i < l; i += 4, j += 3) {
-			tmp = (decode(b64.charAt(i)) << 18) | (decode(b64.charAt(i + 1)) << 12) | (decode(b64.charAt(i + 2)) << 6) | decode(b64.charAt(i + 3))
-			push((tmp & 0xFF0000) >> 16)
-			push((tmp & 0xFF00) >> 8)
-			push(tmp & 0xFF)
-		}
-
-		if (placeHolders === 2) {
-			tmp = (decode(b64.charAt(i)) << 2) | (decode(b64.charAt(i + 1)) >> 4)
-			push(tmp & 0xFF)
-		} else if (placeHolders === 1) {
-			tmp = (decode(b64.charAt(i)) << 10) | (decode(b64.charAt(i + 1)) << 4) | (decode(b64.charAt(i + 2)) >> 2)
-			push((tmp >> 8) & 0xFF)
-			push(tmp & 0xFF)
-		}
-
-		return arr
-	}
-
-	function uint8ToBase64 (uint8) {
-		var i,
-			extraBytes = uint8.length % 3, // if we have 1 byte left, pad 2 bytes
-			output = "",
-			temp, length
-
-		function encode (num) {
-			return lookup.charAt(num)
-		}
-
-		function tripletToBase64 (num) {
-			return encode(num >> 18 & 0x3F) + encode(num >> 12 & 0x3F) + encode(num >> 6 & 0x3F) + encode(num & 0x3F)
-		}
-
-		// go through the array every three bytes, we'll deal with trailing stuff later
-		for (i = 0, length = uint8.length - extraBytes; i < length; i += 3) {
-			temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])
-			output += tripletToBase64(temp)
-		}
-
-		// pad the end with zeros, but make sure to not forget the extra bytes
-		switch (extraBytes) {
-			case 1:
-				temp = uint8[uint8.length - 1]
-				output += encode(temp >> 2)
-				output += encode((temp << 4) & 0x3F)
-				output += '=='
-				break
-			case 2:
-				temp = (uint8[uint8.length - 2] << 8) + (uint8[uint8.length - 1])
-				output += encode(temp >> 10)
-				output += encode((temp >> 4) & 0x3F)
-				output += encode((temp << 2) & 0x3F)
-				output += '='
-				break
-		}
-
-		return output
-	}
-
-	module.exports.toByteArray = b64ToByteArray
-	module.exports.fromByteArray = uint8ToBase64
-}())
-
-},{}],3:[function(require,module,exports){
-/*!
- * The buffer module from node.js, for the browser.
- *
- * @author   Feross Aboukhadijeh <fe...@feross.org> <http://feross.org>
- * @license  MIT
- */
-
-var base64 = require('base64-js')
-var ieee754 = require('ieee754')
-
-exports.Buffer = Buffer
-exports.SlowBuffer = Buffer
-exports.INSPECT_MAX_BYTES = 50
-Buffer.poolSize = 8192
-
-/**
- * If `TYPED_ARRAY_SUPPORT`:
- *   === true    Use Uint8Array implementation (fastest)
- *   === false   Use Object implementation (most compatible, even IE6)
- *
- * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
- * Opera 11.6+, iOS 4.2+.
- *
- * Note:
- *
- * - Implementation must support adding new properties to `Uint8Array` instances.
- *   Firefox 4-29 lacked support, fixed in Firefox 30+.
- *   See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
- *
- *  - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
- *
- *  - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
- *    incorrect length in some situations.
- *
- * We detect these buggy browsers and set `TYPED_ARRAY_SUPPORT` to `false` so they will
- * get the Object implementation, which is slower but will work correctly.
- */
-var TYPED_ARRAY_SUPPORT = (function () {
-  try {
-    var buf = new ArrayBuffer(0)
-    var arr = new Uint8Array(buf)
-    arr.foo = function () { return 42 }
-    return 42 === arr.foo() && // typed array instances can be augmented
-        typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`
-        new Uint8Array(1).subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`
-  } catch (e) {
-    return false
-  }
-})()
-
-/**
- * Class: Buffer
- * =============
- *
- * The Buffer constructor returns instances of `Uint8Array` that are augmented
- * with function properties for all the node `Buffer` API functions. We use
- * `Uint8Array` so that square bracket notation works as expected -- it returns
- * a single octet.
- *
- * By augmenting the instances, we can avoid modifying the `Uint8Array`
- * prototype.
- */
-function Buffer (subject, encoding, noZero) {
-  if (!(this instanceof Buffer))
-    return new Buffer(subject, encoding, noZero)
-
-  var type = typeof subject
-
-  // Find the length
-  var length
-  if (type === 'number')
-    length = subject > 0 ? subject >>> 0 : 0
-  else if (type === 'string') {
-    if (encoding === 'base64')
-      subject = base64clean(subject)
-    length = Buffer.byteLength(subject, encoding)
-  } else if (type === 'object' && subject !== null) { // assume object is array-like
-    if (subject.type === 'Buffer' && isArray(subject.data))
-      subject = subject.data
-    length = +subject.length > 0 ? Math.floor(+subject.length) : 0
-  } else
-    throw new Error('First argument needs to be a number, array or string.')
-
-  var buf
-  if (TYPED_ARRAY_SUPPORT) {
-    // Preferred: Return an augmented `Uint8Array` instance for best performance
-    buf = Buffer._augment(new Uint8Array(length))
-  } else {
-    // Fallback: Return THIS instance of Buffer (created by `new`)
-    buf = this
-    buf.length = length
-    buf._isBuffer = true
-  }
-
-  var i
-  if (TYPED_ARRAY_SUPPORT && typeof subject.byteLength === 'number') {
-    // Speed optimization -- use set if we're copying from a typed array
-    buf._set(subject)
-  } else if (isArrayish(subject)) {
-    // Treat array-ish objects as a byte array
-    if (Buffer.isBuffer(subject)) {
-      for (i = 0; i < length; i++)
-        buf[i] = subject.readUInt8(i)
-    } else {
-      for (i = 0; i < length; i++)
-        buf[i] = ((subject[i] % 256) + 256) % 256
-    }
-  } else if (type === 'string') {
-    buf.write(subject, 0, encoding)
-  } else if (type === 'number' && !TYPED_ARRAY_SUPPORT && !noZero) {
-    for (i = 0; i < length; i++) {
-      buf[i] = 0
-    }
-  }
-
-  return buf
-}
-
-// STATIC METHODS
-// ==============
-
-Buffer.isEncoding = function (encoding) {
-  switch (String(encoding).toLowerCase()) {
-    case 'hex':
-    case 'utf8':
-    case 'utf-8':
-    case 'ascii':
-    case 'binary':
-    case 'base64':
-    case 'raw':
-    case 'ucs2':
-    case 'ucs-2':
-    case 'utf16le':
-    case 'utf-16le':
-      return true
-    default:
-      return false
-  }
-}
-
-Buffer.isBuffer = function (b) {
-  return !!(b != null && b._isBuffer)
-}
-
-Buffer.byteLength = function (str, encoding) {
-  var ret
-  str = str.toString()
-  switch (encoding || 'utf8') {
-    case 'hex':
-      ret = str.length / 2
-      break
-    case 'utf8':
-    case 'utf-8':
-      ret = utf8ToBytes(str).length
-      break
-    case 'ascii':
-    case 'binary':
-    case 'raw':
-      ret = str.length
-      break
-    case 'base64':
-      ret = base64ToBytes(str).length
-      break
-    case 'ucs2':
-    case 'ucs-2':
-    case 'utf16le':
-    case 'utf-16le':
-      ret = str.length * 2
-      break
-    default:
-      throw new Error('Unknown encoding')
-  }
-  return ret
-}
-
-Buffer.concat = function (list, totalLength) {
-  assert(isArray(list), 'Usage: Buffer.concat(list[, length])')
-
-  if (list.length === 0) {
-    return new Buffer(0)
-  } else if (list.length === 1) {
-    return list[0]
-  }
-
-  var i
-  if (totalLength === undefined) {
-    totalLength = 0
-    for (i = 0; i < list.length; i++) {
-      totalLength += list[i].length
-    }
-  }
-
-  var buf = new Buffer(totalLength)
-  var pos = 0
-  for (i = 0; i < list.length; i++) {
-    var item = list[i]
-    item.copy(buf, pos)
-    pos += item.length
-  }
-  return buf
-}
-
-Buffer.compare = function (a, b) {
-  assert(Buffer.isBuffer(a) && Buffer.isBuffer(b), 'Arguments must be Buffers')
-  var x = a.length
-  var y = b.length
-  for (var i = 0, len = Math.min(x, y); i < len && a[i] === b[i]; i++) {}
-  if (i !== len) {
-    x = a[i]
-    y = b[i]
-  }
-  if (x < y) {
-    return -1
-  }
-  if (y < x) {
-    return 1
-  }
-  return 0
-}
-
-// BUFFER INSTANCE METHODS
-// =======================
-
-function hexWrite (buf, string, offset, length) {
-  offset = Number(offset) || 0
-  var remaining = buf.length - offset
-  if (!length) {
-    length = remaining
-  } else {
-    length = Number(length)
-    if (length > remaining) {
-      length = remaining
-    }
-  }
-
-  // must be an even number of digits
-  var strLen = string.length
-  assert(strLen % 2 === 0, 'Invalid hex string')
-
-  if (length > strLen / 2) {
-    length = strLen / 2
-  }
-  for (var i = 0; i < length; i++) {
-    var byte = parseInt(string.substr(i * 2, 2), 16)
-    assert(!isNaN(byte), 'Invalid hex string')
-    buf[offset + i] = byte
-  }
-  return i
-}
-
-function utf8Write (buf, string, offset, length) {
-  var charsWritten = blitBuffer(utf8ToBytes(string), buf, offset, length)
-  return charsWritten
-}
-
-function asciiWrite (buf, string, offset, length) {
-  var charsWritten = blitBuffer(asciiToBytes(string), buf, offset, length)
-  return charsWritten
-}
-
-function binaryWrite (buf, string, offset, length) {
-  return asciiWrite(buf, string, offset, length)
-}
-
-function base64Write (buf, string, offset, length) {
-  var charsWritten = blitBuffer(base64ToBytes(string), buf, offset, length)
-  return charsWritten
-}
-
-function utf16leWrite (buf, string, offset, length) {
-  var charsWritten = blitBuffer(utf16leToBytes(string), buf, offset, length)
-  return charsWritten
-}
-
-Buffer.prototype.write = function (string, offset, length, encoding) {
-  // Support both (string, offset, length, encoding)
-  // and the legacy (string, encoding, offset, length)
-  if (isFinite(offset)) {
-    if (!isFinite(length)) {
-      encoding = length
-      length = undefined
-    }
-  } else {  // legacy
-    var swap = encoding
-    encoding = offset
-    offset = length
-    length = swap
-  }
-
-  offset = Number(offset) || 0
-  var remaining = this.length - offset
-  if (!length) {
-    length = remaining
-  } else {
-    length = Number(length)
-    if (length > remaining) {
-      length = remaining
-    }
-  }
-  encoding = String(encoding || 'utf8').toLowerCase()
-
-  var ret
-  switch (encoding) {
-    case 'hex':
-      ret = hexWrite(this, string, offset, length)
-      break
-    case 'utf8':
-    case 'utf-8':
-      ret = utf8Write(this, string, offset, length)
-      break
-    case 'ascii':
-      ret = asciiWrite(this, string, offset, length)
-      break
-    case 'binary':
-      ret = binaryWrite(this, string, offset, length)
-      break
-    case 'base64':
-      ret = base64Write(this, string, offset, length)
-      break
-    case 'ucs2':
-    case 'ucs-2':
-    case 'utf16le':
-    case 'utf-16le':
-      ret = utf16leWrite(this, string, offset, length)
-      break
-    default:
-      throw new Error('Unknown encoding')
-  }
-  return ret
-}
-
-Buffer.prototype.toString = function (encoding, start, end) {
-  var self = this
-
-  encoding = String(encoding || 'utf8').toLowerCase()
-  start = Number(start) || 0
-  end = (end === undefined) ? self.length : Number(end)
-
-  // Fastpath empty strings
-  if (end === start)
-    return ''
-
-  var ret
-  switch (encoding) {
-    case 'hex':
-      ret = hexSlice(self, start, end)
-      break
-    case 'utf8':
-    case 'utf-8':
-      ret = utf8Slice(self, start, end)
-      break
-    case 'ascii':
-      ret = asciiSlice(self, start, end)
-      break
-    case 'binary':
-      ret = binarySlice(self, start, end)
-      break
-    case 'base64':
-      ret = base64Slice(self, start, end)
-      break
-    case 'ucs2':
-    case 'ucs-2':
-    case 'utf16le':
-    case 'utf-16le':
-      ret = utf16leSlice(self, start, end)
-      break
-    default:
-      throw new Error('Unknown encoding')
-  }
-  return ret
-}
-
-Buffer.prototype.toJSON = function () {
-  return {
-    type: 'Buffer',
-    data: Array.prototype.slice.call(this._arr || this, 0)
-  }
-}
-
-Buffer.prototype.equals = function (b) {
-  assert(Buffer.isBuffer(b), 'Argument must be a Buffer')
-  return Buffer.compare(this, b) === 0
-}
-
-Buffer.prototype.compare = function (b) {
-  assert(Buffer.isBuffer(b), 'Argument must be a Buffer')
-  return Buffer.compare(this, b)
-}
-
-// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
-Buffer.prototype.copy = function (target, target_start, start, end) {
-  var source = this
-
-  if (!start) start = 0
-  if (!end && end !== 0) end = this.length
-  if (!target_start) target_start = 0
-
-  // Copy 0 bytes; we're done
-  if (end === start) return
-  if (target.length === 0 || source.length === 0) return
-
-  // Fatal error conditions
-  assert(end >= start, 'sourceEnd < sourceStart')
-  assert(target_start >= 0 && target_start < target.length,
-      'targetStart out of bounds')
-  assert(start >= 0 && start < source.length, 'sourceStart out of bounds')
-  assert(end >= 0 && end <= source.length, 'sourceEnd out of bounds')
-
-  // Are we oob?
-  if (end > this.length)
-    end = this.length
-  if (target.length - target_start < end - start)
-    end = target.length - target_start + start
-
-  var len = end - start
-
-  if (len < 100 || !TYPED_ARRAY_SUPPORT) {
-    for (var i = 0; i < len; i++) {
-      target[i + target_start] = this[i + start]
-    }
-  } else {
-    target._set(this.subarray(start, start + len), target_start)
-  }
-}
-
-function base64Slice (buf, start, end) {
-  if (start === 0 && end === buf.length) {
-    return base64.fromByteArray(buf)
-  } else {
-    return base64.fromByteArray(buf.slice(start, end))
-  }
-}
-
-function utf8Slice (buf, start, end) {
-  var res = ''
-  var tmp = ''
-  end = Math.min(buf.length, end)
-
-  for (var i = start; i < end; i++) {
-    if (buf[i] <= 0x7F) {
-      res += decodeUtf8Char(tmp) + String.fromCharCode(buf[i])
-      tmp = ''
-    } else {
-      tmp += '%' + buf[i].toString(16)
-    }
-  }
-
-  return res + decodeUtf8Char(tmp)
-}
-
-function asciiSlice (buf, start, end) {
-  var ret = ''
-  end = Math.min(buf.length, end)
-
-  for (var i = start; i < end; i++) {
-    ret += String.fromCharCode(buf[i])
-  }
-  return ret
-}
-
-function binarySlice (buf, start, end) {
-  return asciiSlice(buf, start, end)
-}
-
-function hexSlice (buf, start, end) {
-  var len = buf.length
-
-  if (!start || start < 0) start = 0
-  if (!end || end < 0 || end > len) end = len
-
-  var out = ''
-  for (var i = start; i < end; i++) {
-    out += toHex(buf[i])
-  }
-  return out
-}
-
-function utf16leSlice (buf, start, end) {
-  var bytes = buf.slice(start, end)
-  var res = ''
-  for (var i = 0; i < bytes.length; i += 2) {
-    res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
-  }
-  return res
-}
-
-Buffer.prototype.slice = function (start, end) {
-  var len = this.length
-  start = ~~start
-  end = end === undefined ? len : ~~end
-
-  if (start < 0) {
-    start += len;
-    if (start < 0)
-      start = 0
-  } else if (start > len) {
-    start = len
-  }
-
-  if (end < 0) {
-    end += len
-    if (end < 0)
-      end = 0
-  } else if (end > len) {
-    end = len
-  }
-
-  if (end < start)
-    end = start
-
-  if (TYPED_ARRAY_SUPPORT) {
-    return Buffer._augment(this.subarray(start, end))
-  } else {
-    var sliceLen = end - start
-    var newBuf = new Buffer(sliceLen, undefined, true)
-    for (var i = 0; i < sliceLen; i++) {
-      newBuf[i] = this[i + start]
-    }
-    return newBuf
-  }
-}
-
-// `get` will be removed in Node 0.13+
-Buffer.prototype.get = function (offset) {
-  console.log('.get() is deprecated. Access using array indexes instead.')
-  return this.readUInt8(offset)
-}
-
-// `set` will be removed in Node 0.13+
-Buffer.prototype.set = function (v, offset) {
-  console.log('.set() is deprecated. Access using array indexes instead.')
-  return this.writeUInt8(v, offset)
-}
-
-Buffer.prototype.readUInt8 = function (offset, noAssert) {
-  if (!noAssert) {
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset < this.length, 'Trying to read beyond buffer length')
-  }
-
-  if (offset >= this.length)
-    return
-
-  return this[offset]
-}
-
-function readUInt16 (buf, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 1 < buf.length, 'Trying to read beyond buffer length')
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  var val
-  if (littleEndian) {
-    val = buf[offset]
-    if (offset + 1 < len)
-      val |= buf[offset + 1] << 8
-  } else {
-    val = buf[offset] << 8
-    if (offset + 1 < len)
-      val |= buf[offset + 1]
-  }
-  return val
-}
-
-Buffer.prototype.readUInt16LE = function (offset, noAssert) {
-  return readUInt16(this, offset, true, noAssert)
-}
-
-Buffer.prototype.readUInt16BE = function (offset, noAssert) {
-  return readUInt16(this, offset, false, noAssert)
-}
-
-function readUInt32 (buf, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 3 < buf.length, 'Trying to read beyond buffer length')
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  var val
-  if (littleEndian) {
-    if (offset + 2 < len)
-      val = buf[offset + 2] << 16
-    if (offset + 1 < len)
-      val |= buf[offset + 1] << 8
-    val |= buf[offset]
-    if (offset + 3 < len)
-      val = val + (buf[offset + 3] << 24 >>> 0)
-  } else {
-    if (offset + 1 < len)
-      val = buf[offset + 1] << 16
-    if (offset + 2 < len)
-      val |= buf[offset + 2] << 8
-    if (offset + 3 < len)
-      val |= buf[offset + 3]
-    val = val + (buf[offset] << 24 >>> 0)
-  }
-  return val
-}
-
-Buffer.prototype.readUInt32LE = function (offset, noAssert) {
-  return readUInt32(this, offset, true, noAssert)
-}
-
-Buffer.prototype.readUInt32BE = function (offset, noAssert) {
-  return readUInt32(this, offset, false, noAssert)
-}
-
-Buffer.prototype.readInt8 = function (offset, noAssert) {
-  if (!noAssert) {
-    assert(offset !== undefined && offset !== null,
-        'missing offset')
-    assert(offset < this.length, 'Trying to read beyond buffer length')
-  }
-
-  if (offset >= this.length)
-    return
-
-  var neg = this[offset] & 0x80
-  if (neg)
-    return (0xff - this[offset] + 1) * -1
-  else
-    return this[offset]
-}
-
-function readInt16 (buf, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 1 < buf.length, 'Trying to read beyond buffer length')
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  var val = readUInt16(buf, offset, littleEndian, true)
-  var neg = val & 0x8000
-  if (neg)
-    return (0xffff - val + 1) * -1
-  else
-    return val
-}
-
-Buffer.prototype.readInt16LE = function (offset, noAssert) {
-  return readInt16(this, offset, true, noAssert)
-}
-
-Buffer.prototype.readInt16BE = function (offset, noAssert) {
-  return readInt16(this, offset, false, noAssert)
-}
-
-function readInt32 (buf, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 3 < buf.length, 'Trying to read beyond buffer length')
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  var val = readUInt32(buf, offset, littleEndian, true)
-  var neg = val & 0x80000000
-  if (neg)
-    return (0xffffffff - val + 1) * -1
-  else
-    return val
-}
-
-Buffer.prototype.readInt32LE = function (offset, noAssert) {
-  return readInt32(this, offset, true, noAssert)
-}
-
-Buffer.prototype.readInt32BE = function (offset, noAssert) {
-  return readInt32(this, offset, false, noAssert)
-}
-
-function readFloat (buf, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset + 3 < buf.length, 'Trying to read beyond buffer length')
-  }
-
-  return ieee754.read(buf, offset, littleEndian, 23, 4)
-}
-
-Buffer.prototype.readFloatLE = function (offset, noAssert) {
-  return readFloat(this, offset, true, noAssert)
-}
-
-Buffer.prototype.readFloatBE = function (offset, noAssert) {
-  return readFloat(this, offset, false, noAssert)
-}
-
-function readDouble (buf, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset + 7 < buf.length, 'Trying to read beyond buffer length')
-  }
-
-  return ieee754.read(buf, offset, littleEndian, 52, 8)
-}
-
-Buffer.prototype.readDoubleLE = function (offset, noAssert) {
-  return readDouble(this, offset, true, noAssert)
-}
-
-Buffer.prototype.readDoubleBE = function (offset, noAssert) {
-  return readDouble(this, offset, false, noAssert)
-}
-
-Buffer.prototype.writeUInt8 = function (value, offset, noAssert) {
-  if (!noAssert) {
-    assert(value !== undefined && value !== null, 'missing value')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset < this.length, 'trying to write beyond buffer length')
-    verifuint(value, 0xff)
-  }
-
-  if (offset >= this.length) return
-
-  this[offset] = value
-  return offset + 1
-}
-
-function writeUInt16 (buf, value, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(value !== undefined && value !== null, 'missing value')
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 1 < buf.length, 'trying to write beyond buffer length')
-    verifuint(value, 0xffff)
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  for (var i = 0, j = Math.min(len - offset, 2); i < j; i++) {
-    buf[offset + i] =
-        (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
-            (littleEndian ? i : 1 - i) * 8
-  }
-  return offset + 2
-}
-
-Buffer.prototype.writeUInt16LE = function (value, offset, noAssert) {
-  return writeUInt16(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeUInt16BE = function (value, offset, noAssert) {
-  return writeUInt16(this, value, offset, false, noAssert)
-}
-
-function writeUInt32 (buf, value, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(value !== undefined && value !== null, 'missing value')
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 3 < buf.length, 'trying to write beyond buffer length')
-    verifuint(value, 0xffffffff)
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  for (var i = 0, j = Math.min(len - offset, 4); i < j; i++) {
-    buf[offset + i] =
-        (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
-  }
-  return offset + 4
-}
-
-Buffer.prototype.writeUInt32LE = function (value, offset, noAssert) {
-  return writeUInt32(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeUInt32BE = function (value, offset, noAssert) {
-  return writeUInt32(this, value, offset, false, noAssert)
-}
-
-Buffer.prototype.writeInt8 = function (value, offset, noAssert) {
-  if (!noAssert) {
-    assert(value !== undefined && value !== null, 'missing value')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset < this.length, 'Trying to write beyond buffer length')
-    verifsint(value, 0x7f, -0x80)
-  }
-
-  if (offset >= this.length)
-    return
-
-  if (value >= 0)
-    this.writeUInt8(value, offset, noAssert)
-  else
-    this.writeUInt8(0xff + value + 1, offset, noAssert)
-  return offset + 1
-}
-
-function writeInt16 (buf, value, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(value !== undefined && value !== null, 'missing value')
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 1 < buf.length, 'Trying to write beyond buffer length')
-    verifsint(value, 0x7fff, -0x8000)
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  if (value >= 0)
-    writeUInt16(buf, value, offset, littleEndian, noAssert)
-  else
-    writeUInt16(buf, 0xffff + value + 1, offset, littleEndian, noAssert)
-  return offset + 2
-}
-
-Buffer.prototype.writeInt16LE = function (value, offset, noAssert) {
-  return writeInt16(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeInt16BE = function (value, offset, noAssert) {
-  return writeInt16(this, value, offset, false, noAssert)
-}
-
-function writeInt32 (buf, value, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(value !== undefined && value !== null, 'missing value')
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 3 < buf.length, 'Trying to write beyond buffer length')
-    verifsint(value, 0x7fffffff, -0x80000000)
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  if (value >= 0)
-    writeUInt32(buf, value, offset, littleEndian, noAssert)
-  else
-    writeUInt32(buf, 0xffffffff + value + 1, offset, littleEndian, noAssert)
-  return offset + 4
-}
-
-Buffer.prototype.writeInt32LE = function (value, offset, noAssert) {
-  return writeInt32(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeInt32BE = function (value, offset, noAssert) {
-  return writeInt32(this, value, offset, false, noAssert)
-}
-
-function writeFloat (buf, value, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(value !== undefined && value !== null, 'missing value')
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 3 < buf.length, 'Trying to write beyond buffer length')
-    verifIEEE754(value, 3.4028234663852886e+38, -3.4028234663852886e+38)
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  ieee754.write(buf, value, offset, littleEndian, 23, 4)
-  return offset + 4
-}
-
-Buffer.prototype.writeFloatLE = function (value, offset, noAssert) {
-  return writeFloat(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeFloatBE = function (value, offset, noAssert) {
-  return writeFloat(this, value, offset, false, noAssert)
-}
-
-function writeDouble (buf, value, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(value !== undefined && value !== null, 'missing value')
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 7 < buf.length,
-        'Trying to write beyond buffer length')
-    verifIEEE754(value, 1.7976931348623157E+308, -1.7976931348623157E+308)
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  ieee754.write(buf, value, offset, littleEndian, 52, 8)
-  return offset + 8
-}
-
-Buffer.prototype.writeDoubleLE = function (value, offset, noAssert) {
-  return writeDouble(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeDoubleBE = function (value, offset, noAssert) {
-  return writeDouble(this, value, offset, false, noAssert)
-}
-
-// fill(value, start=0, end=buffer.length)
-Buffer.prototype.fill = function (value, start, end) {
-  if (!value) value = 0
-  if (!start) start = 0
-  if (!end) end = this.length
-
-  assert(end >= start, 'end < start')
-
-  // Fill 0 bytes; we're done
-  if (end === start) return
-  if (this.length === 0) return
-
-  assert(start >= 0 && start < this.length, 'start out of bounds')
-  assert(end >= 0 && end <= this.length, 'end out of bounds')
-
-  var i
-  if (typeof value === 'number') {
-    for (i = start; i < end; i++) {
-      this[i] = value
-    }
-  } else {
-    var bytes = utf8ToBytes(value.toString())
-    var len = bytes.length
-    for (i = start; i < end; i++) {
-      this[i] = bytes[i % len]
-    }
-  }
-
-  return this
-}
-
-Buffer.prototype.inspect = function () {
-  var out = []
-  var len = this.length
-  for (var i = 0; i < len; i++) {
-    out[i] = toHex(this[i])
-    if (i === exports.INSPECT_MAX_BYTES) {
-      out[i + 1] = '...'
-      break
-    }
-  }
-  return '<Buffer ' + out.join(' ') + '>'
-}
-
-/**
- * Creates a new `ArrayBuffer` with the *copied* memory of the buffer instance.
- * Added in Node 0.12. Only available in browsers that support ArrayBuffer.
- */
-Buffer.prototype.toArrayBuffer = function () {
-  if (typeof Uint8Array !== 'undefined') {
-    if (TYPED_ARRAY_SUPPORT) {
-      return (new Buffer(this)).buffer
-    } else {
-      var buf = new Uint8Array(this.length)
-      for (var i = 0, len = buf.length; i < len; i += 1) {
-        buf[i] = this[i]
-      }
-      return buf.buffer
-    }
-  } else {
-    throw new Error('Buffer.toArrayBuffer not supported in this browser')
-  }
-}
-
-// HELPER FUNCTIONS
-// ================
-
-var BP = Buffer.prototype
-
-/**
- * Augment a Uint8Array *instance* (not the Uint8Array class!) with Buffer methods
- */
-Buffer._augment = function (arr) {
-  arr._isBuffer = true
-
-  // save reference to original Uint8Array get/set methods before overwriting
-  arr._get = arr.get
-  arr._set = arr.set
-
-  // deprecated, will be removed in node 0.13+
-  arr.get = BP.get
-  arr.set = BP.set
-
-  arr.write = BP.write
-  arr.toString = BP.toString
-  arr.toLocaleString = BP.toString
-  arr.toJSON = BP.toJSON
-  arr.equals = BP.equals
-  arr.compare = BP.compare
-  arr.copy = BP.copy
-  arr.slice = BP.slice
-  arr.readUInt8 = BP.readUInt8
-  arr.readUInt16LE = BP.readUInt16LE
-  arr.readUInt16BE = BP.readUInt16BE
-  arr.readUInt32LE = BP.readUInt32LE
-  arr.readUInt32BE = BP.readUInt32BE
-  arr.readInt8 = BP.readInt8
-  arr.readInt16LE = BP.readInt16LE
-  arr.readInt16BE = BP.readInt16BE
-  arr.readInt32LE = BP.readInt32LE
-  arr.readInt32BE = BP.readInt32BE
-  arr.readFloatLE = BP.readFloatLE
-  arr.readFloatBE = BP.readFloatBE
-  arr.readDoubleLE = BP.readDoubleLE
-  arr.readDoubleBE = BP.readDoubleBE
-  arr.writeUInt8 = BP.writeUInt8
-  arr.writeUInt16LE = BP.writeUInt16LE
-  arr.writeUInt16BE = BP.writeUInt16BE
-  arr.writeUInt32LE = BP.writeUInt32LE
-  arr.writeUInt32BE = BP.writeUInt32BE
-  arr.writeInt8 = BP.writeInt8
-  arr.writeInt16LE = BP.writeInt16LE
-  arr.writeInt16BE = BP.writeInt16BE
-  arr.writeInt32LE = BP.writeInt32LE
-  arr.writeInt32BE = BP.writeInt32BE
-  arr.writeFloatLE = BP.writeFloatLE
-  arr.writeFloatBE = BP.writeFloatBE
-  arr.writeDoubleLE = BP.writeDoubleLE
-  arr.writeDoubleBE = BP.writeDoubleBE
-  arr.fill = BP.fill
-  arr.inspect = BP.inspect
-  arr.toArrayBuffer = BP.toArrayBuffer
-
-  return arr
-}
-
-var INVALID_BASE64_RE = /[^+\/0-9A-z]/g
-
-function base64clean (str) {
-  // Node strips out invalid characters like \n and \t from the string, base64-js does not
-  str = stringtrim(str).replace(INVALID_BASE64_RE, '')
-  // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
-  while (str.length % 4 !== 0) {
-    str = str + '='
-  }
-  return str
-}
-
-function stringtrim (str) {
-  if (str.trim) return str.trim()
-  return str.replace(/^\s+|\s+$/g, '')
-}
-
-function isArray (subject) {
-  return (Array.isArray || function (subject) {
-    return Object.prototype.toString.call(subject) === '[object Array]'
-  })(subject)
-}
-
-function isArrayish (subject) {
-  return isArray(subject) || Buffer.isBuffer(subject) ||
-      subject && typeof subject === 'object' &&
-      typeof subject.length === 'number'
-}
-
-function toHex (n) {
-  if (n < 16) return '0' + n.toString(16)
-  return n.toString(16)
-}
-
-function utf8ToBytes (str) {
-  var byteArray = []
-  for (var i = 0; i < str.length; i++) {
-    var b = str.charCodeAt(i)
-    if (b <= 0x7F) {
-      byteArray.push(b)
-    } else {
-      var start = i
-      if (b >= 0xD800 && b <= 0xDFFF) i++
-      var h = encodeURIComponent(str.slice(start, i+1)).substr(1).split('%')
-      for (var j = 0; j < h.length; j++) {
-        byteArray.push(parseInt(h[j], 16))
-      }
-    }
-  }
-  return byteArray
-}
-
-function asciiToBytes (str) {
-  var byteArray = []
-  for (var i = 0; i < str.length; i++) {
-    // Node's code seems to be doing this and not & 0x7F..
-    byteArray.push(str.charCodeAt(i) & 0xFF)
-  }
-  return byteArray
-}
-
-function utf16leToBytes (str) {
-  var c, hi, lo
-  var byteArray = []
-  for (var i = 0; i < str.length; i++) {
-    c = str.charCodeAt(i)
-    hi = c >> 8
-    lo = c % 256
-    byteArray.push(lo)
-    byteArray.push(hi)
-  }
-
-  return byteArray
-}
-
-function base64ToBytes (str) {
-  return base64.toByteArray(str)
-}
-
-function blitBuffer (src, dst, offset, length) {
-  for (var i = 0; i < length; i++) {
-    if ((i + offset >= dst.length) || (i >= src.length))
-      break
-    dst[i + offset] = src[i]
-  }
-  return i
-}
-
-function decodeUtf8Char (str) {
-  try {
-    return decodeURIComponent(str)
-  } catch (err) {
-    return String.fromCharCode(0xFFFD) // UTF 8 invalid char
-  }
-}
-
-/*
- * We have to make sure that the value is a valid integer. This means that it
- * is non-negative. It has no fractional component and that it does not
- * exceed the maximum allowed value.
- */
-function verifuint (value, max) {
-  assert(typeof value === 'number', 'cannot write a non-number as a number')
-  assert(value >= 0, 'specified a negative value for writing an unsigned value')
-  assert(value <= max, 'value is larger than maximum value for type')
-  assert(Math.floor(value) === value, 'value has a fractional component')
-}
-
-function verifsint (value, max, min) {
-  assert(typeof value === 'number', 'cannot write a non-number as a number')
-  assert(value <= max, 'value larger than maximum allowed value')
-  assert(value >= min, 'value smaller than minimum allowed value')
-  assert(Math.floor(value) === value, 'value has a fractional component')
-}
-
-function verifIEEE754 (value, max, min) {
-  assert(typeof value === 'number', 'cannot write a non-number as a number')
-  assert(value <= max, 'value larger than maximum allowed value')
-  assert(value >= min, 'value smaller than minimum allowed value')
-}
-
-function assert (test, message) {
-  if (!test) throw new Error(message || 'Failed assertion')
-}
-
-},{"base64-js":2,"ieee754":4}],4:[function(require,module,exports){
-exports.read = function(buffer, offset, isLE, mLen, nBytes) {
-  var e, m,
-      eLen = nBytes * 8 - mLen - 1,
-      eMax = (1 << eLen) - 1,
-      eBias = eMax >> 1,
-      nBits = -7,
-      i = isLE ? (nBytes - 1) : 0,
-      d = isLE ? -1 : 1,
-      s = buffer[offset + i];
-
-  i += d;
-
-  e = s & ((1 << (-nBits)) - 1);
-  s >>= (-nBits);
-  nBits += eLen;
-  for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8);
-
-  m = e & ((1 << (-nBits)) - 1);
-  e >>= (-nBits);
-  nBits += mLen;
-  for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8);
-
-  if (e === 0) {
-    e = 1 - eBias;
-  } else if (e === eMax) {
-    return m ? NaN : ((s ? -1 : 1) * Infinity);
-  } else {
-    m = m + Math.pow(2, mLen);
-    e = e - eBias;
-  }
-  return (s ? -1 : 1) * m * Math.pow(2, e - mLen);
-};
-
-exports.write = function(buffer, value, offset, isLE, mLen, nBytes) {
-  var e, m, c,
-      eLen = nBytes * 8 - mLen - 1,
-      eMax = (1 << eLen) - 1,
-      eBias = eMax >> 1,
-      rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0),
-      i = isLE ? 0 : (nBytes - 1),
-      d = isLE ? 1 : -1,
-      s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;
-
-  value = Math.abs(value);
-
-  if (isNaN(value) || value === Infinity) {
-    m = isNaN(value) ? 1 : 0;
-    e = eMax;
-  } else {
-    e = Math.floor(Math.log(value) / Math.LN2);
-    if (value * (c = Math.pow(2, -e)) < 1) {
-      e--;
-      c *= 2;
-    }
-    if (e + eBias >= 1) {
-      value += rt / c;
-    } else {
-      value += rt * Math.pow(2, 1 - eBias);
-    }
-    if (value * c >= 2) {
-      e++;
-      c /= 2;
-    }
-
-    if (e + eBias >= eMax) {
-      m = 0;
-      e = eMax;
-    } else if (e + eBias >= 1) {
-      m = (value * c - 1) * Math.pow(2, mLen);
-      e = e + eBias;
-    } else {
-      m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);
-      e = 0;
-    }
-  }
-
-  for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8);
-
-  e = (e << mLen) | m;
-  eLen += mLen;
-  for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8);
-
-  buffer[offset + i - d] |= s * 128;
-};
-
-},{}],5:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLAttribute, _;
-
-  _ = require('lodash-node');
-
-  module.exports = XMLAttribute = (function() {
-    function XMLAttribute(parent, name, value) {
-      this.stringify = parent.stringify;
-      if (name == null) {
-        throw new Error("Missing attribute name");
-      }
-      if (value == null) {
-        throw new Error("Missing attribute value");
-      }
-      this.name = this.stringify.attName(name);
-      this.value = this.stringify.attValue(value);
-    }
-
-    XMLAttribute.prototype.clone = function() {
-      return _.create(XMLAttribute.prototype, this);
-    };
-
-    XMLAttribute.prototype.toString = function(options, level) {
-      return ' ' + this.name + '="' + this.value + '"';
-    };
-
-    return XMLAttribute;
-
-  })();
-
-}).call(this);
-
-},{"lodash-node":95}],6:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLBuilder, XMLDeclaration, XMLDocType, XMLElement, XMLStringifier, _;
-
-  _ = require('lodash-node');
-
-  XMLStringifier = require('./XMLStringifier');
-
-  XMLDeclaration = require('./XMLDeclaration');
-
-  XMLDocType = require('./XMLDocType');
-
-  XMLElement = require('./XMLElement');
-
-  module.exports = XMLBuilder = (function() {
-    function XMLBuilder(name, options) {
-      var root, temp;
-      if (name == null) {
-        throw new Error("Root element needs a name");
-      }
-      if (options == null) {
-        options = {};
-      }
-      this.options = options;
-      this.stringify = new XMLStringifier(options);
-      temp = new XMLElement(this, 'doc');
-      root = temp.element(name);
-      root.isRoot = true;
-      root.documentObject = this;
-      this.rootObject = root;
-      if (!options.headless) {
-        root.declaration(options);
-        if ((options.pubID != null) || (options.sysID != null)) {
-          root.doctype(options);
-        }
-      }
-    }
-
-    XMLBuilder.prototype.root = function() {
-      return this.rootObject;
-    };
-
-    XMLBuilder.prototype.end = function(options) {
-      return toString(options);
-    };
-
-    XMLBuilder.prototype.toString = function(options) {
-      var indent, newline, pretty, r;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      r = '';
-      if (this.xmldec != null) {
-        r += this.xmldec.toString(options);
-      }
-      if (this.doctype != null) {
-        r += this.doctype.toString(options);
-      }
-      r += this.rootObject.toString(options);
-      if (pretty && r.slice(-newline.length) === newline) {
-        r = r.slice(0, -newline.length);
-      }
-      return r;
-    };
-
-    return XMLBuilder;
-
-  })();
-
-}).call(this);
-
-},{"./XMLDeclaration":13,"./XMLDocType":14,"./XMLElement":15,"./XMLStringifier":19,"lodash-node":95}],7:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(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; };
-
-  _ = require('lodash-node');
-
-  XMLNode = require('./XMLNode');
-
-  module.exports = XMLCData = (function(_super) {
-    __extends(XMLCData, _super);
-
-    function XMLCData(parent, text) {
-      XMLCData.__super__.constructor.call(this, parent);
-      if (text == null) {
-        throw new Error("Missing CDATA text");
-      }
-      this.text = this.stringify.cdata(text);
-    }
-
-    XMLCData.prototype.clone = function() {
-      return _.create(XMLCData.prototype, this);
-    };
-
-    XMLCData.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<![CDATA[' + this.text + ']]>';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLCData;
-
-  })(XMLNode);
-
-}).call(this);
-
-},{"./XMLNode":16,"lodash-node":95}],8:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(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; };
-
-  _ = require('lodash-node');
-
-  XMLNode = require('./XMLNode');
-
-  module.exports = XMLComment = (function(_super) {
-    __extends(XMLComment, _super);
-
-    function XMLComment(parent, text) {
-      XMLComment.__super__.constructor.call(this, parent);
-      if (text == null) {
-        throw new Error("Missing comment text");
-      }
-      this.text = this.stringify.comment(text);
-    }
-
-    XMLComment.prototype.clone = function() {
-      return _.create(XMLComment.prototype, this);
-    };
-
-    XMLComment.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<!-- ' + this.text + ' -->';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLComment;
-
-  })(XMLNode);
-
-}).call(this);
-
-},{"./XMLNode":16,"lodash-node":95}],9:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLDTDAttList, _;
-
-  _ = require('lodash-node');
-
-  module.exports = XMLDTDAttList = (function() {
-    function XMLDTDAttList(parent, elementName, attributeName, attributeType, defaultValueType, defaultValue) {
-      this.stringify = parent.stringify;
-      if (elementName == null) {
-        throw new Error("Missing DTD element name");
-      }
-      if (attributeName == null) {
-        throw new Error("Missing DTD attribute name");
-      }
-      if (!attributeType) {
-        throw new Error("Missing DTD attribute type");
-      }
-      if (!defaultValueType) {
-        throw new Error("Missing DTD attribute default");
-      }
-      if (defaultValueType.indexOf('#') !== 0) {
-        defaultValueType = '#' + defaultValueType;
-      }
-      if (!defaultValueType.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/)) {
-        throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT");
-      }
-      if (defaultValue && !defaultValueType.match(/^(#FIXED|#DEFAULT)$/)) {
-        throw new Error("Default value only applies to #FIXED or #DEFAULT");
-      }
-      this.elementName = this.stringify.eleName(elementName);
-      this.attributeName = this.stringify.attName(attributeName);
-      this.attributeType = this.stringify.dtdAttType(attributeType);
-      this.defaultValue = this.stringify.dtdAttDefault(defaultValue);
-      this.defaultValueType = defaultValueType;
-    }
-
-    XMLDTDAttList.prototype.clone = function() {
-      return _.create(XMLDTDAttList.prototype, this);
-    };
-
-    XMLDTDAttList.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<!ATTLIST ' + this.elementName + ' ' + this.attributeName + ' ' + this.attributeType;
-      if (this.defaultValueType !== '#DEFAULT') {
-        r += ' ' + this.defaultValueType;
-      }
-      if (this.defaultValue) {
-        r += ' "' + this.defaultValue + '"';
-      }
-      r += '>';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLDTDAttList;
-
-  })();
-
-}).call(this);
-
-},{"lodash-node":95}],10:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLDTDElement, _;
-
-  _ = require('lodash-node');
-
-  module.exports = XMLDTDElement = (function() {
-    function XMLDTDElement(parent, name, value) {
-      this.stringify = parent.stringify;
-      if (name == null) {
-        throw new Error("Missing DTD element name");
-      }
-      if (!value) {
-        value = '(#PCDATA)';
-      }
-      if (_.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;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<!ELEMENT ' + this.name + ' ' + this.value + '>';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLDTDElement;
-
-  })();
-
-}).call(this);
-
-},{"lodash-node":95}],11:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLDTDEntity, _;
-
-  _ = require('lodash-node');
-
-  module.exports = XMLDTDEntity = (function() {
-    function XMLDTDEntity(parent, pe, name, value) {
-      this.stringify = parent.stringify;
-      if (name == null) {
-        throw new Error("Missing entity name");
-      }
-      if (value == null) {
-        throw new Error("Missing entity value");
-      }
-      this.pe = !!pe;
-      this.name = this.stringify.eleName(name);
-      if (!_.isObject(value)) {
-        this.value = this.stringify.dtdEntityValue(value);
-      } else {
-        if (!value.pubID && !value.sysID) {
-          throw new Error("Public and/or system identifiers are required for an external entity");
-        }
-        if (value.pubID && !value.sysID) {
-          throw new Error("System identifier is required for a public external entity");
-        }
-        if (value.pubID != null) {
-          this.pubID = this.stringify.dtdPubID(value.pubID);
-        }
-        if (value.sysID != null) {
-          this.sysID = this.stringify.dtdSysID(value.sysID);
-        }
-        if (value.nData != null) {
-          this.nData = this.stringify.dtdNData(value.nData);
-        }
-        if (this.pe && this.nData) {
-          throw new Error("Notation declaration is not allowed in a parameter entity");
-        }
-      }
-    }
-
-    XMLDTDEntity.prototype.clone = function() {
-      return _.create(XMLDTDEntity.prototype, this);
-    };
-
-    XMLDTDEntity.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<!ENTITY';
-      if (this.pe) {
-        r += ' %';
-      }
-      r += ' ' + this.name;
-      if (this.value) {
-        r += ' "' + this.value + '"';
-      } else {
-        if (this.pubID && this.sysID) {
-          r += ' PUBLIC "' + this.pubID + '" "' + this.sysID + '"';
-        } else if (this.sysID) {
-          r += ' SYSTEM "' + this.sysID + '"';
-        }
-        if (this.nData) {
-          r += ' NDATA ' + this.nData;
-        }
-      }
-      r += '>';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLDTDEntity;
-
-  })();
-
-}).call(this);
-
-},{"lodash-node":95}],12:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLDTDNotation, _;
-
-  _ = require('lodash-node');
-
-  module.exports = XMLDTDNotation = (function() {
-    function XMLDTDNotation(parent, name, value) {
-      this.stringify = parent.stringify;
-      if (name == null) {
-        throw new Error("Missing notation name");
-      }
-      if (!value.pubID && !value.sysID) {
-        throw new Error("Public or system identifiers are required for an external entity");
-      }
-      this.name = this.stringify.eleName(name);
-      if (value.pubID != null) {
-        this.pubID = this.stringify.dtdPubID(value.pubID);
-      }
-      if (value.sysID != null) {
-        this.sysID = this.stringify.dtdSysID(value.sysID);
-      }
-    }
-
-    XMLDTDNotation.prototype.clone = function() {
-      return _.create(XMLDTDNotation.prototype, this);
-    };
-
-    XMLDTDNotation.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<!NOTATION ' + this.name;
-      if (this.pubID && this.sysID) {
-        r += ' PUBLIC "' + this.pubID + '" "' + this.sysID + '"';
-      } else if (this.pubID) {
-        r += ' PUBLIC "' + this.pubID + '"';
-      } else if (this.sysID) {
-        r += ' SYSTEM "' + this.sysID + '"';
-      }
-      r += '>';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLDTDNotation;
-
-  })();
-
-}).call(this);
-
-},{"lodash-node":95}],13:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(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; };
-
-  _ = require('lodash-node');
-
-  XMLNode = require('./XMLNode');
-
-  module.exports = XMLDeclaration = (function(_super) {
-    __extends(XMLDeclaration, _super);
-
-    function XMLDeclaration(parent, version, encoding, standalone) {
-      var _ref;
-      XMLDeclaration.__super__.constructor.call(this, parent);
-      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);
-      }
-      if (encoding != null) {
-        this.encoding = this.stringify.xmlEncoding(encoding);
-      }
-      if (standalone != null) {
-        this.standalone = this.stringify.xmlStandalone(standalone);
-      }
-    }
-
-    XMLDeclaration.prototype.clone = function() {
-      return _.create(XMLDeclaration.prototype, this);
-    };
-
-    XMLDeclaration.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<?xml';
-      if (this.version != null) {
-        r += ' version="' + this.version + '"';
-      }
-      if (this.encoding != null) {
-        r += ' encoding="' + this.encoding + '"';
-      }
-      if (this.standalone != null) {
-        r += ' standalone="' + this.standalone + '"';
-      }
-      r += '?>';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLDeclaration;
-
-  })(XMLNode);
-
-}).call(this);
-
-},{"./XMLNode":16,"lodash-node":95}],14:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLDocType, _;
-
-  _ = require('lodash-node');
-
-  module.exports = XMLDocType = (function() {
-    function XMLDocType(parent, pubID, sysID) {
-      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 (sysID == null) {
-        _ref1 = [pubID, sysID], sysID = _ref1[0], pubID = _ref1[1];
-      }
-      if (pubID != null) {
-        this.pubID = this.stringify.dtdPubID(pubID);
-      }
-      if (sysID != null) {
-        this.sysID = this.stringify.dtdSysID(sysID);
-      }
-    }
-
-    XMLDocType.prototype.clone = function() {
-      return _.create(XMLDocType.prototype, this);
-    };
-
-    XMLDocType.prototype.element = function(name, value) {
-      var XMLDTDElement, child;
-      XMLDTDElement = require('./XMLDTDElement');
-      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');
-      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');
-      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');
-      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');
-      child = new XMLDTDNotation(this, name, value);
-      this.children.push(child);
-      return this;
-    };
-
-    XMLDocType.prototype.cdata = function(value) {
-      var XMLCData, child;
-      XMLCData = require('./XMLCData');
-      child = new XMLCData(this, value);
-      this.children.push(child);
-      return this;
-    };
-
-    XMLDocType.prototype.comment = function(value) {
-      var XMLComment, child;
-      XMLComment = require('./XMLComment');
-      child = new XMLComment(this, value);
-      this.children.push(child);
-      return this;
-    };
-
-    XMLDocType.prototype.instruction = function(target, value) {
-      var XMLProcessingInstruction, child;
-      XMLProcessingInstruction = require('./XMLProcessingInstruction');
-      child = new XMLProcessingInstruction(this, target, value);
-      this.children.push(child);
-      return this;
-    };
-
-    XMLDocType.prototype.root = function() {
-      return this.documentObject.root();
-    };
-
-    XMLDocType.prototype.document = function() {
-      return this.documentObject;
-    };
-
-    XMLDocType.prototype.toString = function(options, level) {
-      var child, indent, newline, pretty, r, space, _i, _len, _ref;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<!DOCTYPE ' + this.root().name;
-      if (this.pubID && this.sysID) {
-        r += ' PUBLIC "' + this.pubID + '" "' + this.sysID + '"';
-      } else if (this.sysID) {
-        r += ' SYSTEM "' + this.sysID + '"';
-      }
-      if (this.children.length > 0) {
-        r += ' [';
-        if (pretty) {
-          r += newline;
-        }
-        _ref = this.children;
-        for (_i = 0, _len = _ref.length; _i < _len; _i++) {
-          child = _ref[_i];
-          r += child.toString(options, level + 1);
-        }
-        r += ']';
-      }
-      r += '>';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    XMLDocType.prototype.ele = function(name, value) {
-      return this.element(name, value);
-    };
-
-    XMLDocType.prototype.att = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) {
-      return this.attList(elementName, attributeName, attributeType, defaultValueType, defaultValue);
-    };
-
-    XMLDocType.prototype.ent = function(name, value) {
-      return this.entity(name, value);
-    };
-
-    XMLDocType.prototype.pent = function(name, value) {
-      return this.pEntity(name, value);
-    };
-
-    XMLDocType.prototype.not = function(name, value) {
-      return this.notation(name, value);
-    };
-
-    XMLDocType.prototype.dat = function(value) {
-      return this.cdata(value);
-    };
-
-    XMLDocType.prototype.com = function(value) {
-      return this.comment(value);
-    };
-
-    XMLDocType.prototype.ins = function(target, value) {
-      return this.instruction(target, value);
-    };
-
-    XMLDocType.prototype.up = function() {
-      return this.root();
-    };
-
-    XMLDocType.prototype.doc = function() {
-      return this.document();
-    };
-
-    return XMLDocType;
-
-  })();
-
-}).call(this);
-
-},{"./XMLCData":7,"./XMLComment":8,"./XMLDTDAttList":9,"./XMLDTDElement":10,"./XMLDTDEntity":11,"./XMLDTDNotation":12,"./XMLProcessingInstruction":17,"lodash-node":95}],15:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(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; };
-
-  _ = require('lodash-node');
-
-  XMLNode = require('./XMLNode');
-
-  XMLAttribute = require('./XMLAttribute');
-
-  XMLProcessingInstruction = require('./XMLProcessingInstruction');
-
-  module.exports = XMLElement = (function(_super) {
-    __extends(XMLElement, _super);
-
-    function XMLElement(parent, name, attributes) {
-      XMLElement.__super__.constructor.call(this, parent);
-      if (name == null) {
-        throw new Error("Missing element name");
-      }
-      this.name = this.stringify.eleName(name);
-      this.children = [];
-      this.instructions = [];
-      this.attributes = {};
-      if (attributes != null) {
-        this.attribute(attributes);
-      }
-    }
-
-    XMLElement.prototype.clone = function() {
-      var att, attName, clonedSelf, pi, _i, _len, _ref, _ref1;
-      clonedSelf = _.create(XMLElement.prototype, this);
-      clonedSelf.attributes = {};
-      _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];
-        clonedSelf.instructions.push(pi.clone());
-      }
-      clonedSelf.children = [];
-      this.children.forEach(function(child) {
-        var clonedChild;
-        clonedChild = child.clone();
-        clonedChild.parent = clonedSelf;
-        return clonedSelf.children.push(clonedChild);
-      });
-      return clonedSelf;
-    };
-
-    XMLElement.prototype.attribute = function(name, value) {
-      var attName, attValue;
-      if (_.isObject(name)) {
-        for (attName in name) {
-          if (!__hasProp.call(name, attName)) continue;
-          attValue = name[attName];
-          this.attribute(attName, attValue);
-        }
-      } else {
-        if (_.isFunction(value)) {
-          value = value.apply();
-        }
-        if (!this.options.skipNullAttributes || (value != null)) {
-          this.attributes[name] = new XMLAttribute(this, name, value);
-        }
-      }
-      return this;
-    };
-
-    XMLElement.prototype.removeAttribute = function(name) {
-      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];
-          delete this.attributes[attName];
-        }
-      } else {
-        delete this.attributes[name];
-      }
-      return this;
-    };
-
-    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];
-          this.instruction(insTarget);
-        }
-      } else if (_.isObject(target)) {
-        for (insTarget in target) {
-          if (!__hasProp.call(target, insTarget)) continue;
-          insValue = target[insTarget];
-          this.instruction(insTarget, insValue);
-        }
-      } else {
-        if (_.isFunction(value)) {
-          value = value.apply();
-        }
-        instruction = new XMLProcessingInstruction(this, target, value);
-        this.instructions.push(instruction);
-      }
-      return this;
-    };
-
-    XMLElement.prototype.toString = function(options, level) {
-      var att, child, indent, instruction, name, newline, pretty, r, space, _i, _j, _len, _len1, _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';
-      level || (level = 0);
-      space = new Array(level + 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);
-      }
-      if (pretty) {
-        r += space;
-      }
-      r += '<' + this.name;
-      _ref1 = this.attributes;
-      for (name in _ref1) {
-        if (!__hasProp.call(_ref1, name)) continue;
-        att = _ref1[name];
-        r += att.toString(options);
-      }
-      if (this.children.length === 0) {
-        r += '/>';
-        if (pretty) {
-          r += newline;
-        }
-      } else if (pretty && this.children.length === 1 && (this.children[0].value != null)) {
-        r += '>';
-        r += this.children[0].value;
-        r += '</' + this.name + '>';
-        r += newline;
-      } else {
-        r += '>';
-        if (pretty) {
-          r += newline;
-        }
-        _ref2 = this.children;
-        for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
-          child = _ref2[_j];
-          r += child.toString(options, level + 1);
-        }
-        if (pretty) {
-          r += space;
-        }
-        r += '</' + this.name + '>';
-        if (pretty) {
-          r += newline;
-        }
-      }
-      return r;
-    };
-
-    XMLElement.prototype.att = function(name, value) {
-      return this.attribute(name, value);
-    };
-
-    XMLElement.prototype.ins = function(target, value) {
-      return this.instruction(target, value);
-    };
-
-    XMLElement.prototype.a = function(name, value) {
-      return this.attribute(name, value);
-    };
-
-    XMLElement.prototype.i = function(target, value) {
-      return this.instruction(target, value);
-    };
-
-    return XMLElement;
-
-  })(XMLNode);
-
-}).call(this);
-
-},{"./XMLAttribute":5,"./XMLNode":16,"./XMLProcessingInstruction":17,"lodash-node":95}],16:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLNode, _,
-    __hasProp = {}.hasOwnProperty;
-
-  _ = require('lodash-node');
-
-  module.exports = XMLNode = (function() {
-    function XMLNode(parent) {
-      this.parent = parent;
-      this.options = this.parent.options;
-      this.stringify = this.parent.stringify;
-    }
-
-    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;
-      lastChild = null;
-      if (attributes == null) {
-        attributes = {};
-      }
-      if (!_.isObject(attributes)) {
-        _ref = [attributes, text], text = _ref[0], attributes = _ref[1];
-      }
-      if (_.isArray(name)) {
-        for (_i = 0, _len = name.length; _i < _len; _i++) {
-          item = name[_i];
-          lastChild = this.element(item);
-        }
-      } else if (_.isFunction(name)) {
-        lastChild = this.element(name.apply());
-      } else if (_.isObject(name)) {
-        for (key in name) {
-          if (!__hasProp.call(name, key)) continue;
-          val = name[key];
-          if (!(val != null)) {
-            continue;
-          }
-          if (_.isFunction(val)) {
-            val = val.apply();
-          }
-          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 {
-            lastChild = this.element(key, val);
-          }
-        }
-      } else {
-        if (!this.options.ignoreDecorators && this.stringify.convertTextKey && name.indexOf(this.stringify.convertTextKey) === 0) {
-          lastChild = this.text(text);
-        } else if (!this.options.ignoreDecorators && this.stringify.convertCDataKey && name.indexOf(this.stringify.convertCDataKey) === 0) {
-          lastChild = this.cdata(text);
-        } else if (!this.options.ignoreDecorators && this.stringify.convertCommentKey && name.indexOf(this.stringify.convertCommentKey) === 0) {
-          lastChild = this.comment(text);
-        } else if (!this.options.ignoreDecorators && this.stringify.convertRawKey && name.indexOf(this.stringify.convertRawKey) === 0) {
-          lastChild = this.raw(text);
-        } else {
-          lastChild = this.node(name, attributes, text);
-        }
-      }
-      if (lastChild == null) {
-        throw new Error("Could not create any elements with: " + name);
-      }
-      return lastChild;
-    };
-
-    XMLNode.prototype.insertBefore = function(name, attributes, text) {
-      var child, i, removed;
-      if (this.isRoot) {
-        throw new Error("Cannot insert elements at root level");
-      }
-      i = this.parent.children.indexOf(this);
-      removed = this.parent.children.splice(i);
-      child = this.parent.element(name, attributes, text);
-      Array.prototype.push.apply(this.parent.children, removed);
-      return child;
-    };
-
-    XMLNode.prototype.insertAfter = function(name, attributes, text) {
-      var child, i, removed;
-      if (this.isRoot) {
-        throw new Error("Cannot insert elements at root level");
-      }
-      i = this.parent.children.indexOf(this);
-      removed = this.parent.children.splice(i + 1);
-      child = this.parent.element(name, attributes, text);
-      Array.prototype.push.apply(this.parent.children, removed);
-      return child;
-    };
-
-    XMLNode.prototype.remove = function() {
-      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;
-      return this.parent;
-    };
-
-    XMLNode.prototype.node = function(name, attributes, text) {
-      var XMLElement, child, _ref;
-      if (attributes == null) {
-        attributes = {};
-      }
-      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);
-      }
-      this.children.push(child);
-      return child;
-    };
-
-    XMLNode.prototype.text = function(value) {
-      var XMLText, child;
-      XMLText = require('./XMLText');
-      child = new XMLText(this, value);
-      this.children.push(child);
-      return this;
-    };
-
-    XMLNode.prototype.cdata = function(value) {
-      var XMLCData, child;
-      XMLCData = require('./XMLCData');
-      child = new XMLCData(this, value);
-      this.children.push(child);
-      return this;
-    };
-
-    XMLNode.prototype.comment = function(value) {
-      var XMLComment, child;
-      XMLComment = require('./XMLComment');
-      child = new XMLComment(this, value);
-      this.children.push(child);
-      return this;
-    };
-
-    XMLNode.prototype.raw = function(value) {
-      var XMLRaw, child;
-      XMLRaw = require('./XMLRaw');
-      child = new XMLRaw(this, value);
-      this.children.push(child);
-      return this;
-    };
-
-    XMLNode.prototype.declaration = function(version, encoding, standalone) {
-      var XMLDeclaration, 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;
-      doc = this.document();
-      XMLDocType = require('./XMLDocType');
-      doctype = new XMLDocType(doc, pubID, sysID);
-      doc.doctype = doctype;
-      return doctype;
-    };
-
-    XMLNode.prototype.up = function() {
-      if (this.isRoot) {
-        throw new Error("The root node has no parent. Use doc() if you need to get the document object.");
-      }
-      return this.parent;
-    };
-
-    XMLNode.prototype.root = function() {
-      var child;
-      if (this.isRoot) {
-        return this;
-      }
-      child = this.parent;
-      while (!child.isRoot) {
-        child = child.parent;
-      }
-      return child;
-    };
-
-    XMLNode.prototype.document = function() {
-      return this.root().documentObject;
-    };
-
-    XMLNode.prototype.end = function(options) {
-      return this.document().toString(options);
-    };
-
-    XMLNode.prototype.prev = function() {
-      var i;
-      if (this.isRoot) {
-        throw new Error("Root node has no siblings");
-      }
-      i = this.parent.children.indexOf(this);
-      if (i < 1) {
-        throw new Error("Already at the first node");
-      }
-      return this.parent.children[i - 1];
-    };
-
-    XMLNode.prototype.next = function() {
-      var i;
-      if (this.isRoot) {
-        throw new Error("Root node has no siblings");
-      }
-      i = this.parent.children.indexOf(this);
-      if (i === -1 || i === this.parent.children.length - 1) {
-        throw new Error("Already at the last node");
-      }
-      return this.parent.children[i + 1];
-    };
-
-    XMLNode.prototype.importXMLBuilder = function(xmlbuilder) {
-      var clonedRoot;
-      clonedRoot = xmlbuilder.root().clone();
-      clonedRoot.parent = this;
-      clonedRoot.isRoot = false;
-      this.children.push(clonedRoot);
-      return this;
-    };
-
-    XMLNode.prototype.ele = function(name, attributes, text) {
-      return this.element(name, attributes, text);
-    };
-
-    XMLNode.prototype.nod = function(name, attributes, text) {
-      return this.node(name, attributes, text);
-    };
-
-    XMLNode.prototype.txt = function(value) {
-      return this.text(value);
-    };
-
-    XMLNode.prototype.dat = function(value) {
-      return this.cdata(value);
-    };
-
-    XMLNode.prototype.com = function(value) {
-      return this.comment(value);
-    };
-
-    XMLNode.prototype.doc = function() {
-      return this.document();
-    };
-
-    XMLNode.prototype.dec = function(version, encoding, standalone) {
-      return this.declaration(version, encoding, standalone);
-    };
-
-    XMLNode.prototype.dtd = function(pubID, sysID) {
-      return this.doctype(pubID, sysID);
-    };
-
-    XMLNode.prototype.e = function(name, attributes, text) {
-      return this.element(name, attributes, text);
-    };
-
-    XMLNode.prototype.n = function(name, attributes, text) {
-      return this.node(name, attributes, text);
-    };
-
-    XMLNode.prototype.t = function(value) {
-      return this.text(value);
-    };
-
-    XMLNode.prototype.d = function(value) {
-      return this.cdata(value);
-    };
-
-    XMLNode.prototype.c = function(value) {
-      return this.comment(value);
-    };
-
-    XMLNode.prototype.r = function(value) {
-      return this.raw(value);
-    };
-
-    XMLNode.prototype.u = function() {
-      return this.up();
-    };
-
-    return XMLNode;
-
-  })();
-
-}).call(this);
-
-},{"./XMLCData":7,"./XMLComment":8,"./XMLDeclaration":13,"./XMLDocType":14,"./XMLElement":15,"./XMLRaw":18,"./XMLText":20,"lodash-node":95}],17:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLProcessingInstruction, _;
-
-  _ = require('lodash-node');
-
-  module.exports = XMLProcessingInstruction = (function() {
-    function XMLProcessingInstruction(parent, target, value) {
-      this.stringify = parent.stringify;
-      if (target == null) {
-        throw new Error("Missing instruction target");
-      }
-      this.target = this.stringify.insTarget(target);
-      if (value) {
-        this.value = this.stringify.insValue(value);
-      }
-    }
-
-    XMLProcessingInstruction.prototype.clone = function() {
-      return _.create(XMLProcessingInstruction.prototype, this);
-    };
-
-    XMLProcessingInstruction.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<?';
-      r += this.target;
-      if (this.value) {
-        r += ' ' + this.value;
-      }
-      r += '?>';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLProcessingInstruction;
-
-  })();
-
-}).call(this);
-
-},{"lodash-node":95}],18:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(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; };
-
-  _ = require('lodash-node');
-
-  XMLNode = require('./XMLNode');
-
-  module.exports = XMLRaw = (function(_super) {
-    __extends(XMLRaw, _super);
-
-    function XMLRaw(parent, text) {
-      XMLRaw.__super__.constructor.call(this, parent);
-      if (text == null) {
-        throw new Error("Missing raw text");
-      }
-      this.value = this.stringify.raw(text);
-    }
-
-    XMLRaw.prototype.clone = function() {
-      return _.create(XMLRaw.prototype, this);
-    };
-
-    XMLRaw.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += this.value;
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLRaw;
-
-  })(XMLNode);
-
-}).call(this);
-
-},{"./XMLNode":16,"lodash-node":95}],19:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLStringifier,
-    __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.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];
-        this[key] = value;
-      }
-    }
-
-    XMLStringifier.prototype.eleName = function(val) {
-      val = '' + val || '';
-      return this.assertLegalChar(val);
-    };
-
-    XMLStringifier.prototype.eleText = function(val) {
-      val = '' + val || '';
-      return this.assertLegalChar(this.escape(val));
-    };
-
-    XMLStringifier.prototype.cdata = function(val) {
-      val = '' + val || '';
-      if (val.match(/]]>/)) {
-        throw new Error("Invalid CDATA text: " + val);
-      }
-      return this.assertLegalChar(val);
-    };
-
-    XMLStringifier.prototype.comment = function(val) {
-      val = '' + val || '';
-      if (val.match(/--/)) {
-        throw new Error("Comment text cannot contain double-hypen: " + val);
-      }
-      return this.assertLegalChar(this.escape(val));
-    };
-
-    XMLStringifier.prototype.raw = function(val) {
-      return '' + val || '';
-    };
-
-    XMLStringifier.prototype.attName = function(val) {
-      return '' + val || '';
-    };
-
-    XMLStringifier.prototype.attValue = function(val) {
-      val = '' + val || '';
-      return this.escape(val);
-    };
-
-    XMLStringifier.prototype.insTarget = function(val) {
-      return '' + val || '';
-    };
-
-    XMLStringifier.prototype.insValue = function(val) {
-      val = '' + val || '';
-      if (val.match(/\?>/)) {
-        throw new Error("Invalid processing instruction value: " + val);
-      }
-      return val;
-    };
-
-    XMLStringifier.prototype.xmlVersion = function(val) {
-      val = '' + val || '';
-      if (!val.match(/1\.[0-9]+/)) {
-        throw new Error("Invalid version number: " + val);
-      }
-      return val;
-    };
-
-    XMLStringifier.prototype.xmlEncoding = function(val) {
-      val = '' + val || '';
-      if (!val.match(/[A-Za-z](?:[A-Za-z0-9._-]|-)*/)) {
-        throw new Error("Invalid encoding: " + options.val);
-      }
-      return val;
-    };
-
-    XMLStringifier.prototype.xmlStandalone = function(val) {
-      if (val) {
-        return "yes";
-      } else {
-        return "no";
-      }
-    };
-
-    XMLStringifier.prototype.dtdPubID = function(val) {
-      return '' + val || '';
-    };
-
-    XMLStringifier.prototype.dtdSysID = function(val) {
-      return '' + val || '';
-    };
-
-    XMLStringifier.prototype.dtdElementValue = function(val) {
-      return '' + val || '';
-    };
-
-    XMLStringifier.prototype.dtdAttType = function(val) {
-      return '' + val || '';
-    };
-
-    XMLStringifier.prototype.dtdAttDefault = function(val) {
-      if (val != null) {
-        return '' + val || '';
-      } else {
-        return val;
-      }
-    };
-
-    XMLStringifier.prototype.dtdEntityValue = function(val) {
-      return '' + val || '';
-    };
-
-    XMLStringifier.prototype.dtdNData = function(val) {
-      return '' + val || '';
-    };
-
-    XMLStringifier.prototype.convertAttKey = '@';
-
-    XMLStringifier.prototype.convertPIKey = '?';
-
-    XMLStringifier.prototy

<TRUNCATED>

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


[25/32] ios commit: CB-11445 Updated checked-in node_modules

Posted by st...@apache.org.
CB-11445 Updated checked-in node_modules


Project: http://git-wip-us.apache.org/repos/asf/cordova-ios/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-ios/commit/0d465c30
Tree: http://git-wip-us.apache.org/repos/asf/cordova-ios/tree/0d465c30
Diff: http://git-wip-us.apache.org/repos/asf/cordova-ios/diff/0d465c30

Branch: refs/heads/master
Commit: 0d465c30619a4bccc988217dba47920517c0e2b0
Parents: d16ffe2
Author: Steve Gill <st...@gmail.com>
Authored: Wed Jun 15 17:11:14 2016 -0700
Committer: Steve Gill <st...@gmail.com>
Committed: Wed Jun 15 17:18:48 2016 -0700

----------------------------------------------------------------------
 node_modules/.bin/ios-sim                       |    16 +-
 node_modules/.bin/ios-sim.cmd                   |     7 -
 node_modules/.bin/nopt                          |    16 +-
 node_modules/.bin/nopt.cmd                      |     7 -
 node_modules/.bin/pegjs                         |    16 +-
 node_modules/.bin/pegjs.cmd                     |     7 -
 node_modules/.bin/semver                        |    16 +-
 node_modules/.bin/semver.cmd                    |     7 -
 node_modules/.bin/shjs                          |    16 +-
 node_modules/.bin/shjs.cmd                      |     7 -
 node_modules/.bin/uuid                          |    16 +-
 node_modules/.bin/uuid.cmd                      |     7 -
 node_modules/abbrev/.npmignore                  |     4 -
 node_modules/abbrev/.travis.yml                 |     5 -
 node_modules/abbrev/CONTRIBUTING.md             |     3 -
 node_modules/abbrev/package.json                |    33 +-
 node_modules/abbrev/test.js                     |    47 -
 node_modules/ansi/package.json                  |     6 +-
 node_modules/balanced-match/package.json        |     6 +-
 node_modules/base64-js/package.json             |     6 +-
 node_modules/big-integer/package.json           |     6 +-
 node_modules/bplist-creator/package.json        |     8 +-
 node_modules/bplist-parser/package.json         |     6 +-
 node_modules/brace-expansion/.npmignore         |     3 -
 node_modules/brace-expansion/example.js         |     8 -
 node_modules/brace-expansion/package.json       |    26 +-
 node_modules/concat-map/package.json            |     6 +-
 node_modules/cordova-common/package.json        |     6 +-
 .../cordova-registry-mapper/package.json        |     8 +-
 node_modules/elementtree/package.json           |     6 +-
 node_modules/glob/package.json                  |     6 +-
 node_modules/inflight/package.json              |     6 +-
 node_modules/inherits/package.json              |     6 +-
 node_modules/ios-sim/node_modules/.bin/nopt     |    16 +-
 node_modules/ios-sim/node_modules/.bin/nopt.cmd |     7 -
 .../node_modules/bplist-parser/package.json     |     6 +-
 .../ios-sim/node_modules/nopt/package.json      |     6 +-
 node_modules/ios-sim/package.json               |     8 +-
 node_modules/lodash-node/LICENSE.txt            |    22 -
 node_modules/lodash-node/README.md              |    44 -
 node_modules/lodash-node/compat/arrays.js       |    40 -
 .../lodash-node/compat/arrays/compact.js        |    38 -
 .../lodash-node/compat/arrays/difference.js     |    31 -
 .../lodash-node/compat/arrays/findIndex.js      |    65 -
 .../lodash-node/compat/arrays/findLastIndex.js  |    63 -
 node_modules/lodash-node/compat/arrays/first.js |    86 -
 .../lodash-node/compat/arrays/flatten.js        |    66 -
 .../lodash-node/compat/arrays/indexOf.js        |    50 -
 .../lodash-node/compat/arrays/initial.js        |    82 -
 .../lodash-node/compat/arrays/intersection.js   |    83 -
 node_modules/lodash-node/compat/arrays/last.js  |    84 -
 .../lodash-node/compat/arrays/lastIndexOf.js    |    54 -
 node_modules/lodash-node/compat/arrays/pull.js  |    57 -
 node_modules/lodash-node/compat/arrays/range.js |    69 -
 .../lodash-node/compat/arrays/remove.js         |    71 -
 node_modules/lodash-node/compat/arrays/rest.js  |    83 -
 .../lodash-node/compat/arrays/sortedIndex.js    |    77 -
 node_modules/lodash-node/compat/arrays/union.js |    30 -
 node_modules/lodash-node/compat/arrays/uniq.js  |    69 -
 .../lodash-node/compat/arrays/without.js        |    31 -
 node_modules/lodash-node/compat/arrays/xor.js   |    46 -
 node_modules/lodash-node/compat/arrays/zip.js   |    40 -
 .../lodash-node/compat/arrays/zipObject.js      |    48 -
 node_modules/lodash-node/compat/chaining.js     |    17 -
 .../lodash-node/compat/chaining/chain.js        |    41 -
 node_modules/lodash-node/compat/chaining/tap.js |    35 -
 .../lodash-node/compat/chaining/wrapperChain.js |    40 -
 .../compat/chaining/wrapperToString.js          |    26 -
 .../compat/chaining/wrapperValueOf.js           |    28 -
 node_modules/lodash-node/compat/collections.js  |    49 -
 .../lodash-node/compat/collections/at.js        |    50 -
 .../lodash-node/compat/collections/contains.js  |    65 -
 .../lodash-node/compat/collections/countBy.js   |    55 -
 .../lodash-node/compat/collections/every.js     |    75 -
 .../lodash-node/compat/collections/filter.js    |    77 -
 .../lodash-node/compat/collections/find.js      |    81 -
 .../lodash-node/compat/collections/findLast.js  |    44 -
 .../lodash-node/compat/collections/forEach.js   |    55 -
 .../compat/collections/forEachRight.js          |    59 -
 .../lodash-node/compat/collections/groupBy.js   |    56 -
 .../lodash-node/compat/collections/indexBy.js   |    54 -
 .../lodash-node/compat/collections/invoke.js    |    47 -
 .../lodash-node/compat/collections/map.js       |    70 -
 .../lodash-node/compat/collections/max.js       |    90 -
 .../lodash-node/compat/collections/min.js       |    90 -
 .../lodash-node/compat/collections/pluck.js     |    33 -
 .../lodash-node/compat/collections/reduce.js    |    67 -
 .../compat/collections/reduceRight.js           |    42 -
 .../lodash-node/compat/collections/reject.js    |    57 -
 .../lodash-node/compat/collections/sample.js    |    52 -
 .../lodash-node/compat/collections/shuffle.js   |    39 -
 .../lodash-node/compat/collections/size.js      |    36 -
 .../lodash-node/compat/collections/some.js      |    76 -
 .../lodash-node/compat/collections/sortBy.js    |   101 -
 .../lodash-node/compat/collections/toArray.js   |    36 -
 .../lodash-node/compat/collections/where.js     |    38 -
 node_modules/lodash-node/compat/functions.js    |    27 -
 .../lodash-node/compat/functions/after.js       |    46 -
 .../lodash-node/compat/functions/bind.js        |    41 -
 .../lodash-node/compat/functions/bindAll.js     |    49 -
 .../lodash-node/compat/functions/bindKey.js     |    52 -
 .../lodash-node/compat/functions/compose.js     |    61 -
 .../compat/functions/createCallback.js          |    81 -
 .../lodash-node/compat/functions/curry.js       |    44 -
 .../lodash-node/compat/functions/debounce.js    |   156 -
 .../lodash-node/compat/functions/defer.js       |    35 -
 .../lodash-node/compat/functions/delay.js       |    36 -
 .../lodash-node/compat/functions/memoize.js     |    71 -
 .../lodash-node/compat/functions/once.js        |    48 -
 .../lodash-node/compat/functions/partial.js     |    34 -
 .../compat/functions/partialRight.js            |    43 -
 .../lodash-node/compat/functions/throttle.js    |    71 -
 .../lodash-node/compat/functions/wrap.js        |    36 -
 node_modules/lodash-node/compat/index.js        |   376 -
 .../lodash-node/compat/internals/arrayPool.js   |    13 -
 .../lodash-node/compat/internals/baseBind.js    |    62 -
 .../lodash-node/compat/internals/baseClone.js   |   154 -
 .../lodash-node/compat/internals/baseCreate.js  |    42 -
 .../compat/internals/baseCreateCallback.js      |    80 -
 .../compat/internals/baseCreateWrapper.js       |    78 -
 .../compat/internals/baseDifference.js          |    52 -
 .../lodash-node/compat/internals/baseEach.js    |    28 -
 .../lodash-node/compat/internals/baseFlatten.js |    52 -
 .../lodash-node/compat/internals/baseIndexOf.js |    32 -
 .../lodash-node/compat/internals/baseIsEqual.js |   212 -
 .../lodash-node/compat/internals/baseMerge.js   |    79 -
 .../lodash-node/compat/internals/baseRandom.js  |    29 -
 .../lodash-node/compat/internals/baseUniq.js    |    64 -
 .../compat/internals/cacheIndexOf.js            |    39 -
 .../lodash-node/compat/internals/cachePush.js   |    38 -
 .../compat/internals/charAtCallback.js          |    22 -
 .../compat/internals/compareAscending.js        |    47 -
 .../compat/internals/createAggregator.js        |    45 -
 .../lodash-node/compat/internals/createCache.js |    45 -
 .../compat/internals/createIterator.js          |   127 -
 .../compat/internals/createWrapper.js           |   106 -
 .../compat/internals/defaultsIteratorOptions.js |    26 -
 .../compat/internals/eachIteratorOptions.js     |    20 -
 .../compat/internals/escapeHtmlChar.js          |    22 -
 .../compat/internals/escapeStringChar.js        |    33 -
 .../compat/internals/forOwnIteratorOptions.js   |    17 -
 .../lodash-node/compat/internals/getArray.js    |    21 -
 .../lodash-node/compat/internals/getObject.js   |    35 -
 .../lodash-node/compat/internals/htmlEscapes.js |    26 -
 .../compat/internals/htmlUnescapes.js           |    15 -
 .../compat/internals/indicatorObject.js         |    13 -
 .../lodash-node/compat/internals/isNative.js    |    34 -
 .../lodash-node/compat/internals/isNode.js      |    23 -
 .../compat/internals/iteratorTemplate.js        |   109 -
 .../lodash-node/compat/internals/keyPrefix.js   |    13 -
 .../compat/internals/largeArraySize.js          |    13 -
 .../compat/internals/lodashWrapper.js           |    23 -
 .../lodash-node/compat/internals/maxPoolSize.js |    13 -
 .../lodash-node/compat/internals/objectPool.js  |    13 -
 .../lodash-node/compat/internals/objectTypes.js |    20 -
 .../compat/internals/reEscapedHtml.js           |    15 -
 .../compat/internals/reInterpolate.js           |    13 -
 .../compat/internals/reUnescapedHtml.js         |    15 -
 .../compat/internals/releaseArray.js            |    25 -
 .../compat/internals/releaseObject.js           |    29 -
 .../lodash-node/compat/internals/setBindData.js |    43 -
 .../compat/internals/shimIsPlainObject.js       |    67 -
 .../lodash-node/compat/internals/shimKeys.js    |    27 -
 .../lodash-node/compat/internals/slice.js       |    38 -
 .../compat/internals/unescapeHtmlChar.js        |    22 -
 node_modules/lodash-node/compat/objects.js      |    52 -
 .../lodash-node/compat/objects/assign.js        |    55 -
 .../lodash-node/compat/objects/clone.js         |    63 -
 .../lodash-node/compat/objects/cloneDeep.js     |    57 -
 .../lodash-node/compat/objects/create.js        |    48 -
 .../lodash-node/compat/objects/defaults.js      |    34 -
 .../lodash-node/compat/objects/findKey.js       |    65 -
 .../lodash-node/compat/objects/findLastKey.js   |    65 -
 .../lodash-node/compat/objects/forIn.js         |    48 -
 .../lodash-node/compat/objects/forInRight.js    |    57 -
 .../lodash-node/compat/objects/forOwn.js        |    36 -
 .../lodash-node/compat/objects/forOwnRight.js   |    44 -
 .../lodash-node/compat/objects/functions.js     |    37 -
 node_modules/lodash-node/compat/objects/has.js  |    35 -
 .../lodash-node/compat/objects/invert.js        |    37 -
 .../lodash-node/compat/objects/isArguments.js   |    52 -
 .../lodash-node/compat/objects/isArray.js       |    45 -
 .../lodash-node/compat/objects/isBoolean.js     |    37 -
 .../lodash-node/compat/objects/isDate.js        |    36 -
 .../lodash-node/compat/objects/isElement.js     |    27 -
 .../lodash-node/compat/objects/isEmpty.js       |    66 -
 .../lodash-node/compat/objects/isEqual.js       |    54 -
 .../lodash-node/compat/objects/isFinite.js      |    46 -
 .../lodash-node/compat/objects/isFunction.js    |    42 -
 .../lodash-node/compat/objects/isNaN.js         |    42 -
 .../lodash-node/compat/objects/isNull.js        |    30 -
 .../lodash-node/compat/objects/isNumber.js      |    39 -
 .../lodash-node/compat/objects/isObject.js      |    39 -
 .../lodash-node/compat/objects/isPlainObject.js |    62 -
 .../lodash-node/compat/objects/isRegExp.js      |    37 -
 .../lodash-node/compat/objects/isString.js      |    37 -
 .../lodash-node/compat/objects/isUndefined.js   |    27 -
 node_modules/lodash-node/compat/objects/keys.js |    42 -
 .../lodash-node/compat/objects/mapValues.js     |    58 -
 .../lodash-node/compat/objects/merge.js         |    97 -
 node_modules/lodash-node/compat/objects/omit.js |    67 -
 .../lodash-node/compat/objects/pairs.js         |    38 -
 node_modules/lodash-node/compat/objects/pick.js |    65 -
 .../lodash-node/compat/objects/transform.js     |    67 -
 .../lodash-node/compat/objects/values.js        |    36 -
 node_modules/lodash-node/compat/support.js      |   177 -
 node_modules/lodash-node/compat/utilities.js    |    28 -
 .../lodash-node/compat/utilities/constant.js    |    31 -
 .../lodash-node/compat/utilities/escape.js      |    31 -
 .../lodash-node/compat/utilities/identity.js    |    28 -
 .../lodash-node/compat/utilities/mixin.js       |    88 -
 .../lodash-node/compat/utilities/noConflict.js  |    30 -
 .../lodash-node/compat/utilities/noop.js        |    26 -
 .../lodash-node/compat/utilities/now.js         |    28 -
 .../lodash-node/compat/utilities/parseInt.js    |    53 -
 .../lodash-node/compat/utilities/property.js    |    40 -
 .../lodash-node/compat/utilities/random.js      |    73 -
 .../lodash-node/compat/utilities/result.js      |    45 -
 .../lodash-node/compat/utilities/template.js    |   216 -
 .../compat/utilities/templateSettings.js        |    73 -
 .../lodash-node/compat/utilities/times.js       |    46 -
 .../lodash-node/compat/utilities/unescape.js    |    32 -
 .../lodash-node/compat/utilities/uniqueId.js    |    34 -
 node_modules/lodash-node/modern/arrays.js       |    40 -
 .../lodash-node/modern/arrays/compact.js        |    38 -
 .../lodash-node/modern/arrays/difference.js     |    31 -
 .../lodash-node/modern/arrays/findIndex.js      |    65 -
 .../lodash-node/modern/arrays/findLastIndex.js  |    63 -
 node_modules/lodash-node/modern/arrays/first.js |    86 -
 .../lodash-node/modern/arrays/flatten.js        |    66 -
 .../lodash-node/modern/arrays/indexOf.js        |    50 -
 .../lodash-node/modern/arrays/initial.js        |    82 -
 .../lodash-node/modern/arrays/intersection.js   |    83 -
 node_modules/lodash-node/modern/arrays/last.js  |    84 -
 .../lodash-node/modern/arrays/lastIndexOf.js    |    54 -
 node_modules/lodash-node/modern/arrays/pull.js  |    57 -
 node_modules/lodash-node/modern/arrays/range.js |    69 -
 .../lodash-node/modern/arrays/remove.js         |    71 -
 node_modules/lodash-node/modern/arrays/rest.js  |    83 -
 .../lodash-node/modern/arrays/sortedIndex.js    |    77 -
 node_modules/lodash-node/modern/arrays/union.js |    30 -
 node_modules/lodash-node/modern/arrays/uniq.js  |    69 -
 .../lodash-node/modern/arrays/without.js        |    31 -
 node_modules/lodash-node/modern/arrays/xor.js   |    46 -
 node_modules/lodash-node/modern/arrays/zip.js   |    40 -
 .../lodash-node/modern/arrays/zipObject.js      |    48 -
 node_modules/lodash-node/modern/chaining.js     |    17 -
 .../lodash-node/modern/chaining/chain.js        |    41 -
 node_modules/lodash-node/modern/chaining/tap.js |    35 -
 .../lodash-node/modern/chaining/wrapperChain.js |    40 -
 .../modern/chaining/wrapperToString.js          |    26 -
 .../modern/chaining/wrapperValueOf.js           |    29 -
 node_modules/lodash-node/modern/collections.js  |    49 -
 .../lodash-node/modern/collections/at.js        |    46 -
 .../lodash-node/modern/collections/contains.js  |    65 -
 .../lodash-node/modern/collections/countBy.js   |    55 -
 .../lodash-node/modern/collections/every.js     |    74 -
 .../lodash-node/modern/collections/filter.js    |    76 -
 .../lodash-node/modern/collections/find.js      |    80 -
 .../lodash-node/modern/collections/findLast.js  |    44 -
 .../lodash-node/modern/collections/forEach.js   |    55 -
 .../modern/collections/forEachRight.js          |    52 -
 .../lodash-node/modern/collections/groupBy.js   |    56 -
 .../lodash-node/modern/collections/indexBy.js   |    54 -
 .../lodash-node/modern/collections/invoke.js    |    47 -
 .../lodash-node/modern/collections/map.js       |    70 -
 .../lodash-node/modern/collections/max.js       |    91 -
 .../lodash-node/modern/collections/min.js       |    91 -
 .../lodash-node/modern/collections/pluck.js     |    33 -
 .../lodash-node/modern/collections/reduce.js    |    67 -
 .../modern/collections/reduceRight.js           |    42 -
 .../lodash-node/modern/collections/reject.js    |    57 -
 .../lodash-node/modern/collections/sample.js    |    49 -
 .../lodash-node/modern/collections/shuffle.js   |    39 -
 .../lodash-node/modern/collections/size.js      |    36 -
 .../lodash-node/modern/collections/some.js      |    76 -
 .../lodash-node/modern/collections/sortBy.js    |   101 -
 .../lodash-node/modern/collections/toArray.js   |    33 -
 .../lodash-node/modern/collections/where.js     |    38 -
 node_modules/lodash-node/modern/functions.js    |    27 -
 .../lodash-node/modern/functions/after.js       |    46 -
 .../lodash-node/modern/functions/bind.js        |    40 -
 .../lodash-node/modern/functions/bindAll.js     |    49 -
 .../lodash-node/modern/functions/bindKey.js     |    52 -
 .../lodash-node/modern/functions/compose.js     |    61 -
 .../modern/functions/createCallback.js          |    81 -
 .../lodash-node/modern/functions/curry.js       |    44 -
 .../lodash-node/modern/functions/debounce.js    |   156 -
 .../lodash-node/modern/functions/defer.js       |    35 -
 .../lodash-node/modern/functions/delay.js       |    36 -
 .../lodash-node/modern/functions/memoize.js     |    71 -
 .../lodash-node/modern/functions/once.js        |    48 -
 .../lodash-node/modern/functions/partial.js     |    34 -
 .../modern/functions/partialRight.js            |    43 -
 .../lodash-node/modern/functions/throttle.js    |    71 -
 .../lodash-node/modern/functions/wrap.js        |    36 -
 node_modules/lodash-node/modern/index.js        |   354 -
 .../lodash-node/modern/internals/arrayPool.js   |    13 -
 .../lodash-node/modern/internals/baseBind.js    |    62 -
 .../lodash-node/modern/internals/baseClone.js   |   152 -
 .../lodash-node/modern/internals/baseCreate.js  |    42 -
 .../modern/internals/baseCreateCallback.js      |    80 -
 .../modern/internals/baseCreateWrapper.js       |    78 -
 .../modern/internals/baseDifference.js          |    52 -
 .../lodash-node/modern/internals/baseFlatten.js |    52 -
 .../lodash-node/modern/internals/baseIndexOf.js |    32 -
 .../lodash-node/modern/internals/baseIsEqual.js |   209 -
 .../lodash-node/modern/internals/baseMerge.js   |    79 -
 .../lodash-node/modern/internals/baseRandom.js  |    29 -
 .../lodash-node/modern/internals/baseUniq.js    |    64 -
 .../modern/internals/cacheIndexOf.js            |    39 -
 .../lodash-node/modern/internals/cachePush.js   |    38 -
 .../modern/internals/charAtCallback.js          |    22 -
 .../modern/internals/compareAscending.js        |    47 -
 .../modern/internals/createAggregator.js        |    45 -
 .../lodash-node/modern/internals/createCache.js |    45 -
 .../modern/internals/createWrapper.js           |   106 -
 .../modern/internals/escapeHtmlChar.js          |    22 -
 .../modern/internals/escapeStringChar.js        |    33 -
 .../lodash-node/modern/internals/getArray.js    |    21 -
 .../lodash-node/modern/internals/getObject.js   |    35 -
 .../lodash-node/modern/internals/htmlEscapes.js |    26 -
 .../modern/internals/htmlUnescapes.js           |    15 -
 .../lodash-node/modern/internals/isNative.js    |    34 -
 .../lodash-node/modern/internals/keyPrefix.js   |    13 -
 .../modern/internals/largeArraySize.js          |    13 -
 .../modern/internals/lodashWrapper.js           |    23 -
 .../lodash-node/modern/internals/maxPoolSize.js |    13 -
 .../lodash-node/modern/internals/objectPool.js  |    13 -
 .../lodash-node/modern/internals/objectTypes.js |    20 -
 .../modern/internals/reEscapedHtml.js           |    15 -
 .../modern/internals/reInterpolate.js           |    13 -
 .../modern/internals/reUnescapedHtml.js         |    15 -
 .../modern/internals/releaseArray.js            |    25 -
 .../modern/internals/releaseObject.js           |    29 -
 .../lodash-node/modern/internals/setBindData.js |    43 -
 .../modern/internals/shimIsPlainObject.js       |    52 -
 .../lodash-node/modern/internals/shimKeys.js    |    38 -
 .../lodash-node/modern/internals/slice.js       |    38 -
 .../modern/internals/unescapeHtmlChar.js        |    22 -
 node_modules/lodash-node/modern/objects.js      |    52 -
 .../lodash-node/modern/objects/assign.js        |    70 -
 .../lodash-node/modern/objects/clone.js         |    63 -
 .../lodash-node/modern/objects/cloneDeep.js     |    57 -
 .../lodash-node/modern/objects/create.js        |    48 -
 .../lodash-node/modern/objects/defaults.js      |    54 -
 .../lodash-node/modern/objects/findKey.js       |    65 -
 .../lodash-node/modern/objects/findLastKey.js   |    65 -
 .../lodash-node/modern/objects/forIn.js         |    54 -
 .../lodash-node/modern/objects/forInRight.js    |    57 -
 .../lodash-node/modern/objects/forOwn.js        |    50 -
 .../lodash-node/modern/objects/forOwnRight.js   |    44 -
 .../lodash-node/modern/objects/functions.js     |    37 -
 node_modules/lodash-node/modern/objects/has.js  |    35 -
 .../lodash-node/modern/objects/invert.js        |    37 -
 .../lodash-node/modern/objects/isArguments.js   |    40 -
 .../lodash-node/modern/objects/isArray.js       |    45 -
 .../lodash-node/modern/objects/isBoolean.js     |    37 -
 .../lodash-node/modern/objects/isDate.js        |    36 -
 .../lodash-node/modern/objects/isElement.js     |    27 -
 .../lodash-node/modern/objects/isEmpty.js       |    63 -
 .../lodash-node/modern/objects/isEqual.js       |    54 -
 .../lodash-node/modern/objects/isFinite.js      |    46 -
 .../lodash-node/modern/objects/isFunction.js    |    27 -
 .../lodash-node/modern/objects/isNaN.js         |    42 -
 .../lodash-node/modern/objects/isNull.js        |    30 -
 .../lodash-node/modern/objects/isNumber.js      |    39 -
 .../lodash-node/modern/objects/isObject.js      |    39 -
 .../lodash-node/modern/objects/isPlainObject.js |    60 -
 .../lodash-node/modern/objects/isRegExp.js      |    36 -
 .../lodash-node/modern/objects/isString.js      |    37 -
 .../lodash-node/modern/objects/isUndefined.js   |    27 -
 node_modules/lodash-node/modern/objects/keys.js |    36 -
 .../lodash-node/modern/objects/mapValues.js     |    58 -
 .../lodash-node/modern/objects/merge.js         |    97 -
 node_modules/lodash-node/modern/objects/omit.js |    67 -
 .../lodash-node/modern/objects/pairs.js         |    38 -
 node_modules/lodash-node/modern/objects/pick.js |    65 -
 .../lodash-node/modern/objects/transform.js     |    67 -
 .../lodash-node/modern/objects/values.js        |    36 -
 node_modules/lodash-node/modern/support.js      |    40 -
 node_modules/lodash-node/modern/utilities.js    |    28 -
 .../lodash-node/modern/utilities/constant.js    |    31 -
 .../lodash-node/modern/utilities/escape.js      |    31 -
 .../lodash-node/modern/utilities/identity.js    |    28 -
 .../lodash-node/modern/utilities/mixin.js       |    88 -
 .../lodash-node/modern/utilities/noConflict.js  |    30 -
 .../lodash-node/modern/utilities/noop.js        |    26 -
 .../lodash-node/modern/utilities/now.js         |    28 -
 .../lodash-node/modern/utilities/parseInt.js    |    53 -
 .../lodash-node/modern/utilities/property.js    |    40 -
 .../lodash-node/modern/utilities/random.js      |    73 -
 .../lodash-node/modern/utilities/result.js      |    45 -
 .../lodash-node/modern/utilities/template.js    |   216 -
 .../modern/utilities/templateSettings.js        |    73 -
 .../lodash-node/modern/utilities/times.js       |    46 -
 .../lodash-node/modern/utilities/unescape.js    |    32 -
 .../lodash-node/modern/utilities/uniqueId.js    |    34 -
 node_modules/lodash-node/package.json           |   111 -
 node_modules/lodash-node/underscore/arrays.js   |    35 -
 .../lodash-node/underscore/arrays/compact.js    |    38 -
 .../lodash-node/underscore/arrays/difference.js |    31 -
 .../lodash-node/underscore/arrays/first.js      |    86 -
 .../lodash-node/underscore/arrays/flatten.js    |    56 -
 .../lodash-node/underscore/arrays/indexOf.js    |    50 -
 .../lodash-node/underscore/arrays/initial.js    |    82 -
 .../underscore/arrays/intersection.js           |    60 -
 .../lodash-node/underscore/arrays/last.js       |    84 -
 .../underscore/arrays/lastIndexOf.js            |    54 -
 .../lodash-node/underscore/arrays/range.js      |    69 -
 .../lodash-node/underscore/arrays/rest.js       |    83 -
 .../underscore/arrays/sortedIndex.js            |    77 -
 .../lodash-node/underscore/arrays/union.js      |    30 -
 .../lodash-node/underscore/arrays/uniq.js       |    69 -
 .../lodash-node/underscore/arrays/without.js    |    31 -
 .../lodash-node/underscore/arrays/zip.js        |    39 -
 .../lodash-node/underscore/arrays/zipObject.js  |    48 -
 node_modules/lodash-node/underscore/chaining.js |    16 -
 .../lodash-node/underscore/chaining/chain.js    |    41 -
 .../lodash-node/underscore/chaining/tap.js      |    35 -
 .../underscore/chaining/wrapperChain.js         |    40 -
 .../underscore/chaining/wrapperValueOf.js       |    29 -
 .../lodash-node/underscore/collections.js       |    47 -
 .../underscore/collections/contains.js          |    54 -
 .../underscore/collections/countBy.js           |    55 -
 .../lodash-node/underscore/collections/every.js |    75 -
 .../underscore/collections/filter.js            |    76 -
 .../lodash-node/underscore/collections/find.js  |    81 -
 .../underscore/collections/findWhere.js         |    38 -
 .../underscore/collections/forEach.js           |    55 -
 .../underscore/collections/forEachRight.js      |    51 -
 .../underscore/collections/groupBy.js           |    56 -
 .../underscore/collections/indexBy.js           |    54 -
 .../underscore/collections/invoke.js            |    47 -
 .../lodash-node/underscore/collections/map.js   |    70 -
 .../lodash-node/underscore/collections/max.js   |    86 -
 .../lodash-node/underscore/collections/min.js   |    86 -
 .../lodash-node/underscore/collections/pluck.js |    33 -
 .../underscore/collections/reduce.js            |    67 -
 .../underscore/collections/reduceRight.js       |    42 -
 .../underscore/collections/reject.js            |    57 -
 .../underscore/collections/sample.js            |    49 -
 .../underscore/collections/shuffle.js           |    39 -
 .../lodash-node/underscore/collections/size.js  |    36 -
 .../lodash-node/underscore/collections/some.js  |    77 -
 .../underscore/collections/sortBy.js            |    86 -
 .../underscore/collections/toArray.js           |    37 -
 .../lodash-node/underscore/collections/where.js |    44 -
 .../lodash-node/underscore/functions.js         |    24 -
 .../lodash-node/underscore/functions/after.js   |    46 -
 .../lodash-node/underscore/functions/bind.js    |    40 -
 .../lodash-node/underscore/functions/bindAll.js |    49 -
 .../lodash-node/underscore/functions/compose.js |    61 -
 .../underscore/functions/createCallback.js      |    67 -
 .../underscore/functions/debounce.js            |   156 -
 .../lodash-node/underscore/functions/defer.js   |    35 -
 .../lodash-node/underscore/functions/delay.js   |    36 -
 .../lodash-node/underscore/functions/memoize.js |    65 -
 .../lodash-node/underscore/functions/once.js    |    48 -
 .../lodash-node/underscore/functions/partial.js |    34 -
 .../underscore/functions/throttle.js            |    65 -
 .../lodash-node/underscore/functions/wrap.js    |    36 -
 node_modules/lodash-node/underscore/index.js    |   284 -
 .../underscore/internals/baseBind.js            |    60 -
 .../underscore/internals/baseCreate.js          |    42 -
 .../underscore/internals/baseCreateCallback.js  |    47 -
 .../underscore/internals/baseCreateWrapper.js   |    76 -
 .../underscore/internals/baseDifference.js      |    35 -
 .../underscore/internals/baseFlatten.js         |    52 -
 .../underscore/internals/baseIndexOf.js         |    32 -
 .../underscore/internals/baseIsEqual.js         |   149 -
 .../underscore/internals/baseRandom.js          |    29 -
 .../underscore/internals/baseUniq.js            |    45 -
 .../underscore/internals/compareAscending.js    |    47 -
 .../underscore/internals/createAggregator.js    |    45 -
 .../underscore/internals/createWrapper.js       |    60 -
 .../underscore/internals/escapeHtmlChar.js      |    22 -
 .../underscore/internals/escapeStringChar.js    |    33 -
 .../underscore/internals/htmlEscapes.js         |    26 -
 .../underscore/internals/htmlUnescapes.js       |    15 -
 .../underscore/internals/indicatorObject.js     |    13 -
 .../underscore/internals/isNative.js            |    34 -
 .../underscore/internals/keyPrefix.js           |    13 -
 .../underscore/internals/lodashWrapper.js       |    23 -
 .../underscore/internals/objectTypes.js         |    20 -
 .../underscore/internals/reEscapedHtml.js       |    15 -
 .../underscore/internals/reInterpolate.js       |    13 -
 .../underscore/internals/reUnescapedHtml.js     |    15 -
 .../underscore/internals/shimKeys.js            |    38 -
 .../lodash-node/underscore/internals/slice.js   |    38 -
 .../underscore/internals/unescapeHtmlChar.js    |    22 -
 node_modules/lodash-node/underscore/objects.js  |    42 -
 .../lodash-node/underscore/objects/assign.js    |    58 -
 .../lodash-node/underscore/objects/clone.js     |    61 -
 .../lodash-node/underscore/objects/defaults.js  |    49 -
 .../lodash-node/underscore/objects/forIn.js     |    54 -
 .../lodash-node/underscore/objects/forOwn.js    |    53 -
 .../lodash-node/underscore/objects/functions.js |    37 -
 .../lodash-node/underscore/objects/has.js       |    35 -
 .../lodash-node/underscore/objects/invert.js    |    37 -
 .../underscore/objects/isArguments.js           |    51 -
 .../lodash-node/underscore/objects/isArray.js   |    45 -
 .../lodash-node/underscore/objects/isBoolean.js |    37 -
 .../lodash-node/underscore/objects/isDate.js    |    36 -
 .../lodash-node/underscore/objects/isElement.js |    27 -
 .../lodash-node/underscore/objects/isEmpty.js   |    54 -
 .../lodash-node/underscore/objects/isEqual.js   |    53 -
 .../lodash-node/underscore/objects/isFinite.js  |    46 -
 .../underscore/objects/isFunction.js            |    42 -
 .../lodash-node/underscore/objects/isNaN.js     |    42 -
 .../lodash-node/underscore/objects/isNull.js    |    30 -
 .../lodash-node/underscore/objects/isNumber.js  |    39 -
 .../lodash-node/underscore/objects/isObject.js  |    39 -
 .../lodash-node/underscore/objects/isRegExp.js  |    37 -
 .../lodash-node/underscore/objects/isString.js  |    37 -
 .../underscore/objects/isUndefined.js           |    27 -
 .../lodash-node/underscore/objects/keys.js      |    36 -
 .../lodash-node/underscore/objects/omit.js      |    57 -
 .../lodash-node/underscore/objects/pairs.js     |    38 -
 .../lodash-node/underscore/objects/pick.js      |    53 -
 .../lodash-node/underscore/objects/values.js    |    36 -
 node_modules/lodash-node/underscore/support.js  |    46 -
 .../lodash-node/underscore/utilities.js         |    26 -
 .../lodash-node/underscore/utilities/escape.js  |    31 -
 .../underscore/utilities/identity.js            |    28 -
 .../lodash-node/underscore/utilities/mixin.js   |    74 -
 .../underscore/utilities/noConflict.js          |    30 -
 .../lodash-node/underscore/utilities/noop.js    |    26 -
 .../lodash-node/underscore/utilities/now.js     |    28 -
 .../underscore/utilities/property.js            |    40 -
 .../lodash-node/underscore/utilities/random.js  |    58 -
 .../lodash-node/underscore/utilities/result.js  |    45 -
 .../underscore/utilities/template.js            |   163 -
 .../underscore/utilities/templateSettings.js    |    73 -
 .../lodash-node/underscore/utilities/times.js   |    46 -
 .../underscore/utilities/unescape.js            |    32 -
 .../underscore/utilities/uniqueId.js            |    34 -
 node_modules/lodash/package.json                |     6 +-
 node_modules/minimatch/package.json             |     6 +-
 node_modules/node-uuid/bin/uuid                 |     0
 node_modules/node-uuid/package.json             |     6 +-
 node_modules/nopt/package.json                  |     6 +-
 node_modules/once/package.json                  |     6 +-
 node_modules/os-homedir/package.json            |     6 +-
 node_modules/os-tmpdir/package.json             |     6 +-
 node_modules/osenv/package.json                 |     6 +-
 node_modules/path-is-absolute/package.json      |     6 +-
 node_modules/pegjs/CHANGELOG                    |   146 -
 node_modules/pegjs/CHANGELOG.md                 |   508 +
 node_modules/pegjs/LICENSE                      |     2 +-
 node_modules/pegjs/README.md                    |   375 +-
 node_modules/pegjs/VERSION                      |     2 +-
 node_modules/pegjs/bin/pegjs                    |   182 +-
 node_modules/pegjs/examples/arithmetics.pegjs   |    52 +-
 node_modules/pegjs/examples/css.pegjs           |   491 +-
 node_modules/pegjs/examples/javascript.pegjs    |  1650 +-
 node_modules/pegjs/examples/json.pegjs          |   204 +-
 node_modules/pegjs/lib/compiler.js              |    60 +
 node_modules/pegjs/lib/compiler/asts.js         |    64 +
 node_modules/pegjs/lib/compiler/javascript.js   |    57 +
 node_modules/pegjs/lib/compiler/opcodes.js      |    54 +
 .../lib/compiler/passes/generate-bytecode.js    |   618 +
 .../lib/compiler/passes/generate-javascript.js  |  1213 ++
 .../lib/compiler/passes/remove-proxy-rules.js   |    42 +
 .../compiler/passes/report-infinite-loops.js    |    29 +
 .../compiler/passes/report-left-recursion.js    |    53 +
 .../lib/compiler/passes/report-missing-rules.js |    23 +
 node_modules/pegjs/lib/compiler/visitor.js      |    71 +
 node_modules/pegjs/lib/grammar-error.js         |    18 +
 node_modules/pegjs/lib/parser.js                |  4974 ++++++
 node_modules/pegjs/lib/peg.js                   |  5140 +-----
 node_modules/pegjs/lib/utils/arrays.js          |   108 +
 node_modules/pegjs/lib/utils/classes.js         |    12 +
 node_modules/pegjs/lib/utils/objects.js         |    54 +
 node_modules/pegjs/package.json                 |    89 +-
 node_modules/plist/package.json                 |     9 +-
 node_modules/q/package.json                     |     6 +-
 node_modules/sax/package.json                   |     6 +-
 node_modules/semver/package.json                |     6 +-
 node_modules/shelljs/package.json               |     6 +-
 node_modules/simctl/node_modules/.bin/shjs      |    16 +-
 node_modules/simctl/node_modules/.bin/shjs.cmd  |     7 -
 .../simctl/node_modules/shelljs/package.json    |     6 +-
 node_modules/simctl/package.json                |     6 +-
 node_modules/simple-plist/README.md             |    34 +-
 .../node_modules/base64-js/.travis.yml          |     5 -
 .../node_modules/base64-js/LICENSE.MIT          |    21 -
 .../node_modules/base64-js/README.md            |    31 -
 .../node_modules/base64-js/bench/bench.js       |    19 -
 .../node_modules/base64-js/lib/b64.js           |   121 -
 .../node_modules/base64-js/package.json         |    87 -
 .../node_modules/base64-js/test/convert.js      |    52 -
 .../node_modules/bplist-parser/package.json     |     6 +-
 .../simple-plist/node_modules/plist/.jshintrc   |     4 -
 .../simple-plist/node_modules/plist/.travis.yml |    32 -
 .../simple-plist/node_modules/plist/History.md  |   112 -
 .../simple-plist/node_modules/plist/LICENSE     |    24 -
 .../simple-plist/node_modules/plist/Makefile    |    76 -
 .../simple-plist/node_modules/plist/README.md   |   113 -
 .../node_modules/plist/dist/plist-build.js      | 12596 --------------
 .../node_modules/plist/dist/plist-parse.js      |  3628 ----
 .../node_modules/plist/dist/plist.js            | 14920 -----------------
 .../plist/examples/browser/index.html           |    14 -
 .../node_modules/plist/lib/build.js             |   136 -
 .../simple-plist/node_modules/plist/lib/node.js |    49 -
 .../node_modules/plist/lib/parse.js             |   200 -
 .../node_modules/plist/lib/plist.js             |    23 -
 .../node_modules/plist/package.json             |   115 -
 .../node_modules/plist/test/build.js            |   133 -
 .../node_modules/plist/test/parse.js            |   448 -
 .../node_modules/util-deprecate/History.md      |     5 -
 .../node_modules/util-deprecate/LICENSE         |    24 -
 .../node_modules/util-deprecate/README.md       |    53 -
 .../node_modules/util-deprecate/browser.js      |    55 -
 .../node_modules/util-deprecate/node.js         |     6 -
 .../node_modules/util-deprecate/package.json    |    79 -
 .../node_modules/xmlbuilder/.npmignore          |     4 -
 .../node_modules/xmlbuilder/LICENSE             |    21 -
 .../node_modules/xmlbuilder/README.md           |    82 -
 .../node_modules/xmlbuilder/lib/XMLAttribute.js |    32 -
 .../node_modules/xmlbuilder/lib/XMLBuilder.js   |    70 -
 .../node_modules/xmlbuilder/lib/XMLCData.js     |    48 -
 .../node_modules/xmlbuilder/lib/XMLComment.js   |    48 -
 .../xmlbuilder/lib/XMLDTDAttList.js             |    71 -
 .../xmlbuilder/lib/XMLDTDElement.js             |    49 -
 .../node_modules/xmlbuilder/lib/XMLDTDEntity.js |    85 -
 .../xmlbuilder/lib/XMLDTDNotation.js            |    59 -
 .../xmlbuilder/lib/XMLDeclaration.js            |    70 -
 .../node_modules/xmlbuilder/lib/XMLDocType.js   |   183 -
 .../node_modules/xmlbuilder/lib/XMLElement.js   |   190 -
 .../node_modules/xmlbuilder/lib/XMLNode.js      |   304 -
 .../xmlbuilder/lib/XMLProcessingInstruction.js  |    50 -
 .../node_modules/xmlbuilder/lib/XMLRaw.js       |    48 -
 .../xmlbuilder/lib/XMLStringifier.js            |   163 -
 .../node_modules/xmlbuilder/lib/XMLText.js      |    49 -
 .../node_modules/xmlbuilder/lib/index.js        |    14 -
 .../node_modules/xmlbuilder/package.json        |    99 -
 node_modules/simple-plist/package.json          |    46 +-
 node_modules/simple-plist/simple-plist.js       |   114 +-
 node_modules/stream-buffers/package.json        |     6 +-
 node_modules/tail/package.json                  |     6 +-
 node_modules/underscore/package.json            |     6 +-
 node_modules/unorm/package.json                 |     8 +-
 node_modules/util-deprecate/package.json        |     6 +-
 node_modules/wrappy/package.json                |     6 +-
 node_modules/xcode/lib/pbxFile.js               |     4 +
 node_modules/xcode/lib/pbxProject.js            |    41 +-
 node_modules/xcode/package.json                 |    28 +-
 node_modules/xmlbuilder/package.json            |     6 +-
 node_modules/xmldom/package.json                |     9 +-
 650 files changed, 9930 insertions(+), 67979 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/.bin/ios-sim
----------------------------------------------------------------------
diff --git a/node_modules/.bin/ios-sim b/node_modules/.bin/ios-sim
index fa593cb..c435a8c 120000
--- a/node_modules/.bin/ios-sim
+++ b/node_modules/.bin/ios-sim
@@ -1,15 +1 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
-    *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
-  "$basedir/node"  "$basedir/../ios-sim/bin/ios-sim" "$@"
-  ret=$?
-else 
-  node  "$basedir/../ios-sim/bin/ios-sim" "$@"
-  ret=$?
-fi
-exit $ret
+../ios-sim/bin/ios-sim
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/.bin/ios-sim.cmd
----------------------------------------------------------------------
diff --git a/node_modules/.bin/ios-sim.cmd b/node_modules/.bin/ios-sim.cmd
deleted file mode 100644
index 85cc81a..0000000
--- a/node_modules/.bin/ios-sim.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
-  "%~dp0\node.exe"  "%~dp0\..\ios-sim\bin\ios-sim" %*
-) ELSE (
-  @SETLOCAL
-  @SET PATHEXT=%PATHEXT:;.JS;=;%
-  node  "%~dp0\..\ios-sim\bin\ios-sim" %*
-)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/.bin/nopt
----------------------------------------------------------------------
diff --git a/node_modules/.bin/nopt b/node_modules/.bin/nopt
index 714334e..6b6566e 120000
--- a/node_modules/.bin/nopt
+++ b/node_modules/.bin/nopt
@@ -1,15 +1 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
-    *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
-  "$basedir/node"  "$basedir/../nopt/bin/nopt.js" "$@"
-  ret=$?
-else 
-  node  "$basedir/../nopt/bin/nopt.js" "$@"
-  ret=$?
-fi
-exit $ret
+../nopt/bin/nopt.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/.bin/nopt.cmd
----------------------------------------------------------------------
diff --git a/node_modules/.bin/nopt.cmd b/node_modules/.bin/nopt.cmd
deleted file mode 100644
index 1626454..0000000
--- a/node_modules/.bin/nopt.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
-  "%~dp0\node.exe"  "%~dp0\..\nopt\bin\nopt.js" %*
-) ELSE (
-  @SETLOCAL
-  @SET PATHEXT=%PATHEXT:;.JS;=;%
-  node  "%~dp0\..\nopt\bin\nopt.js" %*
-)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/.bin/pegjs
----------------------------------------------------------------------
diff --git a/node_modules/.bin/pegjs b/node_modules/.bin/pegjs
index af949a6..67b7cec 120000
--- a/node_modules/.bin/pegjs
+++ b/node_modules/.bin/pegjs
@@ -1,15 +1 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
-    *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
-  "$basedir/node"  "$basedir/../pegjs/bin/pegjs" "$@"
-  ret=$?
-else 
-  node  "$basedir/../pegjs/bin/pegjs" "$@"
-  ret=$?
-fi
-exit $ret
+../pegjs/bin/pegjs
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/.bin/pegjs.cmd
----------------------------------------------------------------------
diff --git a/node_modules/.bin/pegjs.cmd b/node_modules/.bin/pegjs.cmd
deleted file mode 100644
index 717a8a9..0000000
--- a/node_modules/.bin/pegjs.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
-  "%~dp0\node.exe"  "%~dp0\..\pegjs\bin\pegjs" %*
-) ELSE (
-  @SETLOCAL
-  @SET PATHEXT=%PATHEXT:;.JS;=;%
-  node  "%~dp0\..\pegjs\bin\pegjs" %*
-)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/.bin/semver
----------------------------------------------------------------------
diff --git a/node_modules/.bin/semver b/node_modules/.bin/semver
index d592e69..317eb29 120000
--- a/node_modules/.bin/semver
+++ b/node_modules/.bin/semver
@@ -1,15 +1 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
-    *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
-  "$basedir/node"  "$basedir/../semver/bin/semver" "$@"
-  ret=$?
-else 
-  node  "$basedir/../semver/bin/semver" "$@"
-  ret=$?
-fi
-exit $ret
+../semver/bin/semver
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/.bin/semver.cmd
----------------------------------------------------------------------
diff --git a/node_modules/.bin/semver.cmd b/node_modules/.bin/semver.cmd
deleted file mode 100644
index 37c00a4..0000000
--- a/node_modules/.bin/semver.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
-  "%~dp0\node.exe"  "%~dp0\..\semver\bin\semver" %*
-) ELSE (
-  @SETLOCAL
-  @SET PATHEXT=%PATHEXT:;.JS;=;%
-  node  "%~dp0\..\semver\bin\semver" %*
-)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/.bin/shjs
----------------------------------------------------------------------
diff --git a/node_modules/.bin/shjs b/node_modules/.bin/shjs
index 1d45691..a044997 120000
--- a/node_modules/.bin/shjs
+++ b/node_modules/.bin/shjs
@@ -1,15 +1 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
-    *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
-  "$basedir/node"  "$basedir/../shelljs/bin/shjs" "$@"
-  ret=$?
-else 
-  node  "$basedir/../shelljs/bin/shjs" "$@"
-  ret=$?
-fi
-exit $ret
+../shelljs/bin/shjs
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/.bin/shjs.cmd
----------------------------------------------------------------------
diff --git a/node_modules/.bin/shjs.cmd b/node_modules/.bin/shjs.cmd
deleted file mode 100644
index 3d98b0b..0000000
--- a/node_modules/.bin/shjs.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
-  "%~dp0\node.exe"  "%~dp0\..\shelljs\bin\shjs" %*
-) ELSE (
-  @SETLOCAL
-  @SET PATHEXT=%PATHEXT:;.JS;=;%
-  node  "%~dp0\..\shelljs\bin\shjs" %*
-)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/.bin/uuid
----------------------------------------------------------------------
diff --git a/node_modules/.bin/uuid b/node_modules/.bin/uuid
deleted file mode 100644
index 4f0e8e6..0000000
--- a/node_modules/.bin/uuid
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
-    *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
-  "$basedir/node"  "$basedir/../node-uuid/bin/uuid" "$@"
-  ret=$?
-else 
-  node  "$basedir/../node-uuid/bin/uuid" "$@"
-  ret=$?
-fi
-exit $ret
diff --git a/node_modules/.bin/uuid b/node_modules/.bin/uuid
new file mode 120000
index 0000000..80eb14a
--- /dev/null
+++ b/node_modules/.bin/uuid
@@ -0,0 +1 @@
+../node-uuid/bin/uuid
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/.bin/uuid.cmd
----------------------------------------------------------------------
diff --git a/node_modules/.bin/uuid.cmd b/node_modules/.bin/uuid.cmd
deleted file mode 100644
index 9f2abd0..0000000
--- a/node_modules/.bin/uuid.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
-  "%~dp0\node.exe"  "%~dp0\..\node-uuid\bin\uuid" %*
-) ELSE (
-  @SETLOCAL
-  @SET PATHEXT=%PATHEXT:;.JS;=;%
-  node  "%~dp0\..\node-uuid\bin\uuid" %*
-)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/abbrev/.npmignore
----------------------------------------------------------------------
diff --git a/node_modules/abbrev/.npmignore b/node_modules/abbrev/.npmignore
deleted file mode 100644
index 9d6cd2f..0000000
--- a/node_modules/abbrev/.npmignore
+++ /dev/null
@@ -1,4 +0,0 @@
-.nyc_output
-nyc_output
-node_modules
-coverage

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/abbrev/.travis.yml
----------------------------------------------------------------------
diff --git a/node_modules/abbrev/.travis.yml b/node_modules/abbrev/.travis.yml
deleted file mode 100644
index 991d04b..0000000
--- a/node_modules/abbrev/.travis.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-language: node_js
-node_js:
-  - '0.10'
-  - '0.12'
-  - 'iojs'

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/abbrev/CONTRIBUTING.md
----------------------------------------------------------------------
diff --git a/node_modules/abbrev/CONTRIBUTING.md b/node_modules/abbrev/CONTRIBUTING.md
deleted file mode 100644
index 2f30261..0000000
--- a/node_modules/abbrev/CONTRIBUTING.md
+++ /dev/null
@@ -1,3 +0,0 @@
- To get started, <a
- href="http://www.clahub.com/agreements/isaacs/abbrev-js">sign the
- Contributor License Agreement</a>.

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/abbrev/package.json
----------------------------------------------------------------------
diff --git a/node_modules/abbrev/package.json b/node_modules/abbrev/package.json
index afd28ed..89a4376 100644
--- a/node_modules/abbrev/package.json
+++ b/node_modules/abbrev/package.json
@@ -2,20 +2,24 @@
   "_args": [
     [
       "abbrev@1",
-      "D:\\Cordova\\cordova-ios\\node_modules\\ios-sim\\node_modules\\nopt"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/ios-sim/node_modules/nopt"
     ]
   ],
   "_from": "abbrev@>=1.0.0 <2.0.0",
-  "_id": "abbrev@1.0.7",
+  "_id": "abbrev@1.0.9",
   "_inCache": true,
   "_installable": true,
   "_location": "/abbrev",
-  "_nodeVersion": "2.0.1",
+  "_nodeVersion": "4.4.4",
+  "_npmOperationalInternal": {
+    "host": "packages-16-east.internal.npmjs.com",
+    "tmp": "tmp/abbrev-1.0.9.tgz_1466016055839_0.7825860097073019"
+  },
   "_npmUser": {
-    "email": "isaacs@npmjs.com",
+    "email": "i@izs.me",
     "name": "isaacs"
   },
-  "_npmVersion": "2.10.1",
+  "_npmVersion": "3.9.1",
   "_phantomChildren": {},
   "_requested": {
     "name": "abbrev",
@@ -29,11 +33,11 @@
     "/ios-sim/nopt",
     "/nopt"
   ],
-  "_resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz",
-  "_shasum": "5b6035b2ee9d4fb5cf859f08a9be81b208491843",
+  "_resolved": "http://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
+  "_shasum": "91b4792588a7738c25f35dd6f63752a2f8776135",
   "_shrinkwrap": null,
   "_spec": "abbrev@1",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\ios-sim\\node_modules\\nopt",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/ios-sim/node_modules/nopt",
   "author": {
     "email": "i@izs.me",
     "name": "Isaac Z. Schlueter"
@@ -44,14 +48,17 @@
   "dependencies": {},
   "description": "Like ruby's abbrev module, but in js",
   "devDependencies": {
-    "tap": "^1.2.0"
+    "tap": "^5.7.2"
   },
   "directories": {},
   "dist": {
-    "shasum": "5b6035b2ee9d4fb5cf859f08a9be81b208491843",
-    "tarball": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz"
+    "shasum": "91b4792588a7738c25f35dd6f63752a2f8776135",
+    "tarball": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz"
   },
-  "gitHead": "821d09ce7da33627f91bbd8ed631497ed6f760c2",
+  "files": [
+    "abbrev.js"
+  ],
+  "gitHead": "c386cd9dbb1d8d7581718c54d4ba944cc9298d6f",
   "homepage": "https://github.com/isaacs/abbrev-js#readme",
   "license": "ISC",
   "main": "abbrev.js",
@@ -71,5 +78,5 @@
   "scripts": {
     "test": "tap test.js --cov"
   },
-  "version": "1.0.7"
+  "version": "1.0.9"
 }

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/abbrev/test.js
----------------------------------------------------------------------
diff --git a/node_modules/abbrev/test.js b/node_modules/abbrev/test.js
deleted file mode 100644
index eb30e42..0000000
--- a/node_modules/abbrev/test.js
+++ /dev/null
@@ -1,47 +0,0 @@
-var abbrev = require('./abbrev.js')
-var assert = require("assert")
-var util = require("util")
-
-console.log("TAP version 13")
-var count = 0
-
-function test (list, expect) {
-  count++
-  var actual = abbrev(list)
-  assert.deepEqual(actual, expect,
-    "abbrev("+util.inspect(list)+") === " + util.inspect(expect) + "\n"+
-    "actual: "+util.inspect(actual))
-  actual = abbrev.apply(exports, list)
-  assert.deepEqual(abbrev.apply(exports, list), expect,
-    "abbrev("+list.map(JSON.stringify).join(",")+") === " + util.inspect(expect) + "\n"+
-    "actual: "+util.inspect(actual))
-  console.log('ok - ' + list.join(' '))
-}
-
-test([ "ruby", "ruby", "rules", "rules", "rules" ],
-{ rub: 'ruby'
-, ruby: 'ruby'
-, rul: 'rules'
-, rule: 'rules'
-, rules: 'rules'
-})
-test(["fool", "foom", "pool", "pope"],
-{ fool: 'fool'
-, foom: 'foom'
-, poo: 'pool'
-, pool: 'pool'
-, pop: 'pope'
-, pope: 'pope'
-})
-test(["a", "ab", "abc", "abcd", "abcde", "acde"],
-{ a: 'a'
-, ab: 'ab'
-, abc: 'abc'
-, abcd: 'abcd'
-, abcde: 'abcde'
-, ac: 'acde'
-, acd: 'acde'
-, acde: 'acde'
-})
-
-console.log("1..%d", count)

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/ansi/package.json
----------------------------------------------------------------------
diff --git a/node_modules/ansi/package.json b/node_modules/ansi/package.json
index 8286df4..584d1aa 100644
--- a/node_modules/ansi/package.json
+++ b/node_modules/ansi/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "ansi@^0.3.1",
-      "D:\\Cordova\\cordova-ios\\node_modules\\cordova-common"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/cordova-common"
     ]
   ],
   "_from": "ansi@>=0.3.1 <0.4.0",
@@ -28,11 +28,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz",
+  "_resolved": "http://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz",
   "_shasum": "0c42d4fb17160d5a9af1e484bace1c66922c1b21",
   "_shrinkwrap": null,
   "_spec": "ansi@^0.3.1",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/cordova-common",
   "author": {
     "email": "nathan@tootallnate.net",
     "name": "Nathan Rajlich",

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/balanced-match/package.json
----------------------------------------------------------------------
diff --git a/node_modules/balanced-match/package.json b/node_modules/balanced-match/package.json
index 51c2262..1c14d43 100644
--- a/node_modules/balanced-match/package.json
+++ b/node_modules/balanced-match/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "balanced-match@^0.4.1",
-      "D:\\Cordova\\cordova-ios\\node_modules\\brace-expansion"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/brace-expansion"
     ]
   ],
   "_from": "balanced-match@>=0.4.1 <0.5.0",
@@ -32,11 +32,11 @@
   "_requiredBy": [
     "/brace-expansion"
   ],
-  "_resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.1.tgz",
+  "_resolved": "http://registry.npmjs.org/balanced-match/-/balanced-match-0.4.1.tgz",
   "_shasum": "19053e2e0748eadb379da6c09d455cf5e1039335",
   "_shrinkwrap": null,
   "_spec": "balanced-match@^0.4.1",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\brace-expansion",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/brace-expansion",
   "author": {
     "email": "mail@juliangruber.com",
     "name": "Julian Gruber",

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/base64-js/package.json
----------------------------------------------------------------------
diff --git a/node_modules/base64-js/package.json b/node_modules/base64-js/package.json
index 17e7672..7e49800 100644
--- a/node_modules/base64-js/package.json
+++ b/node_modules/base64-js/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "base64-js@0.0.8",
-      "D:\\Cordova\\cordova-ios\\node_modules\\plist"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/plist"
     ]
   ],
   "_from": "base64-js@0.0.8",
@@ -28,11 +28,11 @@
   "_requiredBy": [
     "/plist"
   ],
-  "_resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz",
+  "_resolved": "http://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz",
   "_shasum": "1101e9544f4a76b1bc3b26d452ca96d7a35e7978",
   "_shrinkwrap": null,
   "_spec": "base64-js@0.0.8",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\plist",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/plist",
   "author": {
     "email": "t.jameson.little@gmail.com",
     "name": "T. Jameson Little"

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/big-integer/package.json
----------------------------------------------------------------------
diff --git a/node_modules/big-integer/package.json b/node_modules/big-integer/package.json
index 5b7f93c..159f5bd 100644
--- a/node_modules/big-integer/package.json
+++ b/node_modules/big-integer/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "big-integer@^1.6.7",
-      "D:\\Cordova\\cordova-ios\\node_modules\\bplist-parser"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/bplist-parser"
     ]
   ],
   "_from": "big-integer@>=1.6.7 <2.0.0",
@@ -32,11 +32,11 @@
   "_requiredBy": [
     "/bplist-parser"
   ],
-  "_resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.15.tgz",
+  "_resolved": "http://registry.npmjs.org/big-integer/-/big-integer-1.6.15.tgz",
   "_shasum": "33d27d3b7388dfcc4b86d3130c10740cec01fb9e",
   "_shrinkwrap": null,
   "_spec": "big-integer@^1.6.7",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\bplist-parser",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/bplist-parser",
   "author": {
     "email": "peter.e.c.olson+npm@gmail.com",
     "name": "Peter Olson"

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/bplist-creator/package.json
----------------------------------------------------------------------
diff --git a/node_modules/bplist-creator/package.json b/node_modules/bplist-creator/package.json
index 0535c11..39d8884 100644
--- a/node_modules/bplist-creator/package.json
+++ b/node_modules/bplist-creator/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "bplist-creator@0.0.4",
-      "D:\\Cordova\\cordova-ios\\node_modules\\simple-plist"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/simple-plist"
     ]
   ],
   "_from": "bplist-creator@0.0.4",
@@ -27,11 +27,11 @@
   "_requiredBy": [
     "/simple-plist"
   ],
-  "_resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.4.tgz",
+  "_resolved": "http://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.4.tgz",
   "_shasum": "4ac0496782e127a85c1d2026a4f5eb22a7aff991",
   "_shrinkwrap": null,
   "_spec": "bplist-creator@0.0.4",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\simple-plist",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/simple-plist",
   "author": {
     "name": "https://github.com/nearinfinity/node-bplist-parser.git"
   },
@@ -49,7 +49,7 @@
   "directories": {},
   "dist": {
     "shasum": "4ac0496782e127a85c1d2026a4f5eb22a7aff991",
-    "tarball": "http://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.4.tgz"
+    "tarball": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.4.tgz"
   },
   "homepage": "https://github.com/nearinfinity/node-bplist-creator",
   "keywords": [

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/bplist-parser/package.json
----------------------------------------------------------------------
diff --git a/node_modules/bplist-parser/package.json b/node_modules/bplist-parser/package.json
index 9d6dfd9..92456da 100644
--- a/node_modules/bplist-parser/package.json
+++ b/node_modules/bplist-parser/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "bplist-parser@^0.1.0",
-      "D:\\Cordova\\cordova-ios\\node_modules\\cordova-common"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/cordova-common"
     ]
   ],
   "_from": "bplist-parser@>=0.1.0 <0.2.0",
@@ -28,11 +28,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz",
+  "_resolved": "http://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz",
   "_shasum": "d60d5dcc20cba6dc7e1f299b35d3e1f95dafbae6",
   "_shrinkwrap": null,
   "_spec": "bplist-parser@^0.1.0",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/cordova-common",
   "author": {
     "email": "joe.ferner@nearinfinity.com",
     "name": "Joe Ferner"

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/brace-expansion/.npmignore
----------------------------------------------------------------------
diff --git a/node_modules/brace-expansion/.npmignore b/node_modules/brace-expansion/.npmignore
deleted file mode 100644
index 353546a..0000000
--- a/node_modules/brace-expansion/.npmignore
+++ /dev/null
@@ -1,3 +0,0 @@
-test
-.gitignore
-.travis.yml

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/brace-expansion/example.js
----------------------------------------------------------------------
diff --git a/node_modules/brace-expansion/example.js b/node_modules/brace-expansion/example.js
deleted file mode 100644
index 60ecfc7..0000000
--- a/node_modules/brace-expansion/example.js
+++ /dev/null
@@ -1,8 +0,0 @@
-var expand = require('./');
-
-console.log(expand('http://any.org/archive{1996..1999}/vol{1..4}/part{a,b,c}.html'));
-console.log(expand('http://www.numericals.com/file{1..100..10}.txt'));
-console.log(expand('http://www.letters.com/file{a..z..2}.txt'));
-console.log(expand('mkdir /usr/local/src/bash/{old,new,dist,bugs}'));
-console.log(expand('chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}'));
-

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/brace-expansion/package.json
----------------------------------------------------------------------
diff --git a/node_modules/brace-expansion/package.json b/node_modules/brace-expansion/package.json
index d962f2d..6fbff9a 100644
--- a/node_modules/brace-expansion/package.json
+++ b/node_modules/brace-expansion/package.json
@@ -2,24 +2,24 @@
   "_args": [
     [
       "brace-expansion@^1.0.0",
-      "D:\\Cordova\\cordova-ios\\node_modules\\minimatch"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/minimatch"
     ]
   ],
   "_from": "brace-expansion@>=1.0.0 <2.0.0",
-  "_id": "brace-expansion@1.1.4",
+  "_id": "brace-expansion@1.1.5",
   "_inCache": true,
   "_installable": true,
   "_location": "/brace-expansion",
-  "_nodeVersion": "6.0.0",
+  "_nodeVersion": "4.4.5",
   "_npmOperationalInternal": {
-    "host": "packages-12-west.internal.npmjs.com",
-    "tmp": "tmp/brace-expansion-1.1.4.tgz_1462130058897_0.14984136167913675"
+    "host": "packages-16-east.internal.npmjs.com",
+    "tmp": "tmp/brace-expansion-1.1.5.tgz_1465989660138_0.34528115345165133"
   },
   "_npmUser": {
     "email": "julian@juliangruber.com",
     "name": "juliangruber"
   },
-  "_npmVersion": "3.8.6",
+  "_npmVersion": "2.15.5",
   "_phantomChildren": {},
   "_requested": {
     "name": "brace-expansion",
@@ -32,11 +32,11 @@
   "_requiredBy": [
     "/minimatch"
   ],
-  "_resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.4.tgz",
-  "_shasum": "464a204c77f482c085c2a36c456bbfbafb67a127",
+  "_resolved": "http://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz",
+  "_shasum": "f5b4ad574e2cb7ccc1eb83e6fe79b8ecadf7a526",
   "_shrinkwrap": null,
   "_spec": "brace-expansion@^1.0.0",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\minimatch",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/minimatch",
   "author": {
     "email": "mail@juliangruber.com",
     "name": "Julian Gruber",
@@ -55,10 +55,10 @@
   },
   "directories": {},
   "dist": {
-    "shasum": "464a204c77f482c085c2a36c456bbfbafb67a127",
-    "tarball": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.4.tgz"
+    "shasum": "f5b4ad574e2cb7ccc1eb83e6fe79b8ecadf7a526",
+    "tarball": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz"
   },
-  "gitHead": "1660b75d0bf03b022e7888b576cd5a4080692c1d",
+  "gitHead": "ff31acab078f1bb696ac4c55ca56ea24e6495fb6",
   "homepage": "https://github.com/juliangruber/brace-expansion",
   "keywords": [],
   "license": "MIT",
@@ -100,5 +100,5 @@
     ],
     "files": "test/*.js"
   },
-  "version": "1.1.4"
+  "version": "1.1.5"
 }

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/concat-map/package.json
----------------------------------------------------------------------
diff --git a/node_modules/concat-map/package.json b/node_modules/concat-map/package.json
index 01848c6..8ed4b22 100644
--- a/node_modules/concat-map/package.json
+++ b/node_modules/concat-map/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "concat-map@0.0.1",
-      "D:\\Cordova\\cordova-ios\\node_modules\\brace-expansion"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/brace-expansion"
     ]
   ],
   "_from": "concat-map@0.0.1",
@@ -27,11 +27,11 @@
   "_requiredBy": [
     "/brace-expansion"
   ],
-  "_resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+  "_resolved": "http://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
   "_shasum": "d8a96bd77fd68df7793a73036a3ba0d5405d477b",
   "_shrinkwrap": null,
   "_spec": "concat-map@0.0.1",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\brace-expansion",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/brace-expansion",
   "author": {
     "email": "mail@substack.net",
     "name": "James Halliday",

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/cordova-common/package.json
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/package.json b/node_modules/cordova-common/package.json
index 5b868ba..0513fbf 100644
--- a/node_modules/cordova-common/package.json
+++ b/node_modules/cordova-common/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "cordova-common@^1.3.0",
-      "D:\\Cordova\\cordova-ios"
+      "/Users/steveng/repo/cordova/cordova-ios"
     ]
   ],
   "_from": "cordova-common@>=1.3.0 <2.0.0",
@@ -32,11 +32,11 @@
   "_requiredBy": [
     "/"
   ],
-  "_resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-1.3.0.tgz",
+  "_resolved": "file:cordova-dist/tools/cordova-common-1.3.0.tgz",
   "_shasum": "f75161f6aa7cef5486fd5d69a3b0a1f628334491",
   "_shrinkwrap": null,
   "_spec": "cordova-common@^1.3.0",
-  "_where": "D:\\Cordova\\cordova-ios",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios",
   "author": {
     "name": "Apache Software Foundation"
   },

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/cordova-registry-mapper/package.json
----------------------------------------------------------------------
diff --git a/node_modules/cordova-registry-mapper/package.json b/node_modules/cordova-registry-mapper/package.json
index 17dd973..e85eea0 100644
--- a/node_modules/cordova-registry-mapper/package.json
+++ b/node_modules/cordova-registry-mapper/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "cordova-registry-mapper@^1.1.8",
-      "D:\\Cordova\\cordova-ios\\node_modules\\cordova-common"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/cordova-common"
     ]
   ],
   "_from": "cordova-registry-mapper@>=1.1.8 <2.0.0",
@@ -28,11 +28,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/cordova-registry-mapper/-/cordova-registry-mapper-1.1.15.tgz",
+  "_resolved": "http://registry.npmjs.org/cordova-registry-mapper/-/cordova-registry-mapper-1.1.15.tgz",
   "_shasum": "e244b9185b8175473bff6079324905115f83dc7c",
   "_shrinkwrap": null,
   "_spec": "cordova-registry-mapper@^1.1.8",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/cordova-common",
   "author": {
     "name": "Steve Gill"
   },
@@ -47,7 +47,7 @@
   "directories": {},
   "dist": {
     "shasum": "e244b9185b8175473bff6079324905115f83dc7c",
-    "tarball": "http://registry.npmjs.org/cordova-registry-mapper/-/cordova-registry-mapper-1.1.15.tgz"
+    "tarball": "https://registry.npmjs.org/cordova-registry-mapper/-/cordova-registry-mapper-1.1.15.tgz"
   },
   "gitHead": "00af0f028ec94154a364eeabe38b8e22320647bd",
   "homepage": "https://github.com/stevengill/cordova-registry-mapper#readme",

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/elementtree/package.json
----------------------------------------------------------------------
diff --git a/node_modules/elementtree/package.json b/node_modules/elementtree/package.json
index 7eef8bc..d904f5d 100644
--- a/node_modules/elementtree/package.json
+++ b/node_modules/elementtree/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "elementtree@^0.1.6",
-      "D:\\Cordova\\cordova-ios\\node_modules\\cordova-common"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/cordova-common"
     ]
   ],
   "_from": "elementtree@>=0.1.6 <0.2.0",
@@ -27,11 +27,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.6.tgz",
+  "_resolved": "http://registry.npmjs.org/elementtree/-/elementtree-0.1.6.tgz",
   "_shasum": "2ac4c46ea30516c8c4cbdb5e3ac7418e592de20c",
   "_shrinkwrap": null,
   "_spec": "elementtree@^0.1.6",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/cordova-common",
   "author": {
     "name": "Rackspace US, Inc."
   },

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/glob/package.json
----------------------------------------------------------------------
diff --git a/node_modules/glob/package.json b/node_modules/glob/package.json
index df2942b..aa69ee0 100644
--- a/node_modules/glob/package.json
+++ b/node_modules/glob/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "glob@^5.0.13",
-      "D:\\Cordova\\cordova-ios\\node_modules\\cordova-common"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/cordova-common"
     ]
   ],
   "_from": "glob@>=5.0.13 <6.0.0",
@@ -28,11 +28,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+  "_resolved": "http://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
   "_shasum": "1bc936b9e02f4a603fcc222ecf7633d30b8b93b1",
   "_shrinkwrap": null,
   "_spec": "glob@^5.0.13",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/cordova-common",
   "author": {
     "email": "i@izs.me",
     "name": "Isaac Z. Schlueter",

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/inflight/package.json
----------------------------------------------------------------------
diff --git a/node_modules/inflight/package.json b/node_modules/inflight/package.json
index ca56086..2cd395a 100644
--- a/node_modules/inflight/package.json
+++ b/node_modules/inflight/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "inflight@^1.0.4",
-      "D:\\Cordova\\cordova-ios\\node_modules\\glob"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/glob"
     ]
   ],
   "_from": "inflight@>=1.0.4 <2.0.0",
@@ -32,11 +32,11 @@
   "_requiredBy": [
     "/glob"
   ],
-  "_resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz",
+  "_resolved": "http://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz",
   "_shasum": "db3204cd5a9de2e6cd890b85c6e2f66bcf4f620a",
   "_shrinkwrap": null,
   "_spec": "inflight@^1.0.4",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\glob",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/glob",
   "author": {
     "email": "i@izs.me",
     "name": "Isaac Z. Schlueter",

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/inherits/package.json
----------------------------------------------------------------------
diff --git a/node_modules/inherits/package.json b/node_modules/inherits/package.json
index 6646bcc..08d4f16 100644
--- a/node_modules/inherits/package.json
+++ b/node_modules/inherits/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "inherits@2",
-      "D:\\Cordova\\cordova-ios\\node_modules\\glob"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/glob"
     ]
   ],
   "_from": "inherits@>=2.0.0 <3.0.0",
@@ -27,11 +27,11 @@
   "_requiredBy": [
     "/glob"
   ],
-  "_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+  "_resolved": "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
   "_shasum": "b17d08d326b4423e568eff719f91b0b1cbdf69f1",
   "_shrinkwrap": null,
   "_spec": "inherits@2",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\glob",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/glob",
   "browser": "./inherits_browser.js",
   "bugs": {
     "url": "https://github.com/isaacs/inherits/issues"

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/ios-sim/node_modules/.bin/nopt
----------------------------------------------------------------------
diff --git a/node_modules/ios-sim/node_modules/.bin/nopt b/node_modules/ios-sim/node_modules/.bin/nopt
index 714334e..6b6566e 120000
--- a/node_modules/ios-sim/node_modules/.bin/nopt
+++ b/node_modules/ios-sim/node_modules/.bin/nopt
@@ -1,15 +1 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
-    *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
-  "$basedir/node"  "$basedir/../nopt/bin/nopt.js" "$@"
-  ret=$?
-else 
-  node  "$basedir/../nopt/bin/nopt.js" "$@"
-  ret=$?
-fi
-exit $ret
+../nopt/bin/nopt.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/ios-sim/node_modules/.bin/nopt.cmd
----------------------------------------------------------------------
diff --git a/node_modules/ios-sim/node_modules/.bin/nopt.cmd b/node_modules/ios-sim/node_modules/.bin/nopt.cmd
deleted file mode 100644
index 1626454..0000000
--- a/node_modules/ios-sim/node_modules/.bin/nopt.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
-  "%~dp0\node.exe"  "%~dp0\..\nopt\bin\nopt.js" %*
-) ELSE (
-  @SETLOCAL
-  @SET PATHEXT=%PATHEXT:;.JS;=;%
-  node  "%~dp0\..\nopt\bin\nopt.js" %*
-)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/ios-sim/node_modules/bplist-parser/package.json
----------------------------------------------------------------------
diff --git a/node_modules/ios-sim/node_modules/bplist-parser/package.json b/node_modules/ios-sim/node_modules/bplist-parser/package.json
index e6488a5..38529c3 100644
--- a/node_modules/ios-sim/node_modules/bplist-parser/package.json
+++ b/node_modules/ios-sim/node_modules/bplist-parser/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "bplist-parser@^0.0.6",
-      "D:\\Cordova\\cordova-ios\\node_modules\\ios-sim"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/ios-sim"
     ]
   ],
   "_from": "bplist-parser@>=0.0.6 <0.0.7",
@@ -27,11 +27,11 @@
   "_requiredBy": [
     "/ios-sim"
   ],
-  "_resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.0.6.tgz",
+  "_resolved": "http://registry.npmjs.org/bplist-parser/-/bplist-parser-0.0.6.tgz",
   "_shasum": "38da3471817df9d44ab3892e27707bbbd75a11b9",
   "_shrinkwrap": null,
   "_spec": "bplist-parser@^0.0.6",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\ios-sim",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/ios-sim",
   "author": {
     "email": "joe.ferner@nearinfinity.com",
     "name": "Joe Ferner"

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/ios-sim/node_modules/nopt/package.json
----------------------------------------------------------------------
diff --git a/node_modules/ios-sim/node_modules/nopt/package.json b/node_modules/ios-sim/node_modules/nopt/package.json
index 6e4ea06..e099cab 100644
--- a/node_modules/ios-sim/node_modules/nopt/package.json
+++ b/node_modules/ios-sim/node_modules/nopt/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "nopt@1.0.9",
-      "D:\\Cordova\\cordova-ios\\node_modules\\ios-sim"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/ios-sim"
     ]
   ],
   "_defaultsLoaded": true,
@@ -30,11 +30,11 @@
   "_requiredBy": [
     "/ios-sim"
   ],
-  "_resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.9.tgz",
+  "_resolved": "http://registry.npmjs.org/nopt/-/nopt-1.0.9.tgz",
   "_shasum": "3bc0d7cba7bfb0d5a676dbed7c0ebe48a4fd454e",
   "_shrinkwrap": null,
   "_spec": "nopt@1.0.9",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\ios-sim",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/ios-sim",
   "author": {
     "email": "i@izs.me",
     "name": "Isaac Z. Schlueter",

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/ios-sim/package.json
----------------------------------------------------------------------
diff --git a/node_modules/ios-sim/package.json b/node_modules/ios-sim/package.json
index c171494..60fb6cd 100644
--- a/node_modules/ios-sim/package.json
+++ b/node_modules/ios-sim/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "ios-sim@^5.0.7",
-      "D:\\Cordova\\cordova-ios"
+      "/Users/steveng/repo/cordova/cordova-ios"
     ]
   ],
   "_from": "ios-sim@>=5.0.7 <6.0.0",
@@ -21,7 +21,7 @@
   },
   "_npmVersion": "2.11.3",
   "_phantomChildren": {
-    "abbrev": "1.0.7"
+    "abbrev": "1.0.9"
   },
   "_requested": {
     "name": "ios-sim",
@@ -34,11 +34,11 @@
   "_requiredBy": [
     "/"
   ],
-  "_resolved": "https://registry.npmjs.org/ios-sim/-/ios-sim-5.0.8.tgz",
+  "_resolved": "http://registry.npmjs.org/ios-sim/-/ios-sim-5.0.8.tgz",
   "_shasum": "20520bbcfdadb0b0cb08690b90969b6e60a9a796",
   "_shrinkwrap": null,
   "_spec": "ios-sim@^5.0.7",
-  "_where": "D:\\Cordova\\cordova-ios",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios",
   "author": {
     "name": "Shazron Abdullah"
   },

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/LICENSE.txt
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/LICENSE.txt b/node_modules/lodash-node/LICENSE.txt
deleted file mode 100644
index 49869bb..0000000
--- a/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-ios/blob/0d465c30/node_modules/lodash-node/README.md
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/README.md b/node_modules/lodash-node/README.md
deleted file mode 100644
index 3bc410e..0000000
--- a/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-ios/blob/0d465c30/node_modules/lodash-node/compat/arrays.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/arrays.js b/node_modules/lodash-node/compat/arrays.js
deleted file mode 100644
index 86f6dcf..0000000
--- a/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-ios/blob/0d465c30/node_modules/lodash-node/compat/arrays/compact.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/arrays/compact.js b/node_modules/lodash-node/compat/arrays/compact.js
deleted file mode 100644
index f52dc22..0000000
--- a/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-ios/blob/0d465c30/node_modules/lodash-node/compat/arrays/difference.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/arrays/difference.js b/node_modules/lodash-node/compat/arrays/difference.js
deleted file mode 100644
index f646752..0000000
--- a/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-ios/blob/0d465c30/node_modules/lodash-node/compat/arrays/findIndex.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/arrays/findIndex.js b/node_modules/lodash-node/compat/arrays/findIndex.js
deleted file mode 100644
index cabf7c0..0000000
--- a/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;


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


[11/32] ios commit: CB-11445 Updated checked-in node_modules

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/CHANGELOG.md
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/CHANGELOG.md b/node_modules/pegjs/CHANGELOG.md
new file mode 100644
index 0000000..2212735
--- /dev/null
+++ b/node_modules/pegjs/CHANGELOG.md
@@ -0,0 +1,508 @@
+Change Log
+==========
+
+This file documents all notable changes to PEG.js. The releases follow [semantic
+versioning](http://semver.org/).
+
+0.9.0
+-----
+
+Released: August 30, 2015
+
+### Major Changes
+
+  * **Tracing support.** Parsers can be compiled with support for tracing their
+    progress, which can help debugging complex grammars. This feature is
+    experimental and is expected to evolve over time as experience is gained.
+    [More details](https://github.com/pegjs/pegjs/commit/da57118a43a904f753d44d407994cf0b36358adc)
+
+  * **Infinite loop detection.** Grammar constructs that could cause infinite
+    loops in generated parsers are detected during compilation and cause errors.
+
+  * **Improved location information API.** The `line`, `column`, and `offset`
+    functions available in parser code were replaced by a single `location`
+    function which returns an object describing the current location. Similarly,
+    the `line`, `column`, and `offset` properties of exceptions were replaced by
+    a single `location` property. The location is no longer a single point but a
+    character range, which is meaningful mainly in actions where the range
+    covers action\u2019s expression.
+    [More details](https://github.com/pegjs/pegjs/compare/e75f21dc8f0e66b3d87c4c19b3fcb8f89d9c3acd...eaca5f0acf97b66ef141fed84aa95d4e72e33757)
+
+  * **Improved error reporting.** All exceptions thrown when generating a parser
+    have associated location information. And all exceptions thrown by generated
+    parser and PEG.js itself have a stack trace (the `stack` property) in
+    environments that support `Error.captureStackTrace`.
+
+  * **Strict mode code**. All PEG.js and generated parser code is written using
+    [JavaScript strict mode](https://developer.mozilla.org/cs/docs/Web/JavaScript/Reference/Strict_mode).
+
+### Minor Changes
+
+  * Labels behave like block-scoped variables. This means parser code can see
+    labels defined outside expressions containing code.
+
+  * Empty sequences are no longer allowed.
+
+  * Label names can\u2019t be JavaScript reserved words.
+
+  * Rule and label names can contain Unicode characters like in JavaScript.
+
+  * Rules have to be separated either by `;` or a newline (until now, any
+    whitespace was enough).
+
+  * The PEG.js grammar and all the example grammars were completely rewritten.
+    This rewrite included a number of cleanups, formatting changes, naming
+    changes, and bug fixes.
+
+  * The parser object can now be accessed as `parser` in parser code.
+
+  * Location information computation is faster.
+
+  * Added support for Node.js >= 0.10.x, io.js, and Edge. Removed support for
+    Node.js < 0.10.x.
+
+### Bug Fixes
+
+  * Fixed left recursion detector which missed many cases.
+
+  * Fixed escaping of U+0100\u2014U+107F and U+1000\u2014U+107F in generated code and
+    error messages.
+
+  * Renamed `parse` and `SyntaxError` to `peg$parse` and `peg$SyntaxError` to
+    mark them as internal identifiers.
+
+[Complete set of changes](https://github.com/pegjs/pegjs/compare/v0.8.0...v0.9.0)
+
+0.8.0
+-----
+
+Released: December 24, 2013
+
+### Big Changes
+
+  * Completely rewrote the code generator. Among other things, it allows
+    optimizing generated parsers for parsing speed or code size using the
+    `optimize` option of the `PEG.buildParser` method or the `--optimize`/`-o`
+    option on the command-line. All internal identifiers in generated code now
+    also have a `peg$` prefix to discourage their use and avoid conflicts.
+    [[#35](https://github.com/dmajda/pegjs/issues/35),
+    [#92](https://github.com/dmajda/pegjs/issues/92)]
+
+  * Completely redesigned error handling. Instead of returning `null` inside
+    actions to indicate match failure, new `expected` and `error` functions can
+    be called to trigger an error. Also, expectation inside the `SyntaxError`
+    exceptions are now structured to allow easier machine processing.
+    [[#198](https://github.com/dmajda/pegjs/issues/198)]
+
+  * Implemented a plugin API. The list of plugins to use can be specified using
+    the `plugins` option of the `PEG.buildParser` method or the `--plugin`
+    option on the command-line. Also implemented the `--extra-options` and
+    `--extra-options-file` command-line options, which are mainly useful to pass
+    additional options to plugins.
+    [[#106](https://github.com/dmajda/pegjs/issues/106)]
+
+  * Made `offset`, `line` and `column` functions, not variables. They are now
+    available in all parsers and return lazily-computed position data. Removed
+    now useless `trackLineAndColumn` option of the `PEG.buildParser` method and
+    the `--track-line-and-column` option on the command-line.
+
+  * Added a new `text` function. When called inside an action, it returns the
+    text matched by action's expression.
+    [[#131](https://github.com/dmajda/pegjs/issues/131)]
+
+  * Added a new `$` operator. It extracts matched strings from expressions.
+
+  * The `?` operator now returns `null` on unsuccessful match.
+
+  * Predicates now always return `undefined`.
+
+  * Replaced the `startRule` parameter of the `parse` method in generated
+    parsers with more generic `options` parameter. The start rule can now be
+    specified as the `startRule` option. The `options` parameter can be also
+    used to pass custom options to the parser because it is visible as the
+    `options` variable inside parser code.
+    [[#37](https://github.com/dmajda/pegjs/issues/37)]
+
+  * The list of allowed start rules of a generated parser now has to be
+    specified explicitly using the `allowedStartRules` option of the
+    `PEG.buildParser` method or the `--allowed-start-rule` option on the
+    command-line. This will make certain optimizations like rule inlining easier
+    in the future.
+
+  * Removed the `toSource` method of generated parsers and introduced a new
+    `output` option of the `PEG.buildParser` method. It allows callers to
+    specify whether they want to get back the parser object or its source code.
+
+  * The source code is now a valid npm package. This makes using development
+    versions easier.
+    [[#32](https://github.com/dmajda/pegjs/issues/32)]
+
+  * Generated parsers are now ~25% faster and ~62%/~3% smaller (when optimized
+    for size/speed) than those generated by 0.7.0.
+
+  * Requires Node.js 0.8.0+.
+
+### Small Changes
+
+  * `bin/pegjs` now outputs just the parser source if the value of the
+    `--export-var` option is empty. This makes embedding generated parsers into
+    other files easier.
+    [[#143](https://github.com/dmajda/pegjs/issues/143)]
+
+  * Changed the value of the `name` property of `PEG.GrammarError` instances
+    from \u201cPEG.GrammarError\u201d to just \u201cGrammarError\u201d. This better reflects the
+    fact that PEG.js can get required with different variable name than `PEG`.
+
+  * Setup prototype chain for `PEG.GrammarError` correctly.
+
+  * Setup prototype chain for `SyntaxError` in generated parsers correctly.
+
+  * Fixed error messages in certain cases with trailing input
+    [[#119](https://github.com/dmajda/pegjs/issues/119)]
+
+  * Fixed code generated for classes starting with `\^`.
+    [[#125](https://github.com/dmajda/pegjs/issues/125)]
+
+  * Fixed too eager proxy rules removal.
+    [[#137](https://github.com/dmajda/pegjs/issues/137)]
+
+  * Added a license to all vendored libraries.
+    [[#207](https://github.com/dmajda/pegjs/issues/207)]
+
+  * Converted the test suite from QUnit to Jasmine, cleaning it up on the way.
+
+  * Travis CI integration.
+
+  * Various internal code improvements and fixes.
+
+  * Various generated code improvements and fixes.
+
+  * Various example grammar improvements and fixes.
+
+  * Improved `README.md`.
+
+  * Converted `CHANGELOG` to Markdown.
+
+0.7.0
+-----
+
+Released: April 18, 2012
+
+### Big Changes
+
+  * Added ability to pass options to `PEG.buildParser`.
+
+  * Implemented the `trackLineAndColumn` option for `PEG.buildParser` (together
+    with the `--track-line-and-column` command-line option). It makes the
+    generated parser track line and column during parsing. These are made
+    available inside actions and predicates as `line` and `column` variables.
+
+  * Implemented the `cache` option for `PEG.buildParser` (together with the
+    `--cache` command-line option). This option enables/disables the results
+    cache in generated parsers, resulting in dramatic speedup when the cache is
+    disabled (the default now). The cost is breaking the linear parsing time
+    guarantee.
+
+  * The current parse position is visible inside actions and predicates as the
+    `offset` variable.
+
+  * Exceptions thrown by the parser have `offset`, `expected` and `found`
+    properties containing machine-readable information about the parse failure
+    (based on a patch by Marcin Stefaniuk).
+
+  * Semantic predicates have access to preceding labels.
+    [[GH-69](https://github.com/dmajda/pegjs/issues/69)]
+
+  * Implemented case-insensitive literal and class matching.
+    [[GH-34](https://github.com/dmajda/pegjs/issues/34)]
+
+  * Rewrote the code generator \u2014 split some computations into separate passes
+    and based it on a proper templating system (Codie).
+
+  * Rewrote variable handling in generated parsers in a stack-like fashion,
+    simplifying the code and making the parsers smaller and faster.
+
+  * Adapted to Node.js 0.6.6+ (no longer supported in older versions).
+
+  * Dropped support for IE < 8.
+
+  * As a result of several optimizations, parsers generated by 0.7.0 are ~6.4
+    times faster and ~19% smaller than those generated by 0.6.2 (as reported by
+    `/tools/impact`).
+
+### Small Changes
+
+  * Fixed reported error position when part of the input is not consumed.
+    [[GH-48](https://github.com/dmajda/pegjs/issues/48)]
+
+  * Fixed incorrect disjunction operator in `computeErrorPosition` (original
+    patch by Wolfgang Kluge).
+
+  * Fixed regexp for detecting command-line options in `/bin/pegjs`.
+    [[GH-51](https://github.com/dmajda/pegjs/issues/51)]
+
+  * Generate more efficient code for empty literals (original patch by Wolfgang
+    Kluge).
+
+  * Fixed comment typos (patches by Wolfgang Kluge and Jason Davies).
+    [[GH-59](https://github.com/dmajda/pegjs/issues/59)]
+
+  * Fixed a typo in JavaScript example grammar.
+    [[GH-62](https://github.com/dmajda/pegjs/issues/62)]
+
+  * Made copy & paste inclusion of the PEG.js library into another code easier
+    by changing how the library is exported.
+
+  * Improved the copyright comment and the \u201cGenerated by...\u201d header.
+
+  * Replaced `Jakefile` with `Makefile`.
+
+  * Added `make hint` task that checks all JavaScript files using JSHint and
+    resolved all issues it reported. All JavaScript files and also generated
+    parsers are JSHint-clean now.
+
+  * Fixed output printed during test failures (expected value was being printed
+    instead of the actual one). Original patch by Wolfgang Kluge.
+
+  * Added a `/tools/impact` script to measure speed and size impact of commits.
+
+  * Various generated code improvements and fixes.
+
+  * Various internal code improvements and fixes.
+
+  * Improved `README.md`.
+
+0.6.2
+-----
+
+Released: August 20, 2011
+
+### Small Changes
+
+  * Reset parser position when action returns `null`.
+
+  * Fixed typo in JavaScript example grammar.
+
+0.6.1
+-----
+
+Released: April 14, 2011
+
+### Small Changes
+
+  * Use `--ascii` option when generating a minified version.
+
+0.6.0
+-----
+
+Released: April 14, 2011
+
+### Big Changes
+
+  * Rewrote the command-line mode to be based on Node.js instead of Rhino \u2014 no
+    more Java dependency. This also means that PEG.js is available as a Node.js
+    package and can be required as a module.
+
+  * Version for the browser is built separately from the command-line one in two
+    flavors (normal and minified).
+
+  * Parser variable name is no longer required argument of `bin/pegjs` \u2014 it is
+    `module.exports` by default and can be set using the `-e`/`--export-var`
+    option. This makes parsers generated by `/bin/pegjs` Node.js modules by
+    default.
+
+  * Added ability to start parsing from any grammar rule.
+
+  * Added several compiler optimizations \u2014 0.6 is ~12% faster than 0.5.1 in the
+    benchmark on V8.
+
+### Small Changes
+
+  * Split the source code into multiple files combined together using a build
+    system.
+
+  * Jake is now used instead of Rake for build scripts \u2014 no more Ruby
+    dependency.
+
+  * Test suite can be run from the command-line.
+
+  * Benchmark suite can be run from the command-line.
+
+  * Benchmark browser runner improvements (users can specify number of runs,
+    benchmarks are run using `setTimeout`, table is centered and fixed-width).
+
+  * Added PEG.js version to \u201cGenerated by...\u201d line in generated parsers.
+
+  * Added PEG.js version information and homepage header to `peg.js`.
+
+  * Generated code improvements and fixes.
+
+  * Internal code improvements and fixes.
+
+  * Rewrote `README.md`.
+
+0.5.1
+-----
+
+Released: November 28, 2010
+
+### Small Changes
+
+  * Fixed a problem where \u201cSyntaxError: Invalid range in character class.\u201d error
+    appeared when using command-line version on Widnows
+    ([GH-13](https://github.com/dmajda/pegjs/issues/13)).
+
+  * Fixed wrong version reported by `bin/pegjs --version`.
+
+  * Removed two unused variables in the code.
+
+  * Fixed incorrect variable name on two places.
+
+0.5
+---
+
+Released: June 10, 2010
+
+### Big Changes
+
+  * Syntax change: Use labeled expressions and variables instead of `$1`, `$2`,
+    etc.
+
+  * Syntax change: Replaced `:` after a rule name with `=`.
+
+  * Syntax change: Allow trailing semicolon (`;`) for rules
+
+  * Semantic change: Start rule of the grammar is now implicitly its first rule.
+
+  * Implemented semantic predicates.
+
+  * Implemented initializers.
+
+  * Removed ability to change the start rule when generating the parser.
+
+  * Added several compiler optimizations \u2014 0.5 is ~11% faster than 0.4 in the
+    benchmark on V8.
+
+### Small Changes
+
+  * `PEG.buildParser` now accepts grammars only in string format.
+
+  * Added \u201cGenerated by ...\u201d message to the generated parsers.
+
+  * Formatted all grammars more consistently and transparently.
+
+  * Added notes about ECMA-262, 5th ed. compatibility to the JSON example
+    grammar.
+
+  * Guarded against redefinition of `undefined`.
+
+  * Made `bin/pegjs` work when called via a symlink
+    ([issue #1](https://github.com/dmajda/pegjs/issues/1)).
+
+  * Fixed bug causing incorrect error messages
+    ([issue #2](https://github.com/dmajda/pegjs/issues/2)).
+
+  * Fixed error message for invalid character range.
+
+  * Fixed string literal parsing in the JavaScript grammar.
+
+  * Generated code improvements and fixes.
+
+  * Internal code improvements and fixes.
+
+  * Improved `README.md`.
+
+0.4
+---
+
+Released: April 17, 2010
+
+### Big Changes
+
+  * Improved IE compatibility \u2014 IE6+ is now fully supported.
+
+  * Generated parsers are now standalone (no runtime is required).
+
+  * Added example grammars for JavaScript, CSS and JSON.
+
+  * Added a benchmark suite.
+
+  * Implemented negative character classes (e.g. `[^a-z]`).
+
+  * Project moved from BitBucket to GitHub.
+
+### Small Changes
+
+  * Code generated for the character classes is now regexp-based (= simpler and
+    more scalable).
+
+  * Added `\uFEFF` (BOM) to the definition of whitespace in the metagrammar.
+
+  * When building a parser, left-recursive rules (both direct and indirect) are
+    reported as errors.
+
+  * When building a parser, missing rules are reported as errors.
+
+  * Expected items in the error messages do not contain duplicates and they are
+    sorted.
+
+  * Fixed several bugs in the example arithmetics grammar.
+
+  * Converted `README` to GitHub Flavored Markdown and improved it.
+
+  * Added `CHANGELOG`.
+
+  * Internal code improvements.
+
+0.3
+---
+
+Released: March 14, 2010
+
+  * Wrote `README`.
+
+  * Bootstrapped the grammar parser.
+
+  * Metagrammar recognizes JavaScript-like comments.
+
+  * Changed standard grammar extension from `.peg` to `.pegjs` (it is more
+    specific).
+
+  * Simplified the example arithmetics grammar + added comment.
+
+  * Fixed a bug with reporting of invalid ranges such as `[b-a]` in the
+    metagrammar.
+
+  * Fixed `--start` vs. `--start-rule` inconsistency between help and actual
+    option processing code.
+
+  * Avoided ugliness in QUnit output.
+
+  * Fixed typo in help: `parserVar` \u2192 `parser_var`.
+
+  * Internal code improvements.
+
+0.2.1
+-----
+
+Released: March 8, 2010
+
+  * Added `pegjs-` prefix to the name of the minified runtime file.
+
+0.2
+---
+
+Released: March 8, 2010
+
+  * Added `Rakefile` that builds minified runtime using Google Closure Compiler
+    API.
+
+  * Removed trailing commas in object initializers (Google Closure does not like
+    them).
+
+0.1
+---
+
+Released: March 8, 2010
+
+  * Initial release.

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/LICENSE
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/LICENSE b/node_modules/pegjs/LICENSE
index 48ab3e5..89232b5 100644
--- a/node_modules/pegjs/LICENSE
+++ b/node_modules/pegjs/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2010-2011 David Majda
+Copyright (c) 2010-2015 David Majda
 
 Permission is hereby granted, free of charge, to any person
 obtaining a copy of this software and associated documentation

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/README.md
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/README.md b/node_modules/pegjs/README.md
index 7a4c17e..52ca9f2 100644
--- a/node_modules/pegjs/README.md
+++ b/node_modules/pegjs/README.md
@@ -1,7 +1,10 @@
 PEG.js
 ======
 
-PEG.js is a simple parser generator for JavaScript that produces fast parsers with excellent error reporting. You can use it to process complex data or computer languages and build transformers, interpreters, compilers and other tools easily.
+PEG.js is a simple parser generator for JavaScript that produces fast parsers
+with excellent error reporting. You can use it to process complex data or
+computer languages and build transformers, interpreters, compilers and other
+tools easily.
 
 Features
 --------
@@ -9,33 +12,48 @@ Features
   * Simple and expressive grammar syntax
   * Integrates both lexical and syntactical analysis
   * Parsers have excellent error reporting out of the box
-  * Based on [parsing expression grammar](http://en.wikipedia.org/wiki/Parsing_expression_grammar) formalism \u2014 more powerful than traditional LL(*k*) and LR(*k*) parsers
-  * Usable [from your browser](http://pegjs.majda.cz/online), from the command line, or via JavaScript API
+  * Based on [parsing expression
+    grammar](http://en.wikipedia.org/wiki/Parsing_expression_grammar) formalism
+    \u2014 more powerful than traditional LL(*k*) and LR(*k*) parsers
+  * Usable [from your browser](http://pegjs.org/online), from the command line,
+    or via JavaScript API
 
 Getting Started
 ---------------
 
-[Online version](http://pegjs.majda.cz/online) is the easiest way to generate a parser. Just enter your grammar, try parsing few inputs, and download generated parser code.
+[Online version](http://pegjs.org/online) is the easiest way to generate a
+parser. Just enter your grammar, try parsing few inputs, and download generated
+parser code.
 
 Installation
 ------------
 
-### Command Line / Server-side
+### Node.js
 
-To use command-line version, install [Node.js](http://nodejs.org/) and [npm](http://npmjs.org/) first. You can then install PEG.js:
+To use the `pegjs` command, install PEG.js globally:
+
+    $ npm install -g pegjs
+
+To use the JavaScript API, install PEG.js locally:
 
     $ npm install pegjs
 
-Once installed, you can use the `pegjs` command to generate your parser from a grammar and use the JavaScript API from Node.js.
+If you need both the `pegjs` command and the JavaScript API, install PEG.js both
+ways.
 
 ### Browser
 
-[Download](http://pegjs.majda.cz/#download) the PEG.js library (regular or minified version) and include it in your web page or application using the `<script>` tag.
+[Download](http://pegjs.org/#download) the PEG.js library (regular or minified
+version) or install it using Bower:
+
+    $ bower install pegjs
 
 Generating a Parser
 -------------------
 
-PEG.js generates parser from a grammar that describes expected input and can specify what the parser returns (using semantic actions on matched parts of the input). Generated parser itself is a JavaScript object with a simple API.
+PEG.js generates parser from a grammar that describes expected input and can
+specify what the parser returns (using semantic actions on matched parts of the
+input). Generated parser itself is a JavaScript object with a simple API.
 
 ### Command Line
 
@@ -43,13 +61,31 @@ To generate a parser from your grammar, use the `pegjs` command:
 
     $ pegjs arithmetics.pegjs
 
-This writes parser source code into a file with the same name as the grammar file but with \u201c.js\u201d extension. You can also specify the output file explicitly:
+This writes parser source code into a file with the same name as the grammar
+file but with \u201c.js\u201d extension. You can also specify the output file explicitly:
 
     $ pegjs arithmetics.pegjs arithmetics-parser.js
 
-If you omit both input and ouptut file, standard input and output are used.
+If you omit both input and output file, standard input and output are used.
 
-By default, the parser object is assigned to `module.exports`, which makes the output a Node.js module. You can assign it to another variable by passing a variable name using the `-e`/`--export-var` option. This may be helpful if you want to use the parser in browser environment.
+By default, the parser object is assigned to `module.exports`, which makes the
+output a Node.js module. You can assign it to another variable by passing a
+variable name using the `-e`/`--export-var` option. This may be helpful if you
+want to use the parser in browser environment.
+
+You can tweak the generated parser with several options:
+
+  * `--cache` \u2014 makes the parser cache results, avoiding exponential parsing
+    time in pathological cases but making the parser slower
+  * `--allowed-start-rules` \u2014 comma-separated list of rules the parser will be
+    allowed to start parsing from (default: the first rule in the grammar)
+  * `--plugin` \u2014 makes PEG.js use a specified plugin (can be specified multiple
+    times)
+  * `--extra-options` \u2014 additional options (in JSON format) to pass to
+    `PEG.buildParser`
+  * `--extra-options-file` \u2014 file with additional options (in JSON format) to
+    pass to `PEG.buildParser`
+  * `--trace` \u2014 makes the parser trace its progress
 
 ### JavaScript API
 
@@ -57,33 +93,64 @@ In Node.js, require the PEG.js parser generator module:
 
     var PEG = require("pegjs");
 
-In browser, include the PEG.js library in your web page or application using the `<script>` tag. The API will be available through the `PEG` global object.
+In browser, include the PEG.js library in your web page or application using the
+`<script>` tag. The API will be available in the `PEG` global object.
 
-To generate a parser, call the `PEG.buildParser` method and pass your grammar as a parameter:
+To generate a parser, call the `PEG.buildParser` method and pass your grammar as
+a parameter:
 
     var parser = PEG.buildParser("start = ('a' / 'b')+");
 
-The method will return generated parser object or throw an exception if the grammar is invalid. The exception will contain `message` property with more details about the error.
-
-To get parser\u2019s source code, call the `toSource` method on the parser.
+The method will return generated parser object or its source code as a string
+(depending on the value of the `output` option \u2014 see below). It will throw an
+exception if the grammar is invalid. The exception will contain `message`
+property with more details about the error.
+
+You can tweak the generated parser by passing a second parameter with an options
+object to `PEG.buildParser`. The following options are supported:
+
+  * `cache` \u2014 if `true`, makes the parser cache results, avoiding exponential
+    parsing time in pathological cases but making the parser slower (default:
+    `false`)
+  * `allowedStartRules` \u2014 rules the parser will be allowed to start parsing from
+    (default: the first rule in the grammar)
+  * `output` \u2014 if set to `"parser"`, the method will return generated parser
+    object; if set to `"source"`, it will return parser source code as a string
+    (default: `"parser"`)
+  * `optimize`\u2014 selects between optimizing the generated parser for parsing
+    speed (`"speed"`) or code size (`"size"`) (default: `"speed"`)
+  * `plugins` \u2014 plugins to use
 
 Using the Parser
 ----------------
 
-Using the generated parser is simple \u2014 just call its `parse` method and pass an input string as a parameter. The method will return a parse result (the exact value depends on the grammar used to build the parser) or throw an exception if the input is invalid. The exception will contain `line`, `column` and `message` properties with more details about the error.
+Using the generated parser is simple \u2014 just call its `parse` method and pass an
+input string as a parameter. The method will return a parse result (the exact
+value depends on the grammar used to build the parser) or throw an exception if
+the input is invalid. The exception will contain `location`, `expected`, `found`
+and `message` properties with more details about the error.
 
     parser.parse("abba"); // returns ["a", "b", "b", "a"]
 
     parser.parse("abcd"); // throws an exception
 
-You can also start parsing from a specific rule in the grammar. Just pass the rule name to the `parse` method as a second parameter.
+You can tweak parser behavior by passing a second parameter with an options
+object to the `parse` method. The following options are supported:
+
+  * `startRule` \u2014 name of the rule to start parsing from
+  * `tracer` \u2014 tracer to use
+
+Parsers can also support their own custom options.
 
 Grammar Syntax and Semantics
 ----------------------------
 
-The grammar syntax is similar to JavaScript in that it is not line-oriented and ignores whitespace between tokens. You can also use JavaScript-style comments (`// ...` and `/* ... */`).
+The grammar syntax is similar to JavaScript in that it is not line-oriented and
+ignores whitespace between tokens. You can also use JavaScript-style comments
+(`// ...` and `/* ... */`).
 
-Let's look at example grammar that recognizes simple arithmetic expressions like `2*(3+4)`. A parser generated from this grammar computes their values.
+Let's look at example grammar that recognizes simple arithmetic expressions like
+`2*(3+4)`. A parser generated from this grammar computes their values.
 
     start
       = additive
@@ -103,32 +170,95 @@ Let's look at example grammar that recognizes simple arithmetic expressions like
     integer "integer"
       = digits:[0-9]+ { return parseInt(digits.join(""), 10); }
 
-On the top level, the grammar consists of *rules* (in our example, there are five of them). Each rule has a *name* (e.g. `integer`) that identifies the rule, and a *parsing expression* (e.g. `digits:[0-9]+ { return parseInt(digits.join(""), 10); }`) that defines a pattern to match against the input text and possibly contains some JavaScript code that determines what happens when the pattern matches successfully. A rule can also contain *human-readable name* that is used in error messages (in our example, only the `integer` rule has a human-readable name). The parsing starts at the first rule, which is also called the *start rule*.
-
-A rule name must be a JavaScript identifier. It is followed by an equality sign (\u201c=\u201d) and a parsing expression. If the rule has a human-readable name, it is written as a JavaScript string between the name and separating equality sign. Rules need to be separated only by whitespace (their beginning is easily recognizable), but a semicolon (\u201c;\u201d) after the parsing expression is allowed.
+On the top level, the grammar consists of *rules* (in our example, there are
+five of them). Each rule has a *name* (e.g. `integer`) that identifies the rule,
+and a *parsing expression* (e.g. `digits:[0-9]+ { return
+parseInt(digits.join(""), 10); }`) that defines a pattern to match against the
+input text and possibly contains some JavaScript code that determines what
+happens when the pattern matches successfully. A rule can also contain
+*human-readable name* that is used in error messages (in our example, only the
+`integer` rule has a human-readable name). The parsing starts at the first rule,
+which is also called the *start rule*.
+
+A rule name must be a JavaScript identifier. It is followed by an equality sign
+(\u201c=\u201d) and a parsing expression. If the rule has a human-readable name, it is
+written as a JavaScript string between the name and separating equality sign.
+Rules need to be separated only by whitespace (their beginning is easily
+recognizable), but a semicolon (\u201c;\u201d) after the parsing expression is allowed.
+
+The first rule can be preceded by an *initializer* \u2014 a piece of JavaScript code
+in curly braces (\u201c{\u201d and \u201c}\u201d). This code is executed before the generated parser
+starts parsing. All variables and functions defined in the initializer are
+accessible in rule actions and semantic predicates. The code inside the
+initializer can access the parser object using the `parser` variable and options
+passed to the parser using the `options` variable. Curly braces in the
+initializer code must be balanced. Let's look at the example grammar from above
+using a simple initializer.
+
+    {
+      function makeInteger(o) {
+        return parseInt(o.join(""), 10);
+      }
+    }
 
-Rules can be preceded by an *initializer* \u2014 a piece of JavaScript code in curly braces (\u201c{\u201d and \u201c}\u201d). This code is executed before the generated parser starts parsing. All variables and functions defined in the initializer are accessible in rule actions and semantic predicates. Curly braces in the initializer code must be balanced.
-
-The parsing expressions of the rules are used to match the input text to the grammar. There are various types of expressions \u2014 matching characters or character classes, indicating optional parts and repetition, etc. Expressions can also contain references to other rules. See detailed description below.
-
-If an expression successfully matches a part of the text when running the generated parser, it produces a *match result*, which is a JavaScript value. For example:
+    start
+      = additive
 
-  * An expression matching a literal string produces a JavaScript string containing matched part of the input.
-  * An expression matching repeated occurrence of some subexpression produces a JavaScript array with all the matches.
+    additive
+      = left:multiplicative "+" right:additive { return left + right; }
+      / multiplicative
 
-The match results propagate through the rules when the rule names are used in expressions, up to the start rule. The generated parser returns start rule's match result when parsing is successful.
+    multiplicative
+      = left:primary "*" right:multiplicative { return left * right; }
+      / primary
 
-One special case of parser expression is a *parser action* \u2014 a piece of JavaScript code inside curly braces (\u201c{\u201d and \u201c}\u201d) that takes match results of some of the the preceding expressions and returns a JavaScript value. This value is considered match result of the preceding expression (in other words, the parser action is a match result transformer).
+    primary
+      = integer
+      / "(" additive:additive ")" { return additive; }
 
-In our arithmetics example, there are many parser actions. Consider the action in expression `digits:[0-9]+ { return parseInt(digits.join(""), 10); }`. It takes the match result of the expression [0-9]+, which is an array of strings containing digits, as its parameter. It joins the digits together to form a number and converts it to a JavaScript `number` object.
+    integer "integer"
+      = digits:[0-9]+ { return makeInteger(digits); }
+
+The parsing expressions of the rules are used to match the input text to the
+grammar. There are various types of expressions \u2014 matching characters or
+character classes, indicating optional parts and repetition, etc. Expressions
+can also contain references to other rules. See detailed description below.
+
+If an expression successfully matches a part of the text when running the
+generated parser, it produces a *match result*, which is a JavaScript value. For
+example:
+
+  * An expression matching a literal string produces a JavaScript string
+    containing matched part of the input.
+  * An expression matching repeated occurrence of some subexpression produces a
+    JavaScript array with all the matches.
+
+The match results propagate through the rules when the rule names are used in
+expressions, up to the start rule. The generated parser returns start rule's
+match result when parsing is successful.
+
+One special case of parser expression is a *parser action* \u2014 a piece of
+JavaScript code inside curly braces (\u201c{\u201d and \u201c}\u201d) that takes match results of
+some of the the preceding expressions and returns a JavaScript value. This value
+is considered match result of the preceding expression (in other words, the
+parser action is a match result transformer).
+
+In our arithmetics example, there are many parser actions. Consider the action
+in expression `digits:[0-9]+ { return parseInt(digits.join(""), 10); }`. It
+takes the match result of the expression [0-9]+, which is an array of strings
+containing digits, as its parameter. It joins the digits together to form a
+number and converts it to a JavaScript `number` object.
 
 ### Parsing Expression Types
 
-There are several types of parsing expressions, some of them containing subexpressions and thus forming a recursive structure:
+There are several types of parsing expressions, some of them containing
+subexpressions and thus forming a recursive structure:
 
 #### "*literal*"<br>'*literal*'
 
-Match exact literal string and return it. The string syntax is the same as in JavaScript.
+Match exact literal string and return it. The string syntax is the same as in
+JavaScript. Appending `i` right after the literal makes the match
+case-insensitive.
 
 #### .
 
@@ -136,7 +266,12 @@ Match exactly one character and return it as a string.
 
 #### [*characters*]
 
-Match one character from a set and return it as a string. The characters in the list can be escaped in exactly the same way as in JavaScript string. The list of characters can also contain ranges (e.g. `[a-z]` means \u201call lowercase letters\u201d). Preceding the characters with `^` inverts the matched set (e.g. `[^a-z]` means \u201call character but lowercase letters\u201d).
+Match one character from a set and return it as a string. The characters in the
+list can be escaped in exactly the same way as in JavaScript string. The list of
+characters can also contain ranges (e.g. `[a-z]` means \u201call lowercase letters\u201d).
+Preceding the characters with `^` inverts the matched set (e.g. `[^a-z]` means
+\u201call character but lowercase letters\u201d). Appending `i` right after the right
+bracket makes the match case-insensitive.
 
 #### *rule*
 
@@ -148,65 +283,172 @@ Match a subexpression and return its match result.
 
 #### *expression* \*
 
-Match zero or more repetitions of the expression and return their match results in an array. The matching is greedy, i.e. the parser tries to match the expression as many times as possible.
+Match zero or more repetitions of the expression and return their match results
+in an array. The matching is greedy, i.e. the parser tries to match the
+expression as many times as possible. Unlike in regular expressions, there is no
+backtracking.
 
 #### *expression* +
 
-Match one or more repetitions of the expression and return their match results in an array. The matching is greedy, i.e. the parser tries to match the expression as many times as possible.
+Match one or more repetitions of the expression and return their match results
+in an array. The matching is greedy, i.e. the parser tries to match the
+expression as many times as possible. Unlike in regular expressions, there is no
+backtracking.
 
 #### *expression* ?
 
-Try to match the expression. If the match succeeds, return its match result, otherwise return an empty string.
+Try to match the expression. If the match succeeds, return its match result,
+otherwise return `null`. Unlike in regular expressions, there is no
+backtracking.
 
 #### & *expression*
 
-Try to match the expression. If the match succeeds, just return an empty string and do not advance the parser position, otherwise consider the match failed.
+Try to match the expression. If the match succeeds, just return `undefined` and
+do not advance the parser position, otherwise consider the match failed.
 
 #### ! *expression*
 
-Try to match the expression and. If the match does not succeed, just return an empty string and do not advance the parser position, otherwise consider the match failed.
+Try to match the expression. If the match does not succeed, just return
+`undefined` and do not advance the parser position, otherwise consider the match
+failed.
 
 #### & { *predicate* }
 
-The predicate is a piece of JavaScript code that is executed as if it was inside a function. It should return some JavaScript value using the `return` statement. If the returned value evaluates to `true` in boolean context, just return an empty string and do not advance the parser position; otherwise consider the match failed.
+The predicate is a piece of JavaScript code that is executed as if it was inside
+a function. It gets the match results of labeled expressions in preceding
+expression as its arguments. It should return some JavaScript value using the
+`return` statement. If the returned value evaluates to `true` in boolean
+context, just return `undefined` and do not advance the parser position;
+otherwise consider the match failed.
 
-The code inside the predicate has access to all variables and functions defined in the initializer at the beginning of the grammar. Curly braces in the predicate code must be balanced.
+The code inside the predicate can access all variables and functions defined in
+the initializer at the beginning of the grammar.
+
+The code inside the predicate can also access location information using the
+`location` function. It returns an object like this:
+
+    {
+      start: { offset: 23, line: 5, column: 6 },
+      end:   { offset: 23, line: 5, column: 6 }
+    }
+
+The `start` and `end` properties both refer to the current parse position. The
+`offset` property contains an offset as a zero-based index and `line` and
+`column` properties contain a line and a column as one-based indices.
+
+The code inside the predicate can also access the parser object using the
+`parser` variable and options passed to the parser using the `options` variable.
+
+Note that curly braces in the predicate code must be balanced.
 
 #### ! { *predicate* }
 
-The predicate is a piece of JavaScript code that is executed as if it was inside a function. It should return some JavaScript value using the `return` statement. If the returned value evaluates to `false` in boolean context, just return an empty string and do not advance the parser position; otherwise consider the match failed.
+The predicate is a piece of JavaScript code that is executed as if it was inside
+a function. It gets the match results of labeled expressions in preceding
+expression as its arguments. It should return some JavaScript value using the
+`return` statement. If the returned value evaluates to `false` in boolean
+context, just return `undefined` and do not advance the parser position;
+otherwise consider the match failed.
+
+The code inside the predicate can access all variables and functions defined in
+the initializer at the beginning of the grammar.
+
+The code inside the predicate can also access location information using the
+`location` function. It returns an object like this:
+
+    {
+      start: { offset: 23, line: 5, column: 6 },
+      end:   { offset: 23, line: 5, column: 6 }
+    }
+
+The `start` and `end` properties both refer to the current parse position. The
+`offset` property contains an offset as a zero-based index and `line` and
+`column` properties contain a line and a column as one-based indices.
+
+The code inside the predicate can also access the parser object using the
+`parser` variable and options passed to the parser using the `options` variable.
+
+Note that curly braces in the predicate code must be balanced.
 
-The code inside the predicate has access to all variables and functions defined in the initializer at the beginning of the grammar. Curly braces in the predicate code must be balanced.
+#### $ *expression*
+
+Try to match the expression. If the match succeeds, return the matched string
+instead of the match result.
 
 #### *label* : *expression*
 
-Match the expression and remember its match result under given lablel. The label must be a JavaScript identifier.
+Match the expression and remember its match result under given label. The label
+must be a JavaScript identifier.
 
-Labeled expressions are useful together with actions, where saved match results can be accessed by action's JavaScript code.
+Labeled expressions are useful together with actions, where saved match results
+can be accessed by action's JavaScript code.
 
-#### *expression<sub>1</sub>* *expression<sub>2</sub>* ... *expression<sub>n</sub>*
+#### *expression<sub>1</sub>* *expression<sub>2</sub>* ...  *expression<sub>n</sub>*
 
 Match a sequence of expressions and return their match results in an array.
 
 #### *expression* { *action* }
 
-Match the expression. If the match is successful, run the action, otherwise consider the match failed.
+Match the expression. If the match is successful, run the action, otherwise
+consider the match failed.
+
+The action is a piece of JavaScript code that is executed as if it was inside a
+function. It gets the match results of labeled expressions in preceding
+expression as its arguments. The action should return some JavaScript value
+using the `return` statement. This value is considered match result of the
+preceding expression.
+
+To indicate an error, the code inside the action can invoke the `expected`
+function, which makes the parser throw an exception. The function takes one
+parameter \u2014 a description of what was expected at the current position. This
+description will be used as part of a message of the thrown exception.
+
+The code inside an action can also invoke the `error` function, which also makes
+the parser throw an exception. The function takes one parameter \u2014 an error
+message. This message will be used by the thrown exception.
+
+The code inside the action can access all variables and functions defined in the
+initializer at the beginning of the grammar. Curly braces in the action code
+must be balanced.
+
+The code inside the action can also access the string matched by the expression
+using the `text` function.
 
-The action is a piece of JavaScript code that is executed as if it was inside a function. It gets the match results of labeled expressions in preceding expression as its arguments. The action should return some JavaScript value using the `return` statement. This value is considered match result of the preceding expression. The action can return `null` to indicate a match failure.
 
-The code inside the action has access to all variables and functions defined in the initializer at the beginning of the grammar. Curly braces in the action code must be balanced.
+The code inside the action can also access location information using the
+`location` function. It returns an object like this:
+
+    {
+      start: { offset: 23, line: 5, column: 6 },
+      end:   { offset: 25, line: 5, column: 8 }
+    }
+
+The `start` property refers to the position at the beginning of the expression,
+the `end` property refers to position after the end of the expression. The
+`offset` property contains an offset as a zero-based index and `line` and
+`column` properties contain a line and a column as one-based indices.
+
+The code inside the action can also access the parser object using the `parser`
+variable and options passed to the parser using the `options` variable.
+
+Note that curly braces in the action code must be balanced.
 
 #### *expression<sub>1</sub>* / *expression<sub>2</sub>* / ... / *expression<sub>n</sub>*
 
-Try to match the first expression, if it does not succeed, try the second one, etc. Return the match result of the first successfully matched expression. If no expression matches, consider the match failed.
+Try to match the first expression, if it does not succeed, try the second one,
+etc. Return the match result of the first successfully matched expression. If no
+expression matches, consider the match failed.
 
 Compatibility
 -------------
 
-Both the parser generator and generated parsers should run well in the following environments:
+Both the parser generator and generated parsers should run well in the following
+environments:
 
-  * Node.js 0.4.4+
-  * IE 6+
+  * Node.js 0.10.0+
+  * io.js
+  * Internet Explorer 8+
+  * Edge
   * Firefox
   * Chrome
   * Safari
@@ -215,12 +457,23 @@ Both the parser generator and generated parsers should run well in the following
 Development
 -----------
 
-  * [Project website](https://pegjs.majda.cz/)
-  * [Source code](https://github.com/dmajda/pegjs)
-  * [Issue tracker](https://github.com/dmajda/pegjs/issues)
+  * [Project website](http://pegjs.org/)
+  * [Wiki](https://github.com/pegjs/pegjs/wiki)
+  * [Source code](https://github.com/pegjs/pegjs)
+  * [Trello board](https://trello.com/board/peg-js/50a8eba48cf95d4957006b01)
+  * [Issue tracker](https://github.com/pegjs/pegjs/issues)
   * [Google Group](http://groups.google.com/group/pegjs)
   * [Twitter](http://twitter.com/peg_js)
 
-PEG.js is developed by [David Majda](http://majda.cz/) ([@dmajda](http://twitter.com/dmajda)). You are welcome to contribute code. Unless your contribution is really trivial you should get in touch with me first \u2014 this can prevent wasted effort on both sides. You can send code both as patch or GitHub pull request.
+PEG.js is developed by [David Majda](http://majda.cz/)
+([@dmajda](http://twitter.com/dmajda)). The [Bower
+package](https://github.com/pegjs/bower) is maintained by [Michel
+Kr�mer](http://www.michel-kraemer.com/)
+([@michelkraemer](https://twitter.com/michelkraemer)).
+
+You are welcome to contribute code.  Unless your contribution is really trivial
+you should get in touch with me first \u2014 this can prevent wasted effort on both
+sides. You can send code both as a patch or a GitHub pull request.
 
-Note that PEG.js is still very much work in progress. There are no compatibility guarantees until version 1.0.
+Note that PEG.js is still very much work in progress. There are no compatibility
+guarantees until version 1.0.

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/VERSION
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/VERSION b/node_modules/pegjs/VERSION
index b616048..ac39a10 100644
--- a/node_modules/pegjs/VERSION
+++ b/node_modules/pegjs/VERSION
@@ -1 +1 @@
-0.6.2
+0.9.0

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/bin/pegjs
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/bin/pegjs b/node_modules/pegjs/bin/pegjs
index c24246e..e934ed9 100755
--- a/node_modules/pegjs/bin/pegjs
+++ b/node_modules/pegjs/bin/pegjs
@@ -1,30 +1,47 @@
 #!/usr/bin/env node
 
-var sys = require("sys");
-var fs  = require("fs");
-var PEG = require("../lib/peg");
+"use strict";
+
+var fs   = require("fs");
+var path = require("path");
+var PEG  = require("../lib/peg");
 
 /* Helpers */
 
 function printVersion() {
-  sys.puts("PEG.js " + PEG.VERSION);
+  console.log("PEG.js " + PEG.VERSION);
 }
 
 function printHelp() {
-  sys.puts("Usage: pegjs [options] [--] [<input_file>] [<output_file>]");
-  sys.puts("");
-  sys.puts("Generates a parser from the PEG grammar specified in the <input_file> and");
-  sys.puts("writes it to the <output_file>.");
-  sys.puts("");
-  sys.puts("If the <output_file> is omitted, its name is generated by changing the");
-  sys.puts("<input_file> extension to \".js\". If both <input_file> and <output_file> are");
-  sys.puts("omitted, standard input and output are used.");
-  sys.puts("");
-  sys.puts("Options:");
-  sys.puts("  -e, --export-var <variable>  name of the variable where the parser object");
-  sys.puts("                               will be stored (default: \"module.exports\")");
-  sys.puts("  -v, --version                print version information and exit");
-  sys.puts("  -h, --help                   print help and exit");
+  console.log("Usage: pegjs [options] [--] [<input_file>] [<output_file>]");
+  console.log("");
+  console.log("Generates a parser from the PEG grammar specified in the <input_file> and writes");
+  console.log("it to the <output_file>.");
+  console.log("");
+  console.log("If the <output_file> is omitted, its name is generated by changing the");
+  console.log("<input_file> extension to \".js\". If both <input_file> and <output_file> are");
+  console.log("omitted, standard input and output are used.");
+  console.log("");
+  console.log("Options:");
+  console.log("  -e, --export-var <variable>        name of the variable where the parser");
+  console.log("                                     object will be stored (default:");
+  console.log("                                     \"module.exports\")");
+  console.log("      --cache                        make generated parser cache results");
+  console.log("      --allowed-start-rules <rules>  comma-separated list of rules the generated");
+  console.log("                                     parser will be allowed to start parsing");
+  console.log("                                     from (default: the first rule in the");
+  console.log("                                     grammar)");
+  console.log("  -o, --optimize <goal>              select optimization for speed or size");
+  console.log("                                     (default: speed)");
+  console.log("      --trace                        enable tracing in generated parser");
+  console.log("      --plugin <plugin>              use a specified plugin (can be specified");
+  console.log("                                     multiple times)");
+  console.log("      --extra-options <options>      additional options (in JSON format) to pass");
+  console.log("                                     to PEG.buildParser");
+  console.log("      --extra-options-file <file>    file with additional options (in JSON");
+  console.log("                                     format) to pass to PEG.buildParser");
+  console.log("  -v, --version                      print version information and exit");
+  console.log("  -h, --help                         print help and exit");
 }
 
 function exitSuccess() {
@@ -36,16 +53,45 @@ function exitFailure() {
 }
 
 function abort(message) {
-  sys.error(message);
+  console.error(message);
   exitFailure();
 }
 
+function addExtraOptions(options, json) {
+  var extraOptions;
+
+  try {
+    extraOptions = JSON.parse(json);
+  } catch (e) {
+    if (!(e instanceof SyntaxError)) { throw e; }
+
+    abort("Error parsing JSON: " + e.message);
+  }
+  if (typeof extraOptions !== "object") {
+    abort("The JSON with extra options has to represent an object.");
+  }
+
+  for (var key in extraOptions) {
+    if (extraOptions.hasOwnProperty(key)) {
+      options[key] = extraOptions[key];
+    }
+  }
+}
+
+/*
+ * Extracted into a function just to silence JSHint complaining about creating
+ * functions in a loop.
+ */
+function trim(s) {
+  return s.trim();
+}
+
 /* Arguments */
 
 var args = process.argv.slice(2); // Trim "node" and the script path.
 
 function isOption(arg) {
-  return /-.+/.test(arg);
+  return (/^-/).test(arg);
 }
 
 function nextArg() {
@@ -64,6 +110,13 @@ function readStream(inputStream, callback) {
 
 /* This makes the generated parser a CommonJS module by default. */
 var exportVar = "module.exports";
+var options = {
+  cache:    false,
+  output:   "source",
+  optimize: "speed",
+  trace:    false,
+  plugins:  []
+};
 
 while (args.length > 0 && isOption(args[0])) {
   switch (args[0]) {
@@ -76,6 +129,74 @@ while (args.length > 0 && isOption(args[0])) {
       exportVar = args[0];
       break;
 
+    case "--cache":
+      options.cache = true;
+      break;
+
+    case "--allowed-start-rules":
+      nextArg();
+      if (args.length === 0) {
+        abort("Missing parameter of the -e/--allowed-start-rules option.");
+      }
+      options.allowedStartRules = args[0]
+        .split(",")
+        .map(trim);
+      break;
+
+    case "--trace":
+      options.trace = true;
+      break;
+
+    case "-o":
+    case "--optimize":
+      nextArg();
+      if (args.length === 0) {
+        abort("Missing parameter of the -o/--optimize option.");
+      }
+      if (args[0] !== "speed" && args[0] !== "size") {
+        abort("Optimization goal must be either \"speed\" or \"size\".");
+      }
+      options.optimize = args[0];
+      break;
+
+    case "--plugin":
+      nextArg();
+      if (args.length === 0) {
+        abort("Missing parameter of the --plugin option.");
+      }
+      var id = /^(\.\/|\.\.\/)/.test(args[0]) ? path.resolve(args[0]) : args[0];
+      var mod;
+      try {
+        mod = require(id);
+      } catch (e) {
+        if (e.code !== "MODULE_NOT_FOUND") { throw e; }
+
+        abort("Can't load module \"" + id + "\".");
+      }
+      options.plugins.push(mod);
+      break;
+
+    case "--extra-options":
+      nextArg();
+      if (args.length === 0) {
+        abort("Missing parameter of the --extra-options option.");
+      }
+      addExtraOptions(options, args[0]);
+      break;
+
+    case "--extra-options-file":
+      nextArg();
+      if (args.length === 0) {
+        abort("Missing parameter of the --extra-options-file option.");
+      }
+      try {
+        var json = fs.readFileSync(args[0]);
+      } catch(e) {
+        abort("Can't read from file \"" + args[0] + "\".");
+      }
+      addExtraOptions(options, json);
+      break;
+
     case "-v":
     case "--version":
       printVersion();
@@ -100,7 +221,8 @@ while (args.length > 0 && isOption(args[0])) {
 
 switch (args.length) {
   case 0:
-    var inputStream = process.openStdin();
+    process.stdin.resume();
+    var inputStream = process.stdin;
     var outputStream = process.stdout;
     break;
 
@@ -112,7 +234,7 @@ switch (args.length) {
       abort("Can't read from file \"" + inputFile + "\".");
     });
 
-    var outputFile = args.length == 1
+    var outputFile = args.length === 1
       ? args[0].replace(/\.[^.]*$/, ".js")
       : args[1];
     var outputStream = fs.createWriteStream(outputFile);
@@ -127,16 +249,22 @@ switch (args.length) {
 }
 
 readStream(inputStream, function(input) {
+  var source;
+
   try {
-    var parser = PEG.buildParser(input);
+    source = PEG.buildParser(input, options);
   } catch (e) {
-    if (e.line !== undefined && e.column !== undefined) {
-      abort(e.line + ":" + e.column + ": " + e.message);
+    if (e.location !== undefined) {
+      abort(e.location.start.line + ":" + e.location.start.column + ": " + e.message);
     } else {
       abort(e.message);
     }
   }
 
-  outputStream.write(exportVar + " = " + parser.toSource() + ";\n");
-  outputStream.end();
+  outputStream.write(
+    exportVar !== "" ? exportVar + " = " + source + ";\n" : source + "\n"
+  );
+  if (outputStream !== process.stdout) {
+    outputStream.end();
+  }
 });

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/examples/arithmetics.pegjs
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/examples/arithmetics.pegjs b/node_modules/pegjs/examples/arithmetics.pegjs
index 52fae2a..597f7d4 100644
--- a/node_modules/pegjs/examples/arithmetics.pegjs
+++ b/node_modules/pegjs/examples/arithmetics.pegjs
@@ -1,22 +1,44 @@
 /*
- * Classic example grammar, which recognizes simple arithmetic expressions like
- * "2*(3+4)". The parser generated from this grammar then computes their value.
+ * Simple Arithmetics Grammar
+ * ==========================
+ *
+ * Accepts expressions like "2 * (3 + 4)" and computes their value.
  */
 
-start
-  = additive
+{
+  function combine(first, rest, combiners) {
+    var result = first, i;
 
-additive
-  = left:multiplicative "+" right:additive { return left + right; }
-  / multiplicative
+    for (i = 0; i < rest.length; i++) {
+      result = combiners[rest[i][1]](result, rest[i][3]);
+    }
 
-multiplicative
-  = left:primary "*" right:multiplicative { return left * right; }
-  / primary
+    return result;
+  }
+}
 
-primary
-  = integer
-  / "(" additive:additive ")" { return additive; }
+Expression
+  = first:Term rest:(_ ("+" / "-") _ Term)* {
+      return combine(first, rest, {
+        "+": function(left, right) { return left + right; },
+        "-": function(left, right) { return left - right; }
+      });
+    }
 
-integer "integer"
-  = digits:[0-9]+ { return parseInt(digits.join(""), 10); }
+Term
+  = first:Factor rest:(_ ("*" / "/") _ Factor)* {
+      return combine(first, rest, {
+        "*": function(left, right) { return left * right; },
+        "/": function(left, right) { return left / right; }
+      });
+    }
+
+Factor
+  = "(" _ expr:Expression _ ")" { return expr; }
+  / Integer
+
+Integer "integer"
+  = [0-9]+ { return parseInt(text(), 10); }
+
+_ "whitespace"
+  = [ \t\n\r]*

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/examples/css.pegjs
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/examples/css.pegjs b/node_modules/pegjs/examples/css.pegjs
index 5593d3c..24f9298 100644
--- a/node_modules/pegjs/examples/css.pegjs
+++ b/node_modules/pegjs/examples/css.pegjs
@@ -1,96 +1,119 @@
 /*
- * CSS parser based on the grammar described at http://www.w3.org/TR/CSS2/grammar.html.
+ * CSS Grammar
+ * ===========
  *
- * The parser builds a tree representing the parsed CSS, composed of basic
- * JavaScript values, arrays and objects (basically JSON). It can be easily
- * used by various CSS processors, transformers, etc.
+ * Based on grammar from CSS 2.1 specification [1] (including the errata [2]).
+ * Generated parser builds a syntax tree composed of nested JavaScript objects,
+ * vaguely inspired by CSS DOM [3]. The CSS DOM itself wasn't used as it is not
+ * expressive enough (e.g. selectors are reflected as text, not structured
+ * objects) and somewhat cumbersome.
  *
- * Note that the parser does not handle errors in CSS according to the
- * specification -- many errors which it should recover from (e.g. malformed
- * declarations or unexpected end of stylesheet) are simply fatal. This is a
- * result of straightforward rewrite of the CSS grammar to PEG.js and it should
- * be fixed sometimes.
+ * Limitations:
+ *
+ *   * Many errors which should be recovered from according to the specification
+ *     (e.g. malformed declarations or unexpected end of stylesheet) are fatal.
+ *     This is a result of straightforward rewrite of the CSS grammar to PEG.js.
+ *
+ * [1] http://www.w3.org/TR/2011/REC-CSS2-20110607
+ * [2] http://www.w3.org/Style/css2-updates/REC-CSS2-20110607-errata.html
+ * [3] http://www.w3.org/TR/DOM-Level-2-Style/css.html
  */
 
-/* ===== Syntactical Elements ===== */
+{
+  function extractOptional(optional, index) {
+    return optional ? optional[index] : null;
+  }
+
+  function extractList(list, index) {
+    var result = [], i;
+
+    for (i = 0; i < list.length; i++) {
+      if (list[i][index] !== null) {
+        result.push(list[i][index]);
+      }
+    }
+
+    return result;
+  }
+
+  function buildList(first, rest, index) {
+    return (first !== null ? [first] : []).concat(extractList(rest, index));
+  }
+
+  function buildExpression(first, rest) {
+    var result = first, i;
+
+    for (i = 0; i < rest.length; i++) {
+      result = {
+        type:     "Expression",
+        operator: rest[i][0],
+        left:     result,
+        right:    rest[i][1]
+      };
+    }
+
+    return result;
+  }
+}
 
 start
   = stylesheet:stylesheet comment* { return stylesheet; }
 
+/* ----- G.1 Grammar ----- */
+
 stylesheet
   = charset:(CHARSET_SYM STRING ";")? (S / CDO / CDC)*
     imports:(import (CDO S* / CDC S*)*)*
-    rules:((ruleset / media / page) (CDO S* / CDC S*)*)* {
-      var importsConverted = [];
-      for (var i = 0; i < imports.length; i++) {
-        importsConverted.push(imports[i][0]);
-      }
-
-      var rulesConverted = [];
-      for (i = 0; i < rules.length; i++) {
-        rulesConverted.push(rules[i][0]);
-      }
-
+    rules:((ruleset / media / page) (CDO S* / CDC S*)*)*
+    {
       return {
-        type:    "stylesheet",
-        charset: charset !== "" ? charset[1] : null,
-        imports: importsConverted,
-        rules:   rulesConverted
+        type:    "StyleSheet",
+        charset: extractOptional(charset, 1),
+        imports: extractList(imports, 0),
+        rules:   extractList(rules, 0)
       };
     }
 
 import
   = IMPORT_SYM S* href:(STRING / URI) S* media:media_list? ";" S* {
       return {
-        type:  "import_rule",
+        type:  "ImportRule",
         href:  href,
-        media: media !== "" ? media : []
+        media: media !== null ? media : []
       };
     }
 
 media
   = MEDIA_SYM S* media:media_list "{" S* rules:ruleset* "}" S* {
       return {
-        type:  "media_rule",
+        type: "MediaRule",
         media: media,
         rules: rules
       };
     }
 
 media_list
-  = head:medium tail:("," S* medium)* {
-      var result = [head];
-      for (var i = 0; i < tail.length; i++) {
-        result.push(tail[i][2]);
-      }
-      return result;
-    }
+  = first:medium rest:("," S* medium)* { return buildList(first, rest, 2); }
 
 medium
-  = ident:IDENT S* { return ident; }
+  = name:IDENT S* { return name; }
 
 page
-  = PAGE_SYM S* qualifier:pseudo_page?
+  = PAGE_SYM S* selector:pseudo_page?
     "{" S*
-    declarationsHead:declaration?
-    declarationsTail:(";" S* declaration?)*
-    "}" S* {
-      var declarations = declarationsHead !== "" ? [declarationsHead] : [];
-      for (var i = 0; i < declarationsTail.length; i++) {
-        if (declarationsTail[i][2] !== "") {
-          declarations.push(declarationsTail[i][2]);
-        }
-      }
-
+    declarationsFirst:declaration?
+    declarationsRest:(";" S* declaration?)*
+    "}" S*
+    {
       return {
-        type:         "page_rule",
-        qualifier:    qualifier !== "" ? qualifier : null,
-        declarations: declarations
+        type:         "PageRule",
+        selector:     selector,
+        declarations: buildList(declarationsFirst, declarationsRest, 2)
       };
     }
 
 pseudo_page
-  = ":" ident:IDENT S* { return ident; }
+  = ":" value:IDENT S* { return { type: "PseudoSelector", value: value }; }
 
 operator
   = "/" S* { return "/"; }
@@ -100,51 +123,36 @@ combinator
   = "+" S* { return "+"; }
   / ">" S* { return ">"; }
 
-unary_operator
-  = "+"
-  / "-"
-
 property
-  = ident:IDENT S* { return ident; }
+  = name:IDENT S* { return name; }
 
 ruleset
-  = selectorsHead:selector
-    selectorsTail:("," S* selector)*
+  = selectorsFirst:selector
+    selectorsRest:("," S* selector)*
     "{" S*
-    declarationsHead:declaration?
-    declarationsTail:(";" S* declaration?)*
-    "}" S* {
-      var selectors = [selectorsHead];
-      for (var i = 0; i < selectorsTail.length; i++) {
-        selectors.push(selectorsTail[i][2]);
-      }
-
-      var declarations = declarationsHead !== "" ? [declarationsHead] : [];
-      for (i = 0; i < declarationsTail.length; i++) {
-        if (declarationsTail[i][2] !== "") {
-          declarations.push(declarationsTail[i][2]);
-        }
-      }
-
+    declarationsFirst:declaration?
+    declarationsRest:(";" S* declaration?)*
+    "}" S*
+    {
       return {
-        type:         "ruleset",
-        selectors:    selectors,
-        declarations: declarations
+        type:         "RuleSet",
+        selectors:    buildList(selectorsFirst, selectorsRest, 2),
+        declarations: buildList(declarationsFirst, declarationsRest, 2)
       };
     }
 
 selector
   = left:simple_selector S* combinator:combinator right:selector {
       return {
-        type:       "selector",
+        type:       "Selector",
         combinator: combinator,
         left:       left,
         right:      right
       };
     }
-  / left:simple_selector S* right:selector {
+  / left:simple_selector S+ right:selector {
       return {
-        type:       "selector",
+        type:       "Selector",
         combinator: " ",
         left:       left,
         right:      right
@@ -153,51 +161,42 @@ selector
   / selector:simple_selector S* { return selector; }
 
 simple_selector
-  = element:element_name
-    qualifiers:(
-        id:HASH { return { type: "ID selector", id: id.substr(1) }; }
-      / class
-      / attrib
-      / pseudo
-    )* {
+  = element:element_name qualifiers:(id / class / attrib / pseudo)* {
       return {
-        type:       "simple_selector",
+        type:       "SimpleSelector",
         element:    element,
         qualifiers: qualifiers
       };
     }
-  / qualifiers:(
-        id:HASH { return { type: "ID selector", id: id.substr(1) }; }
-      / class
-      / attrib
-      / pseudo
-    )+ {
+  / qualifiers:(id / class / attrib / pseudo)+ {
       return {
-        type:       "simple_selector",
+        type:       "SimpleSelector",
         element:    "*",
         qualifiers: qualifiers
       };
     }
 
+id
+  = id:HASH { return { type: "IDSelector", id: id }; }
+
 class
-  = "." class_:IDENT { return { type: "class_selector", "class": class_ }; }
+  = "." class_:IDENT { return { type: "ClassSelector", "class": class_ }; }
 
 element_name
-  = IDENT / '*'
+  = IDENT
+  / "*"
 
 attrib
   = "[" S*
     attribute:IDENT S*
-    operatorAndValue:(
-      ('=' / INCLUDES / DASHMATCH) S*
-      (IDENT / STRING) S*
-    )?
-    "]" {
+    operatorAndValue:(("=" / INCLUDES / DASHMATCH) S* (IDENT / STRING) S*)?
+    "]"
+    {
       return {
-        type:      "attribute_selector",
+        type:      "AttributeSelector",
         attribute: attribute,
-        operator:  operatorAndValue !== "" ? operatorAndValue[0] : null,
-        value:     operatorAndValue !== "" ? operatorAndValue[2] : null
+        operator:  extractOptional(operatorAndValue, 0),
+        value:     extractOptional(operatorAndValue, 2)
       };
     }
 
@@ -206,31 +205,22 @@ pseudo
     value:(
         name:FUNCTION S* params:(IDENT S*)? ")" {
           return {
-            type:   "function",
+            type:   "Function",
             name:   name,
-            params: params !== "" ? [params[0]] : []
+            params: params !== null ? [params[0]] : []
           };
         }
       / IDENT
-    ) {
-      /*
-       * The returned object has somewhat vague property names and values because
-       * the rule matches both pseudo-classes and pseudo-elements (they look the
-       * same at the syntactic level).
-       */
-      return {
-        type:  "pseudo_selector",
-        value: value
-      };
-    }
+    )
+    { return { type: "PseudoSelector", value: value }; }
 
 declaration
-  = property:property ":" S* expression:expr important:prio? {
+  = name:property ':' S* value:expr prio:prio? {
       return {
-        type:       "declaration",
-        property:   property,
-        expression: expression,
-        important:  important !== "" ? true : false
+        type:      "Declaration",
+        name:      name,
+        value:     value,
+        important: prio !== null
       };
     }
 
@@ -238,93 +228,68 @@ prio
   = IMPORTANT_SYM S*
 
 expr
-  = head:term tail:(operator? term)* {
-      var result = head;
-      for (var i = 0; i < tail.length; i++) {
-        result = {
-          type:     "expression",
-          operator: tail[i][0],
-          left:     result,
-          right:    tail[i][1]
-        };
-      }
-      return result;
-    }
+  = first:term rest:(operator? term)* { return buildExpression(first, rest); }
 
 term
-  = operator:unary_operator?
-    value:(
-        EMS S*
-      / EXS S*
-      / LENGTH S*
-      / ANGLE S*
-      / TIME S*
-      / FREQ S*
-      / PERCENTAGE S*
-      / NUMBER S*
-    )               { return { type: "value",  value: operator + value[0] }; }
-  / value:URI S*    { return { type: "uri",    value: value               }; }
+  = quantity:(PERCENTAGE / LENGTH / EMS / EXS / ANGLE / TIME / FREQ / NUMBER)
+    S*
+    {
+      return {
+        type:  "Quantity",
+        value: quantity.value,
+        unit:  quantity.unit
+      };
+    }
+  / value:STRING S* { return { type: "String", value: value }; }
+  / value:URI S*    { return { type: "URI",    value: value }; }
   / function
   / hexcolor
-  / value:STRING S* { return { type: "string", value: value               }; }
-  / value:IDENT S*  { return { type: "ident",  value: value               }; }
+  / value:IDENT S*  { return { type: "Ident",  value: value }; }
 
 function
   = name:FUNCTION S* params:expr ")" S* {
-      return {
-        type:   "function",
-        name:   name,
-        params: params
-      };
+      return { type: "Function", name: name, params: params };
     }
 
 hexcolor
-  = value:HASH S* { return { type: "hexcolor", value: value}; }
+  = value:HASH S* { return { type: "Hexcolor", value: value }; }
 
-/* ===== Lexical Elements ===== */
+/* ----- G.2 Lexical scanner ----- */
 
 /* Macros */
 
 h
-  = [0-9a-fA-F]
+  = [0-9a-f]i
 
 nonascii
-  = [\x80-\xFF]
+  = [\x80-\uFFFF]
 
 unicode
-  = "\\" h1:h h2:h? h3:h? h4:h? h5:h? h6:h? ("\r\n" / [ \t\r\n\f])? {
-      return String.fromCharCode(parseInt("0x" + h1 + h2 + h3 + h4 + h5 + h6));
+  = "\\" digits:$(h h? h? h? h? h?) ("\r\n" / [ \t\r\n\f])? {
+      return String.fromCharCode(parseInt(digits, 16));
     }
 
 escape
   = unicode
-  / "\\" char_:[^\r\n\f0-9a-fA-F] { return char_; }
+  / "\\" ch:[^\r\n\f0-9a-f]i { return ch; }
 
 nmstart
-  = [_a-zA-Z]
+  = [_a-z]i
   / nonascii
   / escape
 
 nmchar
-  = [_a-zA-Z0-9-]
+  = [_a-z0-9-]i
   / nonascii
   / escape
 
-integer
-  = digits:[0-9]+ { return parseInt(digits.join("")); }
-
-float
-  = before:[0-9]* "." after:[0-9]+ {
-      return parseFloat(before.join("") + "." + after.join(""));
-    }
-
 string1
-  = '"' chars:([^\n\r\f\\"] / "\\" nl:nl { return nl } / escape)* '"' {
+  = '"' chars:([^\n\r\f\\"] / "\\" nl:nl { return ""; } / escape)* '"' {
       return chars.join("");
     }
 
 string2
-  = "'" chars:([^\n\r\f\\'] / "\\" nl:nl { return nl } / escape)* "'" {
+  = "'" chars:([^\n\r\f\\'] / "\\" nl:nl { return ""; } / escape)* "'" {
       return chars.join("");
     }
 
@@ -332,23 +297,24 @@ comment
   = "/*" [^*]* "*"+ ([^/*] [^*]* "*"+)* "/"
 
 ident
-  = dash:"-"? nmstart:nmstart nmchars:nmchar* {
-      return dash + nmstart + nmchars.join("");
+  = prefix:$"-"? start:nmstart chars:nmchar* {
+      return prefix + start + chars.join("");
     }
 
 name
-  = nmchars:nmchar+ { return nmchars.join(""); }
+  = chars:nmchar+ { return chars.join(""); }
 
 num
-  = float
-  / integer
+  = [+-]? ([0-9]+ / [0-9]* "." [0-9]+) ("e" [+-]? [0-9]+)? {
+      return parseFloat(text());
+    }
 
 string
   = string1
   / string2
 
 url
-  = chars:([!#$%&*-~] / nonascii / escape)* { return chars.join(""); }
+  = chars:([!#$%&*-\[\]-~] / nonascii / escape)* { return chars.join(""); }
 
 s
   = [ \t\r\n\f]+
@@ -362,115 +328,25 @@ nl
   / "\r"
   / "\f"
 
-A
-  = [aA]
-  / "\\" "0"? "0"? "0"? "0"? "41" ("\r\n" / [ \t\r\n\f])? { return "A"; }
-  / "\\" "0"? "0"? "0"? "0"? "61" ("\r\n" / [ \t\r\n\f])? { return "a"; }
-
-C
-  = [cC]
-  / "\\" "0"? "0"? "0"? "0"? "43" ("\r\n" / [ \t\r\n\f])? { return "C"; }
-  / "\\" "0"? "0"? "0"? "0"? "63" ("\r\n" / [ \t\r\n\f])? { return "c"; }
-
-D
-  = [dD]
-  / "\\" "0"? "0"? "0"? "0"? "44" ("\r\n" / [ \t\r\n\f])? { return "D"; }
-  / "\\" "0"? "0"? "0"? "0"? "64" ("\r\n" / [ \t\r\n\f])? { return "d"; }
-
-E
-  = [eE]
-  / "\\" "0"? "0"? "0"? "0"? "45" ("\r\n" / [ \t\r\n\f])? { return "E"; }
-  / "\\" "0"? "0"? "0"? "0"? "65" ("\r\n" / [ \t\r\n\f])? { return "e"; }
-
-G
-  = [gG]
-  / "\\" "0"? "0"? "0"? "0"? "47" ("\r\n" / [ \t\r\n\f])? { return "G"; }
-  / "\\" "0"? "0"? "0"? "0"? "67" ("\r\n" / [ \t\r\n\f])? { return "g"; }
-  / "\\" char_:[gG] { return char_; }
-
-H
-  = h:[hH]
-  / "\\" "0"? "0"? "0"? "0"? "48" ("\r\n" / [ \t\r\n\f])? { return "H"; }
-  / "\\" "0"? "0"? "0"? "0"? "68" ("\r\n" / [ \t\r\n\f])? { return "h"; }
-  / "\\" char_:[hH] { return char_; }
-
-I
-  = i:[iI]
-  / "\\" "0"? "0"? "0"? "0"? "49" ("\r\n" / [ \t\r\n\f])? { return "I"; }
-  / "\\" "0"? "0"? "0"? "0"? "69" ("\r\n" / [ \t\r\n\f])? { return "i"; }
-  / "\\" char_:[iI] { return char_; }
-
-K
-  = [kK]
-  / "\\" "0"? "0"? "0"? "0"? "4" [bB] ("\r\n" / [ \t\r\n\f])? { return "K"; }
-  / "\\" "0"? "0"? "0"? "0"? "6" [bB] ("\r\n" / [ \t\r\n\f])? { return "k"; }
-  / "\\" char_:[kK] { return char_; }
-
-L
-  = [lL]
-  / "\\" "0"? "0"? "0"? "0"? "4" [cC] ("\r\n" / [ \t\r\n\f])? { return "L"; }
-  / "\\" "0"? "0"? "0"? "0"? "6" [cC] ("\r\n" / [ \t\r\n\f])? { return "l"; }
-  / "\\" char_:[lL] { return char_; }
-
-M
-  = [mM]
-  / "\\" "0"? "0"? "0"? "0"? "4" [dD] ("\r\n" / [ \t\r\n\f])? { return "M"; }
-  / "\\" "0"? "0"? "0"? "0"? "6" [dD] ("\r\n" / [ \t\r\n\f])? { return "m"; }
-  / "\\" char_:[mM] { return char_; }
-
-N
-  = [nN]
-  / "\\" "0"? "0"? "0"? "0"? "4" [eE] ("\r\n" / [ \t\r\n\f])? { return "N"; }
-  / "\\" "0"? "0"? "0"? "0"? "6" [eE] ("\r\n" / [ \t\r\n\f])? { return "n"; }
-  / "\\" char_:[nN] { return char_; }
-
-O
-  = [oO]
-  / "\\" "0"? "0"? "0"? "0"? "4" [fF] ("\r\n" / [ \t\r\n\f])? { return "O"; }
-  / "\\" "0"? "0"? "0"? "0"? "6" [fF] ("\r\n" / [ \t\r\n\f])? { return "o"; }
-  / "\\" char_:[oO] { return char_; }
-
-P
-  = [pP]
-  / "\\" "0"? "0"? "0"? "0"? "50" ("\r\n" / [ \t\r\n\f])? { return "P"; }
-  / "\\" "0"? "0"? "0"? "0"? "70" ("\r\n" / [ \t\r\n\f])? { return "p"; }
-  / "\\" char_:[pP] { return char_; }
-
-R
-  = [rR]
-  / "\\" "0"? "0"? "0"? "0"? "52" ("\r\n" / [ \t\r\n\f])? { return "R"; }
-  / "\\" "0"? "0"? "0"? "0"? "72" ("\r\n" / [ \t\r\n\f])? { return "r"; }
-  / "\\" char_:[rR] { return char_; }
-
-S_
-  = [sS]
-  / "\\" "0"? "0"? "0"? "0"? "53" ("\r\n" / [ \t\r\n\f])? { return "S"; }
-  / "\\" "0"? "0"? "0"? "0"? "73" ("\r\n" / [ \t\r\n\f])? { return "s"; }
-  / "\\" char_:[sS] { return char_; }
-
-T
-  = [tT]
-  / "\\" "0"? "0"? "0"? "0"? "54" ("\r\n" / [ \t\r\n\f])? { return "T"; }
-  / "\\" "0"? "0"? "0"? "0"? "74" ("\r\n" / [ \t\r\n\f])? { return "t"; }
-  / "\\" char_:[tT] { return char_; }
-
-U
-  = [uU]
-  / "\\" "0"? "0"? "0"? "0"? "55" ("\r\n" / [ \t\r\n\f])? { return "U"; }
-  / "\\" "0"? "0"? "0"? "0"? "75" ("\r\n" / [ \t\r\n\f])? { return "u"; }
-  / "\\" char_:[uU] { return char_; }
-
-X
-  = [xX]
-  / "\\" "0"? "0"? "0"? "0"? "58" ("\r\n" / [ \t\r\n\f])? { return "X"; }
-  / "\\" "0"? "0"? "0"? "0"? "78" ("\r\n" / [ \t\r\n\f])? { return "x"; }
-  / "\\" char_:[xX] { return char_; }
-
-Z
-  = [zZ]
-  / "\\" "0"? "0"? "0"? "0"? "5" [aA] ("\r\n" / [ \t\r\n\f])? { return "Z"; }
-  / "\\" "0"? "0"? "0"? "0"? "7" [aA] ("\r\n" / [ \t\r\n\f])? { return "z"; }
-  / "\\" char_:[zZ] { return char_; }
+A  = "a"i / "\\" "0"? "0"? "0"? "0"? [\x41\x61] ("\r\n" / [ \t\r\n\f])? { return "a"; }
+C  = "c"i / "\\" "0"? "0"? "0"? "0"? [\x43\x63] ("\r\n" / [ \t\r\n\f])? { return "c"; }
+D  = "d"i / "\\" "0"? "0"? "0"? "0"? [\x44\x64] ("\r\n" / [ \t\r\n\f])? { return "d"; }
+E  = "e"i / "\\" "0"? "0"? "0"? "0"? [\x45\x65] ("\r\n" / [ \t\r\n\f])? { return "e"; }
+G  = "g"i / "\\" "0"? "0"? "0"? "0"? [\x47\x67] ("\r\n" / [ \t\r\n\f])? / "\\g"i { return "g"; }
+H  = "h"i / "\\" "0"? "0"? "0"? "0"? [\x48\x68] ("\r\n" / [ \t\r\n\f])? / "\\h"i { return "h"; }
+I  = "i"i / "\\" "0"? "0"? "0"? "0"? [\x49\x69] ("\r\n" / [ \t\r\n\f])? / "\\i"i { return "i"; }
+K  = "k"i / "\\" "0"? "0"? "0"? "0"? [\x4b\x6b] ("\r\n" / [ \t\r\n\f])? / "\\k"i { return "k"; }
+L  = "l"i / "\\" "0"? "0"? "0"? "0"? [\x4c\x6c] ("\r\n" / [ \t\r\n\f])? / "\\l"i { return "l"; }
+M  = "m"i / "\\" "0"? "0"? "0"? "0"? [\x4d\x6d] ("\r\n" / [ \t\r\n\f])? / "\\m"i { return "m"; }
+N  = "n"i / "\\" "0"? "0"? "0"? "0"? [\x4e\x6e] ("\r\n" / [ \t\r\n\f])? / "\\n"i { return "n"; }
+O  = "o"i / "\\" "0"? "0"? "0"? "0"? [\x4f\x6f] ("\r\n" / [ \t\r\n\f])? / "\\o"i { return "o"; }
+P  = "p"i / "\\" "0"? "0"? "0"? "0"? [\x50\x70] ("\r\n" / [ \t\r\n\f])? / "\\p"i { return "p"; }
+R  = "r"i / "\\" "0"? "0"? "0"? "0"? [\x52\x72] ("\r\n" / [ \t\r\n\f])? / "\\r"i { return "r"; }
+S_ = "s"i / "\\" "0"? "0"? "0"? "0"? [\x53\x73] ("\r\n" / [ \t\r\n\f])? / "\\s"i { return "s"; }
+T  = "t"i / "\\" "0"? "0"? "0"? "0"? [\x54\x74] ("\r\n" / [ \t\r\n\f])? / "\\t"i { return "t"; }
+U  = "u"i / "\\" "0"? "0"? "0"? "0"? [\x55\x75] ("\r\n" / [ \t\r\n\f])? / "\\u"i { return "u"; }
+X  = "x"i / "\\" "0"? "0"? "0"? "0"? [\x58\x78] ("\r\n" / [ \t\r\n\f])? / "\\x"i { return "x"; }
+Z  = "z"i / "\\" "0"? "0"? "0"? "0"? [\x5a\x7a] ("\r\n" / [ \t\r\n\f])? / "\\z"i { return "z"; }
 
 /* Tokens */
 
@@ -510,45 +386,46 @@ MEDIA_SYM "@media"
 CHARSET_SYM "@charset"
   = comment* "@charset "
 
-/* Note: We replace "w" with "s" here to avoid infinite recursion. */
+/* We use |s| instead of |w| here to avoid infinite recursion. */
 IMPORTANT_SYM "!important"
-  = comment* "!" (s / comment)* I M P O R T A N T { return "!important"; }
+  = comment* "!" (s / comment)* I M P O R T A N T
 
 EMS "length"
-  = comment* num:num e:E m:M { return num + e + m; }
+  = comment* value:num E M { return { value: value, unit: "em" }; }
 
 EXS "length"
-  = comment* num:num e:E x:X { return num + e + x; }
+  = comment* value:num E X { return { value: value, unit: "ex" }; }
 
 LENGTH "length"
-  = comment* num:num unit:(P X / C M / M M / I N / P T / P C) {
-      return num + unit.join("");
-    }
+  = comment* value:num P X { return { value: value, unit: "px" }; }
+  / comment* value:num C M { return { value: value, unit: "cm" }; }
+  / comment* value:num M M { return { value: value, unit: "mm" }; }
+  / comment* value:num I N { return { value: value, unit: "in" }; }
+  / comment* value:num P T { return { value: value, unit: "pt" }; }
+  / comment* value:num P C { return { value: value, unit: "pc" }; }
 
 ANGLE "angle"
-  = comment* num:num unit:(D E G / R A D / G R A D) {
-      return num + unit.join("");
-    }
+  = comment* value:num D E G   { return { value: value, unit: "deg"  }; }
+  / comment* value:num R A D   { return { value: value, unit: "rad"  }; }
+  / comment* value:num G R A D { return { value: value, unit: "grad" }; }
 
 TIME "time"
-  = comment* num:num unit:(m:M s:S_ { return m + s; } / S_) {
-      return num + unit;
-    }
+  = comment* value:num M S_ { return { value: value, unit: "ms" }; }
+  / comment* value:num S_   { return { value: value, unit: "s"  }; }
 
 FREQ "frequency"
-  = comment* num:num unit:(H Z / K H Z) { return num + unit.join(""); }
-
-DIMENSION "dimension"
-  = comment* num:num unit:ident { return num + unit; }
+  = comment* value:num H Z   { return { value: value, unit: "hz" }; }
+  / comment* value:num K H Z { return { value: value, unit: "kh" }; }
 
 PERCENTAGE "percentage"
-  = comment* num:num "%" { return num + "%"; }
+  = comment* value:num "%" { return { value: value, unit: "%" }; }
 
 NUMBER "number"
-  = comment* num:num { return num; }
+  = comment* value:num { return { value: value, unit: null }; }
 
 URI "uri"
-  = comment* U R L "(" w value:(string / url) w ")" { return value; }
+  = comment* U R L "("i w url:string w ")" { return url; }
+  / comment* U R L "("i w url:url w ")"    { return url; }
 
 FUNCTION "function"
   = comment* name:ident "(" { return name; }


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


[06/32] ios commit: CB-11445 Updated checked-in node_modules

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/lib/utils/arrays.js
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/lib/utils/arrays.js b/node_modules/pegjs/lib/utils/arrays.js
new file mode 100644
index 0000000..93a833c
--- /dev/null
+++ b/node_modules/pegjs/lib/utils/arrays.js
@@ -0,0 +1,108 @@
+"use strict";
+
+/* Array utilities. */
+var arrays = {
+  range: function(start, stop) {
+    var length = stop - start,
+        result = new Array(length),
+        i, j;
+
+    for (i = 0, j = start; i < length; i++, j++) {
+      result[i] = j;
+    }
+
+    return result;
+  },
+
+  find: function(array, valueOrPredicate) {
+    var length = array.length, i;
+
+    if (typeof valueOrPredicate === "function") {
+      for (i = 0; i < length; i++) {
+        if (valueOrPredicate(array[i])) {
+          return array[i];
+        }
+      }
+    } else {
+      for (i = 0; i < length; i++) {
+        if (array[i] === valueOrPredicate) {
+          return array[i];
+        }
+      }
+    }
+  },
+
+  indexOf: function(array, valueOrPredicate) {
+    var length = array.length, i;
+
+    if (typeof valueOrPredicate === "function") {
+      for (i = 0; i < length; i++) {
+        if (valueOrPredicate(array[i])) {
+          return i;
+        }
+      }
+    } else {
+      for (i = 0; i < length; i++) {
+        if (array[i] === valueOrPredicate) {
+          return i;
+        }
+      }
+    }
+
+    return -1;
+  },
+
+  contains: function(array, valueOrPredicate) {
+    return arrays.indexOf(array, valueOrPredicate) !== -1;
+  },
+
+  each: function(array, iterator) {
+    var length = array.length, i;
+
+    for (i = 0; i < length; i++) {
+      iterator(array[i], i);
+    }
+  },
+
+  map: function(array, iterator) {
+    var length = array.length,
+        result = new Array(length),
+        i;
+
+    for (i = 0; i < length; i++) {
+      result[i] = iterator(array[i], i);
+    }
+
+    return result;
+  },
+
+  pluck: function(array, key) {
+    return arrays.map(array, function (e) { return e[key]; });
+  },
+
+  every: function(array, predicate) {
+    var length = array.length, i;
+
+    for (i = 0; i < length; i++) {
+      if (!predicate(array[i])) {
+        return false;
+      }
+    }
+
+    return true;
+  },
+
+  some: function(array, predicate) {
+    var length = array.length, i;
+
+    for (i = 0; i < length; i++) {
+      if (predicate(array[i])) {
+        return true;
+      }
+    }
+
+    return false;
+  }
+};
+
+module.exports = arrays;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/lib/utils/classes.js
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/lib/utils/classes.js b/node_modules/pegjs/lib/utils/classes.js
new file mode 100644
index 0000000..1ad305e
--- /dev/null
+++ b/node_modules/pegjs/lib/utils/classes.js
@@ -0,0 +1,12 @@
+"use strict";
+
+/* Class utilities */
+var classes = {
+  subclass: function(child, parent) {
+    function ctor() { this.constructor = child; }
+    ctor.prototype = parent.prototype;
+    child.prototype = new ctor();
+  }
+};
+
+module.exports = classes;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/lib/utils/objects.js
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/lib/utils/objects.js b/node_modules/pegjs/lib/utils/objects.js
new file mode 100644
index 0000000..09587c1
--- /dev/null
+++ b/node_modules/pegjs/lib/utils/objects.js
@@ -0,0 +1,54 @@
+"use strict";
+
+/* Object utilities. */
+var objects = {
+  keys: function(object) {
+    var result = [], key;
+
+    for (key in object) {
+      if (object.hasOwnProperty(key)) {
+        result.push(key);
+      }
+    }
+
+    return result;
+  },
+
+  values: function(object) {
+    var result = [], key;
+
+    for (key in object) {
+      if (object.hasOwnProperty(key)) {
+        result.push(object[key]);
+      }
+    }
+
+    return result;
+  },
+
+  clone: function(object) {
+    var result = {}, key;
+
+    for (key in object) {
+      if (object.hasOwnProperty(key)) {
+        result[key] = object[key];
+      }
+    }
+
+    return result;
+  },
+
+  defaults: function(object, defaults) {
+    var key;
+
+    for (key in defaults) {
+      if (defaults.hasOwnProperty(key)) {
+        if (!(key in object)) {
+          object[key] = defaults[key];
+        }
+      }
+    }
+  }
+};
+
+module.exports = objects;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/package.json
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/package.json b/node_modules/pegjs/package.json
index b866120..8117037 100644
--- a/node_modules/pegjs/package.json
+++ b/node_modules/pegjs/package.json
@@ -1,42 +1,37 @@
 {
   "_args": [
     [
-      "pegjs@0.6.2",
-      "D:\\Cordova\\cordova-ios\\node_modules\\xcode"
+      "pegjs@0.9.0",
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/xcode"
     ]
   ],
-  "_defaultsLoaded": true,
-  "_engineSupported": true,
-  "_from": "pegjs@0.6.2",
-  "_id": "pegjs@0.6.2",
+  "_from": "pegjs@0.9.0",
+  "_id": "pegjs@0.9.0",
   "_inCache": true,
   "_installable": true,
   "_location": "/pegjs",
-  "_nodeVersion": "v0.4.8",
-  "_npmJsonOpts": {
-    "contributors": false,
-    "file": "/home/dmajda/.npm/pegjs/0.6.2/package/package.json",
-    "serverjs": false,
-    "wscript": false
+  "_npmUser": {
+    "email": "david@majda.cz",
+    "name": "dmajda"
   },
-  "_npmVersion": "1.0.15",
+  "_npmVersion": "1.4.28",
   "_phantomChildren": {},
   "_requested": {
     "name": "pegjs",
-    "raw": "pegjs@0.6.2",
-    "rawSpec": "0.6.2",
+    "raw": "pegjs@0.9.0",
+    "rawSpec": "0.9.0",
     "scope": null,
-    "spec": "0.6.2",
+    "spec": "0.9.0",
     "type": "version"
   },
   "_requiredBy": [
     "/xcode"
   ],
-  "_resolved": "https://registry.npmjs.org/pegjs/-/pegjs-0.6.2.tgz",
-  "_shasum": "74651f8a800e444db688e4eeae8edb65637a17a5",
+  "_resolved": "http://registry.npmjs.org/pegjs/-/pegjs-0.9.0.tgz",
+  "_shasum": "f6aefa2e3ce56169208e52179dfe41f89141a369",
   "_shrinkwrap": null,
-  "_spec": "pegjs@0.6.2",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\xcode",
+  "_spec": "pegjs@0.9.0",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/xcode",
   "author": {
     "email": "david@majda.cz",
     "name": "David Majda",
@@ -46,23 +41,55 @@
     "pegjs": "bin/pegjs"
   },
   "bugs": {
-    "url": "https://github.com/dmajda/pegjs/issues"
+    "url": "https://github.com/pegjs/pegjs/issues"
   },
   "dependencies": {},
   "description": "Parser generator for JavaScript",
   "devDependencies": {
-    "jake": ">= 0.1.10",
-    "uglify-js": ">= 0.0.5"
+    "jasmine-node": "= 1.14.5",
+    "jshint": "= 2.8.0",
+    "uglify-js": "= 2.4.24"
   },
   "directories": {},
   "dist": {
-    "shasum": "74651f8a800e444db688e4eeae8edb65637a17a5",
-    "tarball": "https://registry.npmjs.org/pegjs/-/pegjs-0.6.2.tgz"
+    "shasum": "f6aefa2e3ce56169208e52179dfe41f89141a369",
+    "tarball": "https://registry.npmjs.org/pegjs/-/pegjs-0.9.0.tgz"
   },
   "engines": {
-    "node": ">= 0.4.4"
+    "node": ">= 0.10.0"
   },
-  "homepage": "http://pegjs.majda.cz/",
+  "files": [
+    "CHANGELOG.md",
+    "LICENSE",
+    "README.md",
+    "VERSION",
+    "bin/pegjs",
+    "examples/arithmetics.pegjs",
+    "examples/css.pegjs",
+    "examples/javascript.pegjs",
+    "examples/json.pegjs",
+    "lib/compiler.js",
+    "lib/compiler/asts.js",
+    "lib/compiler/javascript.js",
+    "lib/compiler/opcodes.js",
+    "lib/compiler/visitor.js",
+    "lib/compiler/passes/generate-bytecode.js",
+    "lib/compiler/passes/generate-javascript.js",
+    "lib/compiler/passes/remove-proxy-rules.js",
+    "lib/compiler/passes/report-left-recursion.js",
+    "lib/compiler/passes/report-infinite-loops.js",
+    "lib/compiler/passes/report-missing-rules.js",
+    "lib/grammar-error.js",
+    "lib/parser.js",
+    "lib/peg.js",
+    "lib/utils/arrays.js",
+    "lib/utils/classes.js",
+    "lib/utils/objects.js",
+    "package.json"
+  ],
+  "gitHead": "20a4fb2e7f70a0695bee4aef4984b24c06db3627",
+  "homepage": "http://pegjs.org/",
+  "license": "MIT",
   "main": "lib/peg",
   "maintainers": [
     {
@@ -75,8 +102,10 @@
   "readme": "ERROR: No README data found!",
   "repository": {
     "type": "git",
-    "url": "git://github.com/dmajda/pegjs.git"
+    "url": "git+ssh://git@github.com/pegjs/pegjs.git"
+  },
+  "scripts": {
+    "test": "make hint && make spec"
   },
-  "scripts": {},
-  "version": "0.6.2"
+  "version": "0.9.0"
 }

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/plist/package.json
----------------------------------------------------------------------
diff --git a/node_modules/plist/package.json b/node_modules/plist/package.json
index 925528b..126be33 100644
--- a/node_modules/plist/package.json
+++ b/node_modules/plist/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "plist@^1.2.0",
-      "D:\\Cordova\\cordova-ios"
+      "/Users/steveng/repo/cordova/cordova-ios"
     ]
   ],
   "_from": "plist@>=1.2.0 <2.0.0",
@@ -28,13 +28,14 @@
   "_requiredBy": [
     "/",
     "/cordova-common",
-    "/ios-sim"
+    "/ios-sim",
+    "/simple-plist"
   ],
-  "_resolved": "https://registry.npmjs.org/plist/-/plist-1.2.0.tgz",
+  "_resolved": "http://registry.npmjs.org/plist/-/plist-1.2.0.tgz",
   "_shasum": "084b5093ddc92506e259f874b8d9b1afb8c79593",
   "_shrinkwrap": null,
   "_spec": "plist@^1.2.0",
-  "_where": "D:\\Cordova\\cordova-ios",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios",
   "author": {
     "email": "nathan@tootallnate.net",
     "name": "Nathan Rajlich"

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/q/package.json
----------------------------------------------------------------------
diff --git a/node_modules/q/package.json b/node_modules/q/package.json
index e3fff13..b499dda 100644
--- a/node_modules/q/package.json
+++ b/node_modules/q/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "q@^1.4.1",
-      "D:\\Cordova\\cordova-ios"
+      "/Users/steveng/repo/cordova/cordova-ios"
     ]
   ],
   "_from": "q@>=1.4.1 <2.0.0",
@@ -29,11 +29,11 @@
     "/",
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
+  "_resolved": "http://registry.npmjs.org/q/-/q-1.4.1.tgz",
   "_shasum": "55705bcd93c5f3673530c2c2cbc0c2b3addc286e",
   "_shrinkwrap": null,
   "_spec": "q@^1.4.1",
-  "_where": "D:\\Cordova\\cordova-ios",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios",
   "author": {
     "email": "kris@cixar.com",
     "name": "Kris Kowal",

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/sax/package.json
----------------------------------------------------------------------
diff --git a/node_modules/sax/package.json b/node_modules/sax/package.json
index 3b44e78..2575f03 100644
--- a/node_modules/sax/package.json
+++ b/node_modules/sax/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "sax@0.3.5",
-      "D:\\Cordova\\cordova-ios\\node_modules\\elementtree"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/elementtree"
     ]
   ],
   "_defaultsLoaded": true,
@@ -30,11 +30,11 @@
   "_requiredBy": [
     "/elementtree"
   ],
-  "_resolved": "https://registry.npmjs.org/sax/-/sax-0.3.5.tgz",
+  "_resolved": "http://registry.npmjs.org/sax/-/sax-0.3.5.tgz",
   "_shasum": "88fcfc1f73c0c8bbd5b7c776b6d3f3501eed073d",
   "_shrinkwrap": null,
   "_spec": "sax@0.3.5",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\elementtree",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/elementtree",
   "author": {
     "email": "i@izs.me",
     "name": "Isaac Z. Schlueter",

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/semver/package.json
----------------------------------------------------------------------
diff --git a/node_modules/semver/package.json b/node_modules/semver/package.json
index d673ce4..e051a8e 100644
--- a/node_modules/semver/package.json
+++ b/node_modules/semver/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "semver@^5.0.1",
-      "D:\\Cordova\\cordova-ios\\node_modules\\cordova-common"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/cordova-common"
     ]
   ],
   "_from": "semver@>=5.0.1 <6.0.0",
@@ -28,11 +28,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/semver/-/semver-5.1.0.tgz",
+  "_resolved": "http://registry.npmjs.org/semver/-/semver-5.1.0.tgz",
   "_shasum": "85f2cf8550465c4df000cf7d86f6b054106ab9e5",
   "_shrinkwrap": null,
   "_spec": "semver@^5.0.1",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/cordova-common",
   "bin": {
     "semver": "./bin/semver"
   },

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/shelljs/package.json
----------------------------------------------------------------------
diff --git a/node_modules/shelljs/package.json b/node_modules/shelljs/package.json
index 9cd296d..b6592b0 100644
--- a/node_modules/shelljs/package.json
+++ b/node_modules/shelljs/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "shelljs@^0.5.3",
-      "D:\\Cordova\\cordova-ios"
+      "/Users/steveng/repo/cordova/cordova-ios"
     ]
   ],
   "_from": "shelljs@>=0.5.3 <0.6.0",
@@ -29,11 +29,11 @@
     "/",
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz",
+  "_resolved": "http://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz",
   "_shasum": "c54982b996c76ef0c1e6b59fbdc5825f5b713113",
   "_shrinkwrap": null,
   "_spec": "shelljs@^0.5.3",
-  "_where": "D:\\Cordova\\cordova-ios",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios",
   "author": {
     "email": "arturadib@gmail.com",
     "name": "Artur Adib"

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simctl/node_modules/.bin/shjs
----------------------------------------------------------------------
diff --git a/node_modules/simctl/node_modules/.bin/shjs b/node_modules/simctl/node_modules/.bin/shjs
index 1d45691..a044997 120000
--- a/node_modules/simctl/node_modules/.bin/shjs
+++ b/node_modules/simctl/node_modules/.bin/shjs
@@ -1,15 +1 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
-    *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
-  "$basedir/node"  "$basedir/../shelljs/bin/shjs" "$@"
-  ret=$?
-else 
-  node  "$basedir/../shelljs/bin/shjs" "$@"
-  ret=$?
-fi
-exit $ret
+../shelljs/bin/shjs
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simctl/node_modules/.bin/shjs.cmd
----------------------------------------------------------------------
diff --git a/node_modules/simctl/node_modules/.bin/shjs.cmd b/node_modules/simctl/node_modules/.bin/shjs.cmd
deleted file mode 100644
index 3d98b0b..0000000
--- a/node_modules/simctl/node_modules/.bin/shjs.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
-  "%~dp0\node.exe"  "%~dp0\..\shelljs\bin\shjs" %*
-) ELSE (
-  @SETLOCAL
-  @SET PATHEXT=%PATHEXT:;.JS;=;%
-  node  "%~dp0\..\shelljs\bin\shjs" %*
-)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simctl/node_modules/shelljs/package.json
----------------------------------------------------------------------
diff --git a/node_modules/simctl/node_modules/shelljs/package.json b/node_modules/simctl/node_modules/shelljs/package.json
index 161d495..899a51d 100644
--- a/node_modules/simctl/node_modules/shelljs/package.json
+++ b/node_modules/simctl/node_modules/shelljs/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "shelljs@^0.2.6",
-      "D:\\Cordova\\cordova-ios\\node_modules\\simctl"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/simctl"
     ]
   ],
   "_from": "shelljs@>=0.2.6 <0.3.0",
@@ -27,11 +27,11 @@
   "_requiredBy": [
     "/simctl"
   ],
-  "_resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.2.6.tgz",
+  "_resolved": "http://registry.npmjs.org/shelljs/-/shelljs-0.2.6.tgz",
   "_shasum": "90492d72ffcc8159976baba62fb0f6884f0c3378",
   "_shrinkwrap": null,
   "_spec": "shelljs@^0.2.6",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\simctl",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/simctl",
   "author": {
     "email": "aadib@mozilla.com",
     "name": "Artur Adib"

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simctl/package.json
----------------------------------------------------------------------
diff --git a/node_modules/simctl/package.json b/node_modules/simctl/package.json
index c69e614..dd95334 100644
--- a/node_modules/simctl/package.json
+++ b/node_modules/simctl/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "simctl@^0.0.9",
-      "D:\\Cordova\\cordova-ios\\node_modules\\ios-sim"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/ios-sim"
     ]
   ],
   "_from": "simctl@>=0.0.9 <0.0.10",
@@ -32,11 +32,11 @@
   "_requiredBy": [
     "/ios-sim"
   ],
-  "_resolved": "https://registry.npmjs.org/simctl/-/simctl-0.0.9.tgz",
+  "_resolved": "http://registry.npmjs.org/simctl/-/simctl-0.0.9.tgz",
   "_shasum": "cd36c9d3a1ae1709645f97e0ce205cc3cac6fd1b",
   "_shrinkwrap": null,
   "_spec": "simctl@^0.0.9",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\ios-sim",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/ios-sim",
   "author": {
     "name": "Shazron Abdullah"
   },

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/README.md
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/README.md b/node_modules/simple-plist/README.md
index 88924cd..0f11a95 100644
--- a/node_modules/simple-plist/README.md
+++ b/node_modules/simple-plist/README.md
@@ -5,43 +5,59 @@ A simple API for interacting with binary and plain text plist data.
 
 
 ## Installation
-```
-npm install simple-plist
+```sh
+$ npm install simple-plist
 ```
 
 
 ## Reading Data
-```
+```js
 var plist = require('simple-plist');
 
-// Read data from a file (xml or binary)
+// Read data from a file (xml or binary) (asynchronous)
+plist.readFile('/path/to/some.plist', function(err,data){
+	if (err) {throw err;}
+	console.log( JSON.stringify(data) );
+});
+
+// Read data from a file (xml or binary) (synchronous)
 var data = plist.readFileSync('/path/to/some.plist');
 console.log( JSON.stringify(data) );
 ```
 
 
 ## Writing Data
-```
+```js
 var plist = require('simple-plist'),
 	data = plist.readFileSync('/path/to/some.plist');
 
-// Write data to a xml file
+// Write data to a xml file (asynchronous)
+plist.writeFile('/path/to/plaintext.plist', data, function(err){
+	if (err) { throw err; }
+});
+
+// Write data to a xml file (synchronous)
 plist.writeFileSync('/path/to/plaintext.plist', data);
 
-// Write data to a binary plist file
+// Write data to a binary plist file (asynchronous)
+plist.writeBinaryFile('/path/to/binary.plist', data, function(err){
+	if (err) { throw err; }
+});
+
+// Write data to a binary plist file (synchronous)
 plist.writeBinaryFileSync('/path/to/binary.plist', data);
 ```
 
 
 ## Mutating Plists In Memory
-```
+```js
 var plist = require('simple-plist');
 
 // Convert a Javascript object to a plist xml string
 var xml = plist.stringify( {name: "Joe", answer:42} );
 console.log(xml); // output is a valid plist xml string
 
-// Convert a plist xml string to a Javascript object
+// Convert a plist xml string or a binary plist buffer to a Javascript object
 var data = plist.parse("<plist><dict><key>name</key><string>Joe</string></dict></plist>");
 console.log( JSON.stringify(data) );
 ```

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/base64-js/.travis.yml
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/base64-js/.travis.yml b/node_modules/simple-plist/node_modules/base64-js/.travis.yml
deleted file mode 100644
index 939cb51..0000000
--- a/node_modules/simple-plist/node_modules/base64-js/.travis.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-language: node_js
-node_js:
-  - "0.8"
-  - "0.10"
-  - "0.11"
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/base64-js/LICENSE.MIT
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/base64-js/LICENSE.MIT b/node_modules/simple-plist/node_modules/base64-js/LICENSE.MIT
deleted file mode 100644
index 96d3f68..0000000
--- a/node_modules/simple-plist/node_modules/base64-js/LICENSE.MIT
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014
-
-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.

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/base64-js/README.md
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/base64-js/README.md b/node_modules/simple-plist/node_modules/base64-js/README.md
deleted file mode 100644
index ed31d1a..0000000
--- a/node_modules/simple-plist/node_modules/base64-js/README.md
+++ /dev/null
@@ -1,31 +0,0 @@
-base64-js
-=========
-
-`base64-js` does basic base64 encoding/decoding in pure JS.
-
-[![build status](https://secure.travis-ci.org/beatgammit/base64-js.png)](http://travis-ci.org/beatgammit/base64-js)
-
-[![testling badge](https://ci.testling.com/beatgammit/base64-js.png)](https://ci.testling.com/beatgammit/base64-js)
-
-Many browsers already have base64 encoding/decoding functionality, but it is for text data, not all-purpose binary data.
-
-Sometimes encoding/decoding binary data in the browser is useful, and that is what this module does.
-
-## install
-
-With [npm](https://npmjs.org) do:
-
-`npm install base64-js`
-
-## methods
-
-`var base64 = require('base64-js')`
-
-`base64` has two exposed functions, `toByteArray` and `fromByteArray`, which both take a single argument.
-
-* `toByteArray` - Takes a base64 string and returns a byte array
-* `fromByteArray` - Takes a byte array and returns a base64 string
-
-## license
-
-MIT
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/base64-js/bench/bench.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/base64-js/bench/bench.js b/node_modules/simple-plist/node_modules/base64-js/bench/bench.js
deleted file mode 100644
index 0689e08..0000000
--- a/node_modules/simple-plist/node_modules/base64-js/bench/bench.js
+++ /dev/null
@@ -1,19 +0,0 @@
-var random = require('crypto').pseudoRandomBytes
-
-var b64 = require('../')
-var fs = require('fs')
-var path = require('path')
-var data = random(1e6).toString('base64')
-//fs.readFileSync(path.join(__dirname, 'example.b64'), 'ascii').split('\n').join('')
-var start = Date.now()
-var raw = b64.toByteArray(data)
-var middle = Date.now()
-var data = b64.fromByteArray(raw)
-var end = Date.now()
-
-console.log('decode ms, decode ops/ms, encode ms, encode ops/ms')
-console.log(
-	middle - start,  data.length / (middle - start), 
-	end - middle,  data.length / (end - middle))
-//console.log(data)
-

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/base64-js/lib/b64.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/base64-js/lib/b64.js b/node_modules/simple-plist/node_modules/base64-js/lib/b64.js
deleted file mode 100644
index 887f706..0000000
--- a/node_modules/simple-plist/node_modules/base64-js/lib/b64.js
+++ /dev/null
@@ -1,121 +0,0 @@
-var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
-
-;(function (exports) {
-	'use strict';
-
-  var Arr = (typeof Uint8Array !== 'undefined')
-    ? 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)
-
-	function decode (elt) {
-		var code = elt.charCodeAt(0)
-		if (code === PLUS)
-			return 62 // '+'
-		if (code === SLASH)
-			return 63 // '/'
-		if (code < NUMBER)
-			return -1 //no match
-		if (code < NUMBER + 10)
-			return code - NUMBER + 26 + 26
-		if (code < UPPER + 26)
-			return code - UPPER
-		if (code < LOWER + 26)
-			return code - LOWER + 26
-	}
-
-	function b64ToByteArray (b64) {
-		var i, j, l, tmp, placeHolders, arr
-
-		if (b64.length % 4 > 0) {
-			throw new Error('Invalid string. Length must be a multiple of 4')
-		}
-
-		// the number of equal signs (place holders)
-		// if there are two placeholders, than the two characters before it
-		// represent one byte
-		// if there is only one, then the three characters before it represent 2 bytes
-		// this is just a cheap hack to not do indexOf twice
-		var len = b64.length
-		placeHolders = '=' === b64.charAt(len - 2) ? 2 : '=' === b64.charAt(len - 1) ? 1 : 0
-
-		// base64 is 4/3 + up to two characters of the original data
-		arr = new Arr(b64.length * 3 / 4 - placeHolders)
-
-		// if there are placeholders, only get up to the last complete 4 chars
-		l = placeHolders > 0 ? b64.length - 4 : b64.length
-
-		var L = 0
-
-		function push (v) {
-			arr[L++] = v
-		}
-
-		for (i = 0, j = 0; i < l; i += 4, j += 3) {
-			tmp = (decode(b64.charAt(i)) << 18) | (decode(b64.charAt(i + 1)) << 12) | (decode(b64.charAt(i + 2)) << 6) | decode(b64.charAt(i + 3))
-			push((tmp & 0xFF0000) >> 16)
-			push((tmp & 0xFF00) >> 8)
-			push(tmp & 0xFF)
-		}
-
-		if (placeHolders === 2) {
-			tmp = (decode(b64.charAt(i)) << 2) | (decode(b64.charAt(i + 1)) >> 4)
-			push(tmp & 0xFF)
-		} else if (placeHolders === 1) {
-			tmp = (decode(b64.charAt(i)) << 10) | (decode(b64.charAt(i + 1)) << 4) | (decode(b64.charAt(i + 2)) >> 2)
-			push((tmp >> 8) & 0xFF)
-			push(tmp & 0xFF)
-		}
-
-		return arr
-	}
-
-	function uint8ToBase64 (uint8) {
-		var i,
-			extraBytes = uint8.length % 3, // if we have 1 byte left, pad 2 bytes
-			output = "",
-			temp, length
-
-		function encode (num) {
-			return lookup.charAt(num)
-		}
-
-		function tripletToBase64 (num) {
-			return encode(num >> 18 & 0x3F) + encode(num >> 12 & 0x3F) + encode(num >> 6 & 0x3F) + encode(num & 0x3F)
-		}
-
-		// go through the array every three bytes, we'll deal with trailing stuff later
-		for (i = 0, length = uint8.length - extraBytes; i < length; i += 3) {
-			temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])
-			output += tripletToBase64(temp)
-		}
-
-		// pad the end with zeros, but make sure to not forget the extra bytes
-		switch (extraBytes) {
-			case 1:
-				temp = uint8[uint8.length - 1]
-				output += encode(temp >> 2)
-				output += encode((temp << 4) & 0x3F)
-				output += '=='
-				break
-			case 2:
-				temp = (uint8[uint8.length - 2] << 8) + (uint8[uint8.length - 1])
-				output += encode(temp >> 10)
-				output += encode((temp >> 4) & 0x3F)
-				output += encode((temp << 2) & 0x3F)
-				output += '='
-				break
-		}
-
-		return output
-	}
-
-	module.exports.toByteArray = b64ToByteArray
-	module.exports.fromByteArray = uint8ToBase64
-}())

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/base64-js/package.json
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/base64-js/package.json b/node_modules/simple-plist/node_modules/base64-js/package.json
deleted file mode 100644
index bc8d711..0000000
--- a/node_modules/simple-plist/node_modules/base64-js/package.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
-  "_args": [
-    [
-      "base64-js@0.0.6",
-      "D:\\Cordova\\cordova-ios\\node_modules\\simple-plist\\node_modules\\plist"
-    ]
-  ],
-  "_from": "base64-js@0.0.6",
-  "_id": "base64-js@0.0.6",
-  "_inCache": true,
-  "_installable": true,
-  "_location": "/simple-plist/base64-js",
-  "_npmUser": {
-    "email": "feross@feross.org",
-    "name": "feross"
-  },
-  "_npmVersion": "1.3.21",
-  "_phantomChildren": {},
-  "_requested": {
-    "name": "base64-js",
-    "raw": "base64-js@0.0.6",
-    "rawSpec": "0.0.6",
-    "scope": null,
-    "spec": "0.0.6",
-    "type": "version"
-  },
-  "_requiredBy": [
-    "/simple-plist/plist"
-  ],
-  "_resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.6.tgz",
-  "_shasum": "7b859f79f0bbbd55867ba67a7fab397e24a20947",
-  "_shrinkwrap": null,
-  "_spec": "base64-js@0.0.6",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\simple-plist\\node_modules\\plist",
-  "author": {
-    "email": "t.jameson.little@gmail.com",
-    "name": "T. Jameson Little"
-  },
-  "bugs": {
-    "url": "https://github.com/beatgammit/base64-js/issues"
-  },
-  "dependencies": {},
-  "description": "Base64 encoding/decoding in pure JS",
-  "devDependencies": {
-    "tape": "~2.3.2"
-  },
-  "directories": {},
-  "dist": {
-    "shasum": "7b859f79f0bbbd55867ba67a7fab397e24a20947",
-    "tarball": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.6.tgz"
-  },
-  "engines": {
-    "node": ">= 0.4"
-  },
-  "homepage": "https://github.com/beatgammit/base64-js",
-  "license": "MIT",
-  "main": "lib/b64.js",
-  "maintainers": [
-    {
-      "email": "feross@feross.org",
-      "name": "feross"
-    }
-  ],
-  "name": "base64-js",
-  "optionalDependencies": {},
-  "readme": "ERROR: No README data found!",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/beatgammit/base64-js.git"
-  },
-  "scripts": {
-    "test": "tape test/*.js"
-  },
-  "testling": {
-    "browsers": [
-      "ie/6..latest",
-      "chrome/4..latest",
-      "firefox/3..latest",
-      "safari/5.1..latest",
-      "opera/11.0..latest",
-      "iphone/6",
-      "ipad/6"
-    ],
-    "files": "test/*.js"
-  },
-  "version": "0.0.6"
-}

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/base64-js/test/convert.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/base64-js/test/convert.js b/node_modules/simple-plist/node_modules/base64-js/test/convert.js
deleted file mode 100644
index 48fbba7..0000000
--- a/node_modules/simple-plist/node_modules/base64-js/test/convert.js
+++ /dev/null
@@ -1,52 +0,0 @@
-var test = require('tape'),
-  b64 = require('../lib/b64'),
-	checks = [
-		'a',
-		'aa',
-		'aaa',
-		'hi',
-		'hi!',
-		'hi!!',
-		'sup',
-		'sup?',
-		'sup?!'
-	],
-	res;
-
-test('convert to base64 and back', function (t) {
-  t.plan(checks.length);
-
-  for (var i = 0; i < checks.length; i++) {
-    var check = checks[i],
-      b64Str,
-      arr,
-      str;
-
-    b64Str = b64.fromByteArray(map(check, function (char) { return char.charCodeAt(0); }));
-
-    arr = b64.toByteArray(b64Str);
-    str = map(arr, function (byte) { return String.fromCharCode(byte); }).join('');
-
-    t.equal(check, str, 'Checked ' + check);
-  }
-
-});
-
-function map (arr, callback) {
-	var res = [],
-    kValue,
-    mappedValue;
-
-	for (var k = 0, len = arr.length; k < len; k++) {
-		if ((typeof arr === 'string' && !!arr.charAt(k))) {
-			kValue = arr.charAt(k);
-			mappedValue = callback(kValue, k, arr);
-			res[k] = mappedValue;
-		} else if (typeof arr !== 'string' && k in arr) {
-			kValue = arr[k];
-			mappedValue = callback(kValue, k, arr);
-			res[k] = mappedValue;
-		}
-	}
-	return res;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/bplist-parser/package.json
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/bplist-parser/package.json b/node_modules/simple-plist/node_modules/bplist-parser/package.json
index e5f9bfb..b6d821e 100644
--- a/node_modules/simple-plist/node_modules/bplist-parser/package.json
+++ b/node_modules/simple-plist/node_modules/bplist-parser/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "bplist-parser@0.0.6",
-      "D:\\Cordova\\cordova-ios\\node_modules\\simple-plist"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/simple-plist"
     ]
   ],
   "_from": "bplist-parser@0.0.6",
@@ -27,11 +27,11 @@
   "_requiredBy": [
     "/simple-plist"
   ],
-  "_resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.0.6.tgz",
+  "_resolved": "http://registry.npmjs.org/bplist-parser/-/bplist-parser-0.0.6.tgz",
   "_shasum": "38da3471817df9d44ab3892e27707bbbd75a11b9",
   "_shrinkwrap": null,
   "_spec": "bplist-parser@0.0.6",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\simple-plist",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/simple-plist",
   "author": {
     "email": "joe.ferner@nearinfinity.com",
     "name": "Joe Ferner"

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/plist/.jshintrc
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/plist/.jshintrc b/node_modules/simple-plist/node_modules/plist/.jshintrc
deleted file mode 100644
index 3f42622..0000000
--- a/node_modules/simple-plist/node_modules/plist/.jshintrc
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-  "laxbreak": true,
-  "laxcomma": true
-}

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/plist/.travis.yml
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/plist/.travis.yml b/node_modules/simple-plist/node_modules/plist/.travis.yml
deleted file mode 100644
index 4ed5002..0000000
--- a/node_modules/simple-plist/node_modules/plist/.travis.yml
+++ /dev/null
@@ -1,32 +0,0 @@
-language: node_js
-node_js:
-- '0.10'
-- '0.11'
-env:
-  global:
-  - secure: xlLmWO7akYQjmDgrv6/b/ZMGILF8FReD+k6A/u8pYRD2JW29hhwvRwIQGcKp9+zmJdn4i5M4D1/qJkCeI3pdhAYBDHvzHOHSEwLJz1ESB2Crv6fa69CtpIufQkWvIxmZoU49tCaLpMBaIroGihJ4DAXdIVOIz6Ur9vXLDhGsE4c=
-  - secure: aQ46RdxL10xR5ZJJTMUKdH5k4tdrzgZ87nlwHC+pTr6bfRw3UKYC+6Rm7yQpg9wq0Io9O9dYCP007gQGSWstbjr1+jXNu/ubtNG+q5cpWBQZZZ013VHh9QJTf1MnetsZxbv8Yhrjg590s6vruT0oqesOnB2CizO/BsKxnY37Nos=
-matrix:
-  include:
-  - node_js: '0.10'
-    env: BROWSER_NAME=chrome BROWSER_VERSION=latest
-  - node_js: '0.10'
-    env: BROWSER_NAME=chrome BROWSER_VERSION=29
-  - node_js: '0.10'
-    env: BROWSER_NAME=firefox BROWSER_VERSION=latest
-  - node_js: '0.10'
-    env: BROWSER_NAME=opera BROWSER_VERSION=latest
-  - node_js: '0.10'
-    env: BROWSER_NAME=safari BROWSER_VERSION=latest
-  - node_js: '0.10'
-    env: BROWSER_NAME=safari BROWSER_VERSION=7
-  - node_js: '0.10'
-    env: BROWSER_NAME=safari BROWSER_VERSION=6
-  - node_js: '0.10'
-    env: BROWSER_NAME=safari BROWSER_VERSION=5
-  - node_js: '0.10'
-    env: BROWSER_NAME=ie BROWSER_VERSION=11
-  - node_js: '0.10'
-    env: BROWSER_NAME=ie BROWSER_VERSION=10
-  - node_js: '0.10'
-    env: BROWSER_NAME=ie BROWSER_VERSION=9

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/plist/History.md
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/plist/History.md b/node_modules/simple-plist/node_modules/plist/History.md
deleted file mode 100644
index dbcf0d6..0000000
--- a/node_modules/simple-plist/node_modules/plist/History.md
+++ /dev/null
@@ -1,112 +0,0 @@
-
-1.1.0 / 2014-08-27
-==================
-
- * package: update "browserify" to v5.10.1
- * package: update "zuul" to v1.10.2
- * README: add "Sauce Test Status" build badge
- * travis: use new "plistjs" sauce credentials
- * travis: set up zuul saucelabs automated testing
-
-1.0.1 / 2014-06-25
-==================
-
-  * add .zuul.yml file for browser testing
-  * remove Testling stuff
-  * build: fix global variable `val` leak
-  * package: use --check-leaks when running mocha tests
-  * README: update examples to use preferred API
-  * package: add "browser" keyword
-
-1.0.0 / 2014-05-20
-==================
-
-  * package: remove "android-browser"
-  * test: add <dict> build() test
-  * test: re-add the empty string build() test
-  * test: remove "fixtures" and legacy "tests" dir
-  * test: add some more build() tests
-  * test: add a parse() CDATA test
-  * test: starting on build() tests
-  * test: more parse() tests
-  * package: attempt to fix "android-browser" testling
-  * parse: better <data> with newline handling
-  * README: add Testling badge
-  * test: add <data> node tests
-  * test: add a <date> parse() test
-  * travis: don't test node v0.6 or v0.8
-  * test: some more parse() tests
-  * test: add simple <string> parsing test
-  * build: add support for an optional "opts" object
-  * package: test mobile devices
-  * test: use multiline to inline the XML
-  * package: beautify
-  * package: fix "mocha" harness
-  * package: more testling browsers
-  * build: add the "version=1.0" attribute
-  * beginnings of "mocha" tests
-  * build: more JSDocs
-  * tests: add test that ensures that empty string conversion works
-  * build: update "xmlbuilder" to v2.2.1
-  * parse: ignore comment and cdata nodes
-  * tests: make the "Newlines" test actually contain a newline
-  * parse: lint
-  * test travis
-  * README: add Travis CI badge
-  * add .travis.yml file
-  * build: updated DTD to reflect name change
-  * parse: return falsey values in an Array plist
-  * build: fix encoding a typed array in the browser
-  * build: add support for Typed Arrays and ArrayBuffers
-  * build: more lint
-  * build: slight cleanup and optimizations
-  * build: use .txt() for the "date" value
-  * parse: always return a Buffer for <data> nodes
-  * build: don't interpret Strings as base64
-  * dist: commit prebuilt plist*.js files
-  * parse: fix typo in deprecate message
-  * parse: fix parse() return value
-  * parse: add jsdoc comments for the deprecated APIs
-  * parse: add `parse()` function
-  * node, parse: use `util-deprecate` module
-  * re-implemented parseFile to be asynchronous
-  * node: fix jsdoc comment
-  * Makefile: fix "node" require stubbing
-  * examples: add "browser" example
-  * package: tweak "main"
-  * package: remove "engines" field
-  * Makefile: fix --exclude command for browserify
-  * package: update "description"
-  * lib: more styling
-  * Makefile: add -build.js and -parse.js dist files
-  * lib: separate out the parse and build logic into their own files
-  * Makefile: add makefile with browserify build rules
-  * package: add "browserify" as a dev dependency
-  * plist: tabs to spaces (again)
-  * add a .jshintrc file
-  * LICENSE: update
-  * node-webkit support
-  * Ignore tests/ in .npmignore file
-  * Remove duplicate devDependencies key
-  * Remove trailing whitespace
-  * adding recent contributors. Bumping npm package number (patch release)
-  * Fixed node.js string handling
-  * bumping version number
-  * Fixed global variable plist leak
-  * patch release 0.4.1
-  * removed temporary debug output file
-  * flipping the cases for writing data and string elements in build(). removed the 125 length check. Added validation of base64 encoding for data fields when parsing. added unit tests.
-  * fixed syntax errors in README examples (issue #20)
-  * added Sync versions of calls. added deprecation warnings for old method calls. updated documentation. If the resulting object from parseStringSync is an array with 1 element, return just the element. If a plist string or file doesnt have a <plist> tag as the document root element, fail noisily (issue #15)
-  * incrementing package version
-  * added cross platform base64 encode/decode for data elements (issue #17.) Comments and hygiene.
-  * refactored the code to use a DOM parser instead of SAX. closes issues #5 and #16
-  * rolling up package version
-  * updated base64 detection regexp. updated README. hygiene.
-  * refactored the build function. Fixes issue #14
-  * refactored tests. Modified tests from issue #9. thanks @sylvinus
-  * upgrade xmlbuilder package version. this is why .end() was needed in last commit; breaking change to xmlbuilder lib. :/
-  * bug fix in build function, forgot to call .end() Refactored tests to use nodeunit
-  * Implemented support for real, identity tests
-  * Refactored base64 detection - still sloppy, fixed date building. Passing tests OK.
-  * Implemented basic plist builder that turns an existing JS object into plist XML. date, real and data types still need to be implemented.

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/plist/LICENSE
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/plist/LICENSE b/node_modules/simple-plist/node_modules/plist/LICENSE
deleted file mode 100644
index 04a9e91..0000000
--- a/node_modules/simple-plist/node_modules/plist/LICENSE
+++ /dev/null
@@ -1,24 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2010-2014 Nathan Rajlich <na...@tootallnate.net>
-
-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.

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/plist/Makefile
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/plist/Makefile b/node_modules/simple-plist/node_modules/plist/Makefile
deleted file mode 100644
index 62695e0..0000000
--- a/node_modules/simple-plist/node_modules/plist/Makefile
+++ /dev/null
@@ -1,76 +0,0 @@
-
-# get Makefile directory name: http://stackoverflow.com/a/5982798/376773
-THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
-THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd)
-
-# BIN directory
-BIN := $(THIS_DIR)/node_modules/.bin
-
-# applications
-NODE ?= node
-NPM ?= $(NODE) $(shell which npm)
-BROWSERIFY ?= $(NODE) $(BIN)/browserify
-MOCHA ?= $(NODE) $(BIN)/mocha
-ZUUL ?= $(NODE) $(BIN)/zuul
-
-REPORTER ?= spec
-
-all: dist/plist.js dist/plist-build.js dist/plist-parse.js
-
-install: node_modules
-
-clean:
-	@rm -rf node_modules dist
-
-dist:
-	@mkdir -p $@
-
-dist/plist-build.js: node_modules lib/build.js dist
-	@$(BROWSERIFY) \
-		--standalone plist \
-		lib/build.js > $@
-
-dist/plist-parse.js: node_modules lib/parse.js dist
-	@$(BROWSERIFY) \
-		--standalone plist \
-		lib/parse.js > $@
-
-dist/plist.js: node_modules lib/*.js dist
-	@$(BROWSERIFY) \
-		--standalone plist \
-		--ignore lib/node.js \
-		lib/plist.js > $@
-
-node_modules: package.json
-	@NODE_ENV= $(NPM) install
-	@touch node_modules
-
-test:
-	@if [ "x$(BROWSER_NAME)" = "x" ]; then \
-		$(MAKE) test-node; \
-		else \
-		$(MAKE) test-zuul; \
-	fi
-
-test-node:
-	@$(MOCHA) \
-		--reporter $(REPORTER) \
-		test/*.js
-
-test-zuul:
-	@if [ "x$(BROWSER_PLATFORM)" = "x" ]; then \
-		$(ZUUL) \
-		--ui mocha-bdd \
-		--browser-name $(BROWSER_NAME) \
-		--browser-version $(BROWSER_VERSION) \
-		test/*.js; \
-		else \
-		$(ZUUL) \
-		--ui mocha-bdd \
-		--browser-name $(BROWSER_NAME) \
-		--browser-version $(BROWSER_VERSION) \
-		--browser-platform "$(BROWSER_PLATFORM)" \
-		test/*.js; \
-	fi
-
-.PHONY: all install clean test test-node test-zuul

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/plist/README.md
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/plist/README.md b/node_modules/simple-plist/node_modules/plist/README.md
deleted file mode 100644
index 4d0310a..0000000
--- a/node_modules/simple-plist/node_modules/plist/README.md
+++ /dev/null
@@ -1,113 +0,0 @@
-plist.js
-========
-### Mac OS X Plist parser/builder for Node.js and browsers
-
-[![Sauce Test Status](https://saucelabs.com/browser-matrix/plistjs.svg)](https://saucelabs.com/u/plistjs)
-
-[![Build Status](https://travis-ci.org/TooTallNate/plist.js.svg?branch=master)](https://travis-ci.org/TooTallNate/plist.js)
-
-Provides facilities for reading and writing Mac OS X Plist (property list)
-files. These are often used in programming OS X and iOS applications, as
-well as the iTunes configuration XML file.
-
-Plist files represent stored programming "object"s. They are very similar
-to JSON. A valid Plist file is representable as a native JavaScript Object
-and vice-versa.
-
-
-## Usage
-
-### Node.js
-
-Install using `npm`:
-
-``` bash
-$ npm install --save plist
-```
-
-Then `require()` the _plist_ module in your file:
-
-``` js
-var plist = require('plist');
-
-// now use the `parse()` and `build()` functions
-var val = plist.parse('<plist><string>Hello World!</string></plist>');
-console.log(val);  // "Hello World!"
-```
-
-
-### Browser
-
-Include the `dist/plist.js` in a `<script>` tag in your HTML file:
-
-``` html
-<script src="plist.js"></script>
-<script>
-  // now use the `parse()` and `build()` functions
-  var val = plist.parse('<plist><string>Hello World!</string></plist>');
-  console.log(val);  // "Hello World!"
-</script>
-```
-
-
-## API
-
-### Parsing
-
-Parsing a plist from filename:
-
-``` javascript
-var fs = require('fs');
-var plist = require('plist');
-
-var obj = plist.parse(fs.readFileSync('myPlist.plist', 'utf8'));
-console.log(JSON.stringify(obj));
-```
-
-Parsing a plist from string payload:
-
-``` javascript
-var plist = require('plist');
-
-var obj = plist.parse('<plist><string>Hello World!</string></plist>');
-console.log(obj);  // Hello World!
-```
-
-### Building
-
-Given an existing JavaScript Object, you can turn it into an XML document
-that complies with the plist DTD:
-
-``` javascript
-var plist = require('plist');
-
-console.log(plist.build({ foo: 'bar' }));
-```
-
-
-## License
-
-(The MIT License)
-
-Copyright (c) 2010-2014 Nathan Rajlich <na...@tootallnate.net>
-
-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.


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


[17/32] ios commit: CB-11445 Updated checked-in node_modules

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/baseCreateWrapper.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/baseCreateWrapper.js b/node_modules/lodash-node/modern/internals/baseCreateWrapper.js
deleted file mode 100644
index 3ce5a77..0000000
--- a/node_modules/lodash-node/modern/internals/baseCreateWrapper.js
+++ /dev/null
@@ -1,78 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseCreate = require('./baseCreate'),
-    isObject = require('../objects/isObject'),
-    setBindData = require('./setBindData'),
-    slice = require('./slice');
-
-/**
- * Used for `Array` method references.
- *
- * Normally `Array.prototype` would suffice, however, using an array literal
- * avoids issues in Narwhal.
- */
-var arrayRef = [];
-
-/** Native method shortcuts */
-var push = arrayRef.push;
-
-/**
- * The base implementation of `createWrapper` that creates the wrapper and
- * sets its meta data.
- *
- * @private
- * @param {Array} bindData The bind data array.
- * @returns {Function} Returns the new function.
- */
-function baseCreateWrapper(bindData) {
-  var func = bindData[0],
-      bitmask = bindData[1],
-      partialArgs = bindData[2],
-      partialRightArgs = bindData[3],
-      thisArg = bindData[4],
-      arity = bindData[5];
-
-  var isBind = bitmask & 1,
-      isBindKey = bitmask & 2,
-      isCurry = bitmask & 4,
-      isCurryBound = bitmask & 8,
-      key = func;
-
-  function bound() {
-    var thisBinding = isBind ? thisArg : this;
-    if (partialArgs) {
-      var args = slice(partialArgs);
-      push.apply(args, arguments);
-    }
-    if (partialRightArgs || isCurry) {
-      args || (args = slice(arguments));
-      if (partialRightArgs) {
-        push.apply(args, partialRightArgs);
-      }
-      if (isCurry && args.length < arity) {
-        bitmask |= 16 & ~32;
-        return baseCreateWrapper([func, (isCurryBound ? bitmask : bitmask & ~3), args, null, thisArg, arity]);
-      }
-    }
-    args || (args = arguments);
-    if (isBindKey) {
-      func = thisBinding[key];
-    }
-    if (this instanceof bound) {
-      thisBinding = baseCreate(func.prototype);
-      var result = func.apply(thisBinding, args);
-      return isObject(result) ? result : thisBinding;
-    }
-    return func.apply(thisBinding, args);
-  }
-  setBindData(bound, bindData);
-  return bound;
-}
-
-module.exports = baseCreateWrapper;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/baseDifference.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/baseDifference.js b/node_modules/lodash-node/modern/internals/baseDifference.js
deleted file mode 100644
index 6cd38a5..0000000
--- a/node_modules/lodash-node/modern/internals/baseDifference.js
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseIndexOf = require('./baseIndexOf'),
-    cacheIndexOf = require('./cacheIndexOf'),
-    createCache = require('./createCache'),
-    largeArraySize = require('./largeArraySize'),
-    releaseObject = require('./releaseObject');
-
-/**
- * The base implementation of `_.difference` that accepts a single array
- * of values to exclude.
- *
- * @private
- * @param {Array} array The array to process.
- * @param {Array} [values] The array of values to exclude.
- * @returns {Array} Returns a new array of filtered values.
- */
-function baseDifference(array, values) {
-  var index = -1,
-      indexOf = baseIndexOf,
-      length = array ? array.length : 0,
-      isLarge = length >= largeArraySize,
-      result = [];
-
-  if (isLarge) {
-    var cache = createCache(values);
-    if (cache) {
-      indexOf = cacheIndexOf;
-      values = cache;
-    } else {
-      isLarge = false;
-    }
-  }
-  while (++index < length) {
-    var value = array[index];
-    if (indexOf(values, value) < 0) {
-      result.push(value);
-    }
-  }
-  if (isLarge) {
-    releaseObject(values);
-  }
-  return result;
-}
-
-module.exports = baseDifference;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/baseFlatten.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/baseFlatten.js b/node_modules/lodash-node/modern/internals/baseFlatten.js
deleted file mode 100644
index 5da8ba0..0000000
--- a/node_modules/lodash-node/modern/internals/baseFlatten.js
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 isArguments = require('../objects/isArguments'),
-    isArray = require('../objects/isArray');
-
-/**
- * The base implementation of `_.flatten` without support for callback
- * shorthands or `thisArg` binding.
- *
- * @private
- * @param {Array} array The array to flatten.
- * @param {boolean} [isShallow=false] A flag to restrict flattening to a single level.
- * @param {boolean} [isStrict=false] A flag to restrict flattening to arrays and `arguments` objects.
- * @param {number} [fromIndex=0] The index to start from.
- * @returns {Array} Returns a new flattened array.
- */
-function baseFlatten(array, isShallow, isStrict, fromIndex) {
-  var index = (fromIndex || 0) - 1,
-      length = array ? array.length : 0,
-      result = [];
-
-  while (++index < length) {
-    var value = array[index];
-
-    if (value && typeof value == 'object' && typeof value.length == 'number'
-        && (isArray(value) || isArguments(value))) {
-      // recursively flatten arrays (susceptible to call stack limits)
-      if (!isShallow) {
-        value = baseFlatten(value, isShallow, isStrict);
-      }
-      var valIndex = -1,
-          valLength = value.length,
-          resIndex = result.length;
-
-      result.length += valLength;
-      while (++valIndex < valLength) {
-        result[resIndex++] = value[valIndex];
-      }
-    } else if (!isStrict) {
-      result.push(value);
-    }
-  }
-  return result;
-}
-
-module.exports = baseFlatten;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/baseIndexOf.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/baseIndexOf.js b/node_modules/lodash-node/modern/internals/baseIndexOf.js
deleted file mode 100644
index f1f7fef..0000000
--- a/node_modules/lodash-node/modern/internals/baseIndexOf.js
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/**
- * The base implementation of `_.indexOf` without support for binary searches
- * or `fromIndex` constraints.
- *
- * @private
- * @param {Array} array The array to search.
- * @param {*} value The value to search for.
- * @param {number} [fromIndex=0] The index to search from.
- * @returns {number} Returns the index of the matched value or `-1`.
- */
-function baseIndexOf(array, value, fromIndex) {
-  var index = (fromIndex || 0) - 1,
-      length = array ? array.length : 0;
-
-  while (++index < length) {
-    if (array[index] === value) {
-      return index;
-    }
-  }
-  return -1;
-}
-
-module.exports = baseIndexOf;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/baseIsEqual.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/baseIsEqual.js b/node_modules/lodash-node/modern/internals/baseIsEqual.js
deleted file mode 100644
index 19504c7..0000000
--- a/node_modules/lodash-node/modern/internals/baseIsEqual.js
+++ /dev/null
@@ -1,209 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 forIn = require('../objects/forIn'),
-    getArray = require('./getArray'),
-    isFunction = require('../objects/isFunction'),
-    objectTypes = require('./objectTypes'),
-    releaseArray = require('./releaseArray');
-
-/** `Object#toString` result shortcuts */
-var argsClass = '[object Arguments]',
-    arrayClass = '[object Array]',
-    boolClass = '[object Boolean]',
-    dateClass = '[object Date]',
-    numberClass = '[object Number]',
-    objectClass = '[object Object]',
-    regexpClass = '[object RegExp]',
-    stringClass = '[object String]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/**
- * The base implementation of `_.isEqual`, without support for `thisArg` binding,
- * that allows partial "_.where" style comparisons.
- *
- * @private
- * @param {*} a The value to compare.
- * @param {*} b The other value to compare.
- * @param {Function} [callback] The function to customize comparing values.
- * @param {Function} [isWhere=false] A flag to indicate performing partial comparisons.
- * @param {Array} [stackA=[]] Tracks traversed `a` objects.
- * @param {Array} [stackB=[]] Tracks traversed `b` objects.
- * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
- */
-function baseIsEqual(a, b, callback, isWhere, stackA, stackB) {
-  // used to indicate that when comparing objects, `a` has at least the properties of `b`
-  if (callback) {
-    var result = callback(a, b);
-    if (typeof result != 'undefined') {
-      return !!result;
-    }
-  }
-  // exit early for identical values
-  if (a === b) {
-    // treat `+0` vs. `-0` as not equal
-    return a !== 0 || (1 / a == 1 / b);
-  }
-  var type = typeof a,
-      otherType = typeof b;
-
-  // exit early for unlike primitive values
-  if (a === a &&
-      !(a && objectTypes[type]) &&
-      !(b && objectTypes[otherType])) {
-    return false;
-  }
-  // exit early for `null` and `undefined` avoiding ES3's Function#call behavior
-  // http://es5.github.io/#x15.3.4.4
-  if (a == null || b == null) {
-    return a === b;
-  }
-  // compare [[Class]] names
-  var className = toString.call(a),
-      otherClass = toString.call(b);
-
-  if (className == argsClass) {
-    className = objectClass;
-  }
-  if (otherClass == argsClass) {
-    otherClass = objectClass;
-  }
-  if (className != otherClass) {
-    return false;
-  }
-  switch (className) {
-    case boolClass:
-    case dateClass:
-      // coerce dates and booleans to numbers, dates to milliseconds and booleans
-      // to `1` or `0` treating invalid dates coerced to `NaN` as not equal
-      return +a == +b;
-
-    case numberClass:
-      // treat `NaN` vs. `NaN` as equal
-      return (a != +a)
-        ? b != +b
-        // but treat `+0` vs. `-0` as not equal
-        : (a == 0 ? (1 / a == 1 / b) : a == +b);
-
-    case regexpClass:
-    case stringClass:
-      // coerce regexes to strings (http://es5.github.io/#x15.10.6.4)
-      // treat string primitives and their corresponding object instances as equal
-      return a == String(b);
-  }
-  var isArr = className == arrayClass;
-  if (!isArr) {
-    // unwrap any `lodash` wrapped values
-    var aWrapped = hasOwnProperty.call(a, '__wrapped__'),
-        bWrapped = hasOwnProperty.call(b, '__wrapped__');
-
-    if (aWrapped || bWrapped) {
-      return baseIsEqual(aWrapped ? a.__wrapped__ : a, bWrapped ? b.__wrapped__ : b, callback, isWhere, stackA, stackB);
-    }
-    // exit for functions and DOM nodes
-    if (className != objectClass) {
-      return false;
-    }
-    // in older versions of Opera, `arguments` objects have `Array` constructors
-    var ctorA = a.constructor,
-        ctorB = b.constructor;
-
-    // non `Object` object instances with different constructors are not equal
-    if (ctorA != ctorB &&
-          !(isFunction(ctorA) && ctorA instanceof ctorA && isFunction(ctorB) && ctorB instanceof ctorB) &&
-          ('constructor' in a && 'constructor' in b)
-        ) {
-      return false;
-    }
-  }
-  // assume cyclic structures are equal
-  // the algorithm for detecting cyclic structures is adapted from ES 5.1
-  // section 15.12.3, abstract operation `JO` (http://es5.github.io/#x15.12.3)
-  var initedStack = !stackA;
-  stackA || (stackA = getArray());
-  stackB || (stackB = getArray());
-
-  var length = stackA.length;
-  while (length--) {
-    if (stackA[length] == a) {
-      return stackB[length] == b;
-    }
-  }
-  var size = 0;
-  result = true;
-
-  // add `a` and `b` to the stack of traversed objects
-  stackA.push(a);
-  stackB.push(b);
-
-  // recursively compare objects and arrays (susceptible to call stack limits)
-  if (isArr) {
-    // compare lengths to determine if a deep comparison is necessary
-    length = a.length;
-    size = b.length;
-    result = size == length;
-
-    if (result || isWhere) {
-      // deep compare the contents, ignoring non-numeric properties
-      while (size--) {
-        var index = length,
-            value = b[size];
-
-        if (isWhere) {
-          while (index--) {
-            if ((result = baseIsEqual(a[index], value, callback, isWhere, stackA, stackB))) {
-              break;
-            }
-          }
-        } else if (!(result = baseIsEqual(a[size], value, callback, isWhere, stackA, stackB))) {
-          break;
-        }
-      }
-    }
-  }
-  else {
-    // deep compare objects using `forIn`, instead of `forOwn`, to avoid `Object.keys`
-    // which, in this case, is more costly
-    forIn(b, function(value, key, b) {
-      if (hasOwnProperty.call(b, key)) {
-        // count the number of properties.
-        size++;
-        // deep compare each property value.
-        return (result = hasOwnProperty.call(a, key) && baseIsEqual(a[key], value, callback, isWhere, stackA, stackB));
-      }
-    });
-
-    if (result && !isWhere) {
-      // ensure both objects have the same number of properties
-      forIn(a, function(value, key, a) {
-        if (hasOwnProperty.call(a, key)) {
-          // `size` will be `-1` if `a` has more properties than `b`
-          return (result = --size > -1);
-        }
-      });
-    }
-  }
-  stackA.pop();
-  stackB.pop();
-
-  if (initedStack) {
-    releaseArray(stackA);
-    releaseArray(stackB);
-  }
-  return result;
-}
-
-module.exports = baseIsEqual;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/baseMerge.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/baseMerge.js b/node_modules/lodash-node/modern/internals/baseMerge.js
deleted file mode 100644
index ae13bad..0000000
--- a/node_modules/lodash-node/modern/internals/baseMerge.js
+++ /dev/null
@@ -1,79 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 forEach = require('../collections/forEach'),
-    forOwn = require('../objects/forOwn'),
-    isArray = require('../objects/isArray'),
-    isPlainObject = require('../objects/isPlainObject');
-
-/**
- * The base implementation of `_.merge` without argument juggling or support
- * for `thisArg` binding.
- *
- * @private
- * @param {Object} object The destination object.
- * @param {Object} source The source object.
- * @param {Function} [callback] The function to customize merging properties.
- * @param {Array} [stackA=[]] Tracks traversed source objects.
- * @param {Array} [stackB=[]] Associates values with source counterparts.
- */
-function baseMerge(object, source, callback, stackA, stackB) {
-  (isArray(source) ? forEach : forOwn)(source, function(source, key) {
-    var found,
-        isArr,
-        result = source,
-        value = object[key];
-
-    if (source && ((isArr = isArray(source)) || isPlainObject(source))) {
-      // avoid merging previously merged cyclic sources
-      var stackLength = stackA.length;
-      while (stackLength--) {
-        if ((found = stackA[stackLength] == source)) {
-          value = stackB[stackLength];
-          break;
-        }
-      }
-      if (!found) {
-        var isShallow;
-        if (callback) {
-          result = callback(value, source);
-          if ((isShallow = typeof result != 'undefined')) {
-            value = result;
-          }
-        }
-        if (!isShallow) {
-          value = isArr
-            ? (isArray(value) ? value : [])
-            : (isPlainObject(value) ? value : {});
-        }
-        // add `source` and associated `value` to the stack of traversed objects
-        stackA.push(source);
-        stackB.push(value);
-
-        // recursively merge objects and arrays (susceptible to call stack limits)
-        if (!isShallow) {
-          baseMerge(value, source, callback, stackA, stackB);
-        }
-      }
-    }
-    else {
-      if (callback) {
-        result = callback(value, source);
-        if (typeof result == 'undefined') {
-          result = source;
-        }
-      }
-      if (typeof result != 'undefined') {
-        value = result;
-      }
-    }
-    object[key] = value;
-  });
-}
-
-module.exports = baseMerge;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/baseRandom.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/baseRandom.js b/node_modules/lodash-node/modern/internals/baseRandom.js
deleted file mode 100644
index 3bce8f8..0000000
--- a/node_modules/lodash-node/modern/internals/baseRandom.js
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/** Native method shortcuts */
-var floor = Math.floor;
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeRandom = Math.random;
-
-/**
- * The base implementation of `_.random` without argument juggling or support
- * for returning floating-point numbers.
- *
- * @private
- * @param {number} min The minimum possible value.
- * @param {number} max The maximum possible value.
- * @returns {number} Returns a random number.
- */
-function baseRandom(min, max) {
-  return min + floor(nativeRandom() * (max - min + 1));
-}
-
-module.exports = baseRandom;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/baseUniq.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/baseUniq.js b/node_modules/lodash-node/modern/internals/baseUniq.js
deleted file mode 100644
index 32353cc..0000000
--- a/node_modules/lodash-node/modern/internals/baseUniq.js
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseIndexOf = require('./baseIndexOf'),
-    cacheIndexOf = require('./cacheIndexOf'),
-    createCache = require('./createCache'),
-    getArray = require('./getArray'),
-    largeArraySize = require('./largeArraySize'),
-    releaseArray = require('./releaseArray'),
-    releaseObject = require('./releaseObject');
-
-/**
- * The base implementation of `_.uniq` without support for callback shorthands
- * or `thisArg` binding.
- *
- * @private
- * @param {Array} array The array to process.
- * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.
- * @param {Function} [callback] The function called per iteration.
- * @returns {Array} Returns a duplicate-value-free array.
- */
-function baseUniq(array, isSorted, callback) {
-  var index = -1,
-      indexOf = baseIndexOf,
-      length = array ? array.length : 0,
-      result = [];
-
-  var isLarge = !isSorted && length >= largeArraySize,
-      seen = (callback || isLarge) ? getArray() : result;
-
-  if (isLarge) {
-    var cache = createCache(seen);
-    indexOf = cacheIndexOf;
-    seen = cache;
-  }
-  while (++index < length) {
-    var value = array[index],
-        computed = callback ? callback(value, index, array) : value;
-
-    if (isSorted
-          ? !index || seen[seen.length - 1] !== computed
-          : indexOf(seen, computed) < 0
-        ) {
-      if (callback || isLarge) {
-        seen.push(computed);
-      }
-      result.push(value);
-    }
-  }
-  if (isLarge) {
-    releaseArray(seen.array);
-    releaseObject(seen);
-  } else if (callback) {
-    releaseArray(seen);
-  }
-  return result;
-}
-
-module.exports = baseUniq;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/cacheIndexOf.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/cacheIndexOf.js b/node_modules/lodash-node/modern/internals/cacheIndexOf.js
deleted file mode 100644
index 2d8849c..0000000
--- a/node_modules/lodash-node/modern/internals/cacheIndexOf.js
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseIndexOf = require('./baseIndexOf'),
-    keyPrefix = require('./keyPrefix');
-
-/**
- * An implementation of `_.contains` for cache objects that mimics the return
- * signature of `_.indexOf` by returning `0` if the value is found, else `-1`.
- *
- * @private
- * @param {Object} cache The cache object to inspect.
- * @param {*} value The value to search for.
- * @returns {number} Returns `0` if `value` is found, else `-1`.
- */
-function cacheIndexOf(cache, value) {
-  var type = typeof value;
-  cache = cache.cache;
-
-  if (type == 'boolean' || value == null) {
-    return cache[value] ? 0 : -1;
-  }
-  if (type != 'number' && type != 'string') {
-    type = 'object';
-  }
-  var key = type == 'number' ? value : keyPrefix + value;
-  cache = (cache = cache[type]) && cache[key];
-
-  return type == 'object'
-    ? (cache && baseIndexOf(cache, value) > -1 ? 0 : -1)
-    : (cache ? 0 : -1);
-}
-
-module.exports = cacheIndexOf;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/cachePush.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/cachePush.js b/node_modules/lodash-node/modern/internals/cachePush.js
deleted file mode 100644
index 494ccb8..0000000
--- a/node_modules/lodash-node/modern/internals/cachePush.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 keyPrefix = require('./keyPrefix');
-
-/**
- * Adds a given value to the corresponding cache object.
- *
- * @private
- * @param {*} value The value to add to the cache.
- */
-function cachePush(value) {
-  var cache = this.cache,
-      type = typeof value;
-
-  if (type == 'boolean' || value == null) {
-    cache[value] = true;
-  } else {
-    if (type != 'number' && type != 'string') {
-      type = 'object';
-    }
-    var key = type == 'number' ? value : keyPrefix + value,
-        typeCache = cache[type] || (cache[type] = {});
-
-    if (type == 'object') {
-      (typeCache[key] || (typeCache[key] = [])).push(value);
-    } else {
-      typeCache[key] = true;
-    }
-  }
-}
-
-module.exports = cachePush;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/charAtCallback.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/charAtCallback.js b/node_modules/lodash-node/modern/internals/charAtCallback.js
deleted file mode 100644
index b2ee65a..0000000
--- a/node_modules/lodash-node/modern/internals/charAtCallback.js
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/**
- * Used by `_.max` and `_.min` as the default callback when a given
- * collection is a string value.
- *
- * @private
- * @param {string} value The character to inspect.
- * @returns {number} Returns the code unit of given character.
- */
-function charAtCallback(value) {
-  return value.charCodeAt(0);
-}
-
-module.exports = charAtCallback;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/compareAscending.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/compareAscending.js b/node_modules/lodash-node/modern/internals/compareAscending.js
deleted file mode 100644
index 4dd1a8f..0000000
--- a/node_modules/lodash-node/modern/internals/compareAscending.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/**
- * Used by `sortBy` to compare transformed `collection` elements, stable sorting
- * them in ascending order.
- *
- * @private
- * @param {Object} a The object to compare to `b`.
- * @param {Object} b The object to compare to `a`.
- * @returns {number} Returns the sort order indicator of `1` or `-1`.
- */
-function compareAscending(a, b) {
-  var ac = a.criteria,
-      bc = b.criteria,
-      index = -1,
-      length = ac.length;
-
-  while (++index < length) {
-    var value = ac[index],
-        other = bc[index];
-
-    if (value !== other) {
-      if (value > other || typeof value == 'undefined') {
-        return 1;
-      }
-      if (value < other || typeof other == 'undefined') {
-        return -1;
-      }
-    }
-  }
-  // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications
-  // that causes it, under certain circumstances, to return the same value for
-  // `a` and `b`. See https://github.com/jashkenas/underscore/pull/1247
-  //
-  // This also ensures a stable sort in V8 and other engines.
-  // See http://code.google.com/p/v8/issues/detail?id=90
-  return a.index - b.index;
-}
-
-module.exports = compareAscending;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/createAggregator.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/createAggregator.js b/node_modules/lodash-node/modern/internals/createAggregator.js
deleted file mode 100644
index 3c99dba..0000000
--- a/node_modules/lodash-node/modern/internals/createAggregator.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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'),
-    forOwn = require('../objects/forOwn'),
-    isArray = require('../objects/isArray');
-
-/**
- * Creates a function that aggregates a collection, creating an object composed
- * of keys generated from the results of running each element of the collection
- * through a callback. The given `setter` function sets the keys and values
- * of the composed object.
- *
- * @private
- * @param {Function} setter The setter function.
- * @returns {Function} Returns the new aggregator function.
- */
-function createAggregator(setter) {
-  return function(collection, callback, thisArg) {
-    var result = {};
-    callback = createCallback(callback, thisArg, 3);
-
-    var index = -1,
-        length = collection ? collection.length : 0;
-
-    if (typeof length == 'number') {
-      while (++index < length) {
-        var value = collection[index];
-        setter(result, value, callback(value, index, collection), collection);
-      }
-    } else {
-      forOwn(collection, function(value, key, collection) {
-        setter(result, value, callback(value, key, collection), collection);
-      });
-    }
-    return result;
-  };
-}
-
-module.exports = createAggregator;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/createCache.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/createCache.js b/node_modules/lodash-node/modern/internals/createCache.js
deleted file mode 100644
index e210516..0000000
--- a/node_modules/lodash-node/modern/internals/createCache.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 cachePush = require('./cachePush'),
-    getObject = require('./getObject'),
-    releaseObject = require('./releaseObject');
-
-/**
- * Creates a cache object to optimize linear searches of large arrays.
- *
- * @private
- * @param {Array} [array=[]] The array to search.
- * @returns {null|Object} Returns the cache object or `null` if caching should not be used.
- */
-function createCache(array) {
-  var index = -1,
-      length = array.length,
-      first = array[0],
-      mid = array[(length / 2) | 0],
-      last = array[length - 1];
-
-  if (first && typeof first == 'object' &&
-      mid && typeof mid == 'object' && last && typeof last == 'object') {
-    return false;
-  }
-  var cache = getObject();
-  cache['false'] = cache['null'] = cache['true'] = cache['undefined'] = false;
-
-  var result = getObject();
-  result.array = array;
-  result.cache = cache;
-  result.push = cachePush;
-
-  while (++index < length) {
-    result.push(array[index]);
-  }
-  return result;
-}
-
-module.exports = createCache;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/createWrapper.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/createWrapper.js b/node_modules/lodash-node/modern/internals/createWrapper.js
deleted file mode 100644
index c39d340..0000000
--- a/node_modules/lodash-node/modern/internals/createWrapper.js
+++ /dev/null
@@ -1,106 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseBind = require('./baseBind'),
-    baseCreateWrapper = require('./baseCreateWrapper'),
-    isFunction = require('../objects/isFunction'),
-    slice = require('./slice');
-
-/**
- * Used for `Array` method references.
- *
- * Normally `Array.prototype` would suffice, however, using an array literal
- * avoids issues in Narwhal.
- */
-var arrayRef = [];
-
-/** Native method shortcuts */
-var push = arrayRef.push,
-    unshift = arrayRef.unshift;
-
-/**
- * Creates a function that, when called, either curries or invokes `func`
- * with an optional `this` binding and partially applied arguments.
- *
- * @private
- * @param {Function|string} func The function or method name to reference.
- * @param {number} bitmask The bitmask of method flags to compose.
- *  The bitmask may be composed of the following flags:
- *  1 - `_.bind`
- *  2 - `_.bindKey`
- *  4 - `_.curry`
- *  8 - `_.curry` (bound)
- *  16 - `_.partial`
- *  32 - `_.partialRight`
- * @param {Array} [partialArgs] An array of arguments to prepend to those
- *  provided to the new function.
- * @param {Array} [partialRightArgs] An array of arguments to append to those
- *  provided to the new function.
- * @param {*} [thisArg] The `this` binding of `func`.
- * @param {number} [arity] The arity of `func`.
- * @returns {Function} Returns the new function.
- */
-function createWrapper(func, bitmask, partialArgs, partialRightArgs, thisArg, arity) {
-  var isBind = bitmask & 1,
-      isBindKey = bitmask & 2,
-      isCurry = bitmask & 4,
-      isCurryBound = bitmask & 8,
-      isPartial = bitmask & 16,
-      isPartialRight = bitmask & 32;
-
-  if (!isBindKey && !isFunction(func)) {
-    throw new TypeError;
-  }
-  if (isPartial && !partialArgs.length) {
-    bitmask &= ~16;
-    isPartial = partialArgs = false;
-  }
-  if (isPartialRight && !partialRightArgs.length) {
-    bitmask &= ~32;
-    isPartialRight = partialRightArgs = false;
-  }
-  var bindData = func && func.__bindData__;
-  if (bindData && bindData !== true) {
-    // clone `bindData`
-    bindData = slice(bindData);
-    if (bindData[2]) {
-      bindData[2] = slice(bindData[2]);
-    }
-    if (bindData[3]) {
-      bindData[3] = slice(bindData[3]);
-    }
-    // set `thisBinding` is not previously bound
-    if (isBind && !(bindData[1] & 1)) {
-      bindData[4] = thisArg;
-    }
-    // set if previously bound but not currently (subsequent curried functions)
-    if (!isBind && bindData[1] & 1) {
-      bitmask |= 8;
-    }
-    // set curried arity if not yet set
-    if (isCurry && !(bindData[1] & 4)) {
-      bindData[5] = arity;
-    }
-    // append partial left arguments
-    if (isPartial) {
-      push.apply(bindData[2] || (bindData[2] = []), partialArgs);
-    }
-    // append partial right arguments
-    if (isPartialRight) {
-      unshift.apply(bindData[3] || (bindData[3] = []), partialRightArgs);
-    }
-    // merge flags
-    bindData[1] |= bitmask;
-    return createWrapper.apply(null, bindData);
-  }
-  // fast path for `_.bind`
-  var creater = (bitmask == 1 || bitmask === 17) ? baseBind : baseCreateWrapper;
-  return creater([func, bitmask, partialArgs, partialRightArgs, thisArg, arity]);
-}
-
-module.exports = createWrapper;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/escapeHtmlChar.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/escapeHtmlChar.js b/node_modules/lodash-node/modern/internals/escapeHtmlChar.js
deleted file mode 100644
index 1d7b6f1..0000000
--- a/node_modules/lodash-node/modern/internals/escapeHtmlChar.js
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 htmlEscapes = require('./htmlEscapes');
-
-/**
- * Used by `escape` to convert characters to HTML entities.
- *
- * @private
- * @param {string} match The matched character to escape.
- * @returns {string} Returns the escaped character.
- */
-function escapeHtmlChar(match) {
-  return htmlEscapes[match];
-}
-
-module.exports = escapeHtmlChar;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/escapeStringChar.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/escapeStringChar.js b/node_modules/lodash-node/modern/internals/escapeStringChar.js
deleted file mode 100644
index 9cf267f..0000000
--- a/node_modules/lodash-node/modern/internals/escapeStringChar.js
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/** Used to escape characters for inclusion in compiled string literals */
-var stringEscapes = {
-  '\\': '\\',
-  "'": "'",
-  '\n': 'n',
-  '\r': 'r',
-  '\t': 't',
-  '\u2028': 'u2028',
-  '\u2029': 'u2029'
-};
-
-/**
- * Used by `template` to escape characters for inclusion in compiled
- * string literals.
- *
- * @private
- * @param {string} match The matched character to escape.
- * @returns {string} Returns the escaped character.
- */
-function escapeStringChar(match) {
-  return '\\' + stringEscapes[match];
-}
-
-module.exports = escapeStringChar;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/getArray.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/getArray.js b/node_modules/lodash-node/modern/internals/getArray.js
deleted file mode 100644
index 50fbc2f..0000000
--- a/node_modules/lodash-node/modern/internals/getArray.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 arrayPool = require('./arrayPool');
-
-/**
- * Gets an array from the array pool or creates a new one if the pool is empty.
- *
- * @private
- * @returns {Array} The array from the pool.
- */
-function getArray() {
-  return arrayPool.pop() || [];
-}
-
-module.exports = getArray;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/getObject.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/getObject.js b/node_modules/lodash-node/modern/internals/getObject.js
deleted file mode 100644
index ce1ee73..0000000
--- a/node_modules/lodash-node/modern/internals/getObject.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 objectPool = require('./objectPool');
-
-/**
- * Gets an object from the object pool or creates a new one if the pool is empty.
- *
- * @private
- * @returns {Object} The object from the pool.
- */
-function getObject() {
-  return objectPool.pop() || {
-    'array': null,
-    'cache': null,
-    'criteria': null,
-    'false': false,
-    'index': 0,
-    'null': false,
-    'number': null,
-    'object': null,
-    'push': null,
-    'string': null,
-    'true': false,
-    'undefined': false,
-    'value': null
-  };
-}
-
-module.exports = getObject;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/htmlEscapes.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/htmlEscapes.js b/node_modules/lodash-node/modern/internals/htmlEscapes.js
deleted file mode 100644
index 9933d60..0000000
--- a/node_modules/lodash-node/modern/internals/htmlEscapes.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/**
- * Used to convert characters to HTML entities:
- *
- * Though the `>` character is escaped for symmetry, characters like `>` and `/`
- * don't require escaping in HTML and have no special meaning unless they're part
- * of a tag or an unquoted attribute value.
- * http://mathiasbynens.be/notes/ambiguous-ampersands (under "semi-related fun fact")
- */
-var htmlEscapes = {
-  '&': '&amp;',
-  '<': '&lt;',
-  '>': '&gt;',
-  '"': '&quot;',
-  "'": '&#39;'
-};
-
-module.exports = htmlEscapes;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/htmlUnescapes.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/htmlUnescapes.js b/node_modules/lodash-node/modern/internals/htmlUnescapes.js
deleted file mode 100644
index eeaaa1f..0000000
--- a/node_modules/lodash-node/modern/internals/htmlUnescapes.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 htmlEscapes = require('./htmlEscapes'),
-    invert = require('../objects/invert');
-
-/** Used to convert HTML entities to characters */
-var htmlUnescapes = invert(htmlEscapes);
-
-module.exports = htmlUnescapes;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/isNative.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/isNative.js b/node_modules/lodash-node/modern/internals/isNative.js
deleted file mode 100644
index 4053eed..0000000
--- a/node_modules/lodash-node/modern/internals/isNative.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/** Used to detect if a method is native */
-var reNative = RegExp('^' +
-  String(toString)
-    .replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
-    .replace(/toString| for [^\]]+/g, '.*?') + '$'
-);
-
-/**
- * Checks if `value` is a native function.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is a native function, else `false`.
- */
-function isNative(value) {
-  return typeof value == 'function' && reNative.test(value);
-}
-
-module.exports = isNative;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/keyPrefix.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/keyPrefix.js b/node_modules/lodash-node/modern/internals/keyPrefix.js
deleted file mode 100644
index a23cf32..0000000
--- a/node_modules/lodash-node/modern/internals/keyPrefix.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/** Used to prefix keys to avoid issues with `__proto__` and properties on `Object.prototype` */
-var keyPrefix = +new Date + '';
-
-module.exports = keyPrefix;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/largeArraySize.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/largeArraySize.js b/node_modules/lodash-node/modern/internals/largeArraySize.js
deleted file mode 100644
index c876188..0000000
--- a/node_modules/lodash-node/modern/internals/largeArraySize.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/** Used as the size when optimizations are enabled for large arrays */
-var largeArraySize = 75;
-
-module.exports = largeArraySize;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/lodashWrapper.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/lodashWrapper.js b/node_modules/lodash-node/modern/internals/lodashWrapper.js
deleted file mode 100644
index a820145..0000000
--- a/node_modules/lodash-node/modern/internals/lodashWrapper.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/**
- * A fast path for creating `lodash` wrapper objects.
- *
- * @private
- * @param {*} value The value to wrap in a `lodash` instance.
- * @param {boolean} chainAll A flag to enable chaining for all methods
- * @returns {Object} Returns a `lodash` instance.
- */
-function lodashWrapper(value, chainAll) {
-  this.__chain__ = !!chainAll;
-  this.__wrapped__ = value;
-}
-
-module.exports = lodashWrapper;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/maxPoolSize.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/maxPoolSize.js b/node_modules/lodash-node/modern/internals/maxPoolSize.js
deleted file mode 100644
index 86dafab..0000000
--- a/node_modules/lodash-node/modern/internals/maxPoolSize.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/** Used as the max size of the `arrayPool` and `objectPool` */
-var maxPoolSize = 40;
-
-module.exports = maxPoolSize;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/objectPool.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/objectPool.js b/node_modules/lodash-node/modern/internals/objectPool.js
deleted file mode 100644
index fea0bf0..0000000
--- a/node_modules/lodash-node/modern/internals/objectPool.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/** Used to pool arrays and objects used internally */
-var objectPool = [];
-
-module.exports = objectPool;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/objectTypes.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/objectTypes.js b/node_modules/lodash-node/modern/internals/objectTypes.js
deleted file mode 100644
index a100109..0000000
--- a/node_modules/lodash-node/modern/internals/objectTypes.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/** Used to determine if values are of the language type Object */
-var objectTypes = {
-  'boolean': false,
-  'function': true,
-  'object': true,
-  'number': false,
-  'string': false,
-  'undefined': false
-};
-
-module.exports = objectTypes;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/reEscapedHtml.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/reEscapedHtml.js b/node_modules/lodash-node/modern/internals/reEscapedHtml.js
deleted file mode 100644
index a52d67d..0000000
--- a/node_modules/lodash-node/modern/internals/reEscapedHtml.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 htmlUnescapes = require('./htmlUnescapes'),
-    keys = require('../objects/keys');
-
-/** Used to match HTML entities and HTML characters */
-var reEscapedHtml = RegExp('(' + keys(htmlUnescapes).join('|') + ')', 'g');
-
-module.exports = reEscapedHtml;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/reInterpolate.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/reInterpolate.js b/node_modules/lodash-node/modern/internals/reInterpolate.js
deleted file mode 100644
index bb4b865..0000000
--- a/node_modules/lodash-node/modern/internals/reInterpolate.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/** Used to match "interpolate" template delimiters */
-var reInterpolate = /<%=([\s\S]+?)%>/g;
-
-module.exports = reInterpolate;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/reUnescapedHtml.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/reUnescapedHtml.js b/node_modules/lodash-node/modern/internals/reUnescapedHtml.js
deleted file mode 100644
index 75f6895..0000000
--- a/node_modules/lodash-node/modern/internals/reUnescapedHtml.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 htmlEscapes = require('./htmlEscapes'),
-    keys = require('../objects/keys');
-
-/** Used to match HTML entities and HTML characters */
-var reUnescapedHtml = RegExp('[' + keys(htmlEscapes).join('') + ']', 'g');
-
-module.exports = reUnescapedHtml;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/releaseArray.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/releaseArray.js b/node_modules/lodash-node/modern/internals/releaseArray.js
deleted file mode 100644
index 5a75e51..0000000
--- a/node_modules/lodash-node/modern/internals/releaseArray.js
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 arrayPool = require('./arrayPool'),
-    maxPoolSize = require('./maxPoolSize');
-
-/**
- * Releases the given array back to the array pool.
- *
- * @private
- * @param {Array} [array] The array to release.
- */
-function releaseArray(array) {
-  array.length = 0;
-  if (arrayPool.length < maxPoolSize) {
-    arrayPool.push(array);
-  }
-}
-
-module.exports = releaseArray;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/releaseObject.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/releaseObject.js b/node_modules/lodash-node/modern/internals/releaseObject.js
deleted file mode 100644
index d2b9594..0000000
--- a/node_modules/lodash-node/modern/internals/releaseObject.js
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 maxPoolSize = require('./maxPoolSize'),
-    objectPool = require('./objectPool');
-
-/**
- * Releases the given object back to the object pool.
- *
- * @private
- * @param {Object} [object] The object to release.
- */
-function releaseObject(object) {
-  var cache = object.cache;
-  if (cache) {
-    releaseObject(cache);
-  }
-  object.array = object.cache = object.criteria = object.object = object.number = object.string = object.value = null;
-  if (objectPool.length < maxPoolSize) {
-    objectPool.push(object);
-  }
-}
-
-module.exports = releaseObject;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/setBindData.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/setBindData.js b/node_modules/lodash-node/modern/internals/setBindData.js
deleted file mode 100644
index 0f800ee..0000000
--- a/node_modules/lodash-node/modern/internals/setBindData.js
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 isNative = require('./isNative'),
-    noop = require('../utilities/noop');
-
-/** Used as the property descriptor for `__bindData__` */
-var descriptor = {
-  'configurable': false,
-  'enumerable': false,
-  'value': null,
-  'writable': false
-};
-
-/** Used to set meta data on functions */
-var defineProperty = (function() {
-  // IE 8 only accepts DOM elements
-  try {
-    var o = {},
-        func = isNative(func = Object.defineProperty) && func,
-        result = func(o, o, o) && func;
-  } catch(e) { }
-  return result;
-}());
-
-/**
- * Sets `this` binding data on a given function.
- *
- * @private
- * @param {Function} func The function to set data on.
- * @param {Array} value The data array to set.
- */
-var setBindData = !defineProperty ? noop : function(func, value) {
-  descriptor.value = value;
-  defineProperty(func, '__bindData__', descriptor);
-};
-
-module.exports = setBindData;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/shimIsPlainObject.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/shimIsPlainObject.js b/node_modules/lodash-node/modern/internals/shimIsPlainObject.js
deleted file mode 100644
index 55c9875..0000000
--- a/node_modules/lodash-node/modern/internals/shimIsPlainObject.js
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 forIn = require('../objects/forIn'),
-    isFunction = require('../objects/isFunction');
-
-/** `Object#toString` result shortcuts */
-var objectClass = '[object Object]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/**
- * A fallback implementation of `isPlainObject` which checks if a given value
- * is an object created by the `Object` constructor, assuming objects created
- * by the `Object` constructor have no inherited enumerable properties and that
- * there are no `Object.prototype` extensions.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
- */
-function shimIsPlainObject(value) {
-  var ctor,
-      result;
-
-  // avoid non Object objects, `arguments` objects, and DOM elements
-  if (!(value && toString.call(value) == objectClass) ||
-      (ctor = value.constructor, isFunction(ctor) && !(ctor instanceof ctor))) {
-    return false;
-  }
-  // In most environments an object's own properties are iterated before
-  // its inherited properties. If the last iterated property is an object's
-  // own property then there are no inherited enumerable properties.
-  forIn(value, function(value, key) {
-    result = key;
-  });
-  return typeof result == 'undefined' || hasOwnProperty.call(value, result);
-}
-
-module.exports = shimIsPlainObject;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/shimKeys.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/shimKeys.js b/node_modules/lodash-node/modern/internals/shimKeys.js
deleted file mode 100644
index 31adba1..0000000
--- a/node_modules/lodash-node/modern/internals/shimKeys.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 objectTypes = require('./objectTypes');
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/**
- * A fallback implementation of `Object.keys` which produces an array of the
- * given object's own enumerable property names.
- *
- * @private
- * @type Function
- * @param {Object} object The object to inspect.
- * @returns {Array} Returns an array of property names.
- */
-var shimKeys = function(object) {
-  var index, iterable = object, result = [];
-  if (!iterable) return result;
-  if (!(objectTypes[typeof object])) return result;
-    for (index in iterable) {
-      if (hasOwnProperty.call(iterable, index)) {
-        result.push(index);
-      }
-    }
-  return result
-};
-
-module.exports = shimKeys;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/slice.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/slice.js b/node_modules/lodash-node/modern/internals/slice.js
deleted file mode 100644
index ae00390..0000000
--- a/node_modules/lodash-node/modern/internals/slice.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/**
- * Slices the `collection` from the `start` index up to, but not including,
- * the `end` index.
- *
- * Note: This function is used instead of `Array#slice` to support node lists
- * in IE < 9 and to ensure dense arrays are returned.
- *
- * @private
- * @param {Array|Object|string} collection The collection to slice.
- * @param {number} start The start index.
- * @param {number} end The end index.
- * @returns {Array} Returns the new array.
- */
-function slice(array, start, end) {
-  start || (start = 0);
-  if (typeof end == 'undefined') {
-    end = array ? array.length : 0;
-  }
-  var index = -1,
-      length = end - start || 0,
-      result = Array(length < 0 ? 0 : length);
-
-  while (++index < length) {
-    result[index] = array[start + index];
-  }
-  return result;
-}
-
-module.exports = slice;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/unescapeHtmlChar.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/unescapeHtmlChar.js b/node_modules/lodash-node/modern/internals/unescapeHtmlChar.js
deleted file mode 100644
index b209f7a..0000000
--- a/node_modules/lodash-node/modern/internals/unescapeHtmlChar.js
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 htmlUnescapes = require('./htmlUnescapes');
-
-/**
- * Used by `unescape` to convert HTML entities to characters.
- *
- * @private
- * @param {string} match The matched character to unescape.
- * @returns {string} Returns the unescaped character.
- */
-function unescapeHtmlChar(match) {
-  return htmlUnescapes[match];
-}
-
-module.exports = unescapeHtmlChar;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects.js b/node_modules/lodash-node/modern/objects.js
deleted file mode 100644
index d600832..0000000
--- a/node_modules/lodash-node/modern/objects.js
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 = {
-  'assign': require('./objects/assign'),
-  'clone': require('./objects/clone'),
-  'cloneDeep': require('./objects/cloneDeep'),
-  'create': require('./objects/create'),
-  'defaults': require('./objects/defaults'),
-  'extend': require('./objects/assign'),
-  'findKey': require('./objects/findKey'),
-  'findLastKey': require('./objects/findLastKey'),
-  'forIn': require('./objects/forIn'),
-  'forInRight': require('./objects/forInRight'),
-  'forOwn': require('./objects/forOwn'),
-  'forOwnRight': require('./objects/forOwnRight'),
-  'functions': require('./objects/functions'),
-  'has': require('./objects/has'),
-  'invert': require('./objects/invert'),
-  'isArguments': require('./objects/isArguments'),
-  'isArray': require('./objects/isArray'),
-  'isBoolean': require('./objects/isBoolean'),
-  'isDate': require('./objects/isDate'),
-  'isElement': require('./objects/isElement'),
-  'isEmpty': require('./objects/isEmpty'),
-  'isEqual': require('./objects/isEqual'),
-  'isFinite': require('./objects/isFinite'),
-  'isFunction': require('./objects/isFunction'),
-  'isNaN': require('./objects/isNaN'),
-  'isNull': require('./objects/isNull'),
-  'isNumber': require('./objects/isNumber'),
-  'isObject': require('./objects/isObject'),
-  'isPlainObject': require('./objects/isPlainObject'),
-  'isRegExp': require('./objects/isRegExp'),
-  'isString': require('./objects/isString'),
-  'isUndefined': require('./objects/isUndefined'),
-  'keys': require('./objects/keys'),
-  'mapValues': require('./objects/mapValues'),
-  'merge': require('./objects/merge'),
-  'methods': require('./objects/functions'),
-  'omit': require('./objects/omit'),
-  'pairs': require('./objects/pairs'),
-  'pick': require('./objects/pick'),
-  'transform': require('./objects/transform'),
-  'values': require('./objects/values')
-};

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/assign.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/assign.js b/node_modules/lodash-node/modern/objects/assign.js
deleted file mode 100644
index 36e0690..0000000
--- a/node_modules/lodash-node/modern/objects/assign.js
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseCreateCallback = require('../internals/baseCreateCallback'),
-    keys = require('./keys'),
-    objectTypes = require('../internals/objectTypes');
-
-/**
- * Assigns own enumerable properties of source object(s) to the destination
- * object. Subsequent sources will overwrite property assignments of previous
- * sources. If a callback is provided it will be executed to produce the
- * assigned values. The callback is bound to `thisArg` and invoked with two
- * arguments; (objectValue, sourceValue).
- *
- * @static
- * @memberOf _
- * @type Function
- * @alias extend
- * @category Objects
- * @param {Object} object The destination object.
- * @param {...Object} [source] The source objects.
- * @param {Function} [callback] The function to customize assigning values.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Object} Returns the destination object.
- * @example
- *
- * _.assign({ 'name': 'fred' }, { 'employer': 'slate' });
- * // => { 'name': 'fred', 'employer': 'slate' }
- *
- * var defaults = _.partialRight(_.assign, function(a, b) {
- *   return typeof a == 'undefined' ? b : a;
- * });
- *
- * var object = { 'name': 'barney' };
- * defaults(object, { 'name': 'fred', 'employer': 'slate' });
- * // => { 'name': 'barney', 'employer': 'slate' }
- */
-var assign = function(object, source, guard) {
-  var index, iterable = object, result = iterable;
-  if (!iterable) return result;
-  var args = arguments,
-      argsIndex = 0,
-      argsLength = typeof guard == 'number' ? 2 : args.length;
-  if (argsLength > 3 && typeof args[argsLength - 2] == 'function') {
-    var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);
-  } else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {
-    callback = args[--argsLength];
-  }
-  while (++argsIndex < argsLength) {
-    iterable = args[argsIndex];
-    if (iterable && objectTypes[typeof iterable]) {
-    var ownIndex = -1,
-        ownProps = objectTypes[typeof iterable] && keys(iterable),
-        length = ownProps ? ownProps.length : 0;
-
-    while (++ownIndex < length) {
-      index = ownProps[ownIndex];
-      result[index] = callback ? callback(result[index], iterable[index]) : iterable[index];
-    }
-    }
-  }
-  return result
-};
-
-module.exports = assign;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/clone.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/clone.js b/node_modules/lodash-node/modern/objects/clone.js
deleted file mode 100644
index 6932a81..0000000
--- a/node_modules/lodash-node/modern/objects/clone.js
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseClone = require('../internals/baseClone'),
-    baseCreateCallback = require('../internals/baseCreateCallback');
-
-/**
- * Creates a clone of `value`. If `isDeep` is `true` nested objects will also
- * be cloned, otherwise they will be assigned by reference. If a callback
- * is provided it will be executed to produce the cloned values. If the
- * callback returns `undefined` cloning will be handled by the method instead.
- * The callback is bound to `thisArg` and invoked with one argument; (value).
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to clone.
- * @param {boolean} [isDeep=false] Specify a deep clone.
- * @param {Function} [callback] The function to customize cloning values.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {*} Returns the cloned value.
- * @example
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * var shallow = _.clone(characters);
- * shallow[0] === characters[0];
- * // => true
- *
- * var deep = _.clone(characters, true);
- * deep[0] === characters[0];
- * // => false
- *
- * _.mixin({
- *   'clone': _.partialRight(_.clone, function(value) {
- *     return _.isElement(value) ? value.cloneNode(false) : undefined;
- *   })
- * });
- *
- * var clone = _.clone(document.body);
- * clone.childNodes.length;
- * // => 0
- */
-function clone(value, isDeep, callback, thisArg) {
-  // allows working with "Collections" methods without using their `index`
-  // and `collection` arguments for `isDeep` and `callback`
-  if (typeof isDeep != 'boolean' && isDeep != null) {
-    thisArg = callback;
-    callback = isDeep;
-    isDeep = false;
-  }
-  return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));
-}
-
-module.exports = clone;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/cloneDeep.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/cloneDeep.js b/node_modules/lodash-node/modern/objects/cloneDeep.js
deleted file mode 100644
index 7bd6866..0000000
--- a/node_modules/lodash-node/modern/objects/cloneDeep.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseClone = require('../internals/baseClone'),
-    baseCreateCallback = require('../internals/baseCreateCallback');
-
-/**
- * Creates a deep clone of `value`. If a callback is provided it will be
- * executed to produce the cloned values. If the callback returns `undefined`
- * cloning will be handled by the method instead. The callback is bound to
- * `thisArg` and invoked with one argument; (value).
- *
- * Note: This method is loosely based on the structured clone algorithm. Functions
- * and DOM nodes are **not** cloned. The enumerable properties of `arguments` objects and
- * objects created by constructors other than `Object` are cloned to plain `Object` objects.
- * See http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to deep clone.
- * @param {Function} [callback] The function to customize cloning values.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {*} Returns the deep cloned value.
- * @example
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * var deep = _.cloneDeep(characters);
- * deep[0] === characters[0];
- * // => false
- *
- * var view = {
- *   'label': 'docs',
- *   'node': element
- * };
- *
- * var clone = _.cloneDeep(view, function(value) {
- *   return _.isElement(value) ? value.cloneNode(true) : undefined;
- * });
- *
- * clone.node == view.node;
- * // => false
- */
-function cloneDeep(value, callback, thisArg) {
-  return baseClone(value, true, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));
-}
-
-module.exports = cloneDeep;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/create.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/create.js b/node_modules/lodash-node/modern/objects/create.js
deleted file mode 100644
index fda6a94..0000000
--- a/node_modules/lodash-node/modern/objects/create.js
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 assign = require('./assign'),
-    baseCreate = require('../internals/baseCreate');
-
-/**
- * Creates an object that inherits from the given `prototype` object. If a
- * `properties` object is provided its own enumerable properties are assigned
- * to the created object.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} prototype The object to inherit from.
- * @param {Object} [properties] The properties to assign to the object.
- * @returns {Object} Returns the new object.
- * @example
- *
- * function Shape() {
- *   this.x = 0;
- *   this.y = 0;
- * }
- *
- * function Circle() {
- *   Shape.call(this);
- * }
- *
- * Circle.prototype = _.create(Shape.prototype, { 'constructor': Circle });
- *
- * var circle = new Circle;
- * circle instanceof Circle;
- * // => true
- *
- * circle instanceof Shape;
- * // => true
- */
-function create(prototype, properties) {
-  var result = baseCreate(prototype);
-  return properties ? assign(result, properties) : result;
-}
-
-module.exports = create;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/defaults.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/defaults.js b/node_modules/lodash-node/modern/objects/defaults.js
deleted file mode 100644
index 6427fdc..0000000
--- a/node_modules/lodash-node/modern/objects/defaults.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 keys = require('./keys'),
-    objectTypes = require('../internals/objectTypes');
-
-/**
- * Assigns own enumerable properties of source object(s) to the destination
- * object for all destination properties that resolve to `undefined`. Once a
- * property is set, additional defaults of the same property will be ignored.
- *
- * @static
- * @memberOf _
- * @type Function
- * @category Objects
- * @param {Object} object The destination object.
- * @param {...Object} [source] The source objects.
- * @param- {Object} [guard] Allows working with `_.reduce` without using its
- *  `key` and `object` arguments as sources.
- * @returns {Object} Returns the destination object.
- * @example
- *
- * var object = { 'name': 'barney' };
- * _.defaults(object, { 'name': 'fred', 'employer': 'slate' });
- * // => { 'name': 'barney', 'employer': 'slate' }
- */
-var defaults = function(object, source, guard) {
-  var index, iterable = object, result = iterable;
-  if (!iterable) return result;
-  var args = arguments,
-      argsIndex = 0,
-      argsLength = typeof guard == 'number' ? 2 : args.length;
-  while (++argsIndex < argsLength) {
-    iterable = args[argsIndex];
-    if (iterable && objectTypes[typeof iterable]) {
-    var ownIndex = -1,
-        ownProps = objectTypes[typeof iterable] && keys(iterable),
-        length = ownProps ? ownProps.length : 0;
-
-    while (++ownIndex < length) {
-      index = ownProps[ownIndex];
-      if (typeof result[index] == 'undefined') result[index] = iterable[index];
-    }
-    }
-  }
-  return result
-};
-
-module.exports = defaults;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/findKey.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/findKey.js b/node_modules/lodash-node/modern/objects/findKey.js
deleted file mode 100644
index 6713253..0000000
--- a/node_modules/lodash-node/modern/objects/findKey.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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'),
-    forOwn = require('./forOwn');
-
-/**
- * This method is like `_.findIndex` except that it returns the key 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 Objects
- * @param {Object} object The object 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 {string|undefined} Returns the key of the found element, else `undefined`.
- * @example
- *
- * var characters = {
- *   'barney': {  'age': 36, 'blocked': false },
- *   'fred': {    'age': 40, 'blocked': true },
- *   'pebbles': { 'age': 1,  'blocked': false }
- * };
- *
- * _.findKey(characters, function(chr) {
- *   return chr.age < 40;
- * });
- * // => 'barney' (property order is not guaranteed across environments)
- *
- * // using "_.where" callback shorthand
- * _.findKey(characters, { 'age': 1 });
- * // => 'pebbles'
- *
- * // using "_.pluck" callback shorthand
- * _.findKey(characters, 'blocked');
- * // => 'fred'
- */
-function findKey(object, callback, thisArg) {
-  var result;
-  callback = createCallback(callback, thisArg, 3);
-  forOwn(object, function(value, key, object) {
-    if (callback(value, key, object)) {
-      result = key;
-      return false;
-    }
-  });
-  return result;
-}
-
-module.exports = findKey;


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


[10/32] ios commit: CB-11445 Updated checked-in node_modules

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/examples/javascript.pegjs
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/examples/javascript.pegjs b/node_modules/pegjs/examples/javascript.pegjs
index 229a582..75f13e8 100644
--- a/node_modules/pegjs/examples/javascript.pegjs
+++ b/node_modules/pegjs/examples/javascript.pegjs
@@ -1,60 +1,124 @@
 /*
- * JavaScript parser based on the grammar described in ECMA-262, 5th ed.
- * (http://www.ecma-international.org/publications/standards/Ecma-262.htm)
+ * JavaScript Grammar
+ * ==================
  *
- * The parser builds a tree representing the parsed JavaScript, composed of
- * basic JavaScript values, arrays and objects (basically JSON). It can be
- * easily used by various JavaScript processors, transformers, etc.
- *
- * Intentional deviations from ECMA-262, 5th ed.:
- *
- *   * The specification does not consider |FunctionDeclaration| and
- *     |FunctionExpression| as statements, but JavaScript implementations do and
- *     so are we. This syntax is actually used in the wild (e.g. by jQuery).
+ * Based on grammar from ECMA-262, 5.1 Edition [1]. Generated parser builds a
+ * syntax tree compatible with Mozilla SpiderMonkey Parser API [2]. Properties
+ * and node types reflecting features not present in ECMA-262 are not included.
  *
  * Limitations:
  *
- *   * Non-BMP characters are completely ignored to avoid surrogate
- *     pair handling (JavaScript strings in most implementations are AFAIK
- *     encoded in UTF-16, though this is not required by the specification --
- *     see ECMA-262, 5th ed., 4.3.16).
+ *   * Non-BMP characters are completely ignored to avoid surrogate pair
+ *     handling.
  *
  *   * One can create identifiers containing illegal characters using Unicode
  *     escape sequences. For example, "abcd\u0020efgh" is not a valid
  *     identifier, but it is accepted by the parser.
  *
- *   * Strict mode is not recognized. That means that within strict mode code,
+ *   * Strict mode is not recognized. This means that within strict mode code,
  *     "implements", "interface", "let", "package", "private", "protected",
  *     "public", "static" and "yield" can be used as names. Many other
- *     restrictions and exceptions from ECMA-262, 5th ed., Annex C are also not
- *     applied.
- *
- *   * The parser does not handle regular expression literal syntax (basically,
- *     it treats anything between "/"'s as an opaque character sequence and also
- *     does not recognize invalid flags properly).
+ *     restrictions and exceptions from Annex C are also not applied.
  *
- *   * The parser doesn't report any early errors except syntax errors (see
- *     ECMA-262, 5th ed., 16).
+ * All the limitations could be resolved, but the costs would likely outweigh
+ * the benefits.
  *
- * At least some of these limitations should be fixed sometimes.
+ * Many thanks to inimino [3] for his grammar [4] which helped me to solve some
+ * problems (such as automatic semicolon insertion) and also served to double
+ * check that I converted the original grammar correctly.
  *
- * Many thanks to inimino (http://inimino.org/~inimino/blog/) for his ES5 PEG
- * (http://boshi.inimino.org/3box/asof/1270029991384/PEG/ECMAScript_unified.peg),
- * which helped me to solve some problems (such as automatic semicolon
- * insertion) and also served to double check that I converted the original
- * grammar correctly.
+ * [1] http://www.ecma-international.org/publications/standards/Ecma-262.htm
+ * [2] https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API
+ * [3] http://inimino.org/~inimino/blog/
+ * [4] http://boshi.inimino.org/3box/asof/1270029991384/PEG/ECMAScript_unified.peg
  */
 
-start
+{
+  var TYPES_TO_PROPERTY_NAMES = {
+    CallExpression:   "callee",
+    MemberExpression: "object",
+  };
+
+  function filledArray(count, value) {
+    var result = new Array(count), i;
+
+    for (i = 0; i < count; i++) {
+      result[i] = value;
+    }
+
+    return result;
+  }
+
+  function extractOptional(optional, index) {
+    return optional ? optional[index] : null;
+  }
+
+  function extractList(list, index) {
+    var result = new Array(list.length), i;
+
+    for (i = 0; i < list.length; i++) {
+      result[i] = list[i][index];
+    }
+
+    return result;
+  }
+
+  function buildList(first, rest, index) {
+    return [first].concat(extractList(rest, index));
+  }
+
+  function buildTree(first, rest, builder) {
+    var result = first, i;
+
+    for (i = 0; i < rest.length; i++) {
+      result = builder(result, rest[i]);
+    }
+
+    return result;
+  }
+
+  function buildBinaryExpression(first, rest) {
+    return buildTree(first, rest, function(result, element) {
+      return {
+        type:     "BinaryExpression",
+        operator: element[1],
+        left:     result,
+        right:    element[3]
+      };
+    });
+  }
+
+  function buildLogicalExpression(first, rest) {
+    return buildTree(first, rest, function(result, element) {
+      return {
+        type:     "LogicalExpression",
+        operator: element[1],
+        left:     result,
+        right:    element[3]
+      };
+    });
+  }
+
+  function optionalList(value) {
+    return value !== null ? value : [];
+  }
+}
+
+Start
   = __ program:Program __ { return program; }
 
-/* ===== A.1 Lexical Grammar ===== */
+/* ----- A.1 Lexical Grammar ----- */
 
 SourceCharacter
   = .
 
 WhiteSpace "whitespace"
-  = [\t\v\f \u00A0\uFEFF]
+  = "\t"
+  / "\v"
+  / "\f"
+  / " "
+  / "\u00A0"
+  / "\uFEFF"
   / Zs
 
 LineTerminator
@@ -64,8 +128,8 @@ LineTerminatorSequence "end of line"
   = "\n"
   / "\r\n"
   / "\r"
-  / "\u2028" // line spearator
-  / "\u2029" // paragraph separator
+  / "\u2028"
+  / "\u2029"
 
 Comment "comment"
   = MultiLineComment
@@ -80,12 +144,15 @@ MultiLineCommentNoLineTerminator
 SingleLineComment
   = "//" (!LineTerminator SourceCharacter)*
 
-Identifier "identifier"
+Identifier
   = !ReservedWord name:IdentifierName { return name; }
 
 IdentifierName "identifier"
-  = start:IdentifierStart parts:IdentifierPart* {
-      return start + parts.join("");
+  = first:IdentifierStart rest:IdentifierPart* {
+      return {
+        type: "Identifier",
+        name: first + rest.join("")
+      };
     }
 
 IdentifierStart
@@ -99,8 +166,8 @@ IdentifierPart
   / UnicodeCombiningMark
   / UnicodeDigit
   / UnicodeConnectorPunctuation
-  / "\u200C" { return "\u200C"; } // zero-width non-joiner
-  / "\u200D" { return "\u200D"; } // zero-width joiner
+  / "\u200C"
+  / "\u200D"
 
 UnicodeLetter
   = Lu
@@ -127,100 +194,82 @@ ReservedWord
   / BooleanLiteral
 
 Keyword
-  = (
-        "break"
-      / "case"
-      / "catch"
-      / "continue"
-      / "debugger"
-      / "default"
-      / "delete"
-      / "do"
-      / "else"
-      / "finally"
-      / "for"
-      / "function"
-      / "if"
-      / "instanceof"
-      / "in"
-      / "new"
-      / "return"
-      / "switch"
-      / "this"
-      / "throw"
-      / "try"
-      / "typeof"
-      / "var"
-      / "void"
-      / "while"
-      / "with"
-    )
-    !IdentifierPart
+  = BreakToken
+  / CaseToken
+  / CatchToken
+  / ContinueToken
+  / DebuggerToken
+  / DefaultToken
+  / DeleteToken
+  / DoToken
+  / ElseToken
+  / FinallyToken
+  / ForToken
+  / FunctionToken
+  / IfToken
+  / InstanceofToken
+  / InToken
+  / NewToken
+  / ReturnToken
+  / SwitchToken
+  / ThisToken
+  / ThrowToken
+  / TryToken
+  / TypeofToken
+  / VarToken
+  / VoidToken
+  / WhileToken
+  / WithToken
 
 FutureReservedWord
-  = (
-        "class"
-      / "const"
-      / "enum"
-      / "export"
-      / "extends"
-      / "import"
-      / "super"
-    )
-    !IdentifierPart
+  = ClassToken
+  / ConstToken
+  / EnumToken
+  / ExportToken
+  / ExtendsToken
+  / ImportToken
+  / SuperToken
 
-/*
- * This rule contains an error in the specification: |RegularExpressionLiteral|
- * is missing.
- */
 Literal
   = NullLiteral
   / BooleanLiteral
-  / value:NumericLiteral {
-      return {
-        type:  "NumericLiteral",
-        value: value
-      };
-    }
-  / value:StringLiteral {
-      return {
-        type:  "StringLiteral",
-        value: value
-      };
-    }
+  / NumericLiteral
+  / StringLiteral
   / RegularExpressionLiteral
 
 NullLiteral
-  = NullToken { return { type: "NullLiteral" }; }
+  = NullToken { return { type: "Literal", value: null }; }
 
 BooleanLiteral
-  = TrueToken  { return { type: "BooleanLiteral", value: true  }; }
-  / FalseToken { return { type: "BooleanLiteral", value: false }; }
+  = TrueToken  { return { type: "Literal", value: true  }; }
+  / FalseToken { return { type: "Literal", value: false }; }
 
+/*
+ * The "!(IdentifierStart / DecimalDigit)" predicate is not part of the official
+ * grammar, it comes from text in section 7.8.3.
+ */
 NumericLiteral "number"
-  = literal:(HexIntegerLiteral / DecimalLiteral) !IdentifierStart {
+  = literal:HexIntegerLiteral !(IdentifierStart / DecimalDigit) {
+      return literal;
+    }
+  / literal:DecimalLiteral !(IdentifierStart / DecimalDigit) {
       return literal;
     }
 
 DecimalLiteral
-  = before:DecimalIntegerLiteral
-    "."
-    after:DecimalDigits?
-    exponent:ExponentPart? {
-      return parseFloat(before + "." + after + exponent);
+  = DecimalIntegerLiteral "." DecimalDigit* ExponentPart? {
+      return { type: "Literal", value: parseFloat(text()) };
     }
-  / "." after:DecimalDigits exponent:ExponentPart? {
-      return parseFloat("." + after + exponent);
+  / "." DecimalDigit+ ExponentPart? {
+      return { type: "Literal", value: parseFloat(text()) };
     }
-  / before:DecimalIntegerLiteral exponent:ExponentPart? {
-      return parseFloat(before + exponent);
+  / DecimalIntegerLiteral ExponentPart? {
+      return { type: "Literal", value: parseFloat(text()) };
     }
 
 DecimalIntegerLiteral
-  = "0" / digit:NonZeroDigit digits:DecimalDigits? { return digit + digits; }
-
-DecimalDigits
-  = digits:DecimalDigit+ { return digits.join(""); }
+  = "0"
+  / NonZeroDigit DecimalDigit*
 
 DecimalDigit
   = [0-9]
@@ -229,45 +278,42 @@ NonZeroDigit
   = [1-9]
 
 ExponentPart
-  = indicator:ExponentIndicator integer:SignedInteger {
-      return indicator + integer;
-    }
+  = ExponentIndicator SignedInteger
 
 ExponentIndicator
-  = [eE]
+  = "e"i
 
 SignedInteger
-  = sign:[-+]? digits:DecimalDigits { return sign + digits; }
+  = [+-]? DecimalDigit+
 
 HexIntegerLiteral
-  = "0" [xX] digits:HexDigit+ { return parseInt("0x" + digits.join("")); }
+  = "0x"i digits:$HexDigit+ {
+      return { type: "Literal", value: parseInt(digits, 16) };
+     }
 
 HexDigit
-  = [0-9a-fA-F]
+  = [0-9a-f]i
 
 StringLiteral "string"
-  = parts:('"' DoubleStringCharacters? '"' / "'" SingleStringCharacters? "'") {
-      return parts[1];
+  = '"' chars:DoubleStringCharacter* '"' {
+      return { type: "Literal", value: chars.join("") };
+    }
+  / "'" chars:SingleStringCharacter* "'" {
+      return { type: "Literal", value: chars.join("") };
     }
-
-DoubleStringCharacters
-  = chars:DoubleStringCharacter+ { return chars.join(""); }
-
-SingleStringCharacters
-  = chars:SingleStringCharacter+ { return chars.join(""); }
 
 DoubleStringCharacter
-  = !('"' / "\\" / LineTerminator) char_:SourceCharacter { return char_;     }
-  / "\\" sequence:EscapeSequence                         { return sequence;  }
+  = !('"' / "\\" / LineTerminator) SourceCharacter { return text(); }
+  / "\\" sequence:EscapeSequence { return sequence; }
   / LineContinuation
 
 SingleStringCharacter
-  = !("'" / "\\" / LineTerminator) char_:SourceCharacter { return char_;     }
-  / "\\" sequence:EscapeSequence                         { return sequence;  }
+  = !("'" / "\\" / LineTerminator) SourceCharacter { return text(); }
+  / "\\" sequence:EscapeSequence { return sequence; }
   / LineContinuation
 
 LineContinuation
-  = "\\" sequence:LineTerminatorSequence { return sequence; }
+  = "\\" LineTerminatorSequence { return ""; }
 
 EscapeSequence
   = CharacterEscapeSequence
@@ -280,18 +326,18 @@ CharacterEscapeSequence
   / NonEscapeCharacter
 
 SingleEscapeCharacter
-  = char_:['"\\bfnrtv] {
-      return char_
-        .replace("b", "\b")
-        .replace("f", "\f")
-        .replace("n", "\n")
-        .replace("r", "\r")
-        .replace("t", "\t")
-        .replace("v", "\x0B") // IE does not recognize "\v".
-    }
+  = "'"
+  / '"'
+  / "\\"
+  / "b"  { return "\b";   }
+  / "f"  { return "\f";   }
+  / "n"  { return "\n";   }
+  / "r"  { return "\r";   }
+  / "t"  { return "\t";   }
+  / "v"  { return "\x0B"; }   // IE does not recognize "\v".
 
 NonEscapeCharacter
-  = (!EscapeCharacter / LineTerminator) char_:SourceCharacter { return char_; }
+  = !(EscapeCharacter / LineTerminator) SourceCharacter { return text(); }
 
 EscapeCharacter
   = SingleEscapeCharacter
@@ -300,253 +346,270 @@ EscapeCharacter
   / "u"
 
 HexEscapeSequence
-  = "x" h1:HexDigit h2:HexDigit {
-      return String.fromCharCode(parseInt("0x" + h1 + h2));
+  = "x" digits:$(HexDigit HexDigit) {
+      return String.fromCharCode(parseInt(digits, 16));
     }
 
 UnicodeEscapeSequence
-  = "u" h1:HexDigit h2:HexDigit h3:HexDigit h4:HexDigit {
-      return String.fromCharCode(parseInt("0x" + h1 + h2 + h3 + h4));
+  = "u" digits:$(HexDigit HexDigit HexDigit HexDigit) {
+      return String.fromCharCode(parseInt(digits, 16));
     }
 
 RegularExpressionLiteral "regular expression"
-  = "/" body:RegularExpressionBody "/" flags:RegularExpressionFlags {
-      return {
-        type:  "RegularExpressionLiteral",
-        body:  body,
-        flags: flags
-      };
-    }
+  = "/" pattern:$RegularExpressionBody "/" flags:$RegularExpressionFlags {
+      var value;
 
-RegularExpressionBody
-  = char_:RegularExpressionFirstChar chars:RegularExpressionChars {
-      return char_ + chars;
+      try {
+        value = new RegExp(pattern, flags);
+      } catch (e) {
+        error(e.message);
+      }
+
+      return { type: "Literal", value: value };
     }
 
-RegularExpressionChars
-  = chars:RegularExpressionChar* { return chars.join(""); }
+RegularExpressionBody
+  = RegularExpressionFirstChar RegularExpressionChar*
 
 RegularExpressionFirstChar
-  = ![*\\/[] char_:RegularExpressionNonTerminator { return char_; }
+  = ![*\\/[] RegularExpressionNonTerminator
   / RegularExpressionBackslashSequence
   / RegularExpressionClass
 
 RegularExpressionChar
-  = ![\\/[] char_:RegularExpressionNonTerminator { return char_; }
+  = ![\\/[] RegularExpressionNonTerminator
   / RegularExpressionBackslashSequence
   / RegularExpressionClass
 
-/*
- * This rule contains an error in the specification: "NonTerminator" instead of
- * "RegularExpressionNonTerminator".
- */
 RegularExpressionBackslashSequence
-  = "\\" char_:RegularExpressionNonTerminator { return "\\" + char_; }
+  = "\\" RegularExpressionNonTerminator
 
 RegularExpressionNonTerminator
-  = !LineTerminator char_:SourceCharacter { return char_; }
+  = !LineTerminator SourceCharacter
 
 RegularExpressionClass
-  = "[" chars:RegularExpressionClassChars "]" { return "[" + chars + "]"; }
-
-RegularExpressionClassChars
-  = chars:RegularExpressionClassChar* { return chars.join(""); }
+  = "[" RegularExpressionClassChar* "]"
 
 RegularExpressionClassChar
-  = ![\]\\] char_:RegularExpressionNonTerminator { return char_; }
+  = ![\]\\] RegularExpressionNonTerminator
   / RegularExpressionBackslashSequence
 
 RegularExpressionFlags
-  = parts:IdentifierPart* { return parts.join(""); }
-
-/* Tokens */
-
-BreakToken      = "break"            !IdentifierPart
-CaseToken       = "case"             !IdentifierPart
-CatchToken      = "catch"            !IdentifierPart
-ContinueToken   = "continue"         !IdentifierPart
-DebuggerToken   = "debugger"         !IdentifierPart
-DefaultToken    = "default"          !IdentifierPart
-DeleteToken     = "delete"           !IdentifierPart { return "delete"; }
-DoToken         = "do"               !IdentifierPart
-ElseToken       = "else"             !IdentifierPart
-FalseToken      = "false"            !IdentifierPart
-FinallyToken    = "finally"          !IdentifierPart
-ForToken        = "for"              !IdentifierPart
-FunctionToken   = "function"         !IdentifierPart
-GetToken        = "get"              !IdentifierPart
-IfToken         = "if"               !IdentifierPart
-InstanceofToken = "instanceof"       !IdentifierPart { return "instanceof"; }
-InToken         = "in"               !IdentifierPart { return "in"; }
-NewToken        = "new"              !IdentifierPart
-NullToken       = "null"             !IdentifierPart
-ReturnToken     = "return"           !IdentifierPart
-SetToken        = "set"              !IdentifierPart
-SwitchToken     = "switch"           !IdentifierPart
-ThisToken       = "this"             !IdentifierPart
-ThrowToken      = "throw"            !IdentifierPart
-TrueToken       = "true"             !IdentifierPart
-TryToken        = "try"              !IdentifierPart
-TypeofToken     = "typeof"           !IdentifierPart { return "typeof"; }
-VarToken        = "var"              !IdentifierPart
-VoidToken       = "void"             !IdentifierPart { return "void"; }
-WhileToken      = "while"            !IdentifierPart
-WithToken       = "with"             !IdentifierPart
+  = IdentifierPart*
 
 /*
  * Unicode Character Categories
  *
- * Source: http://www.fileformat.info/info/unicode/category/index.htm
- */
-
-/*
- * Non-BMP characters are completely ignored to avoid surrogate pair handling
- * (JavaScript strings in most implementations are encoded in UTF-16, though
- * this is not required by the specification -- see ECMA-262, 5th ed., 4.3.16).
+ * Extracted from the following Unicode Character Database file:
  *
- * If you ever need to correctly recognize all the characters, please feel free
- * to implement that and send a patch.
+ *   http://www.unicode.org/Public/8.0.0/ucd/extracted/DerivedGeneralCategory.txt
+ *
+ * Unix magic used:
+ *
+ *   grep "; $CATEGORY" DerivedGeneralCategory.txt |   # Filter characters
+ *     cut -f1 -d " " |                                # Extract code points
+ *     grep -v '[0-9a-fA-F]\{5\}' |                    # Exclude non-BMP characters
+ *     sed -e 's/\.\./-/' |                            # Adjust formatting
+ *     sed -e 's/\([0-9a-fA-F]\{4\}\)/\\u\1/g' |       # Adjust formatting
+ *     tr -d '\n'                                      # Join lines
+ *
+ * ECMA-262 allows using Unicode 3.0 or later, version 8.0.0 was the latest one
+ * at the time of writing.
+ *
+ * Non-BMP characters are completely ignored to avoid surrogate pair handling
+ * (detecting surrogate pairs isn't possible with a simple character class and
+ * other methods would degrade performance). I don't consider it a big deal as
+ * even parsers in JavaScript engines of common browsers seem to ignore them.
  */
 
 // Letter, Lowercase
-Ll = [\u0061\u0062\u0063\u0064\u0065\u0066\u0067\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077\u0078\u0079\u007A\u00AA\u00B5\u00BA\u00DF\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u00FE\u00FF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E\u017F\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199\u019A\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD\u01BE\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\
 u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233\u0234\u0235\u0236\u0237\u0238\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F\u0250\u0251\u0252\u0253\u0254\u0255\u0256\u0257\u0258\u0259\u025A\u025B\u025C\u025D\u025E\u025F\u0260\u0261\u0262\u0263\u0264\u0265\u0266\u0267\u0268\u0269\u026A\u026B\u026C\u026D\u026E\u026F\u0270\u0271\u0272\u0273\u0274\u0275\u0276\u0277\u0278\u0279\u027A\u027B\u027C\u027D\u027E\u027F\u0280\u0281\u0282\u0283\u0284\u0285\u0286\u0287\u0288\u0289\u028A\u028B\u028C\u028D\u028E\u028F\u0290\u0291\u0292\u0293\u0295\u0296\u0297\u0298\u0299\u029A\u029B\u029C\u029D\u029E\u029F\u02A0\u02A1\u02A2\u02A3\u02A4\u02A5\u02A6\u02A7\u02A8\u02A9\u02AA\u02AB\u02AC\u02AD\u02AE\u02AF\u0371\u0373\u0377\u037B\u037C\u037D\u0390\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u
 03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\u03D0\u03D1\u03D5\u03D6\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF\u03F0\u03F1\u03F2\u03F3\u03F5\u03F8\u03FB\u03FC\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0450\u0451\u0452\u0453\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\u045D\u045E\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u0
 4EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0561\u0562\u0563\u0564\u0565\u0566\u0567\u0568\u0569\u056A\u056B\u056C\u056D\u056E\u056F\u0570\u0571\u0572\u0573\u0574\u0575\u0576\u0577\u0578\u0579\u057A\u057B\u057C\u057D\u057E\u057F\u0580\u0581\u0582\u0583\u0584\u0585\u0586\u0587\u1D00\u1D01\u1D02\u1D03\u1D04\u1D05\u1D06\u1D07\u1D08\u1D09\u1D0A\u1D0B\u1D0C\u1D0D\u1D0E\u1D0F\u1D10\u1D11\u1D12\u1D13\u1D14\u1D15\u1D16\u1D17\u1D18\u1D19\u1D1A\u1D1B\u1D1C\u1D1D\u1D1E\u1D1F\u1D20\u1D21\u1D22\u1D23\u1D24\u1D25\u1D26\u1D27\u1D28\u1D29\u1D2A\u1D2B\u1D62\u1D63\u1D64\u1D65\u1D66\u1D67\u1D68\u1D69\u1D6A\u1D6B\u1D6C\u1D6D\u1D6E\u1D6F\u1D70\u1D71\u1D72\u1D73\u1D74\u1D75\u1D76\u1D77\u1D79\u1D7A\u1D7B\u1D7C\u1D7D\u1D7E\u1D7F\u1D80\u1D81\u1D82\u1D83\u1D84\u1D85\u1D86\u1D87\u1D88\u1D89\u1D8A\u1D8B\u1D8C\u1D8D\u1D8E\u1D8F\u1D90\u1D91\u1D92\u1D93\u1D94\u1D95\u1D96\u1D97\u1D98\u1D
 99\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95\u1E96\u1E97\u1E98\u1E99\u1E9A\u1E9B\u1E9C\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF\u1F00\u1F01\u1F02\u1F03\u1F04\u1F05\u1F06\u1F07\u1F10\u1F11\u1F12\u1F13\u1F14\u1F15\u1F20\u1F21\u1F22\u1F23\u1F24\u1F25\u1F26\u1F27\u1F30\u1F31\u1F32\u1F33\u1F34\u1F35\u1F36\u1F37\u1F40\u1F41\u1F4
 2\u1F43\u1F44\u1F45\u1F50\u1F51\u1F52\u1F53\u1F54\u1F55\u1F56\u1F57\u1F60\u1F61\u1F62\u1F63\u1F64\u1F65\u1F66\u1F67\u1F70\u1F71\u1F72\u1F73\u1F74\u1F75\u1F76\u1F77\u1F78\u1F79\u1F7A\u1F7B\u1F7C\u1F7D\u1F80\u1F81\u1F82\u1F83\u1F84\u1F85\u1F86\u1F87\u1F90\u1F91\u1F92\u1F93\u1F94\u1F95\u1F96\u1F97\u1FA0\u1FA1\u1FA2\u1FA3\u1FA4\u1FA5\u1FA6\u1FA7\u1FB0\u1FB1\u1FB2\u1FB3\u1FB4\u1FB6\u1FB7\u1FBE\u1FC2\u1FC3\u1FC4\u1FC6\u1FC7\u1FD0\u1FD1\u1FD2\u1FD3\u1FD6\u1FD7\u1FE0\u1FE1\u1FE2\u1FE3\u1FE4\u1FE5\u1FE6\u1FE7\u1FF2\u1FF3\u1FF4\u1FF6\u1FF7\u2071\u207F\u210A\u210E\u210F\u2113\u212F\u2134\u2139\u213C\u213D\u2146\u2147\u2148\u2149\u214E\u2184\u2C30\u2C31\u2C32\u2C33\u2C34\u2C35\u2C36\u2C37\u2C38\u2C39\u2C3A\u2C3B\u2C3C\u2C3D\u2C3E\u2C3F\u2C40\u2C41\u2C42\u2C43\u2C44\u2C45\u2C46\u2C47\u2C48\u2C49\u2C4A\u2C4B\u2C4C\u2C4D\u2C4E\u2C4F\u2C50\u2C51\u2C52\u2C53\u2C54\u2C55\u2C56\u2C57\u2C58\u2C59\u2C5A\u2C5B\u2C5C\u2C5D\u2C5E\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76\u2C77\u2C78\u2C79
 \u2C7A\u2C7B\u2C7C\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3\u2CE4\u2D00\u2D01\u2D02\u2D03\u2D04\u2D05\u2D06\u2D07\u2D08\u2D09\u2D0A\u2D0B\u2D0C\u2D0D\u2D0E\u2D0F\u2D10\u2D11\u2D12\u2D13\u2D14\u2D15\u2D16\u2D17\u2D18\u2D19\u2D1A\u2D1B\u2D1C\u2D1D\u2D1E\u2D1F\u2D20\u2D21\u2D22\u2D23\u2D24\u2D25\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F\uA730\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\
 uA771\uA772\uA773\uA774\uA775\uA776\uA777\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uFB00\uFB01\uFB02\uFB03\uFB04\uFB05\uFB06\uFB13\uFB14\uFB15\uFB16\uFB17\uFF41\uFF42\uFF43\uFF44\uFF45\uFF46\uFF47\uFF48\uFF49\uFF4A\uFF4B\uFF4C\uFF4D\uFF4E\uFF4F\uFF50\uFF51\uFF52\uFF53\uFF54\uFF55\uFF56\uFF57\uFF58\uFF59\uFF5A]
+Ll = [\u0061-\u007A\u00B5\u00DF-\u00F6\u00F8-\u00FF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137-\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148-\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C-\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA-\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9-\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC-\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF-\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F-\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u
 02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0-\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB-\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE-\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0561-\u0587\u13F8-\u13FD\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u
 1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6-\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FC7\u1FD0-\u1FD3\u1FD6-\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6-\u1FF7\u210A\u210E-\u210F\u2113\u212F\u2134\u2139\u213C-\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5E\u2C61\u2C65-\u2C66\u2C68\
 u2C6A\u2C6C\u2C71\u2C73-\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3-\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\
 uA7B5\uA7B7\uA7FA\uAB30-\uAB5A\uAB60-\uAB65\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A]
 
 // Letter, Modifier
-Lm = [\u02B0\u02B1\u02B2\u02B3\u02B4\u02B5\u02B6\u02B7\u02B8\u02B9\u02BA\u02BB\u02BC\u02BD\u02BE\u02BF\u02C0\u02C1\u02C6\u02C7\u02C8\u02C9\u02CA\u02CB\u02CC\u02CD\u02CE\u02CF\u02D0\u02D1\u02E0\u02E1\u02E2\u02E3\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5\u06E6\u07F4\u07F5\u07FA\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1C78\u1C79\u1C7A\u1C7B\u1C7C\u1C7D\u1D2C\u1D2D\u1D2E\u1D2F\u1D30\u1D31\u1D32\u1D33\u1D34\u1D35\u1D36\u1D37\u1D38\u1D39\u1D3A\u1D3B\u1D3C\u1D3D\u1D3E\u1D3F\u1D40\u1D41\u1D42\u1D43\u1D44\u1D45\u1D46\u1D47\u1D48\u1D49\u1D4A\u1D4B\u1D4C\u1D4D\u1D4E\u1D4F\u1D50\u1D51\u1D52\u1D53\u1D54\u1D55\u1D56\u1D57\u1D58\u1D59\u1D5A\u1D5B\u1D5C\u1D5D\u1D5E\u1D5F\u1D60\u1D61\u1D78\u1D9B\u1D9C\u1D9D\u1D9E\u1D9F\u1DA0\u1DA1\u1DA2\u1DA3\u1DA4\u1DA5\u1DA6\u1DA7\u1DA8\u1DA9\u1DAA\u1DAB\u1DAC\u1DAD\u1DAE\u1DAF\u1DB0\u1DB1\u1DB2\u1DB3\u1DB4\u1DB5\u1DB6\u1DB7\u1DB8\u1DB9\u1DBA\u1DBB\u1DBC\u1DBD\u1DBE\u1DBF\u2090\u2091\u2092\u2093\u2094\u2C7D\u2D6F\u2E2F\u3005\u3031\u3032\u3033\u3034\u3035\u303B\
 u309D\u309E\u30FC\u30FD\u30FE\uA015\uA60C\uA67F\uA717\uA718\uA719\uA71A\uA71B\uA71C\uA71D\uA71E\uA71F\uA770\uA788\uFF70\uFF9E\uFF9F]
+Lm = [\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5-\u06E6\u07F4-\u07F5\u07FA\u081A\u0824\u0828\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C-\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D-\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA69C-\uA69D\uA717-\uA71F\uA770\uA788\uA7F8-\uA7F9\uA9CF\uA9E6\uAA70\uAADD\uAAF3-\uAAF4\uAB5C-\uAB5F\uFF70\uFF9E-\uFF9F]
 
 // Letter, Other
-Lo = [\u01BB\u01C0\u01C1\u01C2\u01C3\u0294\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\u05F0\u05F1\u05F2\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\u0638\u0639\u063A\u063B\u063C\u063D\u063E\u063F\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u066E\u066F\u0671\u0672\u0673\u0674\u0675\u0676\u0677\u0678\u0679\u067A\u067B\u067C\u067D\u067E\u067F\u0680\u0681\u0682\u0683\u0684\u0685\u0686\u0687\u0688\u0689\u068A\u068B\u068C\u068D\u068E\u068F\u0690\u0691\u0692\u0693\u0694\u0695\u0696\u0697\u0698\u0699\u069A\u069B\u069C\u069D\u069E\u069F\u06A0\u06A1\u06A2\u06A3\u06A4\u06A5\u06A6\u06A7\u06A8\u06A9\u06AA\u06AB\u06AC\u06AD\u06AE\u06AF\u06B0\u06B1\u06B2\u06B3\u06B4\u06B5\u06B6\u06B7\u06B8\u06B9\u06BA\u06BB\u06BC\u06BD\u06BE\u06BF\u06C0\u06C1\u06C2\u06C3\u06C4\u06C5\u06C6\
 u06C7\u06C8\u06C9\u06CA\u06CB\u06CC\u06CD\u06CE\u06CF\u06D0\u06D1\u06D2\u06D3\u06D5\u06EE\u06EF\u06FA\u06FB\u06FC\u06FF\u0710\u0712\u0713\u0714\u0715\u0716\u0717\u0718\u0719\u071A\u071B\u071C\u071D\u071E\u071F\u0720\u0721\u0722\u0723\u0724\u0725\u0726\u0727\u0728\u0729\u072A\u072B\u072C\u072D\u072E\u072F\u074D\u074E\u074F\u0750\u0751\u0752\u0753\u0754\u0755\u0756\u0757\u0758\u0759\u075A\u075B\u075C\u075D\u075E\u075F\u0760\u0761\u0762\u0763\u0764\u0765\u0766\u0767\u0768\u0769\u076A\u076B\u076C\u076D\u076E\u076F\u0770\u0771\u0772\u0773\u0774\u0775\u0776\u0777\u0778\u0779\u077A\u077B\u077C\u077D\u077E\u077F\u0780\u0781\u0782\u0783\u0784\u0785\u0786\u0787\u0788\u0789\u078A\u078B\u078C\u078D\u078E\u078F\u0790\u0791\u0792\u0793\u0794\u0795\u0796\u0797\u0798\u0799\u079A\u079B\u079C\u079D\u079E\u079F\u07A0\u07A1\u07A2\u07A3\u07A4\u07A5\u07B1\u07CA\u07CB\u07CC\u07CD\u07CE\u07CF\u07D0\u07D1\u07D2\u07D3\u07D4\u07D5\u07D6\u07D7\u07D8\u07D9\u07DA\u07DB\u07DC\u07DD\u07DE\u07DF\u07E0\u07E1\u07E2\u
 07E3\u07E4\u07E5\u07E6\u07E7\u07E8\u07E9\u07EA\u0904\u0905\u0906\u0907\u0908\u0909\u090A\u090B\u090C\u090D\u090E\u090F\u0910\u0911\u0912\u0913\u0914\u0915\u0916\u0917\u0918\u0919\u091A\u091B\u091C\u091D\u091E\u091F\u0920\u0921\u0922\u0923\u0924\u0925\u0926\u0927\u0928\u0929\u092A\u092B\u092C\u092D\u092E\u092F\u0930\u0931\u0932\u0933\u0934\u0935\u0936\u0937\u0938\u0939\u093D\u0950\u0958\u0959\u095A\u095B\u095C\u095D\u095E\u095F\u0960\u0961\u0972\u097B\u097C\u097D\u097E\u097F\u0985\u0986\u0987\u0988\u0989\u098A\u098B\u098C\u098F\u0990\u0993\u0994\u0995\u0996\u0997\u0998\u0999\u099A\u099B\u099C\u099D\u099E\u099F\u09A0\u09A1\u09A2\u09A3\u09A4\u09A5\u09A6\u09A7\u09A8\u09AA\u09AB\u09AC\u09AD\u09AE\u09AF\u09B0\u09B2\u09B6\u09B7\u09B8\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF\u09E0\u09E1\u09F0\u09F1\u0A05\u0A06\u0A07\u0A08\u0A09\u0A0A\u0A0F\u0A10\u0A13\u0A14\u0A15\u0A16\u0A17\u0A18\u0A19\u0A1A\u0A1B\u0A1C\u0A1D\u0A1E\u0A1F\u0A20\u0A21\u0A22\u0A23\u0A24\u0A25\u0A26\u0A27\u0A28\u0A2A\u0A2B\u0A2C\u0
 A2D\u0A2E\u0A2F\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59\u0A5A\u0A5B\u0A5C\u0A5E\u0A72\u0A73\u0A74\u0A85\u0A86\u0A87\u0A88\u0A89\u0A8A\u0A8B\u0A8C\u0A8D\u0A8F\u0A90\u0A91\u0A93\u0A94\u0A95\u0A96\u0A97\u0A98\u0A99\u0A9A\u0A9B\u0A9C\u0A9D\u0A9E\u0A9F\u0AA0\u0AA1\u0AA2\u0AA3\u0AA4\u0AA5\u0AA6\u0AA7\u0AA8\u0AAA\u0AAB\u0AAC\u0AAD\u0AAE\u0AAF\u0AB0\u0AB2\u0AB3\u0AB5\u0AB6\u0AB7\u0AB8\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05\u0B06\u0B07\u0B08\u0B09\u0B0A\u0B0B\u0B0C\u0B0F\u0B10\u0B13\u0B14\u0B15\u0B16\u0B17\u0B18\u0B19\u0B1A\u0B1B\u0B1C\u0B1D\u0B1E\u0B1F\u0B20\u0B21\u0B22\u0B23\u0B24\u0B25\u0B26\u0B27\u0B28\u0B2A\u0B2B\u0B2C\u0B2D\u0B2E\u0B2F\u0B30\u0B32\u0B33\u0B35\u0B36\u0B37\u0B38\u0B39\u0B3D\u0B5C\u0B5D\u0B5F\u0B60\u0B61\u0B71\u0B83\u0B85\u0B86\u0B87\u0B88\u0B89\u0B8A\u0B8E\u0B8F\u0B90\u0B92\u0B93\u0B94\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8\u0BA9\u0BAA\u0BAE\u0BAF\u0BB0\u0BB1\u0BB2\u0BB3\u0BB4\u0BB5\u0BB6\u0BB7\u0BB8\u0BB9\u0BD0\u0C05\u0C06\u0C07\u0C08\u0C09\u0C0A\u0C
 0B\u0C0C\u0C0E\u0C0F\u0C10\u0C12\u0C13\u0C14\u0C15\u0C16\u0C17\u0C18\u0C19\u0C1A\u0C1B\u0C1C\u0C1D\u0C1E\u0C1F\u0C20\u0C21\u0C22\u0C23\u0C24\u0C25\u0C26\u0C27\u0C28\u0C2A\u0C2B\u0C2C\u0C2D\u0C2E\u0C2F\u0C30\u0C31\u0C32\u0C33\u0C35\u0C36\u0C37\u0C38\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85\u0C86\u0C87\u0C88\u0C89\u0C8A\u0C8B\u0C8C\u0C8E\u0C8F\u0C90\u0C92\u0C93\u0C94\u0C95\u0C96\u0C97\u0C98\u0C99\u0C9A\u0C9B\u0C9C\u0C9D\u0C9E\u0C9F\u0CA0\u0CA1\u0CA2\u0CA3\u0CA4\u0CA5\u0CA6\u0CA7\u0CA8\u0CAA\u0CAB\u0CAC\u0CAD\u0CAE\u0CAF\u0CB0\u0CB1\u0CB2\u0CB3\u0CB5\u0CB6\u0CB7\u0CB8\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0D05\u0D06\u0D07\u0D08\u0D09\u0D0A\u0D0B\u0D0C\u0D0E\u0D0F\u0D10\u0D12\u0D13\u0D14\u0D15\u0D16\u0D17\u0D18\u0D19\u0D1A\u0D1B\u0D1C\u0D1D\u0D1E\u0D1F\u0D20\u0D21\u0D22\u0D23\u0D24\u0D25\u0D26\u0D27\u0D28\u0D2A\u0D2B\u0D2C\u0D2D\u0D2E\u0D2F\u0D30\u0D31\u0D32\u0D33\u0D34\u0D35\u0D36\u0D37\u0D38\u0D39\u0D3D\u0D60\u0D61\u0D7A\u0D7B\u0D7C\u0D7D\u0D7E\u0D7F\u0D85\u0D86\u0D87\u0D88\u0D89\u0D8A\u0D8
 B\u0D8C\u0D8D\u0D8E\u0D8F\u0D90\u0D91\u0D92\u0D93\u0D94\u0D95\u0D96\u0D9A\u0D9B\u0D9C\u0D9D\u0D9E\u0D9F\u0DA0\u0DA1\u0DA2\u0DA3\u0DA4\u0DA5\u0DA6\u0DA7\u0DA8\u0DA9\u0DAA\u0DAB\u0DAC\u0DAD\u0DAE\u0DAF\u0DB0\u0DB1\u0DB3\u0DB4\u0DB5\u0DB6\u0DB7\u0DB8\u0DB9\u0DBA\u0DBB\u0DBD\u0DC0\u0DC1\u0DC2\u0DC3\u0DC4\u0DC5\u0DC6\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E32\u0E33\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94\u0E95\u0E96\u0E97\u0E99\u0E9A\u0E9B\u0E9C\u0E9D\u0E9E\u0E9F\u0EA1\u0EA2\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD\u0EAE\u0EAF\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0\u0EC1\u0EC2\u0EC3\u0EC4\u0EDC\u0EDD\u0F00\u0F40\u0F41\u0F42\u0F43\u0F44\u0F45\u0F46\u0F47\u0F49\u0F4A\u0F4B\u0F4C\u0F4D\u0F4E\u0F4F\u0F50\u0F51\u0F52
 \u0F53\u0F54\u0F55\u0F56\u0F57\u0F58\u0F59\u0F5A\u0F5B\u0F5C\u0F5D\u0F5E\u0F5F\u0F60\u0F61\u0F62\u0F63\u0F64\u0F65\u0F66\u0F67\u0F68\u0F69\u0F6A\u0F6B\u0F6C\u0F88\u0F89\u0F8A\u0F8B\u1000\u1001\u1002\u1003\u1004\u1005\u1006\u1007\u1008\u1009\u100A\u100B\u100C\u100D\u100E\u100F\u1010\u1011\u1012\u1013\u1014\u1015\u1016\u1017\u1018\u1019\u101A\u101B\u101C\u101D\u101E\u101F\u1020\u1021\u1022\u1023\u1024\u1025\u1026\u1027\u1028\u1029\u102A\u103F\u1050\u1051\u1052\u1053\u1054\u1055\u105A\u105B\u105C\u105D\u1061\u1065\u1066\u106E\u106F\u1070\u1075\u1076\u1077\u1078\u1079\u107A\u107B\u107C\u107D\u107E\u107F\u1080\u1081\u108E\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10EF\u10F0\u10F1\u10F2\u10F3\u10F4\u10F5\u10F6\u10F7\u10F8\u10F9\u10FA\u1100\u1101\u1102\u1103\u1104\u1105\u1106\u1107\u1108\u1109\u110A\u110B\u110C\u110D\u110E\u110F\u1110\u1111\u1112\
 u1113\u1114\u1115\u1116\u1117\u1118\u1119\u111A\u111B\u111C\u111D\u111E\u111F\u1120\u1121\u1122\u1123\u1124\u1125\u1126\u1127\u1128\u1129\u112A\u112B\u112C\u112D\u112E\u112F\u1130\u1131\u1132\u1133\u1134\u1135\u1136\u1137\u1138\u1139\u113A\u113B\u113C\u113D\u113E\u113F\u1140\u1141\u1142\u1143\u1144\u1145\u1146\u1147\u1148\u1149\u114A\u114B\u114C\u114D\u114E\u114F\u1150\u1151\u1152\u1153\u1154\u1155\u1156\u1157\u1158\u1159\u115F\u1160\u1161\u1162\u1163\u1164\u1165\u1166\u1167\u1168\u1169\u116A\u116B\u116C\u116D\u116E\u116F\u1170\u1171\u1172\u1173\u1174\u1175\u1176\u1177\u1178\u1179\u117A\u117B\u117C\u117D\u117E\u117F\u1180\u1181\u1182\u1183\u1184\u1185\u1186\u1187\u1188\u1189\u118A\u118B\u118C\u118D\u118E\u118F\u1190\u1191\u1192\u1193\u1194\u1195\u1196\u1197\u1198\u1199\u119A\u119B\u119C\u119D\u119E\u119F\u11A0\u11A1\u11A2\u11A8\u11A9\u11AA\u11AB\u11AC\u11AD\u11AE\u11AF\u11B0\u11B1\u11B2\u11B3\u11B4\u11B5\u11B6\u11B7\u11B8\u11B9\u11BA\u11BB\u11BC\u11BD\u11BE\u11BF\u11C0\u11C1\u11C2\u
 11C3\u11C4\u11C5\u11C6\u11C7\u11C8\u11C9\u11CA\u11CB\u11CC\u11CD\u11CE\u11CF\u11D0\u11D1\u11D2\u11D3\u11D4\u11D5\u11D6\u11D7\u11D8\u11D9\u11DA\u11DB\u11DC\u11DD\u11DE\u11DF\u11E0\u11E1\u11E2\u11E3\u11E4\u11E5\u11E6\u11E7\u11E8\u11E9\u11EA\u11EB\u11EC\u11ED\u11EE\u11EF\u11F0\u11F1\u11F2\u11F3\u11F4\u11F5\u11F6\u11F7\u11F8\u11F9\u1200\u1201\u1202\u1203\u1204\u1205\u1206\u1207\u1208\u1209\u120A\u120B\u120C\u120D\u120E\u120F\u1210\u1211\u1212\u1213\u1214\u1215\u1216\u1217\u1218\u1219\u121A\u121B\u121C\u121D\u121E\u121F\u1220\u1221\u1222\u1223\u1224\u1225\u1226\u1227\u1228\u1229\u122A\u122B\u122C\u122D\u122E\u122F\u1230\u1231\u1232\u1233\u1234\u1235\u1236\u1237\u1238\u1239\u123A\u123B\u123C\u123D\u123E\u123F\u1240\u1241\u1242\u1243\u1244\u1245\u1246\u1247\u1248\u124A\u124B\u124C\u124D\u1250\u1251\u1252\u1253\u1254\u1255\u1256\u1258\u125A\u125B\u125C\u125D\u1260\u1261\u1262\u1263\u1264\u1265\u1266\u1267\u1268\u1269\u126A\u126B\u126C\u126D\u126E\u126F\u1270\u1271\u1272\u1273\u1274\u1275\u1
 276\u1277\u1278\u1279\u127A\u127B\u127C\u127D\u127E\u127F\u1280\u1281\u1282\u1283\u1284\u1285\u1286\u1287\u1288\u128A\u128B\u128C\u128D\u1290\u1291\u1292\u1293\u1294\u1295\u1296\u1297\u1298\u1299\u129A\u129B\u129C\u129D\u129E\u129F\u12A0\u12A1\u12A2\u12A3\u12A4\u12A5\u12A6\u12A7\u12A8\u12A9\u12AA\u12AB\u12AC\u12AD\u12AE\u12AF\u12B0\u12B2\u12B3\u12B4\u12B5\u12B8\u12B9\u12BA\u12BB\u12BC\u12BD\u12BE\u12C0\u12C2\u12C3\u12C4\u12C5\u12C8\u12C9\u12CA\u12CB\u12CC\u12CD\u12CE\u12CF\u12D0\u12D1\u12D2\u12D3\u12D4\u12D5\u12D6\u12D8\u12D9\u12DA\u12DB\u12DC\u12DD\u12DE\u12DF\u12E0\u12E1\u12E2\u12E3\u12E4\u12E5\u12E6\u12E7\u12E8\u12E9\u12EA\u12EB\u12EC\u12ED\u12EE\u12EF\u12F0\u12F1\u12F2\u12F3\u12F4\u12F5\u12F6\u12F7\u12F8\u12F9\u12FA\u12FB\u12FC\u12FD\u12FE\u12FF\u1300\u1301\u1302\u1303\u1304\u1305\u1306\u1307\u1308\u1309\u130A\u130B\u130C\u130D\u130E\u130F\u1310\u1312\u1313\u1314\u1315\u1318\u1319\u131A\u131B\u131C\u131D\u131E\u131F\u1320\u1321\u1322\u1323\u1324\u1325\u1326\u1327\u1328\u1329\u13
 2A\u132B\u132C\u132D\u132E\u132F\u1330\u1331\u1332\u1333\u1334\u1335\u1336\u1337\u1338\u1339\u133A\u133B\u133C\u133D\u133E\u133F\u1340\u1341\u1342\u1343\u1344\u1345\u1346\u1347\u1348\u1349\u134A\u134B\u134C\u134D\u134E\u134F\u1350\u1351\u1352\u1353\u1354\u1355\u1356\u1357\u1358\u1359\u135A\u1380\u1381\u1382\u1383\u1384\u1385\u1386\u1387\u1388\u1389\u138A\u138B\u138C\u138D\u138E\u138F\u13A0\u13A1\u13A2\u13A3\u13A4\u13A5\u13A6\u13A7\u13A8\u13A9\u13AA\u13AB\u13AC\u13AD\u13AE\u13AF\u13B0\u13B1\u13B2\u13B3\u13B4\u13B5\u13B6\u13B7\u13B8\u13B9\u13BA\u13BB\u13BC\u13BD\u13BE\u13BF\u13C0\u13C1\u13C2\u13C3\u13C4\u13C5\u13C6\u13C7\u13C8\u13C9\u13CA\u13CB\u13CC\u13CD\u13CE\u13CF\u13D0\u13D1\u13D2\u13D3\u13D4\u13D5\u13D6\u13D7\u13D8\u13D9\u13DA\u13DB\u13DC\u13DD\u13DE\u13DF\u13E0\u13E1\u13E2\u13E3\u13E4\u13E5\u13E6\u13E7\u13E8\u13E9\u13EA\u13EB\u13EC\u13ED\u13EE\u13EF\u13F0\u13F1\u13F2\u13F3\u13F4\u1401\u1402\u1403\u1404\u1405\u1406\u1407\u1408\u1409\u140A\u140B\u140C\u140D\u140E\u140F\u1410\u141
 1\u1412\u1413\u1414\u1415\u1416\u1417\u1418\u1419\u141A\u141B\u141C\u141D\u141E\u141F\u1420\u1421\u1422\u1423\u1424\u1425\u1426\u1427\u1428\u1429\u142A\u142B\u142C\u142D\u142E\u142F\u1430\u1431\u1432\u1433\u1434\u1435\u1436\u1437\u1438\u1439\u143A\u143B\u143C\u143D\u143E\u143F\u1440\u1441\u1442\u1443\u1444\u1445\u1446\u1447\u1448\u1449\u144A\u144B\u144C\u144D\u144E\u144F\u1450\u1451\u1452\u1453\u1454\u1455\u1456\u1457\u1458\u1459\u145A\u145B\u145C\u145D\u145E\u145F\u1460\u1461\u1462\u1463\u1464\u1465\u1466\u1467\u1468\u1469\u146A\u146B\u146C\u146D\u146E\u146F\u1470\u1471\u1472\u1473\u1474\u1475\u1476\u1477\u1478\u1479\u147A\u147B\u147C\u147D\u147E\u147F\u1480\u1481\u1482\u1483\u1484\u1485\u1486\u1487\u1488\u1489\u148A\u148B\u148C\u148D\u148E\u148F\u1490\u1491\u1492\u1493\u1494\u1495\u1496\u1497\u1498\u1499\u149A\u149B\u149C\u149D\u149E\u149F\u14A0\u14A1\u14A2\u14A3\u14A4\u14A5\u14A6\u14A7\u14A8\u14A9\u14AA\u14AB\u14AC\u14AD\u14AE\u14AF\u14B0\u14B1\u14B2\u14B3\u14B4\u14B5\u14B6\u14B7
 \u14B8\u14B9\u14BA\u14BB\u14BC\u14BD\u14BE\u14BF\u14C0\u14C1\u14C2\u14C3\u14C4\u14C5\u14C6\u14C7\u14C8\u14C9\u14CA\u14CB\u14CC\u14CD\u14CE\u14CF\u14D0\u14D1\u14D2\u14D3\u14D4\u14D5\u14D6\u14D7\u14D8\u14D9\u14DA\u14DB\u14DC\u14DD\u14DE\u14DF\u14E0\u14E1\u14E2\u14E3\u14E4\u14E5\u14E6\u14E7\u14E8\u14E9\u14EA\u14EB\u14EC\u14ED\u14EE\u14EF\u14F0\u14F1\u14F2\u14F3\u14F4\u14F5\u14F6\u14F7\u14F8\u14F9\u14FA\u14FB\u14FC\u14FD\u14FE\u14FF\u1500\u1501\u1502\u1503\u1504\u1505\u1506\u1507\u1508\u1509\u150A\u150B\u150C\u150D\u150E\u150F\u1510\u1511\u1512\u1513\u1514\u1515\u1516\u1517\u1518\u1519\u151A\u151B\u151C\u151D\u151E\u151F\u1520\u1521\u1522\u1523\u1524\u1525\u1526\u1527\u1528\u1529\u152A\u152B\u152C\u152D\u152E\u152F\u1530\u1531\u1532\u1533\u1534\u1535\u1536\u1537\u1538\u1539\u153A\u153B\u153C\u153D\u153E\u153F\u1540\u1541\u1542\u1543\u1544\u1545\u1546\u1547\u1548\u1549\u154A\u154B\u154C\u154D\u154E\u154F\u1550\u1551\u1552\u1553\u1554\u1555\u1556\u1557\u1558\u1559\u155A\u155B\u155C\u155D\
 u155E\u155F\u1560\u1561\u1562\u1563\u1564\u1565\u1566\u1567\u1568\u1569\u156A\u156B\u156C\u156D\u156E\u156F\u1570\u1571\u1572\u1573\u1574\u1575\u1576\u1577\u1578\u1579\u157A\u157B\u157C\u157D\u157E\u157F\u1580\u1581\u1582\u1583\u1584\u1585\u1586\u1587\u1588\u1589\u158A\u158B\u158C\u158D\u158E\u158F\u1590\u1591\u1592\u1593\u1594\u1595\u1596\u1597\u1598\u1599\u159A\u159B\u159C\u159D\u159E\u159F\u15A0\u15A1\u15A2\u15A3\u15A4\u15A5\u15A6\u15A7\u15A8\u15A9\u15AA\u15AB\u15AC\u15AD\u15AE\u15AF\u15B0\u15B1\u15B2\u15B3\u15B4\u15B5\u15B6\u15B7\u15B8\u15B9\u15BA\u15BB\u15BC\u15BD\u15BE\u15BF\u15C0\u15C1\u15C2\u15C3\u15C4\u15C5\u15C6\u15C7\u15C8\u15C9\u15CA\u15CB\u15CC\u15CD\u15CE\u15CF\u15D0\u15D1\u15D2\u15D3\u15D4\u15D5\u15D6\u15D7\u15D8\u15D9\u15DA\u15DB\u15DC\u15DD\u15DE\u15DF\u15E0\u15E1\u15E2\u15E3\u15E4\u15E5\u15E6\u15E7\u15E8\u15E9\u15EA\u15EB\u15EC\u15ED\u15EE\u15EF\u15F0\u15F1\u15F2\u15F3\u15F4\u15F5\u15F6\u15F7\u15F8\u15F9\u15FA\u15FB\u15FC\u15FD\u15FE\u15FF\u1600\u1601\u1602\u1603\u
 1604\u1605\u1606\u1607\u1608\u1609\u160A\u160B\u160C\u160D\u160E\u160F\u1610\u1611\u1612\u1613\u1614\u1615\u1616\u1617\u1618\u1619\u161A\u161B\u161C\u161D\u161E\u161F\u1620\u1621\u1622\u1623\u1624\u1625\u1626\u1627\u1628\u1629\u162A\u162B\u162C\u162D\u162E\u162F\u1630\u1631\u1632\u1633\u1634\u1635\u1636\u1637\u1638\u1639\u163A\u163B\u163C\u163D\u163E\u163F\u1640\u1641\u1642\u1643\u1644\u1645\u1646\u1647\u1648\u1649\u164A\u164B\u164C\u164D\u164E\u164F\u1650\u1651\u1652\u1653\u1654\u1655\u1656\u1657\u1658\u1659\u165A\u165B\u165C\u165D\u165E\u165F\u1660\u1661\u1662\u1663\u1664\u1665\u1666\u1667\u1668\u1669\u166A\u166B\u166C\u166F\u1670\u1671\u1672\u1673\u1674\u1675\u1676\u1681\u1682\u1683\u1684\u1685\u1686\u1687\u1688\u1689\u168A\u168B\u168C\u168D\u168E\u168F\u1690\u1691\u1692\u1693\u1694\u1695\u1696\u1697\u1698\u1699\u169A\u16A0\u16A1\u16A2\u16A3\u16A4\u16A5\u16A6\u16A7\u16A8\u16A9\u16AA\u16AB\u16AC\u16AD\u16AE\u16AF\u16B0\u16B1\u16B2\u16B3\u16B4\u16B5\u16B6\u16B7\u16B8\u16B9\u16BA\u1
 6BB\u16BC\u16BD\u16BE\u16BF\u16C0\u16C1\u16C2\u16C3\u16C4\u16C5\u16C6\u16C7\u16C8\u16C9\u16CA\u16CB\u16CC\u16CD\u16CE\u16CF\u16D0\u16D1\u16D2\u16D3\u16D4\u16D5\u16D6\u16D7\u16D8\u16D9\u16DA\u16DB\u16DC\u16DD\u16DE\u16DF\u16E0\u16E1\u16E2\u16E3\u16E4\u16E5\u16E6\u16E7\u16E8\u16E9\u16EA\u1700\u1701\u1702\u1703\u1704\u1705\u1706\u1707\u1708\u1709\u170A\u170B\u170C\u170E\u170F\u1710\u1711\u1720\u1721\u1722\u1723\u1724\u1725\u1726\u1727\u1728\u1729\u172A\u172B\u172C\u172D\u172E\u172F\u1730\u1731\u1740\u1741\u1742\u1743\u1744\u1745\u1746\u1747\u1748\u1749\u174A\u174B\u174C\u174D\u174E\u174F\u1750\u1751\u1760\u1761\u1762\u1763\u1764\u1765\u1766\u1767\u1768\u1769\u176A\u176B\u176C\u176E\u176F\u1770\u1780\u1781\u1782\u1783\u1784\u1785\u1786\u1787\u1788\u1789\u178A\u178B\u178C\u178D\u178E\u178F\u1790\u1791\u1792\u1793\u1794\u1795\u1796\u1797\u1798\u1799\u179A\u179B\u179C\u179D\u179E\u179F\u17A0\u17A1\u17A2\u17A3\u17A4\u17A5\u17A6\u17A7\u17A8\u17A9\u17AA\u17AB\u17AC\u17AD\u17AE\u17AF\u17B0\u17
 B1\u17B2\u17B3\u17DC\u1820\u1821\u1822\u1823\u1824\u1825\u1826\u1827\u1828\u1829\u182A\u182B\u182C\u182D\u182E\u182F\u1830\u1831\u1832\u1833\u1834\u1835\u1836\u1837\u1838\u1839\u183A\u183B\u183C\u183D\u183E\u183F\u1840\u1841\u1842\u1844\u1845\u1846\u1847\u1848\u1849\u184A\u184B\u184C\u184D\u184E\u184F\u1850\u1851\u1852\u1853\u1854\u1855\u1856\u1857\u1858\u1859\u185A\u185B\u185C\u185D\u185E\u185F\u1860\u1861\u1862\u1863\u1864\u1865\u1866\u1867\u1868\u1869\u186A\u186B\u186C\u186D\u186E\u186F\u1870\u1871\u1872\u1873\u1874\u1875\u1876\u1877\u1880\u1881\u1882\u1883\u1884\u1885\u1886\u1887\u1888\u1889\u188A\u188B\u188C\u188D\u188E\u188F\u1890\u1891\u1892\u1893\u1894\u1895\u1896\u1897\u1898\u1899\u189A\u189B\u189C\u189D\u189E\u189F\u18A0\u18A1\u18A2\u18A3\u18A4\u18A5\u18A6\u18A7\u18A8\u18AA\u1900\u1901\u1902\u1903\u1904\u1905\u1906\u1907\u1908\u1909\u190A\u190B\u190C\u190D\u190E\u190F\u1910\u1911\u1912\u1913\u1914\u1915\u1916\u1917\u1918\u1919\u191A\u191B\u191C\u1950\u1951\u1952\u1953\u195
 4\u1955\u1956\u1957\u1958\u1959\u195A\u195B\u195C\u195D\u195E\u195F\u1960\u1961\u1962\u1963\u1964\u1965\u1966\u1967\u1968\u1969\u196A\u196B\u196C\u196D\u1970\u1971\u1972\u1973\u1974\u1980\u1981\u1982\u1983\u1984\u1985\u1986\u1987\u1988\u1989\u198A\u198B\u198C\u198D\u198E\u198F\u1990\u1991\u1992\u1993\u1994\u1995\u1996\u1997\u1998\u1999\u199A\u199B\u199C\u199D\u199E\u199F\u19A0\u19A1\u19A2\u19A3\u19A4\u19A5\u19A6\u19A7\u19A8\u19A9\u19C1\u19C2\u19C3\u19C4\u19C5\u19C6\u19C7\u1A00\u1A01\u1A02\u1A03\u1A04\u1A05\u1A06\u1A07\u1A08\u1A09\u1A0A\u1A0B\u1A0C\u1A0D\u1A0E\u1A0F\u1A10\u1A11\u1A12\u1A13\u1A14\u1A15\u1A16\u1B05\u1B06\u1B07\u1B08\u1B09\u1B0A\u1B0B\u1B0C\u1B0D\u1B0E\u1B0F\u1B10\u1B11\u1B12\u1B13\u1B14\u1B15\u1B16\u1B17\u1B18\u1B19\u1B1A\u1B1B\u1B1C\u1B1D\u1B1E\u1B1F\u1B20\u1B21\u1B22\u1B23\u1B24\u1B25\u1B26\u1B27\u1B28\u1B29\u1B2A\u1B2B\u1B2C\u1B2D\u1B2E\u1B2F\u1B30\u1B31\u1B32\u1B33\u1B45\u1B46\u1B47\u1B48\u1B49\u1B4A\u1B4B\u1B83\u1B84\u1B85\u1B86\u1B87\u1B88\u1B89\u1B8A\u1B8B\u1B8C
 \u1B8D\u1B8E\u1B8F\u1B90\u1B91\u1B92\u1B93\u1B94\u1B95\u1B96\u1B97\u1B98\u1B99\u1B9A\u1B9B\u1B9C\u1B9D\u1B9E\u1B9F\u1BA0\u1BAE\u1BAF\u1C00\u1C01\u1C02\u1C03\u1C04\u1C05\u1C06\u1C07\u1C08\u1C09\u1C0A\u1C0B\u1C0C\u1C0D\u1C0E\u1C0F\u1C10\u1C11\u1C12\u1C13\u1C14\u1C15\u1C16\u1C17\u1C18\u1C19\u1C1A\u1C1B\u1C1C\u1C1D\u1C1E\u1C1F\u1C20\u1C21\u1C22\u1C23\u1C4D\u1C4E\u1C4F\u1C5A\u1C5B\u1C5C\u1C5D\u1C5E\u1C5F\u1C60\u1C61\u1C62\u1C63\u1C64\u1C65\u1C66\u1C67\u1C68\u1C69\u1C6A\u1C6B\u1C6C\u1C6D\u1C6E\u1C6F\u1C70\u1C71\u1C72\u1C73\u1C74\u1C75\u1C76\u1C77\u2135\u2136\u2137\u2138\u2D30\u2D31\u2D32\u2D33\u2D34\u2D35\u2D36\u2D37\u2D38\u2D39\u2D3A\u2D3B\u2D3C\u2D3D\u2D3E\u2D3F\u2D40\u2D41\u2D42\u2D43\u2D44\u2D45\u2D46\u2D47\u2D48\u2D49\u2D4A\u2D4B\u2D4C\u2D4D\u2D4E\u2D4F\u2D50\u2D51\u2D52\u2D53\u2D54\u2D55\u2D56\u2D57\u2D58\u2D59\u2D5A\u2D5B\u2D5C\u2D5D\u2D5E\u2D5F\u2D60\u2D61\u2D62\u2D63\u2D64\u2D65\u2D80\u2D81\u2D82\u2D83\u2D84\u2D85\u2D86\u2D87\u2D88\u2D89\u2D8A\u2D8B\u2D8C\u2D8D\u2D8E\u2D8F\u2D90\
 u2D91\u2D92\u2D93\u2D94\u2D95\u2D96\u2DA0\u2DA1\u2DA2\u2DA3\u2DA4\u2DA5\u2DA6\u2DA8\u2DA9\u2DAA\u2DAB\u2DAC\u2DAD\u2DAE\u2DB0\u2DB1\u2DB2\u2DB3\u2DB4\u2DB5\u2DB6\u2DB8\u2DB9\u2DBA\u2DBB\u2DBC\u2DBD\u2DBE\u2DC0\u2DC1\u2DC2\u2DC3\u2DC4\u2DC5\u2DC6\u2DC8\u2DC9\u2DCA\u2DCB\u2DCC\u2DCD\u2DCE\u2DD0\u2DD1\u2DD2\u2DD3\u2DD4\u2DD5\u2DD6\u2DD8\u2DD9\u2DDA\u2DDB\u2DDC\u2DDD\u2DDE\u3006\u303C\u3041\u3042\u3043\u3044\u3045\u3046\u3047\u3048\u3049\u304A\u304B\u304C\u304D\u304E\u304F\u3050\u3051\u3052\u3053\u3054\u3055\u3056\u3057\u3058\u3059\u305A\u305B\u305C\u305D\u305E\u305F\u3060\u3061\u3062\u3063\u3064\u3065\u3066\u3067\u3068\u3069\u306A\u306B\u306C\u306D\u306E\u306F\u3070\u3071\u3072\u3073\u3074\u3075\u3076\u3077\u3078\u3079\u307A\u307B\u307C\u307D\u307E\u307F\u3080\u3081\u3082\u3083\u3084\u3085\u3086\u3087\u3088\u3089\u308A\u308B\u308C\u308D\u308E\u308F\u3090\u3091\u3092\u3093\u3094\u3095\u3096\u309F\u30A1\u30A2\u30A3\u30A4\u30A5\u30A6\u30A7\u30A8\u30A9\u30AA\u30AB\u30AC\u30AD\u30AE\u30AF\u
 30B0\u30B1\u30B2\u30B3\u30B4\u30B5\u30B6\u30B7\u30B8\u30B9\u30BA\u30BB\u30BC\u30BD\u30BE\u30BF\u30C0\u30C1\u30C2\u30C3\u30C4\u30C5\u30C6\u30C7\u30C8\u30C9\u30CA\u30CB\u30CC\u30CD\u30CE\u30CF\u30D0\u30D1\u30D2\u30D3\u30D4\u30D5\u30D6\u30D7\u30D8\u30D9\u30DA\u30DB\u30DC\u30DD\u30DE\u30DF\u30E0\u30E1\u30E2\u30E3\u30E4\u30E5\u30E6\u30E7\u30E8\u30E9\u30EA\u30EB\u30EC\u30ED\u30EE\u30EF\u30F0\u30F1\u30F2\u30F3\u30F4\u30F5\u30F6\u30F7\u30F8\u30F9\u30FA\u30FF\u3105\u3106\u3107\u3108\u3109\u310A\u310B\u310C\u310D\u310E\u310F\u3110\u3111\u3112\u3113\u3114\u3115\u3116\u3117\u3118\u3119\u311A\u311B\u311C\u311D\u311E\u311F\u3120\u3121\u3122\u3123\u3124\u3125\u3126\u3127\u3128\u3129\u312A\u312B\u312C\u312D\u3131\u3132\u3133\u3134\u3135\u3136\u3137\u3138\u3139\u313A\u313B\u313C\u313D\u313E\u313F\u3140\u3141\u3142\u3143\u3144\u3145\u3146\u3147\u3148\u3149\u314A\u314B\u314C\u314D\u314E\u314F\u3150\u3151\u3152\u3153\u3154\u3155\u3156\u3157\u3158\u3159\u315A\u315B\u315C\u315D\u315E\u315F\u3160\u3161\u3
 162\u3163\u3164\u3165\u3166\u3167\u3168\u3169\u316A\u316B\u316C\u316D\u316E\u316F\u3170\u3171\u3172\u3173\u3174\u3175\u3176\u3177\u3178\u3179\u317A\u317B\u317C\u317D\u317E\u317F\u3180\u3181\u3182\u3183\u3184\u3185\u3186\u3187\u3188\u3189\u318A\u318B\u318C\u318D\u318E\u31A0\u31A1\u31A2\u31A3\u31A4\u31A5\u31A6\u31A7\u31A8\u31A9\u31AA\u31AB\u31AC\u31AD\u31AE\u31AF\u31B0\u31B1\u31B2\u31B3\u31B4\u31B5\u31B6\u31B7\u31F0\u31F1\u31F2\u31F3\u31F4\u31F5\u31F6\u31F7\u31F8\u31F9\u31FA\u31FB\u31FC\u31FD\u31FE\u31FF\u3400\u4DB5\u4E00\u9FC3\uA000\uA001\uA002\uA003\uA004\uA005\uA006\uA007\uA008\uA009\uA00A\uA00B\uA00C\uA00D\uA00E\uA00F\uA010\uA011\uA012\uA013\uA014\uA016\uA017\uA018\uA019\uA01A\uA01B\uA01C\uA01D\uA01E\uA01F\uA020\uA021\uA022\uA023\uA024\uA025\uA026\uA027\uA028\uA029\uA02A\uA02B\uA02C\uA02D\uA02E\uA02F\uA030\uA031\uA032\uA033\uA034\uA035\uA036\uA037\uA038\uA039\uA03A\uA03B\uA03C\uA03D\uA03E\uA03F\uA040\uA041\uA042\uA043\uA044\uA045\uA046\uA047\uA048\uA049\uA04A\uA04B\uA04C\uA04D\uA0
 4E\uA04F\uA050\uA051\uA052\uA053\uA054\uA055\uA056\uA057\uA058\uA059\uA05A\uA05B\uA05C\uA05D\uA05E\uA05F\uA060\uA061\uA062\uA063\uA064\uA065\uA066\uA067\uA068\uA069\uA06A\uA06B\uA06C\uA06D\uA06E\uA06F\uA070\uA071\uA072\uA073\uA074\uA075\uA076\uA077\uA078\uA079\uA07A\uA07B\uA07C\uA07D\uA07E\uA07F\uA080\uA081\uA082\uA083\uA084\uA085\uA086\uA087\uA088\uA089\uA08A\uA08B\uA08C\uA08D\uA08E\uA08F\uA090\uA091\uA092\uA093\uA094\uA095\uA096\uA097\uA098\uA099\uA09A\uA09B\uA09C\uA09D\uA09E\uA09F\uA0A0\uA0A1\uA0A2\uA0A3\uA0A4\uA0A5\uA0A6\uA0A7\uA0A8\uA0A9\uA0AA\uA0AB\uA0AC\uA0AD\uA0AE\uA0AF\uA0B0\uA0B1\uA0B2\uA0B3\uA0B4\uA0B5\uA0B6\uA0B7\uA0B8\uA0B9\uA0BA\uA0BB\uA0BC\uA0BD\uA0BE\uA0BF\uA0C0\uA0C1\uA0C2\uA0C3\uA0C4\uA0C5\uA0C6\uA0C7\uA0C8\uA0C9\uA0CA\uA0CB\uA0CC\uA0CD\uA0CE\uA0CF\uA0D0\uA0D1\uA0D2\uA0D3\uA0D4\uA0D5\uA0D6\uA0D7\uA0D8\uA0D9\uA0DA\uA0DB\uA0DC\uA0DD\uA0DE\uA0DF\uA0E0\uA0E1\uA0E2\uA0E3\uA0E4\uA0E5\uA0E6\uA0E7\uA0E8\uA0E9\uA0EA\uA0EB\uA0EC\uA0ED\uA0EE\uA0EF\uA0F0\uA0F1\uA0F2\uA0F3\uA0F
 4\uA0F5\uA0F6\uA0F7\uA0F8\uA0F9\uA0FA\uA0FB\uA0FC\uA0FD\uA0FE\uA0FF\uA100\uA101\uA102\uA103\uA104\uA105\uA106\uA107\uA108\uA109\uA10A\uA10B\uA10C\uA10D\uA10E\uA10F\uA110\uA111\uA112\uA113\uA114\uA115\uA116\uA117\uA118\uA119\uA11A\uA11B\uA11C\uA11D\uA11E\uA11F\uA120\uA121\uA122\uA123\uA124\uA125\uA126\uA127\uA128\uA129\uA12A\uA12B\uA12C\uA12D\uA12E\uA12F\uA130\uA131\uA132\uA133\uA134\uA135\uA136\uA137\uA138\uA139\uA13A\uA13B\uA13C\uA13D\uA13E\uA13F\uA140\uA141\uA142\uA143\uA144\uA145\uA146\uA147\uA148\uA149\uA14A\uA14B\uA14C\uA14D\uA14E\uA14F\uA150\uA151\uA152\uA153\uA154\uA155\uA156\uA157\uA158\uA159\uA15A\uA15B\uA15C\uA15D\uA15E\uA15F\uA160\uA161\uA162\uA163\uA164\uA165\uA166\uA167\uA168\uA169\uA16A\uA16B\uA16C\uA16D\uA16E\uA16F\uA170\uA171\uA172\uA173\uA174\uA175\uA176\uA177\uA178\uA179\uA17A\uA17B\uA17C\uA17D\uA17E\uA17F\uA180\uA181\uA182\uA183\uA184\uA185\uA186\uA187\uA188\uA189\uA18A\uA18B\uA18C\uA18D\uA18E\uA18F\uA190\uA191\uA192\uA193\uA194\uA195\uA196\uA197\uA198\uA199\uA19A
 \uA19B\uA19C\uA19D\uA19E\uA19F\uA1A0\uA1A1\uA1A2\uA1A3\uA1A4\uA1A5\uA1A6\uA1A7\uA1A8\uA1A9\uA1AA\uA1AB\uA1AC\uA1AD\uA1AE\uA1AF\uA1B0\uA1B1\uA1B2\uA1B3\uA1B4\uA1B5\uA1B6\uA1B7\uA1B8\uA1B9\uA1BA\uA1BB\uA1BC\uA1BD\uA1BE\uA1BF\uA1C0\uA1C1\uA1C2\uA1C3\uA1C4\uA1C5\uA1C6\uA1C7\uA1C8\uA1C9\uA1CA\uA1CB\uA1CC\uA1CD\uA1CE\uA1CF\uA1D0\uA1D1\uA1D2\uA1D3\uA1D4\uA1D5\uA1D6\uA1D7\uA1D8\uA1D9\uA1DA\uA1DB\uA1DC\uA1DD\uA1DE\uA1DF\uA1E0\uA1E1\uA1E2\uA1E3\uA1E4\uA1E5\uA1E6\uA1E7\uA1E8\uA1E9\uA1EA\uA1EB\uA1EC\uA1ED\uA1EE\uA1EF\uA1F0\uA1F1\uA1F2\uA1F3\uA1F4\uA1F5\uA1F6\uA1F7\uA1F8\uA1F9\uA1FA\uA1FB\uA1FC\uA1FD\uA1FE\uA1FF\uA200\uA201\uA202\uA203\uA204\uA205\uA206\uA207\uA208\uA209\uA20A\uA20B\uA20C\uA20D\uA20E\uA20F\uA210\uA211\uA212\uA213\uA214\uA215\uA216\uA217\uA218\uA219\uA21A\uA21B\uA21C\uA21D\uA21E\uA21F\uA220\uA221\uA222\uA223\uA224\uA225\uA226\uA227\uA228\uA229\uA22A\uA22B\uA22C\uA22D\uA22E\uA22F\uA230\uA231\uA232\uA233\uA234\uA235\uA236\uA237\uA238\uA239\uA23A\uA23B\uA23C\uA23D\uA23E\uA23F\uA240\
 uA241\uA242\uA243\uA244\uA245\uA246\uA247\uA248\uA249\uA24A\uA24B\uA24C\uA24D\uA24E\uA24F\uA250\uA251\uA252\uA253\uA254\uA255\uA256\uA257\uA258\uA259\uA25A\uA25B\uA25C\uA25D\uA25E\uA25F\uA260\uA261\uA262\uA263\uA264\uA265\uA266\uA267\uA268\uA269\uA26A\uA26B\uA26C\uA26D\uA26E\uA26F\uA270\uA271\uA272\uA273\uA274\uA275\uA276\uA277\uA278\uA279\uA27A\uA27B\uA27C\uA27D\uA27E\uA27F\uA280\uA281\uA282\uA283\uA284\uA285\uA286\uA287\uA288\uA289\uA28A\uA28B\uA28C\uA28D\uA28E\uA28F\uA290\uA291\uA292\uA293\uA294\uA295\uA296\uA297\uA298\uA299\uA29A\uA29B\uA29C\uA29D\uA29E\uA29F\uA2A0\uA2A1\uA2A2\uA2A3\uA2A4\uA2A5\uA2A6\uA2A7\uA2A8\uA2A9\uA2AA\uA2AB\uA2AC\uA2AD\uA2AE\uA2AF\uA2B0\uA2B1\uA2B2\uA2B3\uA2B4\uA2B5\uA2B6\uA2B7\uA2B8\uA2B9\uA2BA\uA2BB\uA2BC\uA2BD\uA2BE\uA2BF\uA2C0\uA2C1\uA2C2\uA2C3\uA2C4\uA2C5\uA2C6\uA2C7\uA2C8\uA2C9\uA2CA\uA2CB\uA2CC\uA2CD\uA2CE\uA2CF\uA2D0\uA2D1\uA2D2\uA2D3\uA2D4\uA2D5\uA2D6\uA2D7\uA2D8\uA2D9\uA2DA\uA2DB\uA2DC\uA2DD\uA2DE\uA2DF\uA2E0\uA2E1\uA2E2\uA2E3\uA2E4\uA2E5\uA2E6\u
 A2E7\uA2E8\uA2E9\uA2EA\uA2EB\uA2EC\uA2ED\uA2EE\uA2EF\uA2F0\uA2F1\uA2F2\uA2F3\uA2F4\uA2F5\uA2F6\uA2F7\uA2F8\uA2F9\uA2FA\uA2FB\uA2FC\uA2FD\uA2FE\uA2FF\uA300\uA301\uA302\uA303\uA304\uA305\uA306\uA307\uA308\uA309\uA30A\uA30B\uA30C\uA30D\uA30E\uA30F\uA310\uA311\uA312\uA313\uA314\uA315\uA316\uA317\uA318\uA319\uA31A\uA31B\uA31C\uA31D\uA31E\uA31F\uA320\uA321\uA322\uA323\uA324\uA325\uA326\uA327\uA328\uA329\uA32A\uA32B\uA32C\uA32D\uA32E\uA32F\uA330\uA331\uA332\uA333\uA334\uA335\uA336\uA337\uA338\uA339\uA33A\uA33B\uA33C\uA33D\uA33E\uA33F\uA340\uA341\uA342\uA343\uA344\uA345\uA346\uA347\uA348\uA349\uA34A\uA34B\uA34C\uA34D\uA34E\uA34F\uA350\uA351\uA352\uA353\uA354\uA355\uA356\uA357\uA358\uA359\uA35A\uA35B\uA35C\uA35D\uA35E\uA35F\uA360\uA361\uA362\uA363\uA364\uA365\uA366\uA367\uA368\uA369\uA36A\uA36B\uA36C\uA36D\uA36E\uA36F\uA370\uA371\uA372\uA373\uA374\uA375\uA376\uA377\uA378\uA379\uA37A\uA37B\uA37C\uA37D\uA37E\uA37F\uA380\uA381\uA382\uA383\uA384\uA385\uA386\uA387\uA388\uA389\uA38A\uA38B\uA38C\uA
 38D\uA38E\uA38F\uA390\uA391\uA392\uA393\uA394\uA395\uA396\uA397\uA398\uA399\uA39A\uA39B\uA39C\uA39D\uA39E\uA39F\uA3A0\uA3A1\uA3A2\uA3A3\uA3A4\uA3A5\uA3A6\uA3A7\uA3A8\uA3A9\uA3AA\uA3AB\uA3AC\uA3AD\uA3AE\uA3AF\uA3B0\uA3B1\uA3B2\uA3B3\uA3B4\uA3B5\uA3B6\uA3B7\uA3B8\uA3B9\uA3BA\uA3BB\uA3BC\uA3BD\uA3BE\uA3BF\uA3C0\uA3C1\uA3C2\uA3C3\uA3C4\uA3C5\uA3C6\uA3C7\uA3C8\uA3C9\uA3CA\uA3CB\uA3CC\uA3CD\uA3CE\uA3CF\uA3D0\uA3D1\uA3D2\uA3D3\uA3D4\uA3D5\uA3D6\uA3D7\uA3D8\uA3D9\uA3DA\uA3DB\uA3DC\uA3DD\uA3DE\uA3DF\uA3E0\uA3E1\uA3E2\uA3E3\uA3E4\uA3E5\uA3E6\uA3E7\uA3E8\uA3E9\uA3EA\uA3EB\uA3EC\uA3ED\uA3EE\uA3EF\uA3F0\uA3F1\uA3F2\uA3F3\uA3F4\uA3F5\uA3F6\uA3F7\uA3F8\uA3F9\uA3FA\uA3FB\uA3FC\uA3FD\uA3FE\uA3FF\uA400\uA401\uA402\uA403\uA404\uA405\uA406\uA407\uA408\uA409\uA40A\uA40B\uA40C\uA40D\uA40E\uA40F\uA410\uA411\uA412\uA413\uA414\uA415\uA416\uA417\uA418\uA419\uA41A\uA41B\uA41C\uA41D\uA41E\uA41F\uA420\uA421\uA422\uA423\uA424\uA425\uA426\uA427\uA428\uA429\uA42A\uA42B\uA42C\uA42D\uA42E\uA42F\uA430\uA431\uA432\uA4
 33\uA434\uA435\uA436\uA437\uA438\uA439\uA43A\uA43B\uA43C\uA43D\uA43E\uA43F\uA440\uA441\uA442\uA443\uA444\uA445\uA446\uA447\uA448\uA449\uA44A\uA44B\uA44C\uA44D\uA44E\uA44F\uA450\uA451\uA452\uA453\uA454\uA455\uA456\uA457\uA458\uA459\uA45A\uA45B\uA45C\uA45D\uA45E\uA45F\uA460\uA461\uA462\uA463\uA464\uA465\uA466\uA467\uA468\uA469\uA46A\uA46B\uA46C\uA46D\uA46E\uA46F\uA470\uA471\uA472\uA473\uA474\uA475\uA476\uA477\uA478\uA479\uA47A\uA47B\uA47C\uA47D\uA47E\uA47F\uA480\uA481\uA482\uA483\uA484\uA485\uA486\uA487\uA488\uA489\uA48A\uA48B\uA48C\uA500\uA501\uA502\uA503\uA504\uA505\uA506\uA507\uA508\uA509\uA50A\uA50B\uA50C\uA50D\uA50E\uA50F\uA510\uA511\uA512\uA513\uA514\uA515\uA516\uA517\uA518\uA519\uA51A\uA51B\uA51C\uA51D\uA51E\uA51F\uA520\uA521\uA522\uA523\uA524\uA525\uA526\uA527\uA528\uA529\uA52A\uA52B\uA52C\uA52D\uA52E\uA52F\uA530\uA531\uA532\uA533\uA534\uA535\uA536\uA537\uA538\uA539\uA53A\uA53B\uA53C\uA53D\uA53E\uA53F\uA540\uA541\uA542\uA543\uA544\uA545\uA546\uA547\uA548\uA549\uA54A\uA54B\uA54
 C\uA54D\uA54E\uA54F\uA550\uA551\uA552\uA553\uA554\uA555\uA556\uA557\uA558\uA559\uA55A\uA55B\uA55C\uA55D\uA55E\uA55F\uA560\uA561\uA562\uA563\uA564\uA565\uA566\uA567\uA568\uA569\uA56A\uA56B\uA56C\uA56D\uA56E\uA56F\uA570\uA571\uA572\uA573\uA574\uA575\uA576\uA577\uA578\uA579\uA57A\uA57B\uA57C\uA57D\uA57E\uA57F\uA580\uA581\uA582\uA583\uA584\uA585\uA586\uA587\uA588\uA589\uA58A\uA58B\uA58C\uA58D\uA58E\uA58F\uA590\uA591\uA592\uA593\uA594\uA595\uA596\uA597\uA598\uA599\uA59A\uA59B\uA59C\uA59D\uA59E\uA59F\uA5A0\uA5A1\uA5A2\uA5A3\uA5A4\uA5A5\uA5A6\uA5A7\uA5A8\uA5A9\uA5AA\uA5AB\uA5AC\uA5AD\uA5AE\uA5AF\uA5B0\uA5B1\uA5B2\uA5B3\uA5B4\uA5B5\uA5B6\uA5B7\uA5B8\uA5B9\uA5BA\uA5BB\uA5BC\uA5BD\uA5BE\uA5BF\uA5C0\uA5C1\uA5C2\uA5C3\uA5C4\uA5C5\uA5C6\uA5C7\uA5C8\uA5C9\uA5CA\uA5CB\uA5CC\uA5CD\uA5CE\uA5CF\uA5D0\uA5D1\uA5D2\uA5D3\uA5D4\uA5D5\uA5D6\uA5D7\uA5D8\uA5D9\uA5DA\uA5DB\uA5DC\uA5DD\uA5DE\uA5DF\uA5E0\uA5E1\uA5E2\uA5E3\uA5E4\uA5E5\uA5E6\uA5E7\uA5E8\uA5E9\uA5EA\uA5EB\uA5EC\uA5ED\uA5EE\uA5EF\uA5F0\uA5F1\uA5F2
 \uA5F3\uA5F4\uA5F5\uA5F6\uA5F7\uA5F8\uA5F9\uA5FA\uA5FB\uA5FC\uA5FD\uA5FE\uA5FF\uA600\uA601\uA602\uA603\uA604\uA605\uA606\uA607\uA608\uA609\uA60A\uA60B\uA610\uA611\uA612\uA613\uA614\uA615\uA616\uA617\uA618\uA619\uA61A\uA61B\uA61C\uA61D\uA61E\uA61F\uA62A\uA62B\uA66E\uA7FB\uA7FC\uA7FD\uA7FE\uA7FF\uA800\uA801\uA803\uA804\uA805\uA807\uA808\uA809\uA80A\uA80C\uA80D\uA80E\uA80F\uA810\uA811\uA812\uA813\uA814\uA815\uA816\uA817\uA818\uA819\uA81A\uA81B\uA81C\uA81D\uA81E\uA81F\uA820\uA821\uA822\uA840\uA841\uA842\uA843\uA844\uA845\uA846\uA847\uA848\uA849\uA84A\uA84B\uA84C\uA84D\uA84E\uA84F\uA850\uA851\uA852\uA853\uA854\uA855\uA856\uA857\uA858\uA859\uA85A\uA85B\uA85C\uA85D\uA85E\uA85F\uA860\uA861\uA862\uA863\uA864\uA865\uA866\uA867\uA868\uA869\uA86A\uA86B\uA86C\uA86D\uA86E\uA86F\uA870\uA871\uA872\uA873\uA882\uA883\uA884\uA885\uA886\uA887\uA888\uA889\uA88A\uA88B\uA88C\uA88D\uA88E\uA88F\uA890\uA891\uA892\uA893\uA894\uA895\uA896\uA897\uA898\uA899\uA89A\uA89B\uA89C\uA89D\uA89E\uA89F\uA8A0\uA8A1\uA8A2\
 uA8A3\uA8A4\uA8A5\uA8A6\uA8A7\uA8A8\uA8A9\uA8AA\uA8AB\uA8AC\uA8AD\uA8AE\uA8AF\uA8B0\uA8B1\uA8B2\uA8B3\uA90A\uA90B\uA90C\uA90D\uA90E\uA90F\uA910\uA911\uA912\uA913\uA914\uA915\uA916\uA917\uA918\uA919\uA91A\uA91B\uA91C\uA91D\uA91E\uA91F\uA920\uA921\uA922\uA923\uA924\uA925\uA930\uA931\uA932\uA933\uA934\uA935\uA936\uA937\uA938\uA939\uA93A\uA93B\uA93C\uA93D\uA93E\uA93F\uA940\uA941\uA942\uA943\uA944\uA945\uA946\uAA00\uAA01\uAA02\uAA03\uAA04\uAA05\uAA06\uAA07\uAA08\uAA09\uAA0A\uAA0B\uAA0C\uAA0D\uAA0E\uAA0F\uAA10\uAA11\uAA12\uAA13\uAA14\uAA15\uAA16\uAA17\uAA18\uAA19\uAA1A\uAA1B\uAA1C\uAA1D\uAA1E\uAA1F\uAA20\uAA21\uAA22\uAA23\uAA24\uAA25\uAA26\uAA27\uAA28\uAA40\uAA41\uAA42\uAA44\uAA45\uAA46\uAA47\uAA48\uAA49\uAA4A\uAA4B\uAC00\uD7A3\uF900\uF901\uF902\uF903\uF904\uF905\uF906\uF907\uF908\uF909\uF90A\uF90B\uF90C\uF90D\uF90E\uF90F\uF910\uF911\uF912\uF913\uF914\uF915\uF916\uF917\uF918\uF919\uF91A\uF91B\uF91C\uF91D\uF91E\uF91F\uF920\uF921\uF922\uF923\uF924\uF925\uF926\uF927\uF928\uF929\uF92A\uF92B\u
 F92C\uF92D\uF92E\uF92F\uF930\uF931\uF932\uF933\uF934\uF935\uF936\uF937\uF938\uF939\uF93A\uF93B\uF93C\uF93D\uF93E\uF93F\uF940\uF941\uF942\uF943\uF944\uF945\uF946\uF947\uF948\uF949\uF94A\uF94B\uF94C\uF94D\uF94E\uF94F\uF950\uF951\uF952\uF953\uF954\uF955\uF956\uF957\uF958\uF959\uF95A\uF95B\uF95C\uF95D\uF95E\uF95F\uF960\uF961\uF962\uF963\uF964\uF965\uF966\uF967\uF968\uF969\uF96A\uF96B\uF96C\uF96D\uF96E\uF96F\uF970\uF971\uF972\uF973\uF974\uF975\uF976\uF977\uF978\uF979\uF97A\uF97B\uF97C\uF97D\uF97E\uF97F\uF980\uF981\uF982\uF983\uF984\uF985\uF986\uF987\uF988\uF989\uF98A\uF98B\uF98C\uF98D\uF98E\uF98F\uF990\uF991\uF992\uF993\uF994\uF995\uF996\uF997\uF998\uF999\uF99A\uF99B\uF99C\uF99D\uF99E\uF99F\uF9A0\uF9A1\uF9A2\uF9A3\uF9A4\uF9A5\uF9A6\uF9A7\uF9A8\uF9A9\uF9AA\uF9AB\uF9AC\uF9AD\uF9AE\uF9AF\uF9B0\uF9B1\uF9B2\uF9B3\uF9B4\uF9B5\uF9B6\uF9B7\uF9B8\uF9B9\uF9BA\uF9BB\uF9BC\uF9BD\uF9BE\uF9BF\uF9C0\uF9C1\uF9C2\uF9C3\uF9C4\uF9C5\uF9C6\uF9C7\uF9C8\uF9C9\uF9CA\uF9CB\uF9CC\uF9CD\uF9CE\uF9CF\uF9D0\uF9D1\uF
 9D2\uF9D3\uF9D4\uF9D5\uF9D6\uF9D7\uF9D8\uF9D9\uF9DA\uF9DB\uF9DC\uF9DD\uF9DE\uF9DF\uF9E0\uF9E1\uF9E2\uF9E3\uF9E4\uF9E5\uF9E6\uF9E7\uF9E8\uF9E9\uF9EA\uF9EB\uF9EC\uF9ED\uF9EE\uF9EF\uF9F0\uF9F1\uF9F2\uF9F3\uF9F4\uF9F5\uF9F6\uF9F7\uF9F8\uF9F9\uF9FA\uF9FB\uF9FC\uF9FD\uF9FE\uF9FF\uFA00\uFA01\uFA02\uFA03\uFA04\uFA05\uFA06\uFA07\uFA08\uFA09\uFA0A\uFA0B\uFA0C\uFA0D\uFA0E\uFA0F\uFA10\uFA11\uFA12\uFA13\uFA14\uFA15\uFA16\uFA17\uFA18\uFA19\uFA1A\uFA1B\uFA1C\uFA1D\uFA1E\uFA1F\uFA20\uFA21\uFA22\uFA23\uFA24\uFA25\uFA26\uFA27\uFA28\uFA29\uFA2A\uFA2B\uFA2C\uFA2D\uFA30\uFA31\uFA32\uFA33\uFA34\uFA35\uFA36\uFA37\uFA38\uFA39\uFA3A\uFA3B\uFA3C\uFA3D\uFA3E\uFA3F\uFA40\uFA41\uFA42\uFA43\uFA44\uFA45\uFA46\uFA47\uFA48\uFA49\uFA4A\uFA4B\uFA4C\uFA4D\uFA4E\uFA4F\uFA50\uFA51\uFA52\uFA53\uFA54\uFA55\uFA56\uFA57\uFA58\uFA59\uFA5A\uFA5B\uFA5C\uFA5D\uFA5E\uFA5F\uFA60\uFA61\uFA62\uFA63\uFA64\uFA65\uFA66\uFA67\uFA68\uFA69\uFA6A\uFA70\uFA71\uFA72\uFA73\uFA74\uFA75\uFA76\uFA77\uFA78\uFA79\uFA7A\uFA7B\uFA7C\uFA7D\uFA7E\uFA
 7F\uFA80\uFA81\uFA82\uFA83\uFA84\uFA85\uFA86\uFA87\uFA88\uFA89\uFA8A\uFA8B\uFA8C\uFA8D\uFA8E\uFA8F\uFA90\uFA91\uFA92\uFA93\uFA94\uFA95\uFA96\uFA97\uFA98\uFA99\uFA9A\uFA9B\uFA9C\uFA9D\uFA9E\uFA9F\uFAA0\uFAA1\uFAA2\uFAA3\uFAA4\uFAA5\uFAA6\uFAA7\uFAA8\uFAA9\uFAAA\uFAAB\uFAAC\uFAAD\uFAAE\uFAAF\uFAB0\uFAB1\uFAB2\uFAB3\uFAB4\uFAB5\uFAB6\uFAB7\uFAB8\uFAB9\uFABA\uFABB\uFABC\uFABD\uFABE\uFABF\uFAC0\uFAC1\uFAC2\uFAC3\uFAC4\uFAC5\uFAC6\uFAC7\uFAC8\uFAC9\uFACA\uFACB\uFACC\uFACD\uFACE\uFACF\uFAD0\uFAD1\uFAD2\uFAD3\uFAD4\uFAD5\uFAD6\uFAD7\uFAD8\uFAD9\uFB1D\uFB1F\uFB20\uFB21\uFB22\uFB23\uFB24\uFB25\uFB26\uFB27\uFB28\uFB2A\uFB2B\uFB2C\uFB2D\uFB2E\uFB2F\uFB30\uFB31\uFB32\uFB33\uFB34\uFB35\uFB36\uFB38\uFB39\uFB3A\uFB3B\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46\uFB47\uFB48\uFB49\uFB4A\uFB4B\uFB4C\uFB4D\uFB4E\uFB4F\uFB50\uFB51\uFB52\uFB53\uFB54\uFB55\uFB56\uFB57\uFB58\uFB59\uFB5A\uFB5B\uFB5C\uFB5D\uFB5E\uFB5F\uFB60\uFB61\uFB62\uFB63\uFB64\uFB65\uFB66\uFB67\uFB68\uFB69\uFB6A\uFB6B\uFB6C\uFB6D\uFB6E\uFB6
 F\uFB70\uFB71\uFB72\uFB73\uFB74\uFB75\uFB76\uFB77\uFB78\uFB79\uFB7A\uFB7B\uFB7C\uFB7D\uFB7E\uFB7F\uFB80\uFB81\uFB82\uFB83\uFB84\uFB85\uFB86\uFB87\uFB88\uFB89\uFB8A\uFB8B\uFB8C\uFB8D\uFB8E\uFB8F\uFB90\uFB91\uFB92\uFB93\uFB94\uFB95\uFB96\uFB97\uFB98\uFB99\uFB9A\uFB9B\uFB9C\uFB9D\uFB9E\uFB9F\uFBA0\uFBA1\uFBA2\uFBA3\uFBA4\uFBA5\uFBA6\uFBA7\uFBA8\uFBA9\uFBAA\uFBAB\uFBAC\uFBAD\uFBAE\uFBAF\uFBB0\uFBB1\uFBD3\uFBD4\uFBD5\uFBD6\uFBD7\uFBD8\uFBD9\uFBDA\uFBDB\uFBDC\uFBDD\uFBDE\uFBDF\uFBE0\uFBE1\uFBE2\uFBE3\uFBE4\uFBE5\uFBE6\uFBE7\uFBE8\uFBE9\uFBEA\uFBEB\uFBEC\uFBED\uFBEE\uFBEF\uFBF0\uFBF1\uFBF2\uFBF3\uFBF4\uFBF5\uFBF6\uFBF7\uFBF8\uFBF9\uFBFA\uFBFB\uFBFC\uFBFD\uFBFE\uFBFF\uFC00\uFC01\uFC02\uFC03\uFC04\uFC05\uFC06\uFC07\uFC08\uFC09\uFC0A\uFC0B\uFC0C\uFC0D\uFC0E\uFC0F\uFC10\uFC11\uFC12\uFC13\uFC14\uFC15\uFC16\uFC17\uFC18\uFC19\uFC1A\uFC1B\uFC1C\uFC1D\uFC1E\uFC1F\uFC20\uFC21\uFC22\uFC23\uFC24\uFC25\uFC26\uFC27\uFC28\uFC29\uFC2A\uFC2B\uFC2C\uFC2D\uFC2E\uFC2F\uFC30\uFC31\uFC32\uFC33\uFC34\uFC35\uFC36
 \uFC37\uFC38\uFC39\uFC3A\uFC3B\uFC3C\uFC3D\uFC3E\uFC3F\uFC40\uFC41\uFC42\uFC43\uFC44\uFC45\uFC46\uFC47\uFC48\uFC49\uFC4A\uFC4B\uFC4C\uFC4D\uFC4E\uFC4F\uFC50\uFC51\uFC52\uFC53\uFC54\uFC55\uFC56\uFC57\uFC58\uFC59\uFC5A\uFC5B\uFC5C\uFC5D\uFC5E\uFC5F\uFC60\uFC61\uFC62\uFC63\uFC64\uFC65\uFC66\uFC67\uFC68\uFC69\uFC6A\uFC6B\uFC6C\uFC6D\uFC6E\uFC6F\uFC70\uFC71\uFC72\uFC73\uFC74\uFC75\uFC76\uFC77\uFC78\uFC79\uFC7A\uFC7B\uFC7C\uFC7D\uFC7E\uFC7F\uFC80\uFC81\uFC82\uFC83\uFC84\uFC85\uFC86\uFC87\uFC88\uFC89\uFC8A\uFC8B\uFC8C\uFC8D\uFC8E\uFC8F\uFC90\uFC91\uFC92\uFC93\uFC94\uFC95\uFC96\uFC97\uFC98\uFC99\uFC9A\uFC9B\uFC9C\uFC9D\uFC9E\uFC9F\uFCA0\uFCA1\uFCA2\uFCA3\uFCA4\uFCA5\uFCA6\uFCA7\uFCA8\uFCA9\uFCAA\uFCAB\uFCAC\uFCAD\uFCAE\uFCAF\uFCB0\uFCB1\uFCB2\uFCB3\uFCB4\uFCB5\uFCB6\uFCB7\uFCB8\uFCB9\uFCBA\uFCBB\uFCBC\uFCBD\uFCBE\uFCBF\uFCC0\uFCC1\uFCC2\uFCC3\uFCC4\uFCC5\uFCC6\uFCC7\uFCC8\uFCC9\uFCCA\uFCCB\uFCCC\uFCCD\uFCCE\uFCCF\uFCD0\uFCD1\uFCD2\uFCD3\uFCD4\uFCD5\uFCD6\uFCD7\uFCD8\uFCD9\uFCDA\uFCDB\uFCDC\
 uFCDD\uFCDE\uFCDF\uFCE0\uFCE1\uFCE2\uFCE3\uFCE4\uFCE5\uFCE6\uFCE7\uFCE8\uFCE9\uFCEA\uFCEB\uFCEC\uFCED\uFCEE\uFCEF\uFCF0\uFCF1\uFCF2\uFCF3\uFCF4\uFCF5\uFCF6\uFCF7\uFCF8\uFCF9\uFCFA\uFCFB\uFCFC\uFCFD\uFCFE\uFCFF\uFD00\uFD01\uFD02\uFD03\uFD04\uFD05\uFD06\uFD07\uFD08\uFD09\uFD0A\uFD0B\uFD0C\uFD0D\uFD0E\uFD0F\uFD10\uFD11\uFD12\uFD13\uFD14\uFD15\uFD16\uFD17\uFD18\uFD19\uFD1A\uFD1B\uFD1C\uFD1D\uFD1E\uFD1F\uFD20\uFD21\uFD22\uFD23\uFD24\uFD25\uFD26\uFD27\uFD28\uFD29\uFD2A\uFD2B\uFD2C\uFD2D\uFD2E\uFD2F\uFD30\uFD31\uFD32\uFD33\uFD34\uFD35\uFD36\uFD37\uFD38\uFD39\uFD3A\uFD3B\uFD3C\uFD3D\uFD50\uFD51\uFD52\uFD53\uFD54\uFD55\uFD56\uFD57\uFD58\uFD59\uFD5A\uFD5B\uFD5C\uFD5D\uFD5E\uFD5F\uFD60\uFD61\uFD62\uFD63\uFD64\uFD65\uFD66\uFD67\uFD68\uFD69\uFD6A\uFD6B\uFD6C\uFD6D\uFD6E\uFD6F\uFD70\uFD71\uFD72\uFD73\uFD74\uFD75\uFD76\uFD77\uFD78\uFD79\uFD7A\uFD7B\uFD7C\uFD7D\uFD7E\uFD7F\uFD80\uFD81\uFD82\uFD83\uFD84\uFD85\uFD86\uFD87\uFD88\uFD89\uFD8A\uFD8B\uFD8C\uFD8D\uFD8E\uFD8F\uFD92\uFD93\uFD94\uFD95\uFD96\u
 FD97\uFD98\uFD99\uFD9A\uFD9B\uFD9C\uFD9D\uFD9E\uFD9F\uFDA0\uFDA1\uFDA2\uFDA3\uFDA4\uFDA5\uFDA6\uFDA7\uFDA8\uFDA9\uFDAA\uFDAB\uFDAC\uFDAD\uFDAE\uFDAF\uFDB0\uFDB1\uFDB2\uFDB3\uFDB4\uFDB5\uFDB6\uFDB7\uFDB8\uFDB9\uFDBA\uFDBB\uFDBC\uFDBD\uFDBE\uFDBF\uFDC0\uFDC1\uFDC2\uFDC3\uFDC4\uFDC5\uFDC6\uFDC7\uFDF0\uFDF1\uFDF2\uFDF3\uFDF4\uFDF5\uFDF6\uFDF7\uFDF8\uFDF9\uFDFA\uFDFB\uFE70\uFE71\uFE72\uFE73\uFE74\uFE76\uFE77\uFE78\uFE79\uFE7A\uFE7B\uFE7C\uFE7D\uFE7E\uFE7F\uFE80\uFE81\uFE82\uFE83\uFE84\uFE85\uFE86\uFE87\uFE88\uFE89\uFE8A\uFE8B\uFE8C\uFE8D\uFE8E\uFE8F\uFE90\uFE91\uFE92\uFE93\uFE94\uFE95\uFE96\uFE97\uFE98\uFE99\uFE9A\uFE9B\uFE9C\uFE9D\uFE9E\uFE9F\uFEA0\uFEA1\uFEA2\uFEA3\uFEA4\uFEA5\uFEA6\uFEA7\uFEA8\uFEA9\uFEAA\uFEAB\uFEAC\uFEAD\uFEAE\uFEAF\uFEB0\uFEB1\uFEB2\uFEB3\uFEB4\uFEB5\uFEB6\uFEB7\uFEB8\uFEB9\uFEBA\uFEBB\uFEBC\uFEBD\uFEBE\uFEBF\uFEC0\uFEC1\uFEC2\uFEC3\uFEC4\uFEC5\uFEC6\uFEC7\uFEC8\uFEC9\uFECA\uFECB\uFECC\uFECD\uFECE\uFECF\uFED0\uFED1\uFED2\uFED3\uFED4\uFED5\uFED6\uFED7\uFED8\uFED9\uF
 EDA\uFEDB\uFEDC\uFEDD\uFEDE\uFEDF\uFEE0\uFEE1\uFEE2\uFEE3\uFEE4\uFEE5\uFEE6\uFEE7\uFEE8\uFEE9\uFEEA\uFEEB\uFEEC\uFEED\uFEEE\uFEEF\uFEF0\uFEF1\uFEF2\uFEF3\uFEF4\uFEF5\uFEF6\uFEF7\uFEF8\uFEF9\uFEFA\uFEFB\uFEFC\uFF66\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C\uFF6D\uFF6E\uFF6F\uFF71\uFF72\uFF73\uFF74\uFF75\uFF76\uFF77\uFF78\uFF79\uFF7A\uFF7B\uFF7C\uFF7D\uFF7E\uFF7F\uFF80\uFF81\uFF82\uFF83\uFF84\uFF85\uFF86\uFF87\uFF88\uFF89\uFF8A\uFF8B\uFF8C\uFF8D\uFF8E\uFF8F\uFF90\uFF91\uFF92\uFF93\uFF94\uFF95\uFF96\uFF97\uFF98\uFF99\uFF9A\uFF9B\uFF9C\uFF9D\uFFA0\uFFA1\uFFA2\uFFA3\uFFA4\uFFA5\uFFA6\uFFA7\uFFA8\uFFA9\uFFAA\uFFAB\uFFAC\uFFAD\uFFAE\uFFAF\uFFB0\uFFB1\uFFB2\uFFB3\uFFB4\uFFB5\uFFB6\uFFB7\uFFB8\uFFB9\uFFBA\uFFBB\uFFBC\uFFBD\uFFBE\uFFC2\uFFC3\uFFC4\uFFC5\uFFC6\uFFC7\uFFCA\uFFCB\uFFCC\uFFCD\uFFCE\uFFCF\uFFD2\uFFD3\uFFD4\uFFD5\uFFD6\uFFD7\uFFDA\uFFDB\uFFDC]
+Lo = [\u00AA\u00BA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05F0-\u05F2\u0620-\u063F\u0641-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\
 u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E45\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10D0-\u10FA\u10FD-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1877\u1880-\u18A8\u18AA\u18B0-
 \u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A-\uA62B\uA66E\uA6A0-\uA6E5\uA78F\uA7F7\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9E0-\uA9E4\uA9E7-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uA
 B0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]
 
 // Letter, Titlecase
-Lt = [\u01C5\u01C8\u01CB\u01F2\u1F88\u1F89\u1F8A\u1F8B\u1F8C\u1F8D\u1F8E\u1F8F\u1F98\u1F99\u1F9A\u1F9B\u1F9C\u1F9D\u1F9E\u1F9F\u1FA8\u1FA9\u1FAA\u1FAB\u1FAC\u1FAD\u1FAE\u1FAF\u1FBC\u1FCC\u1FFC]
+Lt = [\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC]
 
 // Letter, Uppercase
-Lu = [\u0041\u0042\u0043\u0044\u0045\u0046\u0047\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057\u0058\u0059\u005A\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189\u018A\u018B\u018E\u018F\u0190\u0191\u0193\u0194\u0196\u0197\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1\u01B2\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\
 u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6\u01F7\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243\u0244\u0245\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u0386\u0388\u0389\u038A\u038C\u038E\u038F\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03CF\u03D2\u03D3\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD\u03FE\u03FF\u0400\u0401\u0402\u0403\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\u040D\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0460\u0462\u
 0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0531\u0532\u0533\u0534\u0535\u0536\u0537\u0538\u0539\u053A\u053B\u053C\u053D\u053E\u053F\u0540\u0541\u0542\u0543\u0544\u0545\u0546\u0547\u0548\u0549\u054A\u054B\u054C\u054D\u054E\u054F\u0550\u0551\u0552\u0553\u0554\u0555\u0556\u10A0\u10A1\u10A2\u10A3\u10A4\u10A5\u10A6\u10A7\u10A8\u10A9\u10AA\u10AB\u10AC\u10AD\u10AE\u10AF\u10B0\u10B1\u10B2\u10B3\u10B4\u10B5\u10B6\u10B7\u10B8\u10B9\u10BA\u10BB\u10BC\u10BD\u10BE\u10BF\u10C0\u10C1\u10C2\u10C3\u1
 0C4\u10C5\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08\u1F09\u1F0A\u1F0B\u1F0C\u1F0D\u1F0E\u1F0F\u1F18\u1F19\u1F1A\u1F1B\u1F1C\u1F1D\u1F28\u1F29\u1F2A\u1F2B\u1F2C\u1F2D\u1F2E\u1F2F\u1F38\u1F39\u1F3A\u1F3B\u1F3C\u1F3D\u1F3E\u1F3F\u1F48\u1F49\u1F4A\u1F4B\u1F4C\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F
 68\u1F69\u1F6A\u1F6B\u1F6C\u1F6D\u1F6E\u1F6F\u1FB8\u1FB9\u1FBA\u1FBB\u1FC8\u1FC9\u1FCA\u1FCB\u1FD8\u1FD9\u1FDA\u1FDB\u1FE8\u1FE9\u1FEA\u1FEB\u1FEC\u1FF8\u1FF9\u1FFA\u1FFB\u2102\u2107\u210B\u210C\u210D\u2110\u2111\u2112\u2115\u2119\u211A\u211B\u211C\u211D\u2124\u2126\u2128\u212A\u212B\u212C\u212D\u2130\u2131\u2132\u2133\u213E\u213F\u2145\u2183\u2C00\u2C01\u2C02\u2C03\u2C04\u2C05\u2C06\u2C07\u2C08\u2C09\u2C0A\u2C0B\u2C0C\u2C0D\u2C0E\u2C0F\u2C10\u2C11\u2C12\u2C13\u2C14\u2C15\u2C16\u2C17\u2C18\u2C19\u2C1A\u2C1B\u2C1C\u2C1D\u2C1E\u2C1F\u2C20\u2C21\u2C22\u2C23\u2C24\u2C25\u2C26\u2C27\u2C28\u2C29\u2C2A\u2C2B\u2C2C\u2C2D\u2C2E\u2C60\u2C62\u2C63\u2C64\u2C67\u2C69\u2C6B\u2C6D\u2C6E\u2C6F\u2C72\u2C75\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE
 2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uFF21\uFF22\uFF23\uFF24\uFF25\uFF26\uFF27\uFF28\uFF29\uFF2A\uFF2B\uFF2C\uFF2D\uFF2E\uFF2F\uFF30\uFF31\uFF32\uFF33\uFF34\uFF35\uFF36\uFF37\uFF38\uFF39\uFF3A]
+Lu = [\u0041-\u005A\u00C0-\u00D6\u00D8-\u00DE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178-\u0179\u017B\u017D\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018B\u018E-\u0191\u0193-\u0194\u0196-\u0198\u019C-\u019D\u019F-\u01A0\u01A2\u01A4\u01A6-\u01A7\u01A9\u01AC\u01AE-\u01AF\u01B1-\u01B3\u01B5\u01B7-\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A-\u023B\u023D-\u023E\u0241\u0243-\u0246\u0248\u024
 A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E-\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9-\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0-\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\
 u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E-\u213F\u2145\u2183\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75
 \u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D-\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AD\uA7B0-\uA7B4\uA7B6\uFF21-\uFF3A]
 
 // Mark, Spacing Combining
-Mc = [\u0903\u093E\u093F\u0940\u0949\u094A\u094B\u094C\u0982\u0983\u09BE\u09BF\u09C0\u09C7\u09C8\u09CB\u09CC\u09D7\u0A03\u0A3E\u0A3F\u0A40\u0A83\u0ABE\u0ABF\u0AC0\u0AC9\u0ACB\u0ACC\u0B02\u0B03\u0B3E\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0B57\u0BBE\u0BBF\u0BC1\u0BC2\u0BC6\u0BC7\u0BC8\u0BCA\u0BCB\u0BCC\u0BD7\u0C01\u0C02\u0C03\u0C41\u0C42\u0C43\u0C44\u0C82\u0C83\u0CBE\u0CC0\u0CC1\u0CC2\u0CC3\u0CC4\u0CC7\u0CC8\u0CCA\u0CCB\u0CD5\u0CD6\u0D02\u0D03\u0D3E\u0D3F\u0D40\u0D46\u0D47\u0D48\u0D4A\u0D4B\u0D4C\u0D57\u0D82\u0D83\u0DCF\u0DD0\u0DD1\u0DD8\u0DD9\u0DDA\u0DDB\u0DDC\u0DDD\u0DDE\u0DDF\u0DF2\u0DF3\u0F3E\u0F3F\u0F7F\u102B\u102C\u1031\u1038\u103B\u103C\u1056\u1057\u1062\u1063\u1064\u1067\u1068\u1069\u106A\u106B\u106C\u106D\u1083\u1084\u1087\u1088\u1089\u108A\u108B\u108C\u108F\u17B6\u17BE\u17BF\u17C0\u17C1\u17C2\u17C3\u17C4\u17C5\u17C7\u17C8\u1923\u1924\u1925\u1926\u1929\u192A\u192B\u1930\u1931\u1933\u1934\u1935\u1936\u1937\u1938\u19B0\u19B1\u19B2\u19B3\u19B4\u19B5\u19B6\u19B7\u19B8\u19B9\u19BA\u19BB\
 u19BC\u19BD\u19BE\u19BF\u19C0\u19C8\u19C9\u1A19\u1A1A\u1A1B\u1B04\u1B35\u1B3B\u1B3D\u1B3E\u1B3F\u1B40\u1B41\u1B43\u1B44\u1B82\u1BA1\u1BA6\u1BA7\u1BAA\u1C24\u1C25\u1C26\u1C27\u1C28\u1C29\u1C2A\u1C2B\u1C34\u1C35\uA823\uA824\uA827\uA880\uA881\uA8B4\uA8B5\uA8B6\uA8B7\uA8B8\uA8B9\uA8BA\uA8BB\uA8BC\uA8BD\uA8BE\uA8BF\uA8C0\uA8C1\uA8C2\uA8C3\uA952\uA953\uAA2F\uAA30\uAA33\uAA34\uAA4D]
+Mc = [\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E-\u094F\u0982-\u0983\u09BE-\u09C0\u09C7-\u09C8\u09CB-\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB-\u0ACC\u0B02-\u0B03\u0B3E\u0B40\u0B47-\u0B48\u0B4B-\u0B4C\u0B57\u0BBE-\u0BBF\u0BC1-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03\u0C41-\u0C44\u0C82-\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7-\u0CC8\u0CCA-\u0CCB\u0CD5-\u0CD6\u0D02-\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57\u0D82-\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2-\u0DF3\u0F3E-\u0F3F\u0F7F\u102B-\u102C\u1031\u1038\u103B-\u103C\u1056-\u1057\u1062-\u1064\u1067-\u106D\u1083-\u1084\u1087-\u108C\u108F\u109A-\u109C\u17B6\u17BE-\u17C5\u17C7-\u17C8\u1923-\u1926\u1929-\u192B\u1930-\u1931\u1933-\u1938\u1A19-\u1A1A\u1A55\u1A57\u1A61\u1A63-\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43-\u1B44\u1B82\u1BA1\u1BA6-\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2-\u1BF3\u1C24-\u1C2B\u1C34-\u1C35\u1CE1\u1CF2-\u1CF3\u302E-\u302F\uA823-\uA824\uA827\uA880-\uA881\uA8B4-\uA8C3\uA95
 2-\uA953\uA983\uA9B4-\uA9B5\uA9BA-\uA9BB\uA9BD-\uA9C0\uAA2F-\uAA30\uAA33-\uAA34\uAA4D\uAA7B\uAA7D\uAAEB\uAAEE-\uAAEF\uAAF5\uABE3-\uABE4\uABE6-\uABE7\uABE9-\uABEA\uABEC]
 
 // Mark, Nonspacing
-Mn = [\u0300\u0301\u0302\u0303\u0304\u0305\u0306\u0307\u0308\u0309\u030A\u030B\u030C\u030D\u030E\u030F\u0310\u0311\u0312\u0313\u0314\u0315\u0316\u0317\u0318\u0319\u031A\u031B\u031C\u031D\u031E\u031F\u0320\u0321\u0322\u0323\u0324\u0325\u0326\u0327\u0328\u0329\u032A\u032B\u032C\u032D\u032E\u032F\u0330\u0331\u0332\u0333\u0334\u0335\u0336\u0337\u0338\u0339\u033A\u033B\u033C\u033D\u033E\u033F\u0340\u0341\u0342\u0343\u0344\u0345\u0346\u0347\u0348\u0349\u034A\u034B\u034C\u034D\u034E\u034F\u0350\u0351\u0352\u0353\u0354\u0355\u0356\u0357\u0358\u0359\u035A\u035B\u035C\u035D\u035E\u035F\u0360\u0361\u0362\u0363\u0364\u0365\u0366\u0367\u0368\u0369\u036A\u036B\u036C\u036D\u036E\u036F\u0483\u0484\u0485\u0486\u0487\u0591\u0592\u0593\u0594\u0595\u0596\u0597\u0598\u0599\u059A\u059B\u059C\u059D\u059E\u059F\u05A0\u05A1\u05A2\u05A3\u05A4\u05A5\u05A6\u05A7\u05A8\u05A9\u05AA\u05AB\u05AC\u05AD\u05AE\u05AF\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5\u05B6\u05B7\u05B8\u05B9\u05BA\u05BB\u05BC\u05BD\u05BF\u05C1\u05C2\
 u05C4\u05C5\u05C7\u0610\u0611\u0612\u0613\u0614\u0615\u0616\u0617\u0618\u0619\u061A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\u0653\u0654\u0655\u0656\u0657\u0658\u0659\u065A\u065B\u065C\u065D\u065E\u0670\u06D6\u06D7\u06D8\u06D9\u06DA\u06DB\u06DC\u06DF\u06E0\u06E1\u06E2\u06E3\u06E4\u06E7\u06E8\u06EA\u06EB\u06EC\u06ED\u0711\u0730\u0731\u0732\u0733\u0734\u0735\u0736\u0737\u0738\u0739\u073A\u073B\u073C\u073D\u073E\u073F\u0740\u0741\u0742\u0743\u0744\u0745\u0746\u0747\u0748\u0749\u074A\u07A6\u07A7\u07A8\u07A9\u07AA\u07AB\u07AC\u07AD\u07AE\u07AF\u07B0\u07EB\u07EC\u07ED\u07EE\u07EF\u07F0\u07F1\u07F2\u07F3\u0901\u0902\u093C\u0941\u0942\u0943\u0944\u0945\u0946\u0947\u0948\u094D\u0951\u0952\u0953\u0954\u0962\u0963\u0981\u09BC\u09C1\u09C2\u09C3\u09C4\u09CD\u09E2\u09E3\u0A01\u0A02\u0A3C\u0A41\u0A42\

<TRUNCATED>

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


[04/32] ios commit: CB-11445 Updated checked-in node_modules

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/plist/dist/plist-parse.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/plist/dist/plist-parse.js b/node_modules/simple-plist/node_modules/plist/dist/plist-parse.js
deleted file mode 100644
index 7325ed1..0000000
--- a/node_modules/simple-plist/node_modules/plist/dist/plist-parse.js
+++ /dev/null
@@ -1,3628 +0,0 @@
-!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof self&&(f=self),f.plist=e()}}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
-(function (Buffer){
-
-/**
- * Module dependencies.
- */
-
-var deprecate = require('util-deprecate');
-var DOMParser = require('xmldom').DOMParser;
-
-/**
- * Module exports.
- */
-
-exports.parse = parse;
-exports.parseString = deprecate(parseString, '`parseString()` is deprecated. ' +
-  'It\'s not actually async. Use `parse()` instead.');
-exports.parseStringSync = deprecate(parseStringSync, '`parseStringSync()` is ' +
-  'deprecated. Use `parse()` instead.');
-
-/**
- * We ignore raw text (usually whitespace), <!-- xml comments -->,
- * and raw CDATA nodes.
- *
- * @param {Element} node
- * @returns {Boolean}
- * @api private
- */
-
-function shouldIgnoreNode (node) {
-  return node.nodeType === 3 // text
-    || node.nodeType === 8   // comment
-    || node.nodeType === 4;  // cdata
-}
-
-
-/**
- * Parses a Plist XML string. Returns an Object.
- *
- * @param {String} xml - the XML String to decode
- * @returns {Mixed} the decoded value from the Plist XML
- * @api public
- */
-
-function parse (xml) {
-  var doc = new DOMParser().parseFromString(xml);
-  if (doc.documentElement.nodeName !== 'plist') {
-    throw new Error('malformed document. First element should be <plist>');
-  }
-  var plist = parsePlistXML(doc.documentElement);
-
-  // the root <plist> node gets interpreted as an Array,
-  // so pull out the inner data first
-  if (plist.length == 1) plist = plist[0];
-
-  return plist;
-}
-
-/**
- * Parses a Plist XML string. Returns an Object. Takes a `callback` function.
- *
- * @param {String} xml - the XML String to decode
- * @param {Function} callback - callback function
- * @returns {Mixed} the decoded value from the Plist XML
- * @api public
- * @deprecated not actually async. use parse() instead
- */
-
-function parseString (xml, callback) {
-  var doc, error, plist;
-  try {
-    doc = new DOMParser().parseFromString(xml);
-    plist = parsePlistXML(doc.documentElement);
-  } catch(e) {
-    error = e;
-  }
-  callback(error, plist);
-}
-
-/**
- * Parses a Plist XML string. Returns an Object.
- *
- * @param {String} xml - the XML String to decode
- * @param {Function} callback - callback function
- * @returns {Mixed} the decoded value from the Plist XML
- * @api public
- * @deprecated use parse() instead
- */
-
-function parseStringSync (xml) {
-  var doc = new DOMParser().parseFromString(xml);
-  var plist;
-  if (doc.documentElement.nodeName !== 'plist') {
-    throw new Error('malformed document. First element should be <plist>');
-  }
-  plist = parsePlistXML(doc.documentElement);
-
-  // if the plist is an array with 1 element, pull it out of the array
-  if (plist.length == 1) {
-    plist = plist[0];
-  }
-  return plist;
-}
-
-/**
- * Convert an XML based plist document into a JSON representation.
- *
- * @param {Object} xml_node - current XML node in the plist
- * @returns {Mixed} built up JSON object
- * @api private
- */
-
-function parsePlistXML (node) {
-  var i, new_obj, key, val, new_arr, res, d;
-
-  if (!node)
-    return null;
-
-  if (node.nodeName === 'plist') {
-    new_arr = [];
-    for (i=0; i < node.childNodes.length; i++) {
-      // ignore comment nodes (text)
-      if (!shouldIgnoreNode(node.childNodes[i])) {
-        new_arr.push( parsePlistXML(node.childNodes[i]));
-      }
-    }
-    return new_arr;
-
-  } else if (node.nodeName === 'dict') {
-    new_obj = {};
-    key = null;
-    for (i=0; i < node.childNodes.length; i++) {
-      // ignore comment nodes (text)
-      if (!shouldIgnoreNode(node.childNodes[i])) {
-        if (key === null) {
-          key = parsePlistXML(node.childNodes[i]);
-        } else {
-          new_obj[key] = parsePlistXML(node.childNodes[i]);
-          key = null;
-        }
-      }
-    }
-    return new_obj;
-
-  } else if (node.nodeName === 'array') {
-    new_arr = [];
-    for (i=0; i < node.childNodes.length; i++) {
-      // ignore comment nodes (text)
-      if (!shouldIgnoreNode(node.childNodes[i])) {
-        res = parsePlistXML(node.childNodes[i]);
-        if (null != res) new_arr.push(res);
-      }
-    }
-    return new_arr;
-
-  } else if (node.nodeName === '#text') {
-    // TODO: what should we do with text types? (CDATA sections)
-
-  } else if (node.nodeName === 'key') {
-    return node.childNodes[0].nodeValue;
-
-  } else if (node.nodeName === 'string') {
-    res = '';
-    for (d=0; d < node.childNodes.length; d++) {
-      res += node.childNodes[d].nodeValue;
-    }
-    return res;
-
-  } else if (node.nodeName === 'integer') {
-    // parse as base 10 integer
-    return parseInt(node.childNodes[0].nodeValue, 10);
-
-  } else if (node.nodeName === 'real') {
-    res = '';
-    for (d=0; d < node.childNodes.length; d++) {
-      if (node.childNodes[d].nodeType === 3) {
-        res += node.childNodes[d].nodeValue;
-      }
-    }
-    return parseFloat(res);
-
-  } else if (node.nodeName === 'data') {
-    res = '';
-    for (d=0; d < node.childNodes.length; d++) {
-      if (node.childNodes[d].nodeType === 3) {
-        res += node.childNodes[d].nodeValue.replace(/\s+/g, '');
-      }
-    }
-
-    // decode base64 data to a Buffer instance
-    return new Buffer(res, 'base64');
-
-  } else if (node.nodeName === 'date') {
-    return new Date(node.childNodes[0].nodeValue);
-
-  } else if (node.nodeName === 'true') {
-    return true;
-
-  } else if (node.nodeName === 'false') {
-    return false;
-  }
-}
-
-}).call(this,require("buffer").Buffer)
-},{"buffer":3,"util-deprecate":5,"xmldom":6}],2:[function(require,module,exports){
-var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
-
-;(function (exports) {
-	'use strict';
-
-  var Arr = (typeof Uint8Array !== 'undefined')
-    ? 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)
-
-	function decode (elt) {
-		var code = elt.charCodeAt(0)
-		if (code === PLUS)
-			return 62 // '+'
-		if (code === SLASH)
-			return 63 // '/'
-		if (code < NUMBER)
-			return -1 //no match
-		if (code < NUMBER + 10)
-			return code - NUMBER + 26 + 26
-		if (code < UPPER + 26)
-			return code - UPPER
-		if (code < LOWER + 26)
-			return code - LOWER + 26
-	}
-
-	function b64ToByteArray (b64) {
-		var i, j, l, tmp, placeHolders, arr
-
-		if (b64.length % 4 > 0) {
-			throw new Error('Invalid string. Length must be a multiple of 4')
-		}
-
-		// the number of equal signs (place holders)
-		// if there are two placeholders, than the two characters before it
-		// represent one byte
-		// if there is only one, then the three characters before it represent 2 bytes
-		// this is just a cheap hack to not do indexOf twice
-		var len = b64.length
-		placeHolders = '=' === b64.charAt(len - 2) ? 2 : '=' === b64.charAt(len - 1) ? 1 : 0
-
-		// base64 is 4/3 + up to two characters of the original data
-		arr = new Arr(b64.length * 3 / 4 - placeHolders)
-
-		// if there are placeholders, only get up to the last complete 4 chars
-		l = placeHolders > 0 ? b64.length - 4 : b64.length
-
-		var L = 0
-
-		function push (v) {
-			arr[L++] = v
-		}
-
-		for (i = 0, j = 0; i < l; i += 4, j += 3) {
-			tmp = (decode(b64.charAt(i)) << 18) | (decode(b64.charAt(i + 1)) << 12) | (decode(b64.charAt(i + 2)) << 6) | decode(b64.charAt(i + 3))
-			push((tmp & 0xFF0000) >> 16)
-			push((tmp & 0xFF00) >> 8)
-			push(tmp & 0xFF)
-		}
-
-		if (placeHolders === 2) {
-			tmp = (decode(b64.charAt(i)) << 2) | (decode(b64.charAt(i + 1)) >> 4)
-			push(tmp & 0xFF)
-		} else if (placeHolders === 1) {
-			tmp = (decode(b64.charAt(i)) << 10) | (decode(b64.charAt(i + 1)) << 4) | (decode(b64.charAt(i + 2)) >> 2)
-			push((tmp >> 8) & 0xFF)
-			push(tmp & 0xFF)
-		}
-
-		return arr
-	}
-
-	function uint8ToBase64 (uint8) {
-		var i,
-			extraBytes = uint8.length % 3, // if we have 1 byte left, pad 2 bytes
-			output = "",
-			temp, length
-
-		function encode (num) {
-			return lookup.charAt(num)
-		}
-
-		function tripletToBase64 (num) {
-			return encode(num >> 18 & 0x3F) + encode(num >> 12 & 0x3F) + encode(num >> 6 & 0x3F) + encode(num & 0x3F)
-		}
-
-		// go through the array every three bytes, we'll deal with trailing stuff later
-		for (i = 0, length = uint8.length - extraBytes; i < length; i += 3) {
-			temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])
-			output += tripletToBase64(temp)
-		}
-
-		// pad the end with zeros, but make sure to not forget the extra bytes
-		switch (extraBytes) {
-			case 1:
-				temp = uint8[uint8.length - 1]
-				output += encode(temp >> 2)
-				output += encode((temp << 4) & 0x3F)
-				output += '=='
-				break
-			case 2:
-				temp = (uint8[uint8.length - 2] << 8) + (uint8[uint8.length - 1])
-				output += encode(temp >> 10)
-				output += encode((temp >> 4) & 0x3F)
-				output += encode((temp << 2) & 0x3F)
-				output += '='
-				break
-		}
-
-		return output
-	}
-
-	module.exports.toByteArray = b64ToByteArray
-	module.exports.fromByteArray = uint8ToBase64
-}())
-
-},{}],3:[function(require,module,exports){
-/*!
- * The buffer module from node.js, for the browser.
- *
- * @author   Feross Aboukhadijeh <fe...@feross.org> <http://feross.org>
- * @license  MIT
- */
-
-var base64 = require('base64-js')
-var ieee754 = require('ieee754')
-
-exports.Buffer = Buffer
-exports.SlowBuffer = Buffer
-exports.INSPECT_MAX_BYTES = 50
-Buffer.poolSize = 8192
-
-/**
- * If `TYPED_ARRAY_SUPPORT`:
- *   === true    Use Uint8Array implementation (fastest)
- *   === false   Use Object implementation (most compatible, even IE6)
- *
- * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
- * Opera 11.6+, iOS 4.2+.
- *
- * Note:
- *
- * - Implementation must support adding new properties to `Uint8Array` instances.
- *   Firefox 4-29 lacked support, fixed in Firefox 30+.
- *   See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
- *
- *  - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
- *
- *  - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
- *    incorrect length in some situations.
- *
- * We detect these buggy browsers and set `TYPED_ARRAY_SUPPORT` to `false` so they will
- * get the Object implementation, which is slower but will work correctly.
- */
-var TYPED_ARRAY_SUPPORT = (function () {
-  try {
-    var buf = new ArrayBuffer(0)
-    var arr = new Uint8Array(buf)
-    arr.foo = function () { return 42 }
-    return 42 === arr.foo() && // typed array instances can be augmented
-        typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`
-        new Uint8Array(1).subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`
-  } catch (e) {
-    return false
-  }
-})()
-
-/**
- * Class: Buffer
- * =============
- *
- * The Buffer constructor returns instances of `Uint8Array` that are augmented
- * with function properties for all the node `Buffer` API functions. We use
- * `Uint8Array` so that square bracket notation works as expected -- it returns
- * a single octet.
- *
- * By augmenting the instances, we can avoid modifying the `Uint8Array`
- * prototype.
- */
-function Buffer (subject, encoding, noZero) {
-  if (!(this instanceof Buffer))
-    return new Buffer(subject, encoding, noZero)
-
-  var type = typeof subject
-
-  // Find the length
-  var length
-  if (type === 'number')
-    length = subject > 0 ? subject >>> 0 : 0
-  else if (type === 'string') {
-    if (encoding === 'base64')
-      subject = base64clean(subject)
-    length = Buffer.byteLength(subject, encoding)
-  } else if (type === 'object' && subject !== null) { // assume object is array-like
-    if (subject.type === 'Buffer' && isArray(subject.data))
-      subject = subject.data
-    length = +subject.length > 0 ? Math.floor(+subject.length) : 0
-  } else
-    throw new Error('First argument needs to be a number, array or string.')
-
-  var buf
-  if (TYPED_ARRAY_SUPPORT) {
-    // Preferred: Return an augmented `Uint8Array` instance for best performance
-    buf = Buffer._augment(new Uint8Array(length))
-  } else {
-    // Fallback: Return THIS instance of Buffer (created by `new`)
-    buf = this
-    buf.length = length
-    buf._isBuffer = true
-  }
-
-  var i
-  if (TYPED_ARRAY_SUPPORT && typeof subject.byteLength === 'number') {
-    // Speed optimization -- use set if we're copying from a typed array
-    buf._set(subject)
-  } else if (isArrayish(subject)) {
-    // Treat array-ish objects as a byte array
-    if (Buffer.isBuffer(subject)) {
-      for (i = 0; i < length; i++)
-        buf[i] = subject.readUInt8(i)
-    } else {
-      for (i = 0; i < length; i++)
-        buf[i] = ((subject[i] % 256) + 256) % 256
-    }
-  } else if (type === 'string') {
-    buf.write(subject, 0, encoding)
-  } else if (type === 'number' && !TYPED_ARRAY_SUPPORT && !noZero) {
-    for (i = 0; i < length; i++) {
-      buf[i] = 0
-    }
-  }
-
-  return buf
-}
-
-// STATIC METHODS
-// ==============
-
-Buffer.isEncoding = function (encoding) {
-  switch (String(encoding).toLowerCase()) {
-    case 'hex':
-    case 'utf8':
-    case 'utf-8':
-    case 'ascii':
-    case 'binary':
-    case 'base64':
-    case 'raw':
-    case 'ucs2':
-    case 'ucs-2':
-    case 'utf16le':
-    case 'utf-16le':
-      return true
-    default:
-      return false
-  }
-}
-
-Buffer.isBuffer = function (b) {
-  return !!(b != null && b._isBuffer)
-}
-
-Buffer.byteLength = function (str, encoding) {
-  var ret
-  str = str.toString()
-  switch (encoding || 'utf8') {
-    case 'hex':
-      ret = str.length / 2
-      break
-    case 'utf8':
-    case 'utf-8':
-      ret = utf8ToBytes(str).length
-      break
-    case 'ascii':
-    case 'binary':
-    case 'raw':
-      ret = str.length
-      break
-    case 'base64':
-      ret = base64ToBytes(str).length
-      break
-    case 'ucs2':
-    case 'ucs-2':
-    case 'utf16le':
-    case 'utf-16le':
-      ret = str.length * 2
-      break
-    default:
-      throw new Error('Unknown encoding')
-  }
-  return ret
-}
-
-Buffer.concat = function (list, totalLength) {
-  assert(isArray(list), 'Usage: Buffer.concat(list[, length])')
-
-  if (list.length === 0) {
-    return new Buffer(0)
-  } else if (list.length === 1) {
-    return list[0]
-  }
-
-  var i
-  if (totalLength === undefined) {
-    totalLength = 0
-    for (i = 0; i < list.length; i++) {
-      totalLength += list[i].length
-    }
-  }
-
-  var buf = new Buffer(totalLength)
-  var pos = 0
-  for (i = 0; i < list.length; i++) {
-    var item = list[i]
-    item.copy(buf, pos)
-    pos += item.length
-  }
-  return buf
-}
-
-Buffer.compare = function (a, b) {
-  assert(Buffer.isBuffer(a) && Buffer.isBuffer(b), 'Arguments must be Buffers')
-  var x = a.length
-  var y = b.length
-  for (var i = 0, len = Math.min(x, y); i < len && a[i] === b[i]; i++) {}
-  if (i !== len) {
-    x = a[i]
-    y = b[i]
-  }
-  if (x < y) {
-    return -1
-  }
-  if (y < x) {
-    return 1
-  }
-  return 0
-}
-
-// BUFFER INSTANCE METHODS
-// =======================
-
-function hexWrite (buf, string, offset, length) {
-  offset = Number(offset) || 0
-  var remaining = buf.length - offset
-  if (!length) {
-    length = remaining
-  } else {
-    length = Number(length)
-    if (length > remaining) {
-      length = remaining
-    }
-  }
-
-  // must be an even number of digits
-  var strLen = string.length
-  assert(strLen % 2 === 0, 'Invalid hex string')
-
-  if (length > strLen / 2) {
-    length = strLen / 2
-  }
-  for (var i = 0; i < length; i++) {
-    var byte = parseInt(string.substr(i * 2, 2), 16)
-    assert(!isNaN(byte), 'Invalid hex string')
-    buf[offset + i] = byte
-  }
-  return i
-}
-
-function utf8Write (buf, string, offset, length) {
-  var charsWritten = blitBuffer(utf8ToBytes(string), buf, offset, length)
-  return charsWritten
-}
-
-function asciiWrite (buf, string, offset, length) {
-  var charsWritten = blitBuffer(asciiToBytes(string), buf, offset, length)
-  return charsWritten
-}
-
-function binaryWrite (buf, string, offset, length) {
-  return asciiWrite(buf, string, offset, length)
-}
-
-function base64Write (buf, string, offset, length) {
-  var charsWritten = blitBuffer(base64ToBytes(string), buf, offset, length)
-  return charsWritten
-}
-
-function utf16leWrite (buf, string, offset, length) {
-  var charsWritten = blitBuffer(utf16leToBytes(string), buf, offset, length)
-  return charsWritten
-}
-
-Buffer.prototype.write = function (string, offset, length, encoding) {
-  // Support both (string, offset, length, encoding)
-  // and the legacy (string, encoding, offset, length)
-  if (isFinite(offset)) {
-    if (!isFinite(length)) {
-      encoding = length
-      length = undefined
-    }
-  } else {  // legacy
-    var swap = encoding
-    encoding = offset
-    offset = length
-    length = swap
-  }
-
-  offset = Number(offset) || 0
-  var remaining = this.length - offset
-  if (!length) {
-    length = remaining
-  } else {
-    length = Number(length)
-    if (length > remaining) {
-      length = remaining
-    }
-  }
-  encoding = String(encoding || 'utf8').toLowerCase()
-
-  var ret
-  switch (encoding) {
-    case 'hex':
-      ret = hexWrite(this, string, offset, length)
-      break
-    case 'utf8':
-    case 'utf-8':
-      ret = utf8Write(this, string, offset, length)
-      break
-    case 'ascii':
-      ret = asciiWrite(this, string, offset, length)
-      break
-    case 'binary':
-      ret = binaryWrite(this, string, offset, length)
-      break
-    case 'base64':
-      ret = base64Write(this, string, offset, length)
-      break
-    case 'ucs2':
-    case 'ucs-2':
-    case 'utf16le':
-    case 'utf-16le':
-      ret = utf16leWrite(this, string, offset, length)
-      break
-    default:
-      throw new Error('Unknown encoding')
-  }
-  return ret
-}
-
-Buffer.prototype.toString = function (encoding, start, end) {
-  var self = this
-
-  encoding = String(encoding || 'utf8').toLowerCase()
-  start = Number(start) || 0
-  end = (end === undefined) ? self.length : Number(end)
-
-  // Fastpath empty strings
-  if (end === start)
-    return ''
-
-  var ret
-  switch (encoding) {
-    case 'hex':
-      ret = hexSlice(self, start, end)
-      break
-    case 'utf8':
-    case 'utf-8':
-      ret = utf8Slice(self, start, end)
-      break
-    case 'ascii':
-      ret = asciiSlice(self, start, end)
-      break
-    case 'binary':
-      ret = binarySlice(self, start, end)
-      break
-    case 'base64':
-      ret = base64Slice(self, start, end)
-      break
-    case 'ucs2':
-    case 'ucs-2':
-    case 'utf16le':
-    case 'utf-16le':
-      ret = utf16leSlice(self, start, end)
-      break
-    default:
-      throw new Error('Unknown encoding')
-  }
-  return ret
-}
-
-Buffer.prototype.toJSON = function () {
-  return {
-    type: 'Buffer',
-    data: Array.prototype.slice.call(this._arr || this, 0)
-  }
-}
-
-Buffer.prototype.equals = function (b) {
-  assert(Buffer.isBuffer(b), 'Argument must be a Buffer')
-  return Buffer.compare(this, b) === 0
-}
-
-Buffer.prototype.compare = function (b) {
-  assert(Buffer.isBuffer(b), 'Argument must be a Buffer')
-  return Buffer.compare(this, b)
-}
-
-// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
-Buffer.prototype.copy = function (target, target_start, start, end) {
-  var source = this
-
-  if (!start) start = 0
-  if (!end && end !== 0) end = this.length
-  if (!target_start) target_start = 0
-
-  // Copy 0 bytes; we're done
-  if (end === start) return
-  if (target.length === 0 || source.length === 0) return
-
-  // Fatal error conditions
-  assert(end >= start, 'sourceEnd < sourceStart')
-  assert(target_start >= 0 && target_start < target.length,
-      'targetStart out of bounds')
-  assert(start >= 0 && start < source.length, 'sourceStart out of bounds')
-  assert(end >= 0 && end <= source.length, 'sourceEnd out of bounds')
-
-  // Are we oob?
-  if (end > this.length)
-    end = this.length
-  if (target.length - target_start < end - start)
-    end = target.length - target_start + start
-
-  var len = end - start
-
-  if (len < 100 || !TYPED_ARRAY_SUPPORT) {
-    for (var i = 0; i < len; i++) {
-      target[i + target_start] = this[i + start]
-    }
-  } else {
-    target._set(this.subarray(start, start + len), target_start)
-  }
-}
-
-function base64Slice (buf, start, end) {
-  if (start === 0 && end === buf.length) {
-    return base64.fromByteArray(buf)
-  } else {
-    return base64.fromByteArray(buf.slice(start, end))
-  }
-}
-
-function utf8Slice (buf, start, end) {
-  var res = ''
-  var tmp = ''
-  end = Math.min(buf.length, end)
-
-  for (var i = start; i < end; i++) {
-    if (buf[i] <= 0x7F) {
-      res += decodeUtf8Char(tmp) + String.fromCharCode(buf[i])
-      tmp = ''
-    } else {
-      tmp += '%' + buf[i].toString(16)
-    }
-  }
-
-  return res + decodeUtf8Char(tmp)
-}
-
-function asciiSlice (buf, start, end) {
-  var ret = ''
-  end = Math.min(buf.length, end)
-
-  for (var i = start; i < end; i++) {
-    ret += String.fromCharCode(buf[i])
-  }
-  return ret
-}
-
-function binarySlice (buf, start, end) {
-  return asciiSlice(buf, start, end)
-}
-
-function hexSlice (buf, start, end) {
-  var len = buf.length
-
-  if (!start || start < 0) start = 0
-  if (!end || end < 0 || end > len) end = len
-
-  var out = ''
-  for (var i = start; i < end; i++) {
-    out += toHex(buf[i])
-  }
-  return out
-}
-
-function utf16leSlice (buf, start, end) {
-  var bytes = buf.slice(start, end)
-  var res = ''
-  for (var i = 0; i < bytes.length; i += 2) {
-    res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
-  }
-  return res
-}
-
-Buffer.prototype.slice = function (start, end) {
-  var len = this.length
-  start = ~~start
-  end = end === undefined ? len : ~~end
-
-  if (start < 0) {
-    start += len;
-    if (start < 0)
-      start = 0
-  } else if (start > len) {
-    start = len
-  }
-
-  if (end < 0) {
-    end += len
-    if (end < 0)
-      end = 0
-  } else if (end > len) {
-    end = len
-  }
-
-  if (end < start)
-    end = start
-
-  if (TYPED_ARRAY_SUPPORT) {
-    return Buffer._augment(this.subarray(start, end))
-  } else {
-    var sliceLen = end - start
-    var newBuf = new Buffer(sliceLen, undefined, true)
-    for (var i = 0; i < sliceLen; i++) {
-      newBuf[i] = this[i + start]
-    }
-    return newBuf
-  }
-}
-
-// `get` will be removed in Node 0.13+
-Buffer.prototype.get = function (offset) {
-  console.log('.get() is deprecated. Access using array indexes instead.')
-  return this.readUInt8(offset)
-}
-
-// `set` will be removed in Node 0.13+
-Buffer.prototype.set = function (v, offset) {
-  console.log('.set() is deprecated. Access using array indexes instead.')
-  return this.writeUInt8(v, offset)
-}
-
-Buffer.prototype.readUInt8 = function (offset, noAssert) {
-  if (!noAssert) {
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset < this.length, 'Trying to read beyond buffer length')
-  }
-
-  if (offset >= this.length)
-    return
-
-  return this[offset]
-}
-
-function readUInt16 (buf, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 1 < buf.length, 'Trying to read beyond buffer length')
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  var val
-  if (littleEndian) {
-    val = buf[offset]
-    if (offset + 1 < len)
-      val |= buf[offset + 1] << 8
-  } else {
-    val = buf[offset] << 8
-    if (offset + 1 < len)
-      val |= buf[offset + 1]
-  }
-  return val
-}
-
-Buffer.prototype.readUInt16LE = function (offset, noAssert) {
-  return readUInt16(this, offset, true, noAssert)
-}
-
-Buffer.prototype.readUInt16BE = function (offset, noAssert) {
-  return readUInt16(this, offset, false, noAssert)
-}
-
-function readUInt32 (buf, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 3 < buf.length, 'Trying to read beyond buffer length')
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  var val
-  if (littleEndian) {
-    if (offset + 2 < len)
-      val = buf[offset + 2] << 16
-    if (offset + 1 < len)
-      val |= buf[offset + 1] << 8
-    val |= buf[offset]
-    if (offset + 3 < len)
-      val = val + (buf[offset + 3] << 24 >>> 0)
-  } else {
-    if (offset + 1 < len)
-      val = buf[offset + 1] << 16
-    if (offset + 2 < len)
-      val |= buf[offset + 2] << 8
-    if (offset + 3 < len)
-      val |= buf[offset + 3]
-    val = val + (buf[offset] << 24 >>> 0)
-  }
-  return val
-}
-
-Buffer.prototype.readUInt32LE = function (offset, noAssert) {
-  return readUInt32(this, offset, true, noAssert)
-}
-
-Buffer.prototype.readUInt32BE = function (offset, noAssert) {
-  return readUInt32(this, offset, false, noAssert)
-}
-
-Buffer.prototype.readInt8 = function (offset, noAssert) {
-  if (!noAssert) {
-    assert(offset !== undefined && offset !== null,
-        'missing offset')
-    assert(offset < this.length, 'Trying to read beyond buffer length')
-  }
-
-  if (offset >= this.length)
-    return
-
-  var neg = this[offset] & 0x80
-  if (neg)
-    return (0xff - this[offset] + 1) * -1
-  else
-    return this[offset]
-}
-
-function readInt16 (buf, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 1 < buf.length, 'Trying to read beyond buffer length')
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  var val = readUInt16(buf, offset, littleEndian, true)
-  var neg = val & 0x8000
-  if (neg)
-    return (0xffff - val + 1) * -1
-  else
-    return val
-}
-
-Buffer.prototype.readInt16LE = function (offset, noAssert) {
-  return readInt16(this, offset, true, noAssert)
-}
-
-Buffer.prototype.readInt16BE = function (offset, noAssert) {
-  return readInt16(this, offset, false, noAssert)
-}
-
-function readInt32 (buf, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 3 < buf.length, 'Trying to read beyond buffer length')
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  var val = readUInt32(buf, offset, littleEndian, true)
-  var neg = val & 0x80000000
-  if (neg)
-    return (0xffffffff - val + 1) * -1
-  else
-    return val
-}
-
-Buffer.prototype.readInt32LE = function (offset, noAssert) {
-  return readInt32(this, offset, true, noAssert)
-}
-
-Buffer.prototype.readInt32BE = function (offset, noAssert) {
-  return readInt32(this, offset, false, noAssert)
-}
-
-function readFloat (buf, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset + 3 < buf.length, 'Trying to read beyond buffer length')
-  }
-
-  return ieee754.read(buf, offset, littleEndian, 23, 4)
-}
-
-Buffer.prototype.readFloatLE = function (offset, noAssert) {
-  return readFloat(this, offset, true, noAssert)
-}
-
-Buffer.prototype.readFloatBE = function (offset, noAssert) {
-  return readFloat(this, offset, false, noAssert)
-}
-
-function readDouble (buf, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset + 7 < buf.length, 'Trying to read beyond buffer length')
-  }
-
-  return ieee754.read(buf, offset, littleEndian, 52, 8)
-}
-
-Buffer.prototype.readDoubleLE = function (offset, noAssert) {
-  return readDouble(this, offset, true, noAssert)
-}
-
-Buffer.prototype.readDoubleBE = function (offset, noAssert) {
-  return readDouble(this, offset, false, noAssert)
-}
-
-Buffer.prototype.writeUInt8 = function (value, offset, noAssert) {
-  if (!noAssert) {
-    assert(value !== undefined && value !== null, 'missing value')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset < this.length, 'trying to write beyond buffer length')
-    verifuint(value, 0xff)
-  }
-
-  if (offset >= this.length) return
-
-  this[offset] = value
-  return offset + 1
-}
-
-function writeUInt16 (buf, value, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(value !== undefined && value !== null, 'missing value')
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 1 < buf.length, 'trying to write beyond buffer length')
-    verifuint(value, 0xffff)
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  for (var i = 0, j = Math.min(len - offset, 2); i < j; i++) {
-    buf[offset + i] =
-        (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
-            (littleEndian ? i : 1 - i) * 8
-  }
-  return offset + 2
-}
-
-Buffer.prototype.writeUInt16LE = function (value, offset, noAssert) {
-  return writeUInt16(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeUInt16BE = function (value, offset, noAssert) {
-  return writeUInt16(this, value, offset, false, noAssert)
-}
-
-function writeUInt32 (buf, value, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(value !== undefined && value !== null, 'missing value')
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 3 < buf.length, 'trying to write beyond buffer length')
-    verifuint(value, 0xffffffff)
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  for (var i = 0, j = Math.min(len - offset, 4); i < j; i++) {
-    buf[offset + i] =
-        (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
-  }
-  return offset + 4
-}
-
-Buffer.prototype.writeUInt32LE = function (value, offset, noAssert) {
-  return writeUInt32(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeUInt32BE = function (value, offset, noAssert) {
-  return writeUInt32(this, value, offset, false, noAssert)
-}
-
-Buffer.prototype.writeInt8 = function (value, offset, noAssert) {
-  if (!noAssert) {
-    assert(value !== undefined && value !== null, 'missing value')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset < this.length, 'Trying to write beyond buffer length')
-    verifsint(value, 0x7f, -0x80)
-  }
-
-  if (offset >= this.length)
-    return
-
-  if (value >= 0)
-    this.writeUInt8(value, offset, noAssert)
-  else
-    this.writeUInt8(0xff + value + 1, offset, noAssert)
-  return offset + 1
-}
-
-function writeInt16 (buf, value, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(value !== undefined && value !== null, 'missing value')
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 1 < buf.length, 'Trying to write beyond buffer length')
-    verifsint(value, 0x7fff, -0x8000)
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  if (value >= 0)
-    writeUInt16(buf, value, offset, littleEndian, noAssert)
-  else
-    writeUInt16(buf, 0xffff + value + 1, offset, littleEndian, noAssert)
-  return offset + 2
-}
-
-Buffer.prototype.writeInt16LE = function (value, offset, noAssert) {
-  return writeInt16(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeInt16BE = function (value, offset, noAssert) {
-  return writeInt16(this, value, offset, false, noAssert)
-}
-
-function writeInt32 (buf, value, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(value !== undefined && value !== null, 'missing value')
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 3 < buf.length, 'Trying to write beyond buffer length')
-    verifsint(value, 0x7fffffff, -0x80000000)
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  if (value >= 0)
-    writeUInt32(buf, value, offset, littleEndian, noAssert)
-  else
-    writeUInt32(buf, 0xffffffff + value + 1, offset, littleEndian, noAssert)
-  return offset + 4
-}
-
-Buffer.prototype.writeInt32LE = function (value, offset, noAssert) {
-  return writeInt32(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeInt32BE = function (value, offset, noAssert) {
-  return writeInt32(this, value, offset, false, noAssert)
-}
-
-function writeFloat (buf, value, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(value !== undefined && value !== null, 'missing value')
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 3 < buf.length, 'Trying to write beyond buffer length')
-    verifIEEE754(value, 3.4028234663852886e+38, -3.4028234663852886e+38)
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  ieee754.write(buf, value, offset, littleEndian, 23, 4)
-  return offset + 4
-}
-
-Buffer.prototype.writeFloatLE = function (value, offset, noAssert) {
-  return writeFloat(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeFloatBE = function (value, offset, noAssert) {
-  return writeFloat(this, value, offset, false, noAssert)
-}
-
-function writeDouble (buf, value, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(value !== undefined && value !== null, 'missing value')
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 7 < buf.length,
-        'Trying to write beyond buffer length')
-    verifIEEE754(value, 1.7976931348623157E+308, -1.7976931348623157E+308)
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  ieee754.write(buf, value, offset, littleEndian, 52, 8)
-  return offset + 8
-}
-
-Buffer.prototype.writeDoubleLE = function (value, offset, noAssert) {
-  return writeDouble(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeDoubleBE = function (value, offset, noAssert) {
-  return writeDouble(this, value, offset, false, noAssert)
-}
-
-// fill(value, start=0, end=buffer.length)
-Buffer.prototype.fill = function (value, start, end) {
-  if (!value) value = 0
-  if (!start) start = 0
-  if (!end) end = this.length
-
-  assert(end >= start, 'end < start')
-
-  // Fill 0 bytes; we're done
-  if (end === start) return
-  if (this.length === 0) return
-
-  assert(start >= 0 && start < this.length, 'start out of bounds')
-  assert(end >= 0 && end <= this.length, 'end out of bounds')
-
-  var i
-  if (typeof value === 'number') {
-    for (i = start; i < end; i++) {
-      this[i] = value
-    }
-  } else {
-    var bytes = utf8ToBytes(value.toString())
-    var len = bytes.length
-    for (i = start; i < end; i++) {
-      this[i] = bytes[i % len]
-    }
-  }
-
-  return this
-}
-
-Buffer.prototype.inspect = function () {
-  var out = []
-  var len = this.length
-  for (var i = 0; i < len; i++) {
-    out[i] = toHex(this[i])
-    if (i === exports.INSPECT_MAX_BYTES) {
-      out[i + 1] = '...'
-      break
-    }
-  }
-  return '<Buffer ' + out.join(' ') + '>'
-}
-
-/**
- * Creates a new `ArrayBuffer` with the *copied* memory of the buffer instance.
- * Added in Node 0.12. Only available in browsers that support ArrayBuffer.
- */
-Buffer.prototype.toArrayBuffer = function () {
-  if (typeof Uint8Array !== 'undefined') {
-    if (TYPED_ARRAY_SUPPORT) {
-      return (new Buffer(this)).buffer
-    } else {
-      var buf = new Uint8Array(this.length)
-      for (var i = 0, len = buf.length; i < len; i += 1) {
-        buf[i] = this[i]
-      }
-      return buf.buffer
-    }
-  } else {
-    throw new Error('Buffer.toArrayBuffer not supported in this browser')
-  }
-}
-
-// HELPER FUNCTIONS
-// ================
-
-var BP = Buffer.prototype
-
-/**
- * Augment a Uint8Array *instance* (not the Uint8Array class!) with Buffer methods
- */
-Buffer._augment = function (arr) {
-  arr._isBuffer = true
-
-  // save reference to original Uint8Array get/set methods before overwriting
-  arr._get = arr.get
-  arr._set = arr.set
-
-  // deprecated, will be removed in node 0.13+
-  arr.get = BP.get
-  arr.set = BP.set
-
-  arr.write = BP.write
-  arr.toString = BP.toString
-  arr.toLocaleString = BP.toString
-  arr.toJSON = BP.toJSON
-  arr.equals = BP.equals
-  arr.compare = BP.compare
-  arr.copy = BP.copy
-  arr.slice = BP.slice
-  arr.readUInt8 = BP.readUInt8
-  arr.readUInt16LE = BP.readUInt16LE
-  arr.readUInt16BE = BP.readUInt16BE
-  arr.readUInt32LE = BP.readUInt32LE
-  arr.readUInt32BE = BP.readUInt32BE
-  arr.readInt8 = BP.readInt8
-  arr.readInt16LE = BP.readInt16LE
-  arr.readInt16BE = BP.readInt16BE
-  arr.readInt32LE = BP.readInt32LE
-  arr.readInt32BE = BP.readInt32BE
-  arr.readFloatLE = BP.readFloatLE
-  arr.readFloatBE = BP.readFloatBE
-  arr.readDoubleLE = BP.readDoubleLE
-  arr.readDoubleBE = BP.readDoubleBE
-  arr.writeUInt8 = BP.writeUInt8
-  arr.writeUInt16LE = BP.writeUInt16LE
-  arr.writeUInt16BE = BP.writeUInt16BE
-  arr.writeUInt32LE = BP.writeUInt32LE
-  arr.writeUInt32BE = BP.writeUInt32BE
-  arr.writeInt8 = BP.writeInt8
-  arr.writeInt16LE = BP.writeInt16LE
-  arr.writeInt16BE = BP.writeInt16BE
-  arr.writeInt32LE = BP.writeInt32LE
-  arr.writeInt32BE = BP.writeInt32BE
-  arr.writeFloatLE = BP.writeFloatLE
-  arr.writeFloatBE = BP.writeFloatBE
-  arr.writeDoubleLE = BP.writeDoubleLE
-  arr.writeDoubleBE = BP.writeDoubleBE
-  arr.fill = BP.fill
-  arr.inspect = BP.inspect
-  arr.toArrayBuffer = BP.toArrayBuffer
-
-  return arr
-}
-
-var INVALID_BASE64_RE = /[^+\/0-9A-z]/g
-
-function base64clean (str) {
-  // Node strips out invalid characters like \n and \t from the string, base64-js does not
-  str = stringtrim(str).replace(INVALID_BASE64_RE, '')
-  // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
-  while (str.length % 4 !== 0) {
-    str = str + '='
-  }
-  return str
-}
-
-function stringtrim (str) {
-  if (str.trim) return str.trim()
-  return str.replace(/^\s+|\s+$/g, '')
-}
-
-function isArray (subject) {
-  return (Array.isArray || function (subject) {
-    return Object.prototype.toString.call(subject) === '[object Array]'
-  })(subject)
-}
-
-function isArrayish (subject) {
-  return isArray(subject) || Buffer.isBuffer(subject) ||
-      subject && typeof subject === 'object' &&
-      typeof subject.length === 'number'
-}
-
-function toHex (n) {
-  if (n < 16) return '0' + n.toString(16)
-  return n.toString(16)
-}
-
-function utf8ToBytes (str) {
-  var byteArray = []
-  for (var i = 0; i < str.length; i++) {
-    var b = str.charCodeAt(i)
-    if (b <= 0x7F) {
-      byteArray.push(b)
-    } else {
-      var start = i
-      if (b >= 0xD800 && b <= 0xDFFF) i++
-      var h = encodeURIComponent(str.slice(start, i+1)).substr(1).split('%')
-      for (var j = 0; j < h.length; j++) {
-        byteArray.push(parseInt(h[j], 16))
-      }
-    }
-  }
-  return byteArray
-}
-
-function asciiToBytes (str) {
-  var byteArray = []
-  for (var i = 0; i < str.length; i++) {
-    // Node's code seems to be doing this and not & 0x7F..
-    byteArray.push(str.charCodeAt(i) & 0xFF)
-  }
-  return byteArray
-}
-
-function utf16leToBytes (str) {
-  var c, hi, lo
-  var byteArray = []
-  for (var i = 0; i < str.length; i++) {
-    c = str.charCodeAt(i)
-    hi = c >> 8
-    lo = c % 256
-    byteArray.push(lo)
-    byteArray.push(hi)
-  }
-
-  return byteArray
-}
-
-function base64ToBytes (str) {
-  return base64.toByteArray(str)
-}
-
-function blitBuffer (src, dst, offset, length) {
-  for (var i = 0; i < length; i++) {
-    if ((i + offset >= dst.length) || (i >= src.length))
-      break
-    dst[i + offset] = src[i]
-  }
-  return i
-}
-
-function decodeUtf8Char (str) {
-  try {
-    return decodeURIComponent(str)
-  } catch (err) {
-    return String.fromCharCode(0xFFFD) // UTF 8 invalid char
-  }
-}
-
-/*
- * We have to make sure that the value is a valid integer. This means that it
- * is non-negative. It has no fractional component and that it does not
- * exceed the maximum allowed value.
- */
-function verifuint (value, max) {
-  assert(typeof value === 'number', 'cannot write a non-number as a number')
-  assert(value >= 0, 'specified a negative value for writing an unsigned value')
-  assert(value <= max, 'value is larger than maximum value for type')
-  assert(Math.floor(value) === value, 'value has a fractional component')
-}
-
-function verifsint (value, max, min) {
-  assert(typeof value === 'number', 'cannot write a non-number as a number')
-  assert(value <= max, 'value larger than maximum allowed value')
-  assert(value >= min, 'value smaller than minimum allowed value')
-  assert(Math.floor(value) === value, 'value has a fractional component')
-}
-
-function verifIEEE754 (value, max, min) {
-  assert(typeof value === 'number', 'cannot write a non-number as a number')
-  assert(value <= max, 'value larger than maximum allowed value')
-  assert(value >= min, 'value smaller than minimum allowed value')
-}
-
-function assert (test, message) {
-  if (!test) throw new Error(message || 'Failed assertion')
-}
-
-},{"base64-js":2,"ieee754":4}],4:[function(require,module,exports){
-exports.read = function(buffer, offset, isLE, mLen, nBytes) {
-  var e, m,
-      eLen = nBytes * 8 - mLen - 1,
-      eMax = (1 << eLen) - 1,
-      eBias = eMax >> 1,
-      nBits = -7,
-      i = isLE ? (nBytes - 1) : 0,
-      d = isLE ? -1 : 1,
-      s = buffer[offset + i];
-
-  i += d;
-
-  e = s & ((1 << (-nBits)) - 1);
-  s >>= (-nBits);
-  nBits += eLen;
-  for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8);
-
-  m = e & ((1 << (-nBits)) - 1);
-  e >>= (-nBits);
-  nBits += mLen;
-  for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8);
-
-  if (e === 0) {
-    e = 1 - eBias;
-  } else if (e === eMax) {
-    return m ? NaN : ((s ? -1 : 1) * Infinity);
-  } else {
-    m = m + Math.pow(2, mLen);
-    e = e - eBias;
-  }
-  return (s ? -1 : 1) * m * Math.pow(2, e - mLen);
-};
-
-exports.write = function(buffer, value, offset, isLE, mLen, nBytes) {
-  var e, m, c,
-      eLen = nBytes * 8 - mLen - 1,
-      eMax = (1 << eLen) - 1,
-      eBias = eMax >> 1,
-      rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0),
-      i = isLE ? 0 : (nBytes - 1),
-      d = isLE ? 1 : -1,
-      s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;
-
-  value = Math.abs(value);
-
-  if (isNaN(value) || value === Infinity) {
-    m = isNaN(value) ? 1 : 0;
-    e = eMax;
-  } else {
-    e = Math.floor(Math.log(value) / Math.LN2);
-    if (value * (c = Math.pow(2, -e)) < 1) {
-      e--;
-      c *= 2;
-    }
-    if (e + eBias >= 1) {
-      value += rt / c;
-    } else {
-      value += rt * Math.pow(2, 1 - eBias);
-    }
-    if (value * c >= 2) {
-      e++;
-      c /= 2;
-    }
-
-    if (e + eBias >= eMax) {
-      m = 0;
-      e = eMax;
-    } else if (e + eBias >= 1) {
-      m = (value * c - 1) * Math.pow(2, mLen);
-      e = e + eBias;
-    } else {
-      m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);
-      e = 0;
-    }
-  }
-
-  for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8);
-
-  e = (e << mLen) | m;
-  eLen += mLen;
-  for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8);
-
-  buffer[offset + i - d] |= s * 128;
-};
-
-},{}],5:[function(require,module,exports){
-(function (global){
-
-/**
- * Module exports.
- */
-
-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.
- *
- * @param {Function} fn - the function to deprecate
- * @param {String} msg - the string to print to the console when `fn` is invoked
- * @returns {Function} a new "deprecated" version of `fn`
- * @api public
- */
-
-function deprecate (fn, msg) {
-  if (config('noDeprecation')) {
-    return fn;
-  }
-
-  var warned = false;
-  function deprecated() {
-    if (!warned) {
-      if (config('throwDeprecation')) {
-        throw new Error(msg);
-      } else if (config('traceDeprecation')) {
-        console.trace(msg);
-      } else {
-        console.error(msg);
-      }
-      warned = true;
-    }
-    return fn.apply(this, arguments);
-  }
-
-  return deprecated;
-}
-
-/**
- * Checks `localStorage` for boolean values for the given `name`.
- *
- * @param {String} name
- * @returns {Boolean}
- * @api private
- */
-
-function config (name) {
-  if (!global.localStorage) return false;
-  var val = global.localStorage[name];
-  if (null == val) return false;
-  return String(val).toLowerCase() === 'true';
-}
-
-}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{}],6:[function(require,module,exports){
-function DOMParser(options){
-	this.options = options ||{locator:{}};
-	
-}
-DOMParser.prototype.parseFromString = function(source,mimeType){	
-	var options = this.options;
-	var sax =  new XMLReader();
-	var domBuilder = options.domBuilder || new DOMHandler();//contentHandler and LexicalHandler
-	var errorHandler = options.errorHandler;
-	var locator = options.locator;
-	var defaultNSMap = options.xmlns||{};
-	var entityMap = {'lt':'<','gt':'>','amp':'&','quot':'"','apos':"'"}
-	if(locator){
-		domBuilder.setDocumentLocator(locator)
-	}
-	
-	sax.errorHandler = buildErrorHandler(errorHandler,domBuilder,locator);
-	sax.domBuilder = options.domBuilder || domBuilder;
-	if(/\/x?html?$/.test(mimeType)){
-		entityMap.nbsp = '\xa0';
-		entityMap.copy = '\xa9';
-		defaultNSMap['']= 'http://www.w3.org/1999/xhtml';
-	}
-	if(source){
-		sax.parse(source,defaultNSMap,entityMap);
-	}else{
-		sax.errorHandler.error("invalid document source");
-	}
-	return domBuilder.document;
-}
-function buildErrorHandler(errorImpl,domBuilder,locator){
-	if(!errorImpl){
-		if(domBuilder instanceof DOMHandler){
-			return domBuilder;
-		}
-		errorImpl = domBuilder ;
-	}
-	var errorHandler = {}
-	var isCallback = errorImpl instanceof Function;
-	locator = locator||{}
-	function build(key){
-		var fn = errorImpl[key];
-		if(!fn){
-			if(isCallback){
-				fn = errorImpl.length == 2?function(msg){errorImpl(key,msg)}:errorImpl;
-			}else{
-				var i=arguments.length;
-				while(--i){
-					if(fn = errorImpl[arguments[i]]){
-						break;
-					}
-				}
-			}
-		}
-		errorHandler[key] = fn && function(msg){
-			fn(msg+_locator(locator));
-		}||function(){};
-	}
-	build('warning','warn');
-	build('error','warn','warning');
-	build('fatalError','warn','warning','error');
-	return errorHandler;
-}
-/**
- * +ContentHandler+ErrorHandler
- * +LexicalHandler+EntityResolver2
- * -DeclHandler-DTDHandler 
- * 
- * DefaultHandler:EntityResolver, DTDHandler, ContentHandler, ErrorHandler
- * DefaultHandler2:DefaultHandler,LexicalHandler, DeclHandler, EntityResolver2
- * @link http://www.saxproject.org/apidoc/org/xml/sax/helpers/DefaultHandler.html
- */
-function DOMHandler() {
-    this.cdata = false;
-}
-function position(locator,node){
-	node.lineNumber = locator.lineNumber;
-	node.columnNumber = locator.columnNumber;
-}
-/**
- * @see org.xml.sax.ContentHandler#startDocument
- * @link http://www.saxproject.org/apidoc/org/xml/sax/ContentHandler.html
- */ 
-DOMHandler.prototype = {
-	startDocument : function() {
-    	this.document = new DOMImplementation().createDocument(null, null, null);
-    	if (this.locator) {
-        	this.document.documentURI = this.locator.systemId;
-    	}
-	},
-	startElement:function(namespaceURI, localName, qName, attrs) {
-		var doc = this.document;
-	    var el = doc.createElementNS(namespaceURI, qName||localName);
-	    var len = attrs.length;
-	    appendElement(this, el);
-	    this.currentElement = el;
-	    
-		this.locator && position(this.locator,el)
-	    for (var i = 0 ; i < len; i++) {
-	        var namespaceURI = attrs.getURI(i);
-	        var value = attrs.getValue(i);
-	        var qName = attrs.getQName(i);
-			var attr = doc.createAttributeNS(namespaceURI, qName);
-			if( attr.getOffset){
-				position(attr.getOffset(1),attr)
-			}
-			attr.value = attr.nodeValue = value;
-			el.setAttributeNode(attr)
-	    }
-	},
-	endElement:function(namespaceURI, localName, qName) {
-		var current = this.currentElement
-	    var tagName = current.tagName;
-	    this.currentElement = current.parentNode;
-	},
-	startPrefixMapping:function(prefix, uri) {
-	},
-	endPrefixMapping:function(prefix) {
-	},
-	processingInstruction:function(target, data) {
-	    var ins = this.document.createProcessingInstruction(target, data);
-	    this.locator && position(this.locator,ins)
-	    appendElement(this, ins);
-	},
-	ignorableWhitespace:function(ch, start, length) {
-	},
-	characters:function(chars, start, length) {
-		chars = _toString.apply(this,arguments)
-		//console.log(chars)
-		if(this.currentElement && chars){
-			if (this.cdata) {
-				var charNode = this.document.createCDATASection(chars);
-				this.currentElement.appendChild(charNode);
-			} else {
-				var charNode = this.document.createTextNode(chars);
-				this.currentElement.appendChild(charNode);
-			}
-			this.locator && position(this.locator,charNode)
-		}
-	},
-	skippedEntity:function(name) {
-	},
-	endDocument:function() {
-		this.document.normalize();
-	},
-	setDocumentLocator:function (locator) {
-	    if(this.locator = locator){// && !('lineNumber' in locator)){
-	    	locator.lineNumber = 0;
-	    }
-	},
-	//LexicalHandler
-	comment:function(chars, start, length) {
-		chars = _toString.apply(this,arguments)
-	    var comm = this.document.createComment(chars);
-	    this.locator && position(this.locator,comm)
-	    appendElement(this, comm);
-	},
-	
-	startCDATA:function() {
-	    //used in characters() methods
-	    this.cdata = true;
-	},
-	endCDATA:function() {
-	    this.cdata = false;
-	},
-	
-	startDTD:function(name, publicId, systemId) {
-		var impl = this.document.implementation;
-	    if (impl && impl.createDocumentType) {
-	        var dt = impl.createDocumentType(name, publicId, systemId);
-	        this.locator && position(this.locator,dt)
-	        appendElement(this, dt);
-	    }
-	},
-	/**
-	 * @see org.xml.sax.ErrorHandler
-	 * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html
-	 */
-	warning:function(error) {
-		console.warn(error,_locator(this.locator));
-	},
-	error:function(error) {
-		console.error(error,_locator(this.locator));
-	},
-	fatalError:function(error) {
-		console.error(error,_locator(this.locator));
-	    throw error;
-	}
-}
-function _locator(l){
-	if(l){
-		return '\n@'+(l.systemId ||'')+'#[line:'+l.lineNumber+',col:'+l.columnNumber+']'
-	}
-}
-function _toString(chars,start,length){
-	if(typeof chars == 'string'){
-		return chars.substr(start,length)
-	}else{//java sax connect width xmldom on rhino(what about: "? && !(chars instanceof String)")
-		if(chars.length >= start+length || start){
-			return new java.lang.String(chars,start,length)+'';
-		}
-		return chars;
-	}
-}
-
-/*
- * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/LexicalHandler.html
- * used method of org.xml.sax.ext.LexicalHandler:
- *  #comment(chars, start, length)
- *  #startCDATA()
- *  #endCDATA()
- *  #startDTD(name, publicId, systemId)
- *
- *
- * IGNORED method of org.xml.sax.ext.LexicalHandler:
- *  #endDTD()
- *  #startEntity(name)
- *  #endEntity(name)
- *
- *
- * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/DeclHandler.html
- * IGNORED method of org.xml.sax.ext.DeclHandler
- * 	#attributeDecl(eName, aName, type, mode, value)
- *  #elementDecl(name, model)
- *  #externalEntityDecl(name, publicId, systemId)
- *  #internalEntityDecl(name, value)
- * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/EntityResolver2.html
- * IGNORED method of org.xml.sax.EntityResolver2
- *  #resolveEntity(String name,String publicId,String baseURI,String systemId)
- *  #resolveEntity(publicId, systemId)
- *  #getExternalSubset(name, baseURI)
- * @link http://www.saxproject.org/apidoc/org/xml/sax/DTDHandler.html
- * IGNORED method of org.xml.sax.DTDHandler
- *  #notationDecl(name, publicId, systemId) {};
- *  #unparsedEntityDecl(name, publicId, systemId, notationName) {};
- */
-"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(key){
-	DOMHandler.prototype[key] = function(){return null}
-})
-
-/* Private static helpers treated below as private instance methods, so don't need to add these to the public API; we might use a Relator to also get rid of non-standard public properties */
-function appendElement (hander,node) {
-    if (!hander.currentElement) {
-        hander.document.appendChild(node);
-    } else {
-        hander.currentElement.appendChild(node);
-    }
-}//appendChild and setAttributeNS are preformance key
-
-if(typeof require == 'function'){
-	var XMLReader = require('./sax').XMLReader;
-	var DOMImplementation = exports.DOMImplementation = require('./dom').DOMImplementation;
-	exports.XMLSerializer = require('./dom').XMLSerializer ;
-	exports.DOMParser = DOMParser;
-}
-
-},{"./dom":7,"./sax":8}],7:[function(require,module,exports){
-/*
- * DOM Level 2
- * Object DOMException
- * @see http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html
- * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
- */
-
-function copy(src,dest){
-	for(var p in src){
-		dest[p] = src[p];
-	}
-}
-/**
-^\w+\.prototype\.([_\w]+)\s*=\s*((?:.*\{\s*?[\r\n][\s\S]*?^})|\S.*?(?=[;\r\n]));?
-^\w+\.prototype\.([_\w]+)\s*=\s*(\S.*?(?=[;\r\n]));?
- */
-function _extends(Class,Super){
-	var pt = Class.prototype;
-	if(Object.create){
-		var ppt = Object.create(Super.prototype)
-		pt.__proto__ = ppt;
-	}
-	if(!(pt instanceof Super)){
-		function t(){};
-		t.prototype = Super.prototype;
-		t = new t();
-		copy(pt,t);
-		Class.prototype = pt = t;
-	}
-	if(pt.constructor != Class){
-		if(typeof Class != 'function'){
-			console.error("unknow Class:"+Class)
-		}
-		pt.constructor = Class
-	}
-}
-var htmlns = 'http://www.w3.org/1999/xhtml' ;
-// Node Types
-var NodeType = {}
-var ELEMENT_NODE                = NodeType.ELEMENT_NODE                = 1;
-var ATTRIBUTE_NODE              = NodeType.ATTRIBUTE_NODE              = 2;
-var TEXT_NODE                   = NodeType.TEXT_NODE                   = 3;
-var CDATA_SECTION_NODE          = NodeType.CDATA_SECTION_NODE          = 4;
-var ENTITY_REFERENCE_NODE       = NodeType.ENTITY_REFERENCE_NODE       = 5;
-var ENTITY_NODE                 = NodeType.ENTITY_NODE                 = 6;
-var PROCESSING_INSTRUCTION_NODE = NodeType.PROCESSING_INSTRUCTION_NODE = 7;
-var COMMENT_NODE                = NodeType.COMMENT_NODE                = 8;
-var DOCUMENT_NODE               = NodeType.DOCUMENT_NODE               = 9;
-var DOCUMENT_TYPE_NODE          = NodeType.DOCUMENT_TYPE_NODE          = 10;
-var DOCUMENT_FRAGMENT_NODE      = NodeType.DOCUMENT_FRAGMENT_NODE      = 11;
-var NOTATION_NODE               = NodeType.NOTATION_NODE               = 12;
-
-// ExceptionCode
-var ExceptionCode = {}
-var ExceptionMessage = {};
-var INDEX_SIZE_ERR              = ExceptionCode.INDEX_SIZE_ERR              = ((ExceptionMessage[1]="Index size error"),1);
-var DOMSTRING_SIZE_ERR          = ExceptionCode.DOMSTRING_SIZE_ERR          = ((ExceptionMessage[2]="DOMString size error"),2);
-var HIERARCHY_REQUEST_ERR       = ExceptionCode.HIERARCHY_REQUEST_ERR       = ((ExceptionMessage[3]="Hierarchy request error"),3);
-var WRONG_DOCUMENT_ERR          = ExceptionCode.WRONG_DOCUMENT_ERR          = ((ExceptionMessage[4]="Wrong document"),4);
-var INVALID_CHARACTER_ERR       = ExceptionCode.INVALID_CHARACTER_ERR       = ((ExceptionMessage[5]="Invalid character"),5);
-var NO_DATA_ALLOWED_ERR         = ExceptionCode.NO_DATA_ALLOWED_ERR         = ((ExceptionMessage[6]="No data allowed"),6);
-var NO_MODIFICATION_ALLOWED_ERR = ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = ((ExceptionMessage[7]="No modification allowed"),7);
-var NOT_FOUND_ERR               = ExceptionCode.NOT_FOUND_ERR               = ((ExceptionMessage[8]="Not found"),8);
-var NOT_SUPPORTED_ERR           = ExceptionCode.NOT_SUPPORTED_ERR           = ((ExceptionMessage[9]="Not supported"),9);
-var INUSE_ATTRIBUTE_ERR         = ExceptionCode.INUSE_ATTRIBUTE_ERR         = ((ExceptionMessage[10]="Attribute in use"),10);
-//level2
-var INVALID_STATE_ERR        	= ExceptionCode.INVALID_STATE_ERR        	= ((ExceptionMessage[11]="Invalid state"),11);
-var SYNTAX_ERR               	= ExceptionCode.SYNTAX_ERR               	= ((ExceptionMessage[12]="Syntax error"),12);
-var INVALID_MODIFICATION_ERR 	= ExceptionCode.INVALID_MODIFICATION_ERR 	= ((ExceptionMessage[13]="Invalid modification"),13);
-var NAMESPACE_ERR            	= ExceptionCode.NAMESPACE_ERR           	= ((ExceptionMessage[14]="Invalid namespace"),14);
-var INVALID_ACCESS_ERR       	= ExceptionCode.INVALID_ACCESS_ERR      	= ((ExceptionMessage[15]="Invalid access"),15);
-
-
-function DOMException(code, message) {
-	if(message instanceof Error){
-		var error = message;
-	}else{
-		error = this;
-		Error.call(this, ExceptionMessage[code]);
-		this.message = ExceptionMessage[code];
-		if(Error.captureStackTrace) Error.captureStackTrace(this, DOMException);
-	}
-	error.code = code;
-	if(message) this.message = this.message + ": " + message;
-	return error;
-};
-DOMException.prototype = Error.prototype;
-copy(ExceptionCode,DOMException)
-/**
- * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-536297177
- * The NodeList interface provides the abstraction of an ordered collection of nodes, without defining or constraining how this collection is implemented. NodeList objects in the DOM are live.
- * The items in the NodeList are accessible via an integral index, starting from 0.
- */
-function NodeList() {
-};
-NodeList.prototype = {
-	/**
-	 * The number of nodes in the list. The range of valid child node indices is 0 to length-1 inclusive.
-	 * @standard level1
-	 */
-	length:0, 
-	/**
-	 * Returns the indexth item in the collection. If index is greater than or equal to the number of nodes in the list, this returns null.
-	 * @standard level1
-	 * @param index  unsigned long 
-	 *   Index into the collection.
-	 * @return Node
-	 * 	The node at the indexth position in the NodeList, or null if that is not a valid index. 
-	 */
-	item: function(index) {
-		return this[index] || null;
-	}
-};
-function LiveNodeList(node,refresh){
-	this._node = node;
-	this._refresh = refresh
-	_updateLiveList(this);
-}
-function _updateLiveList(list){
-	var inc = list._node._inc || list._node.ownerDocument._inc;
-	if(list._inc != inc){
-		var ls = list._refresh(list._node);
-		//console.log(ls.length)
-		__set__(list,'length',ls.length);
-		copy(ls,list);
-		list._inc = inc;
-	}
-}
-LiveNodeList.prototype.item = function(i){
-	_updateLiveList(this);
-	return this[i];
-}
-
-_extends(LiveNodeList,NodeList);
-/**
- * 
- * Objects implementing the NamedNodeMap interface are used to represent collections of nodes that can be accessed by name. Note that NamedNodeMap does not inherit from NodeList; NamedNodeMaps are not maintained in any particular order. Objects contained in an object implementing NamedNodeMap may also be accessed by an ordinal index, but this is simply to allow convenient enumeration of the contents of a NamedNodeMap, and does not imply that the DOM specifies an order to these Nodes.
- * NamedNodeMap objects in the DOM are live.
- * used for attributes or DocumentType entities 
- */
-function NamedNodeMap() {
-};
-
-function _findNodeIndex(list,node){
-	var i = list.length;
-	while(i--){
-		if(list[i] === node){return i}
-	}
-}
-
-function _addNamedNode(el,list,newAttr,oldAttr){
-	if(oldAttr){
-		list[_findNodeIndex(list,oldAttr)] = newAttr;
-	}else{
-		list[list.length++] = newAttr;
-	}
-	if(el){
-		newAttr.ownerElement = el;
-		var doc = el.ownerDocument;
-		if(doc){
-			oldAttr && _onRemoveAttribute(doc,el,oldAttr);
-			_onAddAttribute(doc,el,newAttr);
-		}
-	}
-}
-function _removeNamedNode(el,list,attr){
-	var i = _findNodeIndex(list,attr);
-	if(i>=0){
-		var lastIndex = list.length-1
-		while(i<lastIndex){
-			list[i] = list[++i]
-		}
-		list.length = lastIndex;
-		if(el){
-			var doc = el.ownerDocument;
-			if(doc){
-				_onRemoveAttribute(doc,el,attr);
-				attr.ownerElement = null;
-			}
-		}
-	}else{
-		throw DOMException(NOT_FOUND_ERR,new Error())
-	}
-}
-NamedNodeMap.prototype = {
-	length:0,
-	item:NodeList.prototype.item,
-	getNamedItem: function(key) {
-//		if(key.indexOf(':')>0 || key == 'xmlns'){
-//			return null;
-//		}
-		var i = this.length;
-		while(i--){
-			var attr = this[i];
-			if(attr.nodeName == key){
-				return attr;
-			}
-		}
-	},
-	setNamedItem: function(attr) {
-		var el = attr.ownerElement;
-		if(el && el!=this._ownerElement){
-			throw new DOMException(INUSE_ATTRIBUTE_ERR);
-		}
-		var oldAttr = this.getNamedItem(attr.nodeName);
-		_addNamedNode(this._ownerElement,this,attr,oldAttr);
-		return oldAttr;
-	},
-	/* returns Node */
-	setNamedItemNS: function(attr) {// raises: WRONG_DOCUMENT_ERR,NO_MODIFICATION_ALLOWED_ERR,INUSE_ATTRIBUTE_ERR
-		var el = attr.ownerElement, oldAttr;
-		if(el && el!=this._ownerElement){
-			throw new DOMException(INUSE_ATTRIBUTE_ERR);
-		}
-		oldAttr = this.getNamedItemNS(attr.namespaceURI,attr.localName);
-		_addNamedNode(this._ownerElement,this,attr,oldAttr);
-		return oldAttr;
-	},
-
-	/* returns Node */
-	removeNamedItem: function(key) {
-		var attr = this.getNamedItem(key);
-		_removeNamedNode(this._ownerElement,this,attr);
-		return attr;
-		
-		
-	},// raises: NOT_FOUND_ERR,NO_MODIFICATION_ALLOWED_ERR
-	
-	//for level2
-	removeNamedItemNS:function(namespaceURI,localName){
-		var attr = this.getNamedItemNS(namespaceURI,localName);
-		_removeNamedNode(this._ownerElement,this,attr);
-		return attr;
-	},
-	getNamedItemNS: function(namespaceURI, localName) {
-		var i = this.length;
-		while(i--){
-			var node = this[i];
-			if(node.localName == localName && node.namespaceURI == namespaceURI){
-				return node;
-			}
-		}
-		return null;
-	}
-};
-/**
- * @see http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-102161490
- */
-function DOMImplementation(/* Object */ features) {
-	this._features = {};
-	if (features) {
-		for (var feature in features) {
-			 this._features = features[feature];
-		}
-	}
-};
-
-DOMImplementation.prototype = {
-	hasFeature: function(/* string */ feature, /* string */ version) {
-		var versions = this._features[feature.toLowerCase()];
-		if (versions && (!version || version in versions)) {
-			return true;
-		} else {
-			return false;
-		}
-	},
-	// Introduced in DOM Level 2:
-	createDocument:function(namespaceURI,  qualifiedName, doctype){// raises:INVALID_CHARACTER_ERR,NAMESPACE_ERR,WRONG_DOCUMENT_ERR
-		var doc = new Document();
-		doc.doctype = doctype;
-		if(doctype){
-			doc.appendChild(doctype);
-		}
-		doc.implementation = this;
-		doc.childNodes = new NodeList();
-		if(qualifiedName){
-			var root = doc.createElementNS(namespaceURI,qualifiedName);
-			doc.appendChild(root);
-		}
-		return doc;
-	},
-	// Introduced in DOM Level 2:
-	createDocumentType:function(qualifiedName, publicId, systemId){// raises:INVALID_CHARACTER_ERR,NAMESPACE_ERR
-		var node = new DocumentType();
-		node.name = qualifiedName;
-		node.nodeName = qualifiedName;
-		node.publicId = publicId;
-		node.systemId = systemId;
-		// Introduced in DOM Level 2:
-		//readonly attribute DOMString        internalSubset;
-		
-		//TODO:..
-		//  readonly attribute NamedNodeMap     entities;
-		//  readonly attribute NamedNodeMap     notations;
-		return node;
-	}
-};
-
-
-/**
- * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247
- */
-
-function Node() {
-};
-
-Node.prototype = {
-	firstChild : null,
-	lastChild : null,
-	previousSibling : null,
-	nextSibling : null,
-	attributes : null,
-	parentNode : null,
-	childNodes : null,
-	ownerDocument : null,
-	nodeValue : null,
-	namespaceURI : null,
-	prefix : null,
-	localName : null,
-	// Modified in DOM Level 2:
-	insertBefore:function(newChild, refChild){//raises 
-		return _insertBefore(this,newChild,refChild);
-	},
-	replaceChild:function(newChild, oldChild){//raises 
-		this.insertBefore(newChild,oldChild);
-		if(oldChild){
-			this.removeChild(oldChild);
-		}
-	},
-	removeChild:function(oldChild){
-		return _removeChild(this,oldChild);
-	},
-	appendChild:function(newChild){
-		return this.insertBefore(newChild,null);
-	},
-	hasChildNodes:function(){
-		return this.firstChild != null;
-	},
-	cloneNode:function(deep){
-		return cloneNode(this.ownerDocument||this,this,deep);
-	},
-	// Modified in DOM Level 2:
-	normalize:function(){
-		var child = this.firstChild;
-		while(child){
-			var next = child.nextSibling;
-			if(next && next.nodeType == TEXT_NODE && child.nodeType == TEXT_NODE){
-				this.removeChild(next);
-				child.appendData(next.data);
-			}else{
-				child.normalize();
-				child = next;
-			}
-		}
-	},
-  	// Introduced in DOM Level 2:
-	isSupported:function(feature, version){
-		return this.ownerDocument.implementation.hasFeature(feature,version);
-	},
-    // Introduced in DOM Level 2:
-    hasAttributes:function(){
-    	return this.attributes.length>0;
-    },
-    lookupPrefix:function(namespaceURI){
-    	var el = this;
-    	while(el){
-    		var map = el._nsMap;
-    		//console.dir(map)
-    		if(map){
-    			for(var n in map){
-    				if(map[n] == namespaceURI){
-    					return n;
-    				}
-    			}
-    		}
-    		el = el.nodeType == 2?el.ownerDocument : el.parentNode;
-    	}
-    	return null;
-    },
-    // Introduced in DOM Level 3:
-    lookupNamespaceURI:function(prefix){
-    	var el = this;
-    	while(el){
-    		var map = el._nsMap;
-    		//console.dir(map)
-    		if(map){
-    			if(prefix in map){
-    				return map[prefix] ;
-    			}
-    		}
-    		el = el.nodeType == 2?el.ownerDocument : el.parentNode;
-    	}
-    	return null;
-    },
-    // Introduced in DOM Level 3:
-    isDefaultNamespace:function(namespaceURI){
-    	var prefix = this.lookupPrefix(namespaceURI);
-    	return prefix == null;
-    }
-};
-
-
-function _xmlEncoder(c){
-	return c == '<' && '&lt;' ||
-         c == '>' && '&gt;' ||
-         c == '&' && '&amp;' ||
-         c == '"' && '&quot;' ||
-         '&#'+c.charCodeAt()+';'
-}
-
-
-copy(NodeType,Node);
-copy(NodeType,Node.prototype);
-
-/**
- * @param callback return true for continue,false for break
- * @return boolean true: break visit;
- */
-function _visitNode(node,callback){
-	if(callback(node)){
-		return true;
-	}
-	if(node = node.firstChild){
-		do{
-			if(_visitNode(node,callback)){return true}
-        }while(node=node.nextSibling)
-    }
-}
-
-
-
-function Document(){
-}
-function _onAddAttribute(doc,el,newAttr){
-	doc && doc._inc++;
-	var ns = newAttr.namespaceURI ;
-	if(ns == 'http://www.w3.org/2000/xmlns/'){
-		//update namespace
-		el._nsMap[newAttr.prefix?newAttr.localName:''] = newAttr.value
-	}
-}
-function _onRemoveAttribute(doc,el,newAttr,remove){
-	doc && doc._inc++;
-	var ns = newAttr.namespaceURI ;
-	if(ns == 'http://www.w3.org/2000/xmlns/'){
-		//update namespace
-		delete el._nsMap[newAttr.prefix?newAttr.localName:'']
-	}
-}
-function _onUpdateChild(doc,el,newChild){
-	if(doc && doc._inc){
-		doc._inc++;
-		//update childNodes
-		var cs = el.childNodes;
-		if(newChild){
-			cs[cs.length++] = newChild;
-		}else{
-			//console.log(1)
-			var child = el.firstChild;
-			var i = 0;
-			while(child){
-				cs[i++] = child;
-				child =child.nextSibling;
-			}
-			cs.length = i;
-		}
-	}
-}
-
-/**
- * attributes;
- * children;
- * 
- * writeable properties:
- * nodeValue,Attr:value,CharacterData:data
- * prefix
- */
-function _removeChild(parentNode,child){
-	var previous = child.previousSibling;
-	var next = child.nextSibling;
-	if(previous){
-		previous.nextSibling = next;
-	}else{
-		parentNode.firstChild = next
-	}
-	if(next){
-		next.previousSibling = previous;
-	}else{
-		parentNode.lastChild = previous;
-	}
-	_onUpdateChild(parentNode.ownerDocument,parentNode);
-	return child;
-}
-/**
- * preformance key(refChild == null)
- */
-function _insertBefore(parentNode,newChild,nextChild){
-	var cp = newChild.parentNode;
-	if(cp){
-		cp.removeChild(newChild);//remove and update
-	}
-	if(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){
-		var newFirst = newChild.firstChild;
-		if (newFirst == null) {
-			return newChild;
-		}
-		var newLast = newChild.lastChild;
-	}else{
-		newFirst = newLast = newChild;
-	}
-	var pre = nextChild ? nextChild.previousSibling : parentNode.lastChild;
-
-	newFirst.previousSibling = pre;
-	newLast.nextSibling = nextChild;
-	
-	
-	if(pre){
-		pre.nextSibling = newFirst;
-	}else{
-		parentNode.firstChild = newFirst;
-	}
-	if(nextChild == null){
-		parentNode.lastChild = newLast;
-	}else{
-		nextChild.previousSibling = newLast;
-	}
-	do{
-		newFirst.parentNode = parentNode;
-	}while(newFirst !== newLast && (newFirst= newFirst.nextSibling))
-	_onUpdateChild(parentNode.ownerDocument||parentNode,parentNode);
-	//console.log(parentNode.lastChild.nextSibling == null)
-	if (newChild.nodeType == DOCUMENT_FRAGMENT_NODE) {
-		newChild.firstChild = newChild.lastChild = null;
-	}
-	return newChild;
-}
-function _appendSingleChild(parentNode,newChild){
-	var cp = newChild.parentNode;
-	if(cp){
-		var pre = parentNode.lastChild;
-		cp.removeChild(newChild);//remove and update
-		var pre = parentNode.lastChild;
-	}
-	var pre = parentNode.lastChild;
-	newChild.parentNode = parentNode;
-	newChild.previousSibling = pre;
-	newChild.nextSibling = null;
-	if(pre){
-		pre.nextSibling = newChild;
-	}else{
-		parentNode.firstChild = newChild;
-	}
-	parentNode.lastChild = newChild;
-	_onUpdateChild(parentNode.ownerDocument,parentNode,newChild);
-	return newChild;
-	//console.log("__aa",parentNode.lastChild.nextSibling == null)
-}
-Document.prototype = {
-	//implementation : null,
-	nodeName :  '#document',
-	nodeType :  DOCUMENT_NODE,
-	doctype :  null,
-	documentElement :  null,
-	_inc : 1,
-	
-	insertBefore :  function(newChild, refChild){//raises 
-		if(newChild.nodeType == DOCUMENT_FRAGMENT_NODE){
-			var child = newChild.firstChild;
-			while(child){
-				var next = child.nextSibling;
-				this.insertBefore(child,refChild);
-				child = next;
-			}
-			return newChild;
-		}
-		if(this.documentElement == null && newChild.nodeType == 1){
-			this.documentElement = newChild;
-		}
-		
-		return _insertBefore(this,newChild,refChild),(newChild.ownerDocument = this),newChild;
-	},
-	removeChild :  function(oldChild){
-		if(this.documentElement == oldChild){
-			this.documentElement = null;
-		}
-		return _removeChild(this,oldChild);
-	},
-	// Introduced in DOM Level 2:
-	importNode : function(importedNode,deep){
-		return importNode(this,importedNode,deep);
-	},
-	// Introduced in DOM Level 2:
-	getElementById :	function(id){
-		var rtv = null;
-		_visitNode(this.documentElement,function(node){
-			if(node.nodeType == 1){
-				if(node.getAttribute('id') == id){
-					rtv = node;
-					return true;
-				}
-			}
-		})
-		return rtv;
-	},
-	
-	//document factory method:
-	createElement :	function(tagName){
-		var node = new Element();
-		node.ownerDocument = this;
-		node.nodeName = tagName;
-		node.tagName = tagName;
-		node.childNodes = new NodeList();
-		var attrs	= node.attributes = new NamedNodeMap();
-		attrs._ownerElement = node;
-		return node;
-	},
-	createDocumentFragment :	function(){
-		var node = new DocumentFragment();
-		node.ownerDocument = this;
-		node.childNodes = new NodeList();
-		return node;
-	},
-	createTextNode :	function(data){
-		var node = new Text();
-		node.ownerDocument = this;
-		node.appendData(data)
-		return node;
-	},
-	createComment :	function(data){
-		var node = new Comment();
-		node.ownerDocument = this;
-		node.appendData(data)
-		return node;
-	},
-	createCDATASection :	function(data){
-		var node = new CDATASection();
-		node.ownerDocument = this;
-		node.appendData(data)
-		return node;
-	},
-	createProcessingInstruction :	function(target,data){
-		var node = new ProcessingInstruction();
-		node.ownerDocument = this;
-		node.tagName = node.target = target;
-		node.nodeValue= node.data = data;
-		return node;
-	},
-	createAttribute :	function(name){
-		var node = new Attr();
-		node.ownerDocument	= this;
-		node.name = name;
-		node.nodeName	= name;
-		node.localName = name;
-		node.specified = true;
-		return node;
-	},
-	createEntityReference :	function(name){
-		var node = new EntityReference();
-		node.ownerDocument	= this;
-		node.nodeName	= name;
-		return node;
-	},
-	// Introduced in DOM Level 2:
-	createElementNS :	function(namespaceURI,qualifiedName){
-		var node = new Element();
-		var pl = qualifiedName.split(':');
-		var attrs	= node.attributes = new NamedNodeMap();
-		node.childNodes = new NodeList();
-		node.ownerDocument = this;
-		node.nodeName = qualifiedName;
-		node.tagName = qualifiedName;
-		node.namespaceURI = namespaceURI;
-		if(pl.length == 2){
-			node.prefix = pl[0];
-			node.localName = pl[1];
-		}else{
-			//el.prefix = null;
-			node.localName = qualifiedName;
-		}
-		attrs._ownerElement = node;
-		return node;
-	},
-	// Introduced in DOM Level 2:
-	createAttributeNS :	function(namespaceURI,qualifiedName){
-		var node = new Attr();
-		var pl = qualifiedName.split(':');
-		node.ownerDocument = this;
-		node.nodeName = qualifiedName;
-		node.name = qualifiedName;
-		node.namespaceURI = namespaceURI;
-		node.specified = true;
-		if(pl.length == 2){
-			node.prefix = pl[0];
-			node.localName = pl[1];
-		}else{
-			//el.prefix = null;
-			node.localName = qualifiedName;
-		}
-		return node;
-	}
-};
-_extends(Document,Node);
-
-
-function Element() {
-	this._nsMap = {};
-};
-Element.prototype = {
-	nodeType : ELEMENT_NODE,
-	hasAttribute : function(name){
-		return this.getAttributeNode(name)!=null;
-	},
-	getAttribute : function(name){
-		var attr = this.getAttributeNode(name);
-		return attr && attr.value || '';
-	},
-	getAttributeNode : function(name){
-		return this.attributes.getNamedItem(name);
-	},
-	setAttribute : function(name, value){
-		var attr = this.ownerDocument.createAttribute(name);
-		attr.value = attr.nodeValue = "" + value;
-		this.setAttributeNode(attr)
-	},
-	removeAttribute : function(name){
-		var attr = this.getAttributeNode(name)
-		attr && this.removeAttributeNode(attr);
-	},
-	
-	//four real opeartion method
-	appendChild:function(newChild){
-		if(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){
-			return this.insertBefore(newChild,null);
-		}else{
-			return _appendSingleChild(this,newChild);
-		}
-	},
-	setAttributeNode : function(newAttr){
-		return this.attributes.setNamedItem(newAttr);
-	},
-	setAttributeNodeNS : function(newAttr){
-		return this.attributes.setNamedItemNS(newAttr);
-	},
-	removeAttributeNode : function(oldAttr){
-		return this.attributes.removeNamedItem(oldAttr.nodeName);
-	},
-	//get real attribute name,and remove it by removeAttributeNode
-	removeAttributeNS : function(namespaceURI, localName){
-		var old = this.getAttributeNodeNS(namespaceURI, localName);
-		old && this.removeAttributeNode(old);
-	},
-	
-	hasAttributeNS : function(namespaceURI, localName){
-		return this.getAttributeNodeNS(namespaceURI, localName)!=null;
-	},
-	getAttributeNS : function(namespaceURI, localName){
-		var attr = this.getAttributeNodeNS(namespaceURI, localName);
-		return attr && attr.value || '';
-	},
-	setAttributeNS : function(namespaceURI, qualifiedName, value){
-		var attr = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName);
-		attr.value = attr.nodeValue = value;
-		this.setAttributeNode(attr)
-	},
-	getAttributeNodeNS : function(namespaceURI, localName){
-		return this.attributes.getNamedItemNS(namespaceURI, localName);
-	},
-	
-	getElementsByTagName : function(tagName){
-		return new LiveNodeList(this,function(base){
-			var ls = [];
-			_visitNode(base,function(node){
-				if(node !== base && node.nodeType == ELEMENT_NODE && (tagName === '*' || node.tagName == tagName)){
-					ls.push(node);
-				}
-			});
-			return ls;
-		});
-	},
-	getElementsByTagNameNS : function(namespaceURI, localName){
-		return new LiveNodeList(this,function(base){
-			var ls = [];
-			_visitNode(base,function(node){
-				if(node !== base && node.nodeType === ELEMENT_NODE && node.namespaceURI === namespaceURI && (localName === '*' || node.localName == localName)){
-					ls.push(node);
-				}
-			});
-			return ls;
-		});
-	}
-};
-Document.prototype.getElementsByTagName = Element.prototype.getElementsByTagName;
-Document.prototype.getElementsByTagNameNS = Element.prototype.getElementsByTagNameNS;
-
-
-_extends(Element,Node);
-function Attr() {
-};
-Attr.prototype.nodeType = ATTRIBUTE_NODE;
-_extends(Attr,Node);
-
-
-function CharacterData() {
-};
-CharacterData.prototype = {
-	data : '',
-	substringData : function(offset, count) {
-		return this.data.substring(offset, offset+count);
-	},
-	appendData: function(text) {
-		text = this.data+text;
-		this.nodeValue = this.data = text;
-		this.length = text.length;
-	},
-	insertData: function(offset,text) {
-		this.replaceData(offset,0,text);
-	
-	},
-	appendChild:function(newChild){
-		//if(!(newChild instanceof CharacterData)){
-			throw new Error(ExceptionMessage[3])
-		//}
-		return Node.prototype.appendChild.apply(this,arguments)
-	},
-	deleteData: function(offset, count) {
-		this.replaceData(offset,count,"");
-	},
-	replaceData: function(offset, count, text) {
-		var start = this.data.substring(0,offset);
-		var end = this.data.substring(offset+count);
-		text = start + text + end;
-		this.nodeValue = this.data = text;
-		this.length = text.length;
-	}
-}
-_extends(CharacterData,Node);
-function Text() {
-};
-Text.prototype = {
-	nodeName : "#text",
-	nodeType : TEXT_NODE,
-	splitText : function(offset) {
-		var text = this.data;
-		var newText = text.substring(offset);
-		text = text.substring(0, offset);
-		this.data = this.nodeValue = text;
-		this.length = text.length;
-		var newNode = this.ownerDocument.createTextNode(newText);
-		if(this.parentNode){
-			this.parentNode.insertBefore(newNode, this.nextSibling);
-		}
-		return newNode;
-	}
-}
-_extends(Text,CharacterData);
-function Comment() {
-};
-Comment.prototype = {
-	nodeName : "#comment",
-	nodeType : COMMENT_NODE
-}
-_extends(Comment,CharacterData);
-
-function CDATASection() {
-};
-CDATASection.prototype = {
-	nodeName : "#cdata-section",
-	nodeType : CDATA_SECTION_NODE
-}
-_extends(CDATASection,CharacterData);
-
-
-function DocumentType() {
-};
-DocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE;
-_extends(DocumentType,Node);
-
-function Notation() {
-};
-Notation.prototype.nodeType = NOTATION_NODE;
-_extends(Notation,Node);
-
-function Entity() {
-};
-Entity.prototype.nodeType = ENTITY_NODE;
-_extends(Entity,Node);
-
-function EntityReference() {
-};
-EntityReference.prototype.nodeType = ENTITY_REFERENCE_NODE;
-_extends(EntityReference,Node);
-
-function DocumentFragment() {
-};
-DocumentFragment.prototype.nodeName =	"#document-fragment";
-DocumentFragment.prototype.nodeType =	DOCUMENT_FRAGMENT_NODE;
-_extends(DocumentFragment,Node);
-
-
-function ProcessingInstruction() {
-}
-ProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE;
-_extends(ProcessingInstruction,Node);
-function XMLSerializer(){}
-XMLSerializer.prototype.serializeToString = function(node){
-	var buf = [];
-	serializeToString(node,buf);
-	return buf.join('');
-}
-Node.prototype.toString =function(){
-	return XMLSerializer.prototype.serializeToString(this);
-}
-function serializeToString(node,buf){
-	switch(node.nodeType){
-	case ELEMENT_NODE:
-		var attrs = node.attributes;
-		var len = attrs.length;
-		var child = node.firstChild;
-		var nodeName = node.tagName;
-		var isHTML = htmlns === node.namespaceURI
-		buf.push('<',nodeName);
-		for(var i=0;i<len;i++){
-			serializeToString(attrs.item(i),buf,isHTML);
-		}
-		if(child || isHTML && !/^(?:meta|link|img|br|hr|input)$/i.test(nodeName)){
-			buf.push('>');
-			//if is cdata child node
-			if(isHTML && /^script$/i.test(nodeName)){
-				if(child){
-					buf.push(child.data);
-				}
-			}else{
-				while(child){
-					serializeToString(child,buf);
-					child = child.nextSibling;
-				}
-			}
-			buf.push('</',nodeName,'>');
-		}else{
-			buf.push('/>');
-		}
-		return;
-	case DOCUMENT_NODE:
-	case DOCUMENT_FRAGMENT_NODE:
-		var child = node.firstChild;
-		while(child){
-			serializeToString(child,buf);
-			child = child.nextSibling;
-		}
-		return;
-	case ATTRIBUTE_NODE:
-		return buf.push(' ',node.name,'="',node.value.replace(/[<&"]/g,_xmlEncoder),'"');
-	case TEXT_NODE:
-		return buf.push(node.data.replace(/[<&]/g,_xmlEncoder));
-	case CDATA_SECTION_NODE:
-		return buf.push( '<![CDATA[',node.data,']]>');
-	case COMMENT_NODE:
-		return buf.push( "<!--",node.data,"-->");
-	case DOCUMENT_TYPE_NODE:
-		var pubid = node.publicId;
-		var sysid = node.systemId;
-		buf.push('<!DOCTYPE ',node.name);
-		if(pubid){
-			buf.push(' PUBLIC "',pubid);
-			if (sysid && sysid!='.') {
-				buf.push( '" "',sysid);
-			}
-			buf.push('">');
-		}else if(sysid && sysid!='.'){
-			buf.push(' SYSTEM "',sysid,'">');
-		}else{
-			var sub = node.internalSubset;
-			if(sub){
-				buf.push(" [",sub,"]");
-			}
-			buf.push(">");
-		}
-		return;
-	case PROCESSING_INSTRUCTION_NODE:
-		return buf.push( "<?",node.target," ",node.data,"?>");
-	case ENTITY_REFERENCE_NODE:
-		return buf.push( '&',node.nodeName,';');
-	//case ENTITY_NODE:
-	//case NOTATION_NODE:
-	default:
-		buf.push('??',node.nodeName);
-	}
-}
-function importNode(doc,node,deep){
-	var node2;
-	switch (node.nodeType) {
-	case ELEMENT_NODE:
-		node2 = node.cloneNode(false);
-		node2.ownerDocument = doc;
-		//var attrs = node2.attributes;
-		//var len = attrs.length;
-		//for(var i=0;i<len;i++){
-			//node2.setAttributeNodeNS(importNode(doc,attrs.item(i),deep));
-		//}
-	case DOCUMENT_FRAGMENT_NODE:
-		break;
-	case ATTRIBUTE_NODE:
-		deep = true;
-		break;
-	//case ENTITY_REFERENCE_NODE:
-	//case PROCESSING_INSTRUCTION_NODE:
-	////case TEXT_NODE:
-	//case CDATA_SECTION_NODE:
-	//case COMMENT_NODE:
-	//	deep = false;
-	//	break;
-	//case DOCUMENT_NODE:
-	//case DOCUMENT_TYPE_NODE:
-	//cannot be imported.
-	//case ENTITY_NODE:
-	//case NOTATION_NODE\uff1a
-	//can not hit in level3
-	//default:throw e;
-	}
-	if(!node2){
-		node2 = node.cloneNode(false);//false
-	}
-	node2.ownerDocument = doc;
-	node2.parentNode = null;
-	if(deep){
-		var child = node.firstChild;
-		while(child){
-			node2.appendChild(importNode(doc,child,deep));
-			child = child.nextSibling;
-		}
-	}
-	return node2;
-}
-//
-//var _relationMap = {firstChild:1,lastChild:1,previousSibling:1,nextSibling:1,
-//					attributes:1,childNodes:1,parentNode:1,documentElement:1,doctype,};
-function cloneNode(doc,node,deep){
-	var node2 = new node.constructor();
-	for(var n in node){
-		var v = node[n];
-		if(typeof v != 'object' ){
-			if(v != node2[n]){
-				node2[n] = v;
-			}
-		}
-	}
-	if(node.childNodes){
-		node2.childNodes = new NodeList();
-	}
-	node2.ownerDocument = doc;
-	switch (node2.nodeType) {
-	case ELEMENT_NODE:
-		var attrs	= node.attributes;
-		var attrs2	= node2.attributes = new NamedNodeMap();
-		var len = attrs.length
-		attrs2._ownerElement = node2;
-		for(var i=0;i<len;i++){
-			node2.setAttributeNode(cloneNode(doc,attrs.item(i),true));
-		}
-		break;;
-	case ATTRIBUTE_NODE:
-		deep = true;
-	}
-	if(deep){
-		var child = node.firstChild;
-		while(child){
-			node2.appendChild(cloneNode(doc,child,deep));
-			child = child.nextSibling;
-		}
-	}
-	return node2;
-}
-
-function __set__(object,key,value){
-	object[key] = value
-}
-//do dynamic
-try{
-	if(Object.defineProperty){
-		Object.defineProperty(LiveNodeList.prototype,'length',{
-			get:function(){
-				_updateLiveList(this);
-				return this.$$length;
-			}
-		});
-		Object.defineProperty(Node.prototype,'textContent',{
-			get:function(){
-				return getTextContent(this);
-			},
-			set:function(data){
-				switch(this.nodeType){
-				case 1:
-				case 11:
-					while(this.firstChild){
-						this.removeChild(this.firstChild);
-					}
-					if(data || String(data)){
-						this.appendChild(this.ownerDocument.createTextNode(data));
-					}
-					break;
-				default:
-					//TODO:
-					this.data = data;
-					this.value = value;
-					this.nodeValue = data;
-				}
-			}
-		})
-		
-		function getTextContent(node){
-			switch(node.nodeType){
-			case 1:
-			case 11:
-				var buf = [];
-				node = node.firstChild;
-				while(node){
-					if(node.nodeType!==7 && node.nodeType !==8){
-						buf.push(getTextContent(node));
-					}
-					node = node.nextSibling;
-				}
-				return buf.join('');
-			default:
-				return node.nodeValue;
-			}
-		}
-		__set__ = function(object,key,value){
-			//console.log(value)
-			object['$$'+key] = value
-		}
-	}
-}catch(e){//ie8
-}
-
-if(typeof require == 'function'){
-	exports.DOMImplementation = DOMImplementation;
-	exports.XMLSerializer = XMLSerializer;
-}
-
-},{}],8:[function(require,module,exports){
-//[4]   	NameStartChar	   ::=   	":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]
-//[4a]   	NameChar	   ::=   	NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]
-//[5]   	Name	   ::=   	NameStartChar (NameChar)*
-var nameStartChar = /[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]///\u10000-\uEFFFF
-var nameChar = new RegExp("[\\-\\.0-9"+nameStartChar.source.slice(1,-1)+"\u00B7\u0300-\u036F\\ux203F-\u2040]");
-var tagNamePattern = new RegExp('^'+nameStartChar.source+nameChar.source+'*(?:\:'+nameStartChar.source+nameChar.source+'*)?$');
-//var tagNamePattern = /^[a-zA-Z_][\w\-\.]*(?:\:[a-zA-Z_][\w\-\.]*)?$/
-//var handlers = 'resolveEntity,getExternalSubset,characters,endDocument,endElement,endPrefixMapping,ignorableWhitespace,processingInstruction,setDocumentLocator,skippedEntity,startDocument,startElement,startPrefixMapping,notationDecl,unparsedEntityDecl,error,fatalError,warning,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,comment,endCDATA,endDTD,endEntity,startCDATA,startDTD,startEntity'.split(',')
-
-//S_TAG,	S_ATTR,	S_EQ,	S_V
-//S_ATTR_S,	S_E,	S_S,	S_C
-var S_TAG = 0;//tag name offerring
-var S_ATTR = 1;//attr name offerring 
-var S_ATTR_S=2;//attr name end and space offer
-var S_EQ = 3;//=space?
-var S_V = 4;//attr value(no quot value only)
-var S_E = 5;//attr value end and no space(quot end)
-var S_S = 6;//(attr value end || tag end ) && (space offer)
-var S_C = 7;//closed el<el />
-
-function XMLReader(){
-	
-}
-
-XMLReader.prototype = {
-	parse:function(source,defaultNSMap,entityMap){
-		var domBuilder = this.domBuilder;
-		domBuilder.startDocument();
-		_copy(defaultNSMap ,defaultNSMap = {})
-		parse(source,defaultNSMap,entityMap,
-				domBuilder,this.errorHandler);
-		domBuilder.endDocument();
-	}
-}
-function parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){
-  function fixedFromCharCode(code) {
-		// String.prototype.fromCharCode 

<TRUNCATED>

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


[16/32] ios commit: CB-11445 Updated checked-in node_modules

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/findLastKey.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/findLastKey.js b/node_modules/lodash-node/modern/objects/findLastKey.js
deleted file mode 100644
index 236c726..0000000
--- a/node_modules/lodash-node/modern/objects/findLastKey.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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'),
-    forOwnRight = require('./forOwnRight');
-
-/**
- * This method is like `_.findKey` except that it iterates over elements
- * of a `collection` in the opposite order.
- *
- * 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 Objects
- * @param {Object} object The object 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 {string|undefined} Returns the key of the found element, else `undefined`.
- * @example
- *
- * var characters = {
- *   'barney': {  'age': 36, 'blocked': true },
- *   'fred': {    'age': 40, 'blocked': false },
- *   'pebbles': { 'age': 1,  'blocked': true }
- * };
- *
- * _.findLastKey(characters, function(chr) {
- *   return chr.age < 40;
- * });
- * // => returns `pebbles`, assuming `_.findKey` returns `barney`
- *
- * // using "_.where" callback shorthand
- * _.findLastKey(characters, { 'age': 40 });
- * // => 'fred'
- *
- * // using "_.pluck" callback shorthand
- * _.findLastKey(characters, 'blocked');
- * // => 'pebbles'
- */
-function findLastKey(object, callback, thisArg) {
-  var result;
-  callback = createCallback(callback, thisArg, 3);
-  forOwnRight(object, function(value, key, object) {
-    if (callback(value, key, object)) {
-      result = key;
-      return false;
-    }
-  });
-  return result;
-}
-
-module.exports = findLastKey;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/forIn.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/forIn.js b/node_modules/lodash-node/modern/objects/forIn.js
deleted file mode 100644
index 2d827c3..0000000
--- a/node_modules/lodash-node/modern/objects/forIn.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseCreateCallback = require('../internals/baseCreateCallback'),
-    objectTypes = require('../internals/objectTypes');
-
-/**
- * Iterates over own and inherited enumerable properties of an object,
- * executing the callback for each property. The callback is bound to `thisArg`
- * and invoked with three arguments; (value, key, object). Callbacks may exit
- * iteration early by explicitly returning `false`.
- *
- * @static
- * @memberOf _
- * @type Function
- * @category Objects
- * @param {Object} object The object to iterate over.
- * @param {Function} [callback=identity] The function called per iteration.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Object} Returns `object`.
- * @example
- *
- * function Shape() {
- *   this.x = 0;
- *   this.y = 0;
- * }
- *
- * Shape.prototype.move = function(x, y) {
- *   this.x += x;
- *   this.y += y;
- * };
- *
- * _.forIn(new Shape, function(value, key) {
- *   console.log(key);
- * });
- * // => logs 'x', 'y', and 'move' (property order is not guaranteed across environments)
- */
-var forIn = function(collection, callback, thisArg) {
-  var index, iterable = collection, result = iterable;
-  if (!iterable) return result;
-  if (!objectTypes[typeof iterable]) return result;
-  callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
-    for (index in iterable) {
-      if (callback(iterable[index], index, collection) === false) return result;
-    }
-  return result
-};
-
-module.exports = forIn;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/forInRight.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/forInRight.js b/node_modules/lodash-node/modern/objects/forInRight.js
deleted file mode 100644
index e9f077a..0000000
--- a/node_modules/lodash-node/modern/objects/forInRight.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseCreateCallback = require('../internals/baseCreateCallback'),
-    forIn = require('./forIn');
-
-/**
- * This method is like `_.forIn` except that it iterates over elements
- * of a `collection` in the opposite order.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The object to iterate over.
- * @param {Function} [callback=identity] The function called per iteration.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Object} Returns `object`.
- * @example
- *
- * function Shape() {
- *   this.x = 0;
- *   this.y = 0;
- * }
- *
- * Shape.prototype.move = function(x, y) {
- *   this.x += x;
- *   this.y += y;
- * };
- *
- * _.forInRight(new Shape, function(value, key) {
- *   console.log(key);
- * });
- * // => logs 'move', 'y', and 'x' assuming `_.forIn ` logs 'x', 'y', and 'move'
- */
-function forInRight(object, callback, thisArg) {
-  var pairs = [];
-
-  forIn(object, function(value, key) {
-    pairs.push(key, value);
-  });
-
-  var length = pairs.length;
-  callback = baseCreateCallback(callback, thisArg, 3);
-  while (length--) {
-    if (callback(pairs[length--], pairs[length], object) === false) {
-      break;
-    }
-  }
-  return object;
-}
-
-module.exports = forInRight;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/forOwn.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/forOwn.js b/node_modules/lodash-node/modern/objects/forOwn.js
deleted file mode 100644
index 33d2297..0000000
--- a/node_modules/lodash-node/modern/objects/forOwn.js
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseCreateCallback = require('../internals/baseCreateCallback'),
-    keys = require('./keys'),
-    objectTypes = require('../internals/objectTypes');
-
-/**
- * Iterates over own enumerable properties of an object, executing the callback
- * for each property. The callback is bound to `thisArg` and invoked with three
- * arguments; (value, key, object). Callbacks may exit iteration early by
- * explicitly returning `false`.
- *
- * @static
- * @memberOf _
- * @type Function
- * @category Objects
- * @param {Object} object The object to iterate over.
- * @param {Function} [callback=identity] The function called per iteration.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Object} Returns `object`.
- * @example
- *
- * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) {
- *   console.log(key);
- * });
- * // => logs '0', '1', and 'length' (property order is not guaranteed across environments)
- */
-var forOwn = function(collection, callback, thisArg) {
-  var index, iterable = collection, result = iterable;
-  if (!iterable) return result;
-  if (!objectTypes[typeof iterable]) return result;
-  callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
-    var ownIndex = -1,
-        ownProps = objectTypes[typeof iterable] && keys(iterable),
-        length = ownProps ? ownProps.length : 0;
-
-    while (++ownIndex < length) {
-      index = ownProps[ownIndex];
-      if (callback(iterable[index], index, collection) === false) return result;
-    }
-  return result
-};
-
-module.exports = forOwn;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/forOwnRight.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/forOwnRight.js b/node_modules/lodash-node/modern/objects/forOwnRight.js
deleted file mode 100644
index 86e53e8..0000000
--- a/node_modules/lodash-node/modern/objects/forOwnRight.js
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseCreateCallback = require('../internals/baseCreateCallback'),
-    keys = require('./keys');
-
-/**
- * This method is like `_.forOwn` except that it iterates over elements
- * of a `collection` in the opposite order.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The object to iterate over.
- * @param {Function} [callback=identity] The function called per iteration.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Object} Returns `object`.
- * @example
- *
- * _.forOwnRight({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) {
- *   console.log(key);
- * });
- * // => logs 'length', '1', and '0' assuming `_.forOwn` logs '0', '1', and 'length'
- */
-function forOwnRight(object, callback, thisArg) {
-  var props = keys(object),
-      length = props.length;
-
-  callback = baseCreateCallback(callback, thisArg, 3);
-  while (length--) {
-    var key = props[length];
-    if (callback(object[key], key, object) === false) {
-      break;
-    }
-  }
-  return object;
-}
-
-module.exports = forOwnRight;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/functions.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/functions.js b/node_modules/lodash-node/modern/objects/functions.js
deleted file mode 100644
index 4cfd478..0000000
--- a/node_modules/lodash-node/modern/objects/functions.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 forIn = require('./forIn'),
-    isFunction = require('./isFunction');
-
-/**
- * Creates a sorted array of property names of all enumerable properties,
- * own and inherited, of `object` that have function values.
- *
- * @static
- * @memberOf _
- * @alias methods
- * @category Objects
- * @param {Object} object The object to inspect.
- * @returns {Array} Returns an array of property names that have function values.
- * @example
- *
- * _.functions(_);
- * // => ['all', 'any', 'bind', 'bindAll', 'clone', 'compact', 'compose', ...]
- */
-function functions(object) {
-  var result = [];
-  forIn(object, function(value, key) {
-    if (isFunction(value)) {
-      result.push(key);
-    }
-  });
-  return result.sort();
-}
-
-module.exports = functions;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/has.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/has.js b/node_modules/lodash-node/modern/objects/has.js
deleted file mode 100644
index e7f610c..0000000
--- a/node_modules/lodash-node/modern/objects/has.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/**
- * Checks if the specified property name exists as a direct property of `object`,
- * instead of an inherited property.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The object to inspect.
- * @param {string} key The name of the property to check.
- * @returns {boolean} Returns `true` if key is a direct property, else `false`.
- * @example
- *
- * _.has({ 'a': 1, 'b': 2, 'c': 3 }, 'b');
- * // => true
- */
-function has(object, key) {
-  return object ? hasOwnProperty.call(object, key) : false;
-}
-
-module.exports = has;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/invert.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/invert.js b/node_modules/lodash-node/modern/objects/invert.js
deleted file mode 100644
index 66d5949..0000000
--- a/node_modules/lodash-node/modern/objects/invert.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 keys = require('./keys');
-
-/**
- * Creates an object composed of the inverted keys and values of the given object.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The object to invert.
- * @returns {Object} Returns the created inverted object.
- * @example
- *
- * _.invert({ 'first': 'fred', 'second': 'barney' });
- * // => { 'fred': 'first', 'barney': 'second' }
- */
-function invert(object) {
-  var index = -1,
-      props = keys(object),
-      length = props.length,
-      result = {};
-
-  while (++index < length) {
-    var key = props[index];
-    result[object[key]] = key;
-  }
-  return result;
-}
-
-module.exports = invert;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/isArguments.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/isArguments.js b/node_modules/lodash-node/modern/objects/isArguments.js
deleted file mode 100644
index eb87b80..0000000
--- a/node_modules/lodash-node/modern/objects/isArguments.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/** `Object#toString` result shortcuts */
-var argsClass = '[object Arguments]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/**
- * Checks if `value` is an `arguments` object.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is an `arguments` object, else `false`.
- * @example
- *
- * (function() { return _.isArguments(arguments); })(1, 2, 3);
- * // => true
- *
- * _.isArguments([1, 2, 3]);
- * // => false
- */
-function isArguments(value) {
-  return value && typeof value == 'object' && typeof value.length == 'number' &&
-    toString.call(value) == argsClass || false;
-}
-
-module.exports = isArguments;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/isArray.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/isArray.js b/node_modules/lodash-node/modern/objects/isArray.js
deleted file mode 100644
index c50e72c..0000000
--- a/node_modules/lodash-node/modern/objects/isArray.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 isNative = require('../internals/isNative');
-
-/** `Object#toString` result shortcuts */
-var arrayClass = '[object Array]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeIsArray = isNative(nativeIsArray = Array.isArray) && nativeIsArray;
-
-/**
- * Checks if `value` is an array.
- *
- * @static
- * @memberOf _
- * @type Function
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is an array, else `false`.
- * @example
- *
- * (function() { return _.isArray(arguments); })();
- * // => false
- *
- * _.isArray([1, 2, 3]);
- * // => true
- */
-var isArray = nativeIsArray || function(value) {
-  return value && typeof value == 'object' && typeof value.length == 'number' &&
-    toString.call(value) == arrayClass || false;
-};
-
-module.exports = isArray;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/isBoolean.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/isBoolean.js b/node_modules/lodash-node/modern/objects/isBoolean.js
deleted file mode 100644
index 614b298..0000000
--- a/node_modules/lodash-node/modern/objects/isBoolean.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/** `Object#toString` result shortcuts */
-var boolClass = '[object Boolean]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/**
- * Checks if `value` is a boolean value.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is a boolean value, else `false`.
- * @example
- *
- * _.isBoolean(null);
- * // => false
- */
-function isBoolean(value) {
-  return value === true || value === false ||
-    value && typeof value == 'object' && toString.call(value) == boolClass || false;
-}
-
-module.exports = isBoolean;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/isDate.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/isDate.js b/node_modules/lodash-node/modern/objects/isDate.js
deleted file mode 100644
index 36ed1cf..0000000
--- a/node_modules/lodash-node/modern/objects/isDate.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/** `Object#toString` result shortcuts */
-var dateClass = '[object Date]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/**
- * Checks if `value` is a date.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is a date, else `false`.
- * @example
- *
- * _.isDate(new Date);
- * // => true
- */
-function isDate(value) {
-  return value && typeof value == 'object' && toString.call(value) == dateClass || false;
-}
-
-module.exports = isDate;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/isElement.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/isElement.js b/node_modules/lodash-node/modern/objects/isElement.js
deleted file mode 100644
index 243b618..0000000
--- a/node_modules/lodash-node/modern/objects/isElement.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/**
- * Checks if `value` is a DOM element.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is a DOM element, else `false`.
- * @example
- *
- * _.isElement(document.body);
- * // => true
- */
-function isElement(value) {
-  return value && value.nodeType === 1 || false;
-}
-
-module.exports = isElement;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/isEmpty.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/isEmpty.js b/node_modules/lodash-node/modern/objects/isEmpty.js
deleted file mode 100644
index 35fe0f7..0000000
--- a/node_modules/lodash-node/modern/objects/isEmpty.js
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 forOwn = require('./forOwn'),
-    isFunction = require('./isFunction');
-
-/** `Object#toString` result shortcuts */
-var argsClass = '[object Arguments]',
-    arrayClass = '[object Array]',
-    objectClass = '[object Object]',
-    stringClass = '[object String]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/**
- * Checks if `value` is empty. Arrays, strings, or `arguments` objects with a
- * length of `0` and objects with no own enumerable properties are considered
- * "empty".
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Array|Object|string} value The value to inspect.
- * @returns {boolean} Returns `true` if the `value` is empty, else `false`.
- * @example
- *
- * _.isEmpty([1, 2, 3]);
- * // => false
- *
- * _.isEmpty({});
- * // => true
- *
- * _.isEmpty('');
- * // => true
- */
-function isEmpty(value) {
-  var result = true;
-  if (!value) {
-    return result;
-  }
-  var className = toString.call(value),
-      length = value.length;
-
-  if ((className == arrayClass || className == stringClass || className == argsClass ) ||
-      (className == objectClass && typeof length == 'number' && isFunction(value.splice))) {
-    return !length;
-  }
-  forOwn(value, function() {
-    return (result = false);
-  });
-  return result;
-}
-
-module.exports = isEmpty;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/isEqual.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/isEqual.js b/node_modules/lodash-node/modern/objects/isEqual.js
deleted file mode 100644
index 54c83fe..0000000
--- a/node_modules/lodash-node/modern/objects/isEqual.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseCreateCallback = require('../internals/baseCreateCallback'),
-    baseIsEqual = require('../internals/baseIsEqual');
-
-/**
- * Performs a deep comparison between two values to determine if they are
- * equivalent to each other. If a callback is provided it will be executed
- * to compare values. If the callback returns `undefined` comparisons will
- * be handled by the method instead. The callback is bound to `thisArg` and
- * invoked with two arguments; (a, b).
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} a The value to compare.
- * @param {*} b The other value to compare.
- * @param {Function} [callback] The function to customize comparing values.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
- * @example
- *
- * var object = { 'name': 'fred' };
- * var copy = { 'name': 'fred' };
- *
- * object == copy;
- * // => false
- *
- * _.isEqual(object, copy);
- * // => true
- *
- * var words = ['hello', 'goodbye'];
- * var otherWords = ['hi', 'goodbye'];
- *
- * _.isEqual(words, otherWords, function(a, b) {
- *   var reGreet = /^(?:hello|hi)$/i,
- *       aGreet = _.isString(a) && reGreet.test(a),
- *       bGreet = _.isString(b) && reGreet.test(b);
- *
- *   return (aGreet || bGreet) ? (aGreet == bGreet) : undefined;
- * });
- * // => true
- */
-function isEqual(a, b, callback, thisArg) {
-  return baseIsEqual(a, b, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 2));
-}
-
-module.exports = isEqual;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/isFinite.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/isFinite.js b/node_modules/lodash-node/modern/objects/isFinite.js
deleted file mode 100644
index 8142a8b..0000000
--- a/node_modules/lodash-node/modern/objects/isFinite.js
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeIsFinite = global.isFinite,
-    nativeIsNaN = global.isNaN;
-
-/**
- * Checks if `value` is, or can be coerced to, a finite number.
- *
- * Note: This is not the same as native `isFinite` which will return true for
- * booleans and empty strings. See http://es5.github.io/#x15.1.2.5.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is finite, else `false`.
- * @example
- *
- * _.isFinite(-101);
- * // => true
- *
- * _.isFinite('10');
- * // => true
- *
- * _.isFinite(true);
- * // => false
- *
- * _.isFinite('');
- * // => false
- *
- * _.isFinite(Infinity);
- * // => false
- */
-function isFinite(value) {
-  return nativeIsFinite(value) && !nativeIsNaN(parseFloat(value));
-}
-
-module.exports = isFinite;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/isFunction.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/isFunction.js b/node_modules/lodash-node/modern/objects/isFunction.js
deleted file mode 100644
index 30a49f1..0000000
--- a/node_modules/lodash-node/modern/objects/isFunction.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/**
- * Checks if `value` is a function.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is a function, else `false`.
- * @example
- *
- * _.isFunction(_);
- * // => true
- */
-function isFunction(value) {
-  return typeof value == 'function';
-}
-
-module.exports = isFunction;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/isNaN.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/isNaN.js b/node_modules/lodash-node/modern/objects/isNaN.js
deleted file mode 100644
index 1fff994..0000000
--- a/node_modules/lodash-node/modern/objects/isNaN.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 isNumber = require('./isNumber');
-
-/**
- * Checks if `value` is `NaN`.
- *
- * Note: This is not the same as native `isNaN` which will return `true` for
- * `undefined` and other non-numeric values. See http://es5.github.io/#x15.1.2.4.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is `NaN`, else `false`.
- * @example
- *
- * _.isNaN(NaN);
- * // => true
- *
- * _.isNaN(new Number(NaN));
- * // => true
- *
- * isNaN(undefined);
- * // => true
- *
- * _.isNaN(undefined);
- * // => false
- */
-function isNaN(value) {
-  // `NaN` as a primitive is the only value that is not equal to itself
-  // (perform the [[Class]] check first to avoid errors with some host objects in IE)
-  return isNumber(value) && value != +value;
-}
-
-module.exports = isNaN;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/isNull.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/isNull.js b/node_modules/lodash-node/modern/objects/isNull.js
deleted file mode 100644
index 423296d..0000000
--- a/node_modules/lodash-node/modern/objects/isNull.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/**
- * Checks if `value` is `null`.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is `null`, else `false`.
- * @example
- *
- * _.isNull(null);
- * // => true
- *
- * _.isNull(undefined);
- * // => false
- */
-function isNull(value) {
-  return value === null;
-}
-
-module.exports = isNull;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/isNumber.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/isNumber.js b/node_modules/lodash-node/modern/objects/isNumber.js
deleted file mode 100644
index 7188d0d..0000000
--- a/node_modules/lodash-node/modern/objects/isNumber.js
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/** `Object#toString` result shortcuts */
-var numberClass = '[object Number]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/**
- * Checks if `value` is a number.
- *
- * Note: `NaN` is considered a number. See http://es5.github.io/#x8.5.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is a number, else `false`.
- * @example
- *
- * _.isNumber(8.4 * 5);
- * // => true
- */
-function isNumber(value) {
-  return typeof value == 'number' ||
-    value && typeof value == 'object' && toString.call(value) == numberClass || false;
-}
-
-module.exports = isNumber;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/isObject.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/isObject.js b/node_modules/lodash-node/modern/objects/isObject.js
deleted file mode 100644
index 4a140a6..0000000
--- a/node_modules/lodash-node/modern/objects/isObject.js
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 objectTypes = require('../internals/objectTypes');
-
-/**
- * Checks if `value` is the language type of Object.
- * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is an object, else `false`.
- * @example
- *
- * _.isObject({});
- * // => true
- *
- * _.isObject([1, 2, 3]);
- * // => true
- *
- * _.isObject(1);
- * // => false
- */
-function isObject(value) {
-  // check if the value is the ECMAScript language type of Object
-  // http://es5.github.io/#x8
-  // and avoid a V8 bug
-  // http://code.google.com/p/v8/issues/detail?id=2291
-  return !!(value && objectTypes[typeof value]);
-}
-
-module.exports = isObject;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/isPlainObject.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/isPlainObject.js b/node_modules/lodash-node/modern/objects/isPlainObject.js
deleted file mode 100644
index 629a958..0000000
--- a/node_modules/lodash-node/modern/objects/isPlainObject.js
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 isNative = require('../internals/isNative'),
-    shimIsPlainObject = require('../internals/shimIsPlainObject');
-
-/** `Object#toString` result shortcuts */
-var objectClass = '[object Object]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/** Native method shortcuts */
-var getPrototypeOf = isNative(getPrototypeOf = Object.getPrototypeOf) && getPrototypeOf;
-
-/**
- * Checks if `value` is an object created by the `Object` constructor.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
- * @example
- *
- * function Shape() {
- *   this.x = 0;
- *   this.y = 0;
- * }
- *
- * _.isPlainObject(new Shape);
- * // => false
- *
- * _.isPlainObject([1, 2, 3]);
- * // => false
- *
- * _.isPlainObject({ 'x': 0, 'y': 0 });
- * // => true
- */
-var isPlainObject = !getPrototypeOf ? shimIsPlainObject : function(value) {
-  if (!(value && toString.call(value) == objectClass)) {
-    return false;
-  }
-  var valueOf = value.valueOf,
-      objProto = isNative(valueOf) && (objProto = getPrototypeOf(valueOf)) && getPrototypeOf(objProto);
-
-  return objProto
-    ? (value == objProto || getPrototypeOf(value) == objProto)
-    : shimIsPlainObject(value);
-};
-
-module.exports = isPlainObject;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/isRegExp.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/isRegExp.js b/node_modules/lodash-node/modern/objects/isRegExp.js
deleted file mode 100644
index 6e50c7a..0000000
--- a/node_modules/lodash-node/modern/objects/isRegExp.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/** `Object#toString` result shortcuts */
-var regexpClass = '[object RegExp]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/**
- * Checks if `value` is a regular expression.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is a regular expression, else `false`.
- * @example
- *
- * _.isRegExp(/fred/);
- * // => true
- */
-function isRegExp(value) {
-  return value && typeof value == 'object' && toString.call(value) == regexpClass || false;
-}
-
-module.exports = isRegExp;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/isString.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/isString.js b/node_modules/lodash-node/modern/objects/isString.js
deleted file mode 100644
index 2c1527a..0000000
--- a/node_modules/lodash-node/modern/objects/isString.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/** `Object#toString` result shortcuts */
-var stringClass = '[object String]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/**
- * Checks if `value` is a string.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is a string, else `false`.
- * @example
- *
- * _.isString('fred');
- * // => true
- */
-function isString(value) {
-  return typeof value == 'string' ||
-    value && typeof value == 'object' && toString.call(value) == stringClass || false;
-}
-
-module.exports = isString;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/isUndefined.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/isUndefined.js b/node_modules/lodash-node/modern/objects/isUndefined.js
deleted file mode 100644
index 4e75280..0000000
--- a/node_modules/lodash-node/modern/objects/isUndefined.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/**
- * Checks if `value` is `undefined`.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is `undefined`, else `false`.
- * @example
- *
- * _.isUndefined(void 0);
- * // => true
- */
-function isUndefined(value) {
-  return typeof value == 'undefined';
-}
-
-module.exports = isUndefined;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/keys.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/keys.js b/node_modules/lodash-node/modern/objects/keys.js
deleted file mode 100644
index 163e03d..0000000
--- a/node_modules/lodash-node/modern/objects/keys.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 isNative = require('../internals/isNative'),
-    isObject = require('./isObject'),
-    shimKeys = require('../internals/shimKeys');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys;
-
-/**
- * Creates an array composed of the own enumerable property names of an object.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The object to inspect.
- * @returns {Array} Returns an array of property names.
- * @example
- *
- * _.keys({ 'one': 1, 'two': 2, 'three': 3 });
- * // => ['one', 'two', 'three'] (property order is not guaranteed across environments)
- */
-var keys = !nativeKeys ? shimKeys : function(object) {
-  if (!isObject(object)) {
-    return [];
-  }
-  return nativeKeys(object);
-};
-
-module.exports = keys;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/mapValues.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/mapValues.js b/node_modules/lodash-node/modern/objects/mapValues.js
deleted file mode 100644
index 9e797da..0000000
--- a/node_modules/lodash-node/modern/objects/mapValues.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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'),
-    forOwn = require('./forOwn');
-
-/**
- * Creates an object with the same keys as `object` and values generated by
- * running each own enumerable property of `object` through the callback.
- * The callback is bound to `thisArg` and invoked with three arguments;
- * (value, key, object).
- *
- * 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 Objects
- * @param {Object} object The object to iterate over.
- * @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 {Array} Returns a new object with values of the results of each `callback` execution.
- * @example
- *
- * _.mapValues({ 'a': 1, 'b': 2, 'c': 3} , function(num) { return num * 3; });
- * // => { 'a': 3, 'b': 6, 'c': 9 }
- *
- * var characters = {
- *   'fred': { 'name': 'fred', 'age': 40 },
- *   'pebbles': { 'name': 'pebbles', 'age': 1 }
- * };
- *
- * // using "_.pluck" callback shorthand
- * _.mapValues(characters, 'age');
- * // => { 'fred': 40, 'pebbles': 1 }
- */
-function mapValues(object, callback, thisArg) {
-  var result = {};
-  callback = createCallback(callback, thisArg, 3);
-
-  forOwn(object, function(value, key, object) {
-    result[key] = callback(value, key, object);
-  });
-  return result;
-}
-
-module.exports = mapValues;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/merge.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/merge.js b/node_modules/lodash-node/modern/objects/merge.js
deleted file mode 100644
index d4bddc3..0000000
--- a/node_modules/lodash-node/modern/objects/merge.js
+++ /dev/null
@@ -1,97 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseCreateCallback = require('../internals/baseCreateCallback'),
-    baseMerge = require('../internals/baseMerge'),
-    getArray = require('../internals/getArray'),
-    isObject = require('./isObject'),
-    releaseArray = require('../internals/releaseArray'),
-    slice = require('../internals/slice');
-
-/**
- * Recursively merges own enumerable properties of the source object(s), that
- * don't resolve to `undefined` into the destination object. Subsequent sources
- * will overwrite property assignments of previous sources. If a callback is
- * provided it will be executed to produce the merged values of the destination
- * and source properties. If the callback returns `undefined` merging will
- * be handled by the method instead. The callback is bound to `thisArg` and
- * invoked with two arguments; (objectValue, sourceValue).
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The destination object.
- * @param {...Object} [source] The source objects.
- * @param {Function} [callback] The function to customize merging properties.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Object} Returns the destination object.
- * @example
- *
- * var names = {
- *   'characters': [
- *     { 'name': 'barney' },
- *     { 'name': 'fred' }
- *   ]
- * };
- *
- * var ages = {
- *   'characters': [
- *     { 'age': 36 },
- *     { 'age': 40 }
- *   ]
- * };
- *
- * _.merge(names, ages);
- * // => { 'characters': [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred', 'age': 40 }] }
- *
- * var food = {
- *   'fruits': ['apple'],
- *   'vegetables': ['beet']
- * };
- *
- * var otherFood = {
- *   'fruits': ['banana'],
- *   'vegetables': ['carrot']
- * };
- *
- * _.merge(food, otherFood, function(a, b) {
- *   return _.isArray(a) ? a.concat(b) : undefined;
- * });
- * // => { 'fruits': ['apple', 'banana'], 'vegetables': ['beet', 'carrot] }
- */
-function merge(object) {
-  var args = arguments,
-      length = 2;
-
-  if (!isObject(object)) {
-    return object;
-  }
-  // allows working with `_.reduce` and `_.reduceRight` without using
-  // their `index` and `collection` arguments
-  if (typeof args[2] != 'number') {
-    length = args.length;
-  }
-  if (length > 3 && typeof args[length - 2] == 'function') {
-    var callback = baseCreateCallback(args[--length - 1], args[length--], 2);
-  } else if (length > 2 && typeof args[length - 1] == 'function') {
-    callback = args[--length];
-  }
-  var sources = slice(arguments, 1, length),
-      index = -1,
-      stackA = getArray(),
-      stackB = getArray();
-
-  while (++index < length) {
-    baseMerge(object, sources[index], callback, stackA, stackB);
-  }
-  releaseArray(stackA);
-  releaseArray(stackB);
-  return object;
-}
-
-module.exports = merge;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/omit.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/omit.js b/node_modules/lodash-node/modern/objects/omit.js
deleted file mode 100644
index 759798d..0000000
--- a/node_modules/lodash-node/modern/objects/omit.js
+++ /dev/null
@@ -1,67 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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'),
-    createCallback = require('../functions/createCallback'),
-    forIn = require('./forIn');
-
-/**
- * Creates a shallow clone of `object` excluding the specified properties.
- * Property names may be specified as individual arguments or as arrays of
- * property names. If a callback is provided it will be executed for each
- * property of `object` omitting the properties the callback returns truey
- * for. The callback is bound to `thisArg` and invoked with three arguments;
- * (value, key, object).
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The source object.
- * @param {Function|...string|string[]} [callback] The properties to omit or the
- *  function called per iteration.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Object} Returns an object without the omitted properties.
- * @example
- *
- * _.omit({ 'name': 'fred', 'age': 40 }, 'age');
- * // => { 'name': 'fred' }
- *
- * _.omit({ 'name': 'fred', 'age': 40 }, function(value) {
- *   return typeof value == 'number';
- * });
- * // => { 'name': 'fred' }
- */
-function omit(object, callback, thisArg) {
-  var result = {};
-  if (typeof callback != 'function') {
-    var props = [];
-    forIn(object, function(value, key) {
-      props.push(key);
-    });
-    props = baseDifference(props, baseFlatten(arguments, true, false, 1));
-
-    var index = -1,
-        length = props.length;
-
-    while (++index < length) {
-      var key = props[index];
-      result[key] = object[key];
-    }
-  } else {
-    callback = createCallback(callback, thisArg, 3);
-    forIn(object, function(value, key, object) {
-      if (!callback(value, key, object)) {
-        result[key] = value;
-      }
-    });
-  }
-  return result;
-}
-
-module.exports = omit;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/pairs.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/pairs.js b/node_modules/lodash-node/modern/objects/pairs.js
deleted file mode 100644
index e9e06a6..0000000
--- a/node_modules/lodash-node/modern/objects/pairs.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 keys = require('./keys');
-
-/**
- * Creates a two dimensional array of an object's key-value pairs,
- * i.e. `[[key1, value1], [key2, value2]]`.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The object to inspect.
- * @returns {Array} Returns new array of key-value pairs.
- * @example
- *
- * _.pairs({ 'barney': 36, 'fred': 40 });
- * // => [['barney', 36], ['fred', 40]] (property order is not guaranteed across environments)
- */
-function pairs(object) {
-  var index = -1,
-      props = keys(object),
-      length = props.length,
-      result = Array(length);
-
-  while (++index < length) {
-    var key = props[index];
-    result[index] = [key, object[key]];
-  }
-  return result;
-}
-
-module.exports = pairs;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/pick.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/pick.js b/node_modules/lodash-node/modern/objects/pick.js
deleted file mode 100644
index 718a4b5..0000000
--- a/node_modules/lodash-node/modern/objects/pick.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseFlatten = require('../internals/baseFlatten'),
-    createCallback = require('../functions/createCallback'),
-    forIn = require('./forIn'),
-    isObject = require('./isObject');
-
-/**
- * Creates a shallow clone of `object` composed of the specified properties.
- * Property names may be specified as individual arguments or as arrays of
- * property names. If a callback is provided it will be executed for each
- * property of `object` picking the properties the callback returns truey
- * for. The callback is bound to `thisArg` and invoked with three arguments;
- * (value, key, object).
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The source object.
- * @param {Function|...string|string[]} [callback] The function called per
- *  iteration or property names to pick, specified as individual property
- *  names or arrays of property names.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Object} Returns an object composed of the picked properties.
- * @example
- *
- * _.pick({ 'name': 'fred', '_userid': 'fred1' }, 'name');
- * // => { 'name': 'fred' }
- *
- * _.pick({ 'name': 'fred', '_userid': 'fred1' }, function(value, key) {
- *   return key.charAt(0) != '_';
- * });
- * // => { 'name': 'fred' }
- */
-function pick(object, callback, thisArg) {
-  var result = {};
-  if (typeof callback != 'function') {
-    var index = -1,
-        props = baseFlatten(arguments, true, false, 1),
-        length = isObject(object) ? props.length : 0;
-
-    while (++index < length) {
-      var key = props[index];
-      if (key in object) {
-        result[key] = object[key];
-      }
-    }
-  } else {
-    callback = createCallback(callback, thisArg, 3);
-    forIn(object, function(value, key, object) {
-      if (callback(value, key, object)) {
-        result[key] = value;
-      }
-    });
-  }
-  return result;
-}
-
-module.exports = pick;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/transform.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/transform.js b/node_modules/lodash-node/modern/objects/transform.js
deleted file mode 100644
index 7c59ded..0000000
--- a/node_modules/lodash-node/modern/objects/transform.js
+++ /dev/null
@@ -1,67 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseCreate = require('../internals/baseCreate'),
-    createCallback = require('../functions/createCallback'),
-    forEach = require('../collections/forEach'),
-    forOwn = require('./forOwn'),
-    isArray = require('./isArray');
-
-/**
- * An alternative to `_.reduce` this method transforms `object` to a new
- * `accumulator` object which is the result of running each of its own
- * enumerable properties through a callback, with each callback execution
- * potentially mutating the `accumulator` object. The callback is bound to
- * `thisArg` and invoked with four arguments; (accumulator, value, key, object).
- * Callbacks may exit iteration early by explicitly returning `false`.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Array|Object} object The object to iterate over.
- * @param {Function} [callback=identity] The function called per iteration.
- * @param {*} [accumulator] The custom accumulator value.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {*} Returns the accumulated value.
- * @example
- *
- * var squares = _.transform([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], function(result, num) {
- *   num *= num;
- *   if (num % 2) {
- *     return result.push(num) < 3;
- *   }
- * });
- * // => [1, 9, 25]
- *
- * var mapped = _.transform({ 'a': 1, 'b': 2, 'c': 3 }, function(result, num, key) {
- *   result[key] = num * 3;
- * });
- * // => { 'a': 3, 'b': 6, 'c': 9 }
- */
-function transform(object, callback, accumulator, thisArg) {
-  var isArr = isArray(object);
-  if (accumulator == null) {
-    if (isArr) {
-      accumulator = [];
-    } else {
-      var ctor = object && object.constructor,
-          proto = ctor && ctor.prototype;
-
-      accumulator = baseCreate(proto);
-    }
-  }
-  if (callback) {
-    callback = createCallback(callback, thisArg, 4);
-    (isArr ? forEach : forOwn)(object, function(value, index, object) {
-      return callback(accumulator, value, index, object);
-    });
-  }
-  return accumulator;
-}
-
-module.exports = transform;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/objects/values.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/values.js b/node_modules/lodash-node/modern/objects/values.js
deleted file mode 100644
index ac9c3c1..0000000
--- a/node_modules/lodash-node/modern/objects/values.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 keys = require('./keys');
-
-/**
- * Creates an array composed of the own enumerable property values of `object`.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The object to inspect.
- * @returns {Array} Returns an array of property values.
- * @example
- *
- * _.values({ 'one': 1, 'two': 2, 'three': 3 });
- * // => [1, 2, 3] (property order is not guaranteed across environments)
- */
-function values(object) {
-  var index = -1,
-      props = keys(object),
-      length = props.length,
-      result = Array(length);
-
-  while (++index < length) {
-    result[index] = object[props[index]];
-  }
-  return result;
-}
-
-module.exports = values;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/support.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/support.js b/node_modules/lodash-node/modern/support.js
deleted file mode 100644
index 646a9ab..0000000
--- a/node_modules/lodash-node/modern/support.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 isNative = require('./internals/isNative');
-
-/** Used to detect functions containing a `this` reference */
-var reThis = /\bthis\b/;
-
-/**
- * An object used to flag environments features.
- *
- * @static
- * @memberOf _
- * @type Object
- */
-var support = {};
-
-/**
- * Detect if functions can be decompiled by `Function#toString`
- * (all but PS3 and older Opera mobile browsers & avoided in Windows 8 apps).
- *
- * @memberOf _.support
- * @type boolean
- */
-support.funcDecomp = !isNative(global.WinRTError) && reThis.test(function() { return this; });
-
-/**
- * Detect if `Function#name` is supported (all but IE).
- *
- * @memberOf _.support
- * @type boolean
- */
-support.funcNames = typeof Function.name == 'string';
-
-module.exports = support;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/utilities.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities.js b/node_modules/lodash-node/modern/utilities.js
deleted file mode 100644
index b686eee..0000000
--- a/node_modules/lodash-node/modern/utilities.js
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 = {
-  'constant': require('./utilities/constant'),
-  'createCallback': require('./functions/createCallback'),
-  'escape': require('./utilities/escape'),
-  'identity': require('./utilities/identity'),
-  'mixin': require('./utilities/mixin'),
-  'noConflict': require('./utilities/noConflict'),
-  'noop': require('./utilities/noop'),
-  'now': require('./utilities/now'),
-  'parseInt': require('./utilities/parseInt'),
-  'property': require('./utilities/property'),
-  'random': require('./utilities/random'),
-  'result': require('./utilities/result'),
-  'template': require('./utilities/template'),
-  'templateSettings': require('./utilities/templateSettings'),
-  'times': require('./utilities/times'),
-  'unescape': require('./utilities/unescape'),
-  'uniqueId': require('./utilities/uniqueId')
-};

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/utilities/constant.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/constant.js b/node_modules/lodash-node/modern/utilities/constant.js
deleted file mode 100644
index 8e45e85..0000000
--- a/node_modules/lodash-node/modern/utilities/constant.js
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 a function that returns `value`.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {*} value The value to return from the new function.
- * @returns {Function} Returns the new function.
- * @example
- *
- * var object = { 'name': 'fred' };
- * var getter = _.constant(object);
- * getter() === object;
- * // => true
- */
-function constant(value) {
-  return function() {
-    return value;
-  };
-}
-
-module.exports = constant;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/utilities/escape.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/escape.js b/node_modules/lodash-node/modern/utilities/escape.js
deleted file mode 100644
index 7f76531..0000000
--- a/node_modules/lodash-node/modern/utilities/escape.js
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 escapeHtmlChar = require('../internals/escapeHtmlChar'),
-    keys = require('../objects/keys'),
-    reUnescapedHtml = require('../internals/reUnescapedHtml');
-
-/**
- * Converts the characters `&`, `<`, `>`, `"`, and `'` in `string` to their
- * corresponding HTML entities.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {string} string The string to escape.
- * @returns {string} Returns the escaped string.
- * @example
- *
- * _.escape('Fred, Wilma, & Pebbles');
- * // => 'Fred, Wilma, &amp; Pebbles'
- */
-function escape(string) {
-  return string == null ? '' : String(string).replace(reUnescapedHtml, escapeHtmlChar);
-}
-
-module.exports = escape;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/utilities/identity.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/identity.js b/node_modules/lodash-node/modern/utilities/identity.js
deleted file mode 100644
index 0af8ec0..0000000
--- a/node_modules/lodash-node/modern/utilities/identity.js
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/**
- * This method returns the first argument provided to it.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {*} value Any value.
- * @returns {*} Returns `value`.
- * @example
- *
- * var object = { 'name': 'fred' };
- * _.identity(object) === object;
- * // => true
- */
-function identity(value) {
-  return value;
-}
-
-module.exports = identity;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/utilities/mixin.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/mixin.js b/node_modules/lodash-node/modern/utilities/mixin.js
deleted file mode 100644
index dd08b7d..0000000
--- a/node_modules/lodash-node/modern/utilities/mixin.js
+++ /dev/null
@@ -1,88 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 forEach = require('../collections/forEach'),
-    functions = require('../objects/functions'),
-    isFunction = require('../objects/isFunction'),
-    isObject = require('../objects/isObject');
-
-/**
- * Used for `Array` method references.
- *
- * Normally `Array.prototype` would suffice, however, using an array literal
- * avoids issues in Narwhal.
- */
-var arrayRef = [];
-
-/** Native method shortcuts */
-var push = arrayRef.push;
-
-/**
- * Adds function properties of a source object to the destination object.
- * If `object` is a function methods will be added to its prototype as well.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {Function|Object} [object=lodash] object The destination object.
- * @param {Object} source The object of functions to add.
- * @param {Object} [options] The options object.
- * @param {boolean} [options.chain=true] Specify whether the functions added are chainable.
- * @example
- *
- * function capitalize(string) {
- *   return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
- * }
- *
- * _.mixin({ 'capitalize': capitalize });
- * _.capitalize('fred');
- * // => 'Fred'
- *
- * _('fred').capitalize().value();
- * // => 'Fred'
- *
- * _.mixin({ 'capitalize': capitalize }, { 'chain': false });
- * _('fred').capitalize();
- * // => 'Fred'
- */
-function mixin(object, source, options) {
-  var chain = true,
-      methodNames = source && functions(source);
-
-  if (options === false) {
-    chain = false;
-  } else if (isObject(options) && 'chain' in options) {
-    chain = options.chain;
-  }
-  var ctor = object,
-      isFunc = isFunction(ctor);
-
-  forEach(methodNames, function(methodName) {
-    var func = object[methodName] = source[methodName];
-    if (isFunc) {
-      ctor.prototype[methodName] = function() {
-        var chainAll = this.__chain__,
-            value = this.__wrapped__,
-            args = [value];
-
-        push.apply(args, arguments);
-        var result = func.apply(object, args);
-        if (chain || chainAll) {
-          if (value === result && isObject(result)) {
-            return this;
-          }
-          result = new ctor(result);
-          result.__chain__ = chainAll;
-        }
-        return result;
-      };
-    }
-  });
-}
-
-module.exports = mixin;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/utilities/noConflict.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/noConflict.js b/node_modules/lodash-node/modern/utilities/noConflict.js
deleted file mode 100644
index 306ee81..0000000
--- a/node_modules/lodash-node/modern/utilities/noConflict.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/** Used to restore the original `_` reference in `noConflict` */
-var oldDash = global._;
-
-/**
- * Reverts the '_' variable to its previous value and returns a reference to
- * the `lodash` function.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @returns {Function} Returns the `lodash` function.
- * @example
- *
- * var lodash = _.noConflict();
- */
-function noConflict() {
-  global._ = oldDash;
-  return this;
-}
-
-module.exports = noConflict;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/utilities/noop.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/noop.js b/node_modules/lodash-node/modern/utilities/noop.js
deleted file mode 100644
index f6a7a7a..0000000
--- a/node_modules/lodash-node/modern/utilities/noop.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/**
- * A no-operation function.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @example
- *
- * var object = { 'name': 'fred' };
- * _.noop(object) === undefined;
- * // => true
- */
-function noop() {
-  // no operation performed
-}
-
-module.exports = noop;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/utilities/now.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/now.js b/node_modules/lodash-node/modern/utilities/now.js
deleted file mode 100644
index 09a9928..0000000
--- a/node_modules/lodash-node/modern/utilities/now.js
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 isNative = require('../internals/isNative');
-
-/**
- * Gets the number of milliseconds that have elapsed since the Unix epoch
- * (1 January 1970 00:00:00 UTC).
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @example
- *
- * var stamp = _.now();
- * _.defer(function() { console.log(_.now() - stamp); });
- * // => logs the number of milliseconds it took for the deferred function to be called
- */
-var now = isNative(now = Date.now) && now || function() {
-  return new Date().getTime();
-};
-
-module.exports = now;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/utilities/parseInt.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/parseInt.js b/node_modules/lodash-node/modern/utilities/parseInt.js
deleted file mode 100644
index 6462865..0000000
--- a/node_modules/lodash-node/modern/utilities/parseInt.js
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 isString = require('../objects/isString');
-
-/** Used to detect and test whitespace */
-var whitespace = (
-  // whitespace
-  ' \t\x0B\f\xA0\ufeff' +
-
-  // line terminators
-  '\n\r\u2028\u2029' +
-
-  // unicode category "Zs" space separators
-  '\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000'
-);
-
-/** Used to match leading whitespace and zeros to be removed */
-var reLeadingSpacesAndZeros = RegExp('^[' + whitespace + ']*0+(?=.$)');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeParseInt = global.parseInt;
-
-/**
- * Converts the given value into an integer of the specified radix.
- * If `radix` is `undefined` or `0` a `radix` of `10` is used unless the
- * `value` is a hexadecimal, in which case a `radix` of `16` is used.
- *
- * Note: This method avoids differences in native ES3 and ES5 `parseInt`
- * implementations. See http://es5.github.io/#E.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {string} value The value to parse.
- * @param {number} [radix] The radix used to interpret the value to parse.
- * @returns {number} Returns the new integer value.
- * @example
- *
- * _.parseInt('08');
- * // => 8
- */
-var parseInt = nativeParseInt(whitespace + '08') == 8 ? nativeParseInt : function(value, radix) {
-  // Firefox < 21 and Opera < 15 follow the ES3 specified implementation of `parseInt`
-  return nativeParseInt(isString(value) ? value.replace(reLeadingSpacesAndZeros, '') : value, radix || 0);
-};
-
-module.exports = parseInt;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/utilities/property.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/property.js b/node_modules/lodash-node/modern/utilities/property.js
deleted file mode 100644
index c9a735c..0000000
--- a/node_modules/lodash-node/modern/utilities/property.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 a "_.pluck" style function, which returns the `key` value of a
- * given object.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {string} key The name of the property to retrieve.
- * @returns {Function} Returns the new function.
- * @example
- *
- * var characters = [
- *   { 'name': 'fred',   'age': 40 },
- *   { 'name': 'barney', 'age': 36 }
- * ];
- *
- * var getName = _.property('name');
- *
- * _.map(characters, getName);
- * // => ['barney', 'fred']
- *
- * _.sortBy(characters, getName);
- * // => [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred',   'age': 40 }]
- */
-function property(key) {
-  return function(object) {
-    return object[key];
-  };
-}
-
-module.exports = property;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/utilities/random.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/random.js b/node_modules/lodash-node/modern/utilities/random.js
deleted file mode 100644
index cbf8ef2..0000000
--- a/node_modules/lodash-node/modern/utilities/random.js
+++ /dev/null
@@ -1,73 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseRandom = require('../internals/baseRandom');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMin = Math.min,
-    nativeRandom = Math.random;
-
-/**
- * Produces a random number between `min` and `max` (inclusive). If only one
- * argument is provided a number between `0` and the given number will be
- * returned. If `floating` is truey or either `min` or `max` are floats a
- * floating-point number will be returned instead of an integer.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {number} [min=0] The minimum possible value.
- * @param {number} [max=1] The maximum possible value.
- * @param {boolean} [floating=false] Specify returning a floating-point number.
- * @returns {number} Returns a random number.
- * @example
- *
- * _.random(0, 5);
- * // => an integer between 0 and 5
- *
- * _.random(5);
- * // => also an integer between 0 and 5
- *
- * _.random(5, true);
- * // => a floating-point number between 0 and 5
- *
- * _.random(1.2, 5.2);
- * // => a floating-point number between 1.2 and 5.2
- */
-function random(min, max, floating) {
-  var noMin = min == null,
-      noMax = max == null;
-
-  if (floating == null) {
-    if (typeof min == 'boolean' && noMax) {
-      floating = min;
-      min = 1;
-    }
-    else if (!noMax && typeof max == 'boolean') {
-      floating = max;
-      noMax = true;
-    }
-  }
-  if (noMin && noMax) {
-    max = 1;
-  }
-  min = +min || 0;
-  if (noMax) {
-    max = min;
-    min = 0;
-  } else {
-    max = +max || 0;
-  }
-  if (floating || min % 1 || max % 1) {
-    var rand = nativeRandom();
-    return nativeMin(min + (rand * (max - min + parseFloat('1e-' + ((rand +'').length - 1)))), max);
-  }
-  return baseRandom(min, max);
-}
-
-module.exports = random;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/utilities/result.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/result.js b/node_modules/lodash-node/modern/utilities/result.js
deleted file mode 100644
index cffcb50..0000000
--- a/node_modules/lodash-node/modern/utilities/result.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 isFunction = require('../objects/isFunction');
-
-/**
- * Resolves the value of property `key` on `object`. If `key` is a function
- * it will be invoked with the `this` binding of `object` and its result returned,
- * else the property value is returned. If `object` is falsey then `undefined`
- * is returned.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {Object} object The object to inspect.
- * @param {string} key The name of the property to resolve.
- * @returns {*} Returns the resolved value.
- * @example
- *
- * var object = {
- *   'cheese': 'crumpets',
- *   'stuff': function() {
- *     return 'nonsense';
- *   }
- * };
- *
- * _.result(object, 'cheese');
- * // => 'crumpets'
- *
- * _.result(object, 'stuff');
- * // => 'nonsense'
- */
-function result(object, key) {
-  if (object) {
-    var value = object[key];
-    return isFunction(value) ? object[key]() : value;
-  }
-}
-
-module.exports = result;


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


[20/32] ios commit: CB-11445 Updated checked-in node_modules

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/keys.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/keys.js b/node_modules/lodash-node/compat/objects/keys.js
deleted file mode 100644
index 9959b2b..0000000
--- a/node_modules/lodash-node/compat/objects/keys.js
+++ /dev/null
@@ -1,42 +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 isArguments = require('./isArguments'),
-    isNative = require('../internals/isNative'),
-    isObject = require('./isObject'),
-    shimKeys = require('../internals/shimKeys'),
-    support = require('../support');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys;
-
-/**
- * Creates an array composed of the own enumerable property names of an object.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The object to inspect.
- * @returns {Array} Returns an array of property names.
- * @example
- *
- * _.keys({ 'one': 1, 'two': 2, 'three': 3 });
- * // => ['one', 'two', 'three'] (property order is not guaranteed across environments)
- */
-var keys = !nativeKeys ? shimKeys : function(object) {
-  if (!isObject(object)) {
-    return [];
-  }
-  if ((support.enumPrototypes && typeof object == 'function') ||
-      (support.nonEnumArgs && object.length && isArguments(object))) {
-    return shimKeys(object);
-  }
-  return nativeKeys(object);
-};
-
-module.exports = keys;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/mapValues.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/mapValues.js b/node_modules/lodash-node/compat/objects/mapValues.js
deleted file mode 100644
index 431f55b..0000000
--- a/node_modules/lodash-node/compat/objects/mapValues.js
+++ /dev/null
@@ -1,58 +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'),
-    forOwn = require('./forOwn');
-
-/**
- * Creates an object with the same keys as `object` and values generated by
- * running each own enumerable property of `object` through the callback.
- * The callback is bound to `thisArg` and invoked with three arguments;
- * (value, key, object).
- *
- * 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 Objects
- * @param {Object} object The object to iterate over.
- * @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 {Array} Returns a new object with values of the results of each `callback` execution.
- * @example
- *
- * _.mapValues({ 'a': 1, 'b': 2, 'c': 3} , function(num) { return num * 3; });
- * // => { 'a': 3, 'b': 6, 'c': 9 }
- *
- * var characters = {
- *   'fred': { 'name': 'fred', 'age': 40 },
- *   'pebbles': { 'name': 'pebbles', 'age': 1 }
- * };
- *
- * // using "_.pluck" callback shorthand
- * _.mapValues(characters, 'age');
- * // => { 'fred': 40, 'pebbles': 1 }
- */
-function mapValues(object, callback, thisArg) {
-  var result = {};
-  callback = createCallback(callback, thisArg, 3);
-
-  forOwn(object, function(value, key, object) {
-    result[key] = callback(value, key, object);
-  });
-  return result;
-}
-
-module.exports = mapValues;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/merge.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/merge.js b/node_modules/lodash-node/compat/objects/merge.js
deleted file mode 100644
index cb602a2..0000000
--- a/node_modules/lodash-node/compat/objects/merge.js
+++ /dev/null
@@ -1,97 +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 baseCreateCallback = require('../internals/baseCreateCallback'),
-    baseMerge = require('../internals/baseMerge'),
-    getArray = require('../internals/getArray'),
-    isObject = require('./isObject'),
-    releaseArray = require('../internals/releaseArray'),
-    slice = require('../internals/slice');
-
-/**
- * Recursively merges own enumerable properties of the source object(s), that
- * don't resolve to `undefined` into the destination object. Subsequent sources
- * will overwrite property assignments of previous sources. If a callback is
- * provided it will be executed to produce the merged values of the destination
- * and source properties. If the callback returns `undefined` merging will
- * be handled by the method instead. The callback is bound to `thisArg` and
- * invoked with two arguments; (objectValue, sourceValue).
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The destination object.
- * @param {...Object} [source] The source objects.
- * @param {Function} [callback] The function to customize merging properties.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Object} Returns the destination object.
- * @example
- *
- * var names = {
- *   'characters': [
- *     { 'name': 'barney' },
- *     { 'name': 'fred' }
- *   ]
- * };
- *
- * var ages = {
- *   'characters': [
- *     { 'age': 36 },
- *     { 'age': 40 }
- *   ]
- * };
- *
- * _.merge(names, ages);
- * // => { 'characters': [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred', 'age': 40 }] }
- *
- * var food = {
- *   'fruits': ['apple'],
- *   'vegetables': ['beet']
- * };
- *
- * var otherFood = {
- *   'fruits': ['banana'],
- *   'vegetables': ['carrot']
- * };
- *
- * _.merge(food, otherFood, function(a, b) {
- *   return _.isArray(a) ? a.concat(b) : undefined;
- * });
- * // => { 'fruits': ['apple', 'banana'], 'vegetables': ['beet', 'carrot] }
- */
-function merge(object) {
-  var args = arguments,
-      length = 2;
-
-  if (!isObject(object)) {
-    return object;
-  }
-  // allows working with `_.reduce` and `_.reduceRight` without using
-  // their `index` and `collection` arguments
-  if (typeof args[2] != 'number') {
-    length = args.length;
-  }
-  if (length > 3 && typeof args[length - 2] == 'function') {
-    var callback = baseCreateCallback(args[--length - 1], args[length--], 2);
-  } else if (length > 2 && typeof args[length - 1] == 'function') {
-    callback = args[--length];
-  }
-  var sources = slice(arguments, 1, length),
-      index = -1,
-      stackA = getArray(),
-      stackB = getArray();
-
-  while (++index < length) {
-    baseMerge(object, sources[index], callback, stackA, stackB);
-  }
-  releaseArray(stackA);
-  releaseArray(stackB);
-  return object;
-}
-
-module.exports = merge;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/omit.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/omit.js b/node_modules/lodash-node/compat/objects/omit.js
deleted file mode 100644
index 6517419..0000000
--- a/node_modules/lodash-node/compat/objects/omit.js
+++ /dev/null
@@ -1,67 +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'),
-    createCallback = require('../functions/createCallback'),
-    forIn = require('./forIn');
-
-/**
- * Creates a shallow clone of `object` excluding the specified properties.
- * Property names may be specified as individual arguments or as arrays of
- * property names. If a callback is provided it will be executed for each
- * property of `object` omitting the properties the callback returns truey
- * for. The callback is bound to `thisArg` and invoked with three arguments;
- * (value, key, object).
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The source object.
- * @param {Function|...string|string[]} [callback] The properties to omit or the
- *  function called per iteration.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Object} Returns an object without the omitted properties.
- * @example
- *
- * _.omit({ 'name': 'fred', 'age': 40 }, 'age');
- * // => { 'name': 'fred' }
- *
- * _.omit({ 'name': 'fred', 'age': 40 }, function(value) {
- *   return typeof value == 'number';
- * });
- * // => { 'name': 'fred' }
- */
-function omit(object, callback, thisArg) {
-  var result = {};
-  if (typeof callback != 'function') {
-    var props = [];
-    forIn(object, function(value, key) {
-      props.push(key);
-    });
-    props = baseDifference(props, baseFlatten(arguments, true, false, 1));
-
-    var index = -1,
-        length = props.length;
-
-    while (++index < length) {
-      var key = props[index];
-      result[key] = object[key];
-    }
-  } else {
-    callback = createCallback(callback, thisArg, 3);
-    forIn(object, function(value, key, object) {
-      if (!callback(value, key, object)) {
-        result[key] = value;
-      }
-    });
-  }
-  return result;
-}
-
-module.exports = omit;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/pairs.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/pairs.js b/node_modules/lodash-node/compat/objects/pairs.js
deleted file mode 100644
index b334c4a..0000000
--- a/node_modules/lodash-node/compat/objects/pairs.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>
- */
-var keys = require('./keys');
-
-/**
- * Creates a two dimensional array of an object's key-value pairs,
- * i.e. `[[key1, value1], [key2, value2]]`.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The object to inspect.
- * @returns {Array} Returns new array of key-value pairs.
- * @example
- *
- * _.pairs({ 'barney': 36, 'fred': 40 });
- * // => [['barney', 36], ['fred', 40]] (property order is not guaranteed across environments)
- */
-function pairs(object) {
-  var index = -1,
-      props = keys(object),
-      length = props.length,
-      result = Array(length);
-
-  while (++index < length) {
-    var key = props[index];
-    result[index] = [key, object[key]];
-  }
-  return result;
-}
-
-module.exports = pairs;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/pick.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/pick.js b/node_modules/lodash-node/compat/objects/pick.js
deleted file mode 100644
index fb581ad..0000000
--- a/node_modules/lodash-node/compat/objects/pick.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 baseFlatten = require('../internals/baseFlatten'),
-    createCallback = require('../functions/createCallback'),
-    forIn = require('./forIn'),
-    isObject = require('./isObject');
-
-/**
- * Creates a shallow clone of `object` composed of the specified properties.
- * Property names may be specified as individual arguments or as arrays of
- * property names. If a callback is provided it will be executed for each
- * property of `object` picking the properties the callback returns truey
- * for. The callback is bound to `thisArg` and invoked with three arguments;
- * (value, key, object).
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The source object.
- * @param {Function|...string|string[]} [callback] The function called per
- *  iteration or property names to pick, specified as individual property
- *  names or arrays of property names.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Object} Returns an object composed of the picked properties.
- * @example
- *
- * _.pick({ 'name': 'fred', '_userid': 'fred1' }, 'name');
- * // => { 'name': 'fred' }
- *
- * _.pick({ 'name': 'fred', '_userid': 'fred1' }, function(value, key) {
- *   return key.charAt(0) != '_';
- * });
- * // => { 'name': 'fred' }
- */
-function pick(object, callback, thisArg) {
-  var result = {};
-  if (typeof callback != 'function') {
-    var index = -1,
-        props = baseFlatten(arguments, true, false, 1),
-        length = isObject(object) ? props.length : 0;
-
-    while (++index < length) {
-      var key = props[index];
-      if (key in object) {
-        result[key] = object[key];
-      }
-    }
-  } else {
-    callback = createCallback(callback, thisArg, 3);
-    forIn(object, function(value, key, object) {
-      if (callback(value, key, object)) {
-        result[key] = value;
-      }
-    });
-  }
-  return result;
-}
-
-module.exports = pick;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/transform.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/transform.js b/node_modules/lodash-node/compat/objects/transform.js
deleted file mode 100644
index f04b078..0000000
--- a/node_modules/lodash-node/compat/objects/transform.js
+++ /dev/null
@@ -1,67 +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 baseCreate = require('../internals/baseCreate'),
-    baseEach = require('../internals/baseEach'),
-    createCallback = require('../functions/createCallback'),
-    forOwn = require('./forOwn'),
-    isArray = require('./isArray');
-
-/**
- * An alternative to `_.reduce` this method transforms `object` to a new
- * `accumulator` object which is the result of running each of its own
- * enumerable properties through a callback, with each callback execution
- * potentially mutating the `accumulator` object. The callback is bound to
- * `thisArg` and invoked with four arguments; (accumulator, value, key, object).
- * Callbacks may exit iteration early by explicitly returning `false`.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Array|Object} object The object to iterate over.
- * @param {Function} [callback=identity] The function called per iteration.
- * @param {*} [accumulator] The custom accumulator value.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {*} Returns the accumulated value.
- * @example
- *
- * var squares = _.transform([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], function(result, num) {
- *   num *= num;
- *   if (num % 2) {
- *     return result.push(num) < 3;
- *   }
- * });
- * // => [1, 9, 25]
- *
- * var mapped = _.transform({ 'a': 1, 'b': 2, 'c': 3 }, function(result, num, key) {
- *   result[key] = num * 3;
- * });
- * // => { 'a': 3, 'b': 6, 'c': 9 }
- */
-function transform(object, callback, accumulator, thisArg) {
-  var isArr = isArray(object);
-  if (accumulator == null) {
-    if (isArr) {
-      accumulator = [];
-    } else {
-      var ctor = object && object.constructor,
-          proto = ctor && ctor.prototype;
-
-      accumulator = baseCreate(proto);
-    }
-  }
-  if (callback) {
-    callback = createCallback(callback, thisArg, 4);
-    (isArr ? baseEach : forOwn)(object, function(value, index, object) {
-      return callback(accumulator, value, index, object);
-    });
-  }
-  return accumulator;
-}
-
-module.exports = transform;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/objects/values.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/objects/values.js b/node_modules/lodash-node/compat/objects/values.js
deleted file mode 100644
index e3135ae..0000000
--- a/node_modules/lodash-node/compat/objects/values.js
+++ /dev/null
@@ -1,36 +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 keys = require('./keys');
-
-/**
- * Creates an array composed of the own enumerable property values of `object`.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The object to inspect.
- * @returns {Array} Returns an array of property values.
- * @example
- *
- * _.values({ 'one': 1, 'two': 2, 'three': 3 });
- * // => [1, 2, 3] (property order is not guaranteed across environments)
- */
-function values(object) {
-  var index = -1,
-      props = keys(object),
-      length = props.length,
-      result = Array(length);
-
-  while (++index < length) {
-    result[index] = object[props[index]];
-  }
-  return result;
-}
-
-module.exports = values;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/support.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/support.js b/node_modules/lodash-node/compat/support.js
deleted file mode 100644
index fb6ec48..0000000
--- a/node_modules/lodash-node/compat/support.js
+++ /dev/null
@@ -1,177 +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 isNative = require('./internals/isNative');
-
-/** Used to detect functions containing a `this` reference */
-var reThis = /\bthis\b/;
-
-/** `Object#toString` result shortcuts */
-var argsClass = '[object Arguments]',
-    objectClass = '[object Object]';
-
-/**
- * Used for `Array` method references.
- *
- * Normally `Array.prototype` would suffice, however, using an array literal
- * avoids issues in Narwhal.
- */
-var arrayRef = [];
-
-/** Used for native method references */
-var errorProto = Error.prototype,
-    objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/** Native method shortcuts */
-var propertyIsEnumerable = objectProto.propertyIsEnumerable;
-
-/**
- * An object used to flag environments features.
- *
- * @static
- * @memberOf _
- * @type Object
- */
-var support = {};
-
-(function() {
-  var ctor = function() { this.x = 1; },
-      object = { '0': 1, 'length': 1 },
-      props = [];
-
-  ctor.prototype = { 'valueOf': 1, 'y': 1 };
-  for (var key in new ctor) { props.push(key); }
-  for (key in arguments) { }
-
-  /**
-   * Detect if an `arguments` object's [[Class]] is resolvable (all but Firefox < 4, IE < 9).
-   *
-   * @memberOf _.support
-   * @type boolean
-   */
-  support.argsClass = toString.call(arguments) == argsClass;
-
-  /**
-   * Detect if `arguments` objects are `Object` objects (all but Narwhal and Opera < 10.5).
-   *
-   * @memberOf _.support
-   * @type boolean
-   */
-  support.argsObject = arguments.constructor == Object && !(arguments instanceof Array);
-
-  /**
-   * Detect if `name` or `message` properties of `Error.prototype` are
-   * enumerable by default. (IE < 9, Safari < 5.1)
-   *
-   * @memberOf _.support
-   * @type boolean
-   */
-  support.enumErrorProps = propertyIsEnumerable.call(errorProto, 'message') || propertyIsEnumerable.call(errorProto, 'name');
-
-  /**
-   * Detect if `prototype` properties are enumerable by default.
-   *
-   * Firefox < 3.6, Opera > 9.50 - Opera < 11.60, and Safari < 5.1
-   * (if the prototype or a property on the prototype has been set)
-   * incorrectly sets a function's `prototype` property [[Enumerable]]
-   * value to `true`.
-   *
-   * @memberOf _.support
-   * @type boolean
-   */
-  support.enumPrototypes = propertyIsEnumerable.call(ctor, 'prototype');
-
-  /**
-   * Detect if functions can be decompiled by `Function#toString`
-   * (all but PS3 and older Opera mobile browsers & avoided in Windows 8 apps).
-   *
-   * @memberOf _.support
-   * @type boolean
-   */
-  support.funcDecomp = !isNative(global.WinRTError) && reThis.test(function() { return this; });
-
-  /**
-   * Detect if `Function#name` is supported (all but IE).
-   *
-   * @memberOf _.support
-   * @type boolean
-   */
-  support.funcNames = typeof Function.name == 'string';
-
-  /**
-   * Detect if `arguments` object indexes are non-enumerable
-   * (Firefox < 4, IE < 9, PhantomJS, Safari < 5.1).
-   *
-   * @memberOf _.support
-   * @type boolean
-   */
-  support.nonEnumArgs = key != 0;
-
-  /**
-   * Detect if properties shadowing those on `Object.prototype` are non-enumerable.
-   *
-   * In IE < 9 an objects own properties, shadowing non-enumerable ones, are
-   * made non-enumerable as well (a.k.a the JScript [[DontEnum]] bug).
-   *
-   * @memberOf _.support
-   * @type boolean
-   */
-  support.nonEnumShadows = !/valueOf/.test(props);
-
-  /**
-   * Detect if own properties are iterated after inherited properties (all but IE < 9).
-   *
-   * @memberOf _.support
-   * @type boolean
-   */
-  support.ownLast = props[0] != 'x';
-
-  /**
-   * Detect if `Array#shift` and `Array#splice` augment array-like objects correctly.
-   *
-   * Firefox < 10, IE compatibility mode, and IE < 9 have buggy Array `shift()`
-   * and `splice()` functions that fail to remove the last element, `value[0]`,
-   * of array-like objects even though the `length` property is set to `0`.
-   * The `shift()` method is buggy in IE 8 compatibility mode, while `splice()`
-   * is buggy regardless of mode in IE < 9 and buggy in compatibility mode in IE 9.
-   *
-   * @memberOf _.support
-   * @type boolean
-   */
-  support.spliceObjects = (arrayRef.splice.call(object, 0, 1), !object[0]);
-
-  /**
-   * Detect lack of support for accessing string characters by index.
-   *
-   * IE < 8 can't access characters by index and IE 8 can only access
-   * characters by index on string literals.
-   *
-   * @memberOf _.support
-   * @type boolean
-   */
-  support.unindexedChars = ('x'[0] + Object('x')[0]) != 'xx';
-
-  /**
-   * Detect if a DOM node's [[Class]] is resolvable (all but IE < 9)
-   * and that the JS engine errors when attempting to coerce an object to
-   * a string without a `toString` function.
-   *
-   * @memberOf _.support
-   * @type boolean
-   */
-  try {
-    support.nodeClass = !(toString.call(document) == objectClass && !({ 'toString': 0 } + ''));
-  } catch(e) {
-    support.nodeClass = true;
-  }
-}(1));
-
-module.exports = support;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/utilities.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/utilities.js b/node_modules/lodash-node/compat/utilities.js
deleted file mode 100644
index 0fc2d98..0000000
--- a/node_modules/lodash-node/compat/utilities.js
+++ /dev/null
@@ -1,28 +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 = {
-  'constant': require('./utilities/constant'),
-  'createCallback': require('./functions/createCallback'),
-  'escape': require('./utilities/escape'),
-  'identity': require('./utilities/identity'),
-  'mixin': require('./utilities/mixin'),
-  'noConflict': require('./utilities/noConflict'),
-  'noop': require('./utilities/noop'),
-  'now': require('./utilities/now'),
-  'parseInt': require('./utilities/parseInt'),
-  'property': require('./utilities/property'),
-  'random': require('./utilities/random'),
-  'result': require('./utilities/result'),
-  'template': require('./utilities/template'),
-  'templateSettings': require('./utilities/templateSettings'),
-  'times': require('./utilities/times'),
-  'unescape': require('./utilities/unescape'),
-  'uniqueId': require('./utilities/uniqueId')
-};

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/utilities/constant.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/utilities/constant.js b/node_modules/lodash-node/compat/utilities/constant.js
deleted file mode 100644
index ae112ed..0000000
--- a/node_modules/lodash-node/compat/utilities/constant.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>
- */
-
-/**
- * Creates a function that returns `value`.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {*} value The value to return from the new function.
- * @returns {Function} Returns the new function.
- * @example
- *
- * var object = { 'name': 'fred' };
- * var getter = _.constant(object);
- * getter() === object;
- * // => true
- */
-function constant(value) {
-  return function() {
-    return value;
-  };
-}
-
-module.exports = constant;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/utilities/escape.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/utilities/escape.js b/node_modules/lodash-node/compat/utilities/escape.js
deleted file mode 100644
index 00582b9..0000000
--- a/node_modules/lodash-node/compat/utilities/escape.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 escapeHtmlChar = require('../internals/escapeHtmlChar'),
-    keys = require('../objects/keys'),
-    reUnescapedHtml = require('../internals/reUnescapedHtml');
-
-/**
- * Converts the characters `&`, `<`, `>`, `"`, and `'` in `string` to their
- * corresponding HTML entities.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {string} string The string to escape.
- * @returns {string} Returns the escaped string.
- * @example
- *
- * _.escape('Fred, Wilma, & Pebbles');
- * // => 'Fred, Wilma, &amp; Pebbles'
- */
-function escape(string) {
-  return string == null ? '' : String(string).replace(reUnescapedHtml, escapeHtmlChar);
-}
-
-module.exports = escape;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/utilities/identity.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/utilities/identity.js b/node_modules/lodash-node/compat/utilities/identity.js
deleted file mode 100644
index 838700c..0000000
--- a/node_modules/lodash-node/compat/utilities/identity.js
+++ /dev/null
@@ -1,28 +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>
- */
-
-/**
- * This method returns the first argument provided to it.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {*} value Any value.
- * @returns {*} Returns `value`.
- * @example
- *
- * var object = { 'name': 'fred' };
- * _.identity(object) === object;
- * // => true
- */
-function identity(value) {
-  return value;
-}
-
-module.exports = identity;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/utilities/mixin.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/utilities/mixin.js b/node_modules/lodash-node/compat/utilities/mixin.js
deleted file mode 100644
index 26db74f..0000000
--- a/node_modules/lodash-node/compat/utilities/mixin.js
+++ /dev/null
@@ -1,88 +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 forEach = require('../collections/forEach'),
-    functions = require('../objects/functions'),
-    isFunction = require('../objects/isFunction'),
-    isObject = require('../objects/isObject');
-
-/**
- * Used for `Array` method references.
- *
- * Normally `Array.prototype` would suffice, however, using an array literal
- * avoids issues in Narwhal.
- */
-var arrayRef = [];
-
-/** Native method shortcuts */
-var push = arrayRef.push;
-
-/**
- * Adds function properties of a source object to the destination object.
- * If `object` is a function methods will be added to its prototype as well.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {Function|Object} [object=lodash] object The destination object.
- * @param {Object} source The object of functions to add.
- * @param {Object} [options] The options object.
- * @param {boolean} [options.chain=true] Specify whether the functions added are chainable.
- * @example
- *
- * function capitalize(string) {
- *   return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
- * }
- *
- * _.mixin({ 'capitalize': capitalize });
- * _.capitalize('fred');
- * // => 'Fred'
- *
- * _('fred').capitalize().value();
- * // => 'Fred'
- *
- * _.mixin({ 'capitalize': capitalize }, { 'chain': false });
- * _('fred').capitalize();
- * // => 'Fred'
- */
-function mixin(object, source, options) {
-  var chain = true,
-      methodNames = source && functions(source);
-
-  if (options === false) {
-    chain = false;
-  } else if (isObject(options) && 'chain' in options) {
-    chain = options.chain;
-  }
-  var ctor = object,
-      isFunc = isFunction(ctor);
-
-  forEach(methodNames, function(methodName) {
-    var func = object[methodName] = source[methodName];
-    if (isFunc) {
-      ctor.prototype[methodName] = function() {
-        var chainAll = this.__chain__,
-            value = this.__wrapped__,
-            args = [value];
-
-        push.apply(args, arguments);
-        var result = func.apply(object, args);
-        if (chain || chainAll) {
-          if (value === result && isObject(result)) {
-            return this;
-          }
-          result = new ctor(result);
-          result.__chain__ = chainAll;
-        }
-        return result;
-      };
-    }
-  });
-}
-
-module.exports = mixin;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/utilities/noConflict.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/utilities/noConflict.js b/node_modules/lodash-node/compat/utilities/noConflict.js
deleted file mode 100644
index eb78149..0000000
--- a/node_modules/lodash-node/compat/utilities/noConflict.js
+++ /dev/null
@@ -1,30 +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>
- */
-
-/** Used to restore the original `_` reference in `noConflict` */
-var oldDash = global._;
-
-/**
- * Reverts the '_' variable to its previous value and returns a reference to
- * the `lodash` function.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @returns {Function} Returns the `lodash` function.
- * @example
- *
- * var lodash = _.noConflict();
- */
-function noConflict() {
-  global._ = oldDash;
-  return this;
-}
-
-module.exports = noConflict;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/utilities/noop.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/utilities/noop.js b/node_modules/lodash-node/compat/utilities/noop.js
deleted file mode 100644
index 3cd2d53..0000000
--- a/node_modules/lodash-node/compat/utilities/noop.js
+++ /dev/null
@@ -1,26 +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>
- */
-
-/**
- * A no-operation function.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @example
- *
- * var object = { 'name': 'fred' };
- * _.noop(object) === undefined;
- * // => true
- */
-function noop() {
-  // no operation performed
-}
-
-module.exports = noop;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/utilities/now.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/utilities/now.js b/node_modules/lodash-node/compat/utilities/now.js
deleted file mode 100644
index ee091dc..0000000
--- a/node_modules/lodash-node/compat/utilities/now.js
+++ /dev/null
@@ -1,28 +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 isNative = require('../internals/isNative');
-
-/**
- * Gets the number of milliseconds that have elapsed since the Unix epoch
- * (1 January 1970 00:00:00 UTC).
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @example
- *
- * var stamp = _.now();
- * _.defer(function() { console.log(_.now() - stamp); });
- * // => logs the number of milliseconds it took for the deferred function to be called
- */
-var now = isNative(now = Date.now) && now || function() {
-  return new Date().getTime();
-};
-
-module.exports = now;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/utilities/parseInt.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/utilities/parseInt.js b/node_modules/lodash-node/compat/utilities/parseInt.js
deleted file mode 100644
index 6227ccd..0000000
--- a/node_modules/lodash-node/compat/utilities/parseInt.js
+++ /dev/null
@@ -1,53 +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 isString = require('../objects/isString');
-
-/** Used to detect and test whitespace */
-var whitespace = (
-  // whitespace
-  ' \t\x0B\f\xA0\ufeff' +
-
-  // line terminators
-  '\n\r\u2028\u2029' +
-
-  // unicode category "Zs" space separators
-  '\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000'
-);
-
-/** Used to match leading whitespace and zeros to be removed */
-var reLeadingSpacesAndZeros = RegExp('^[' + whitespace + ']*0+(?=.$)');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeParseInt = global.parseInt;
-
-/**
- * Converts the given value into an integer of the specified radix.
- * If `radix` is `undefined` or `0` a `radix` of `10` is used unless the
- * `value` is a hexadecimal, in which case a `radix` of `16` is used.
- *
- * Note: This method avoids differences in native ES3 and ES5 `parseInt`
- * implementations. See http://es5.github.io/#E.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {string} value The value to parse.
- * @param {number} [radix] The radix used to interpret the value to parse.
- * @returns {number} Returns the new integer value.
- * @example
- *
- * _.parseInt('08');
- * // => 8
- */
-var parseInt = nativeParseInt(whitespace + '08') == 8 ? nativeParseInt : function(value, radix) {
-  // Firefox < 21 and Opera < 15 follow the ES3 specified implementation of `parseInt`
-  return nativeParseInt(isString(value) ? value.replace(reLeadingSpacesAndZeros, '') : value, radix || 0);
-};
-
-module.exports = parseInt;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/utilities/property.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/utilities/property.js b/node_modules/lodash-node/compat/utilities/property.js
deleted file mode 100644
index f3446dd..0000000
--- a/node_modules/lodash-node/compat/utilities/property.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>
- */
-
-/**
- * Creates a "_.pluck" style function, which returns the `key` value of a
- * given object.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {string} key The name of the property to retrieve.
- * @returns {Function} Returns the new function.
- * @example
- *
- * var characters = [
- *   { 'name': 'fred',   'age': 40 },
- *   { 'name': 'barney', 'age': 36 }
- * ];
- *
- * var getName = _.property('name');
- *
- * _.map(characters, getName);
- * // => ['barney', 'fred']
- *
- * _.sortBy(characters, getName);
- * // => [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred',   'age': 40 }]
- */
-function property(key) {
-  return function(object) {
-    return object[key];
-  };
-}
-
-module.exports = property;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/utilities/random.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/utilities/random.js b/node_modules/lodash-node/compat/utilities/random.js
deleted file mode 100644
index 286bd1e..0000000
--- a/node_modules/lodash-node/compat/utilities/random.js
+++ /dev/null
@@ -1,73 +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 baseRandom = require('../internals/baseRandom');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMin = Math.min,
-    nativeRandom = Math.random;
-
-/**
- * Produces a random number between `min` and `max` (inclusive). If only one
- * argument is provided a number between `0` and the given number will be
- * returned. If `floating` is truey or either `min` or `max` are floats a
- * floating-point number will be returned instead of an integer.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {number} [min=0] The minimum possible value.
- * @param {number} [max=1] The maximum possible value.
- * @param {boolean} [floating=false] Specify returning a floating-point number.
- * @returns {number} Returns a random number.
- * @example
- *
- * _.random(0, 5);
- * // => an integer between 0 and 5
- *
- * _.random(5);
- * // => also an integer between 0 and 5
- *
- * _.random(5, true);
- * // => a floating-point number between 0 and 5
- *
- * _.random(1.2, 5.2);
- * // => a floating-point number between 1.2 and 5.2
- */
-function random(min, max, floating) {
-  var noMin = min == null,
-      noMax = max == null;
-
-  if (floating == null) {
-    if (typeof min == 'boolean' && noMax) {
-      floating = min;
-      min = 1;
-    }
-    else if (!noMax && typeof max == 'boolean') {
-      floating = max;
-      noMax = true;
-    }
-  }
-  if (noMin && noMax) {
-    max = 1;
-  }
-  min = +min || 0;
-  if (noMax) {
-    max = min;
-    min = 0;
-  } else {
-    max = +max || 0;
-  }
-  if (floating || min % 1 || max % 1) {
-    var rand = nativeRandom();
-    return nativeMin(min + (rand * (max - min + parseFloat('1e-' + ((rand +'').length - 1)))), max);
-  }
-  return baseRandom(min, max);
-}
-
-module.exports = random;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/utilities/result.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/utilities/result.js b/node_modules/lodash-node/compat/utilities/result.js
deleted file mode 100644
index 306b563..0000000
--- a/node_modules/lodash-node/compat/utilities/result.js
+++ /dev/null
@@ -1,45 +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 isFunction = require('../objects/isFunction');
-
-/**
- * Resolves the value of property `key` on `object`. If `key` is a function
- * it will be invoked with the `this` binding of `object` and its result returned,
- * else the property value is returned. If `object` is falsey then `undefined`
- * is returned.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {Object} object The object to inspect.
- * @param {string} key The name of the property to resolve.
- * @returns {*} Returns the resolved value.
- * @example
- *
- * var object = {
- *   'cheese': 'crumpets',
- *   'stuff': function() {
- *     return 'nonsense';
- *   }
- * };
- *
- * _.result(object, 'cheese');
- * // => 'crumpets'
- *
- * _.result(object, 'stuff');
- * // => 'nonsense'
- */
-function result(object, key) {
-  if (object) {
-    var value = object[key];
-    return isFunction(value) ? object[key]() : value;
-  }
-}
-
-module.exports = result;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/utilities/template.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/utilities/template.js b/node_modules/lodash-node/compat/utilities/template.js
deleted file mode 100644
index b4906b3..0000000
--- a/node_modules/lodash-node/compat/utilities/template.js
+++ /dev/null
@@ -1,216 +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 defaults = require('../objects/defaults'),
-    escape = require('./escape'),
-    escapeStringChar = require('../internals/escapeStringChar'),
-    keys = require('../objects/keys'),
-    reInterpolate = require('../internals/reInterpolate'),
-    templateSettings = require('./templateSettings'),
-    values = require('../objects/values');
-
-/** Used to match empty string literals in compiled template source */
-var reEmptyStringLeading = /\b__p \+= '';/g,
-    reEmptyStringMiddle = /\b(__p \+=) '' \+/g,
-    reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g;
-
-/**
- * Used to match ES6 template delimiters
- * http://people.mozilla.org/~jorendorff/es6-draft.html#sec-literals-string-literals
- */
-var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;
-
-/** Used to ensure capturing order of template delimiters */
-var reNoMatch = /($^)/;
-
-/** Used to match unescaped characters in compiled string literals */
-var reUnescapedString = /['\n\r\t\u2028\u2029\\]/g;
-
-/**
- * A micro-templating method that handles arbitrary delimiters, preserves
- * whitespace, and correctly escapes quotes within interpolated code.
- *
- * Note: In the development build, `_.template` utilizes sourceURLs for easier
- * debugging. See http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl
- *
- * For more information on precompiling templates see:
- * http://lodash.com/custom-builds
- *
- * For more information on Chrome extension sandboxes see:
- * http://developer.chrome.com/stable/extensions/sandboxingEval.html
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {string} text The template text.
- * @param {Object} data The data object used to populate the text.
- * @param {Object} [options] The options object.
- * @param {RegExp} [options.escape] The "escape" delimiter.
- * @param {RegExp} [options.evaluate] The "evaluate" delimiter.
- * @param {Object} [options.imports] An object to import into the template as local variables.
- * @param {RegExp} [options.interpolate] The "interpolate" delimiter.
- * @param {string} [sourceURL] The sourceURL of the template's compiled source.
- * @param {string} [variable] The data object variable name.
- * @returns {Function|string} Returns a compiled function when no `data` object
- *  is given, else it returns the interpolated text.
- * @example
- *
- * // using the "interpolate" delimiter to create a compiled template
- * var compiled = _.template('hello <%= name %>');
- * compiled({ 'name': 'fred' });
- * // => 'hello fred'
- *
- * // using the "escape" delimiter to escape HTML in data property values
- * _.template('<b><%- value %></b>', { 'value': '<script>' });
- * // => '<b>&lt;script&gt;</b>'
- *
- * // using the "evaluate" delimiter to generate HTML
- * var list = '<% _.forEach(people, function(name) { %><li><%- name %></li><% }); %>';
- * _.template(list, { 'people': ['fred', 'barney'] });
- * // => '<li>fred</li><li>barney</li>'
- *
- * // using the ES6 delimiter as an alternative to the default "interpolate" delimiter
- * _.template('hello ${ name }', { 'name': 'pebbles' });
- * // => 'hello pebbles'
- *
- * // using the internal `print` function in "evaluate" delimiters
- * _.template('<% print("hello " + name); %>!', { 'name': 'barney' });
- * // => 'hello barney!'
- *
- * // using a custom template delimiters
- * _.templateSettings = {
- *   'interpolate': /{{([\s\S]+?)}}/g
- * };
- *
- * _.template('hello {{ name }}!', { 'name': 'mustache' });
- * // => 'hello mustache!'
- *
- * // using the `imports` option to import jQuery
- * var list = '<% jq.each(people, function(name) { %><li><%- name %></li><% }); %>';
- * _.template(list, { 'people': ['fred', 'barney'] }, { 'imports': { 'jq': jQuery } });
- * // => '<li>fred</li><li>barney</li>'
- *
- * // using the `sourceURL` option to specify a custom sourceURL for the template
- * var compiled = _.template('hello <%= name %>', null, { 'sourceURL': '/basic/greeting.jst' });
- * compiled(data);
- * // => find the source of "greeting.jst" under the Sources tab or Resources panel of the web inspector
- *
- * // using the `variable` option to ensure a with-statement isn't used in the compiled template
- * var compiled = _.template('hi <%= data.name %>!', null, { 'variable': 'data' });
- * compiled.source;
- * // => function(data) {
- *   var __t, __p = '', __e = _.escape;
- *   __p += 'hi ' + ((__t = ( data.name )) == null ? '' : __t) + '!';
- *   return __p;
- * }
- *
- * // using the `source` property to inline compiled templates for meaningful
- * // line numbers in error messages and a stack trace
- * fs.writeFileSync(path.join(cwd, 'jst.js'), '\
- *   var JST = {\
- *     "main": ' + _.template(mainText).source + '\
- *   };\
- * ');
- */
-function template(text, data, options) {
-  // based on John Resig's `tmpl` implementation
-  // http://ejohn.org/blog/javascript-micro-templating/
-  // and Laura Doktorova's doT.js
-  // https://github.com/olado/doT
-  var settings = templateSettings.imports._.templateSettings || templateSettings;
-  text = String(text || '');
-
-  // avoid missing dependencies when `iteratorTemplate` is not defined
-  options = defaults({}, options, settings);
-
-  var imports = defaults({}, options.imports, settings.imports),
-      importsKeys = keys(imports),
-      importsValues = values(imports);
-
-  var isEvaluating,
-      index = 0,
-      interpolate = options.interpolate || reNoMatch,
-      source = "__p += '";
-
-  // compile the regexp to match each delimiter
-  var reDelimiters = RegExp(
-    (options.escape || reNoMatch).source + '|' +
-    interpolate.source + '|' +
-    (interpolate === reInterpolate ? reEsTemplate : reNoMatch).source + '|' +
-    (options.evaluate || reNoMatch).source + '|$'
-  , 'g');
-
-  text.replace(reDelimiters, function(match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) {
-    interpolateValue || (interpolateValue = esTemplateValue);
-
-    // escape characters that cannot be included in string literals
-    source += text.slice(index, offset).replace(reUnescapedString, escapeStringChar);
-
-    // replace delimiters with snippets
-    if (escapeValue) {
-      source += "' +\n__e(" + escapeValue + ") +\n'";
-    }
-    if (evaluateValue) {
-      isEvaluating = true;
-      source += "';\n" + evaluateValue + ";\n__p += '";
-    }
-    if (interpolateValue) {
-      source += "' +\n((__t = (" + interpolateValue + ")) == null ? '' : __t) +\n'";
-    }
-    index = offset + match.length;
-
-    // the JS engine embedded in Adobe products requires returning the `match`
-    // string in order to produce the correct `offset` value
-    return match;
-  });
-
-  source += "';\n";
-
-  // if `variable` is not specified, wrap a with-statement around the generated
-  // code to add the data object to the top of the scope chain
-  var variable = options.variable,
-      hasVariable = variable;
-
-  if (!hasVariable) {
-    variable = 'obj';
-    source = 'with (' + variable + ') {\n' + source + '\n}\n';
-  }
-  // cleanup code by stripping empty strings
-  source = (isEvaluating ? source.replace(reEmptyStringLeading, '') : source)
-    .replace(reEmptyStringMiddle, '$1')
-    .replace(reEmptyStringTrailing, '$1;');
-
-  // frame code as the function body
-  source = 'function(' + variable + ') {\n' +
-    (hasVariable ? '' : variable + ' || (' + variable + ' = {});\n') +
-    "var __t, __p = '', __e = _.escape" +
-    (isEvaluating
-      ? ', __j = Array.prototype.join;\n' +
-        "function print() { __p += __j.call(arguments, '') }\n"
-      : ';\n'
-    ) +
-    source +
-    'return __p\n}';
-
-  try {
-    var result = Function(importsKeys, 'return ' + source ).apply(undefined, importsValues);
-  } catch(e) {
-    e.source = source;
-    throw e;
-  }
-  if (data) {
-    return result(data);
-  }
-  // provide the compiled function's source by its `toString` method, in
-  // supported environments, or the `source` property as a convenience for
-  // inlining compiled templates during the build process
-  result.source = source;
-  return result;
-}
-
-module.exports = template;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/utilities/templateSettings.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/utilities/templateSettings.js b/node_modules/lodash-node/compat/utilities/templateSettings.js
deleted file mode 100644
index d8acdbf..0000000
--- a/node_modules/lodash-node/compat/utilities/templateSettings.js
+++ /dev/null
@@ -1,73 +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 escape = require('./escape'),
-    reInterpolate = require('../internals/reInterpolate');
-
-/**
- * By default, the template delimiters used by Lo-Dash are similar to those in
- * embedded Ruby (ERB). Change the following template settings to use alternative
- * delimiters.
- *
- * @static
- * @memberOf _
- * @type Object
- */
-var templateSettings = {
-
-  /**
-   * Used to detect `data` property values to be HTML-escaped.
-   *
-   * @memberOf _.templateSettings
-   * @type RegExp
-   */
-  'escape': /<%-([\s\S]+?)%>/g,
-
-  /**
-   * Used to detect code to be evaluated.
-   *
-   * @memberOf _.templateSettings
-   * @type RegExp
-   */
-  'evaluate': /<%([\s\S]+?)%>/g,
-
-  /**
-   * Used to detect `data` property values to inject.
-   *
-   * @memberOf _.templateSettings
-   * @type RegExp
-   */
-  'interpolate': reInterpolate,
-
-  /**
-   * Used to reference the data object in the template text.
-   *
-   * @memberOf _.templateSettings
-   * @type string
-   */
-  'variable': '',
-
-  /**
-   * Used to import variables into the compiled template.
-   *
-   * @memberOf _.templateSettings
-   * @type Object
-   */
-  'imports': {
-
-    /**
-     * A reference to the `lodash` function.
-     *
-     * @memberOf _.templateSettings.imports
-     * @type Function
-     */
-    '_': { 'escape': escape }
-  }
-};
-
-module.exports = templateSettings;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/utilities/times.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/utilities/times.js b/node_modules/lodash-node/compat/utilities/times.js
deleted file mode 100644
index 85e5c32..0000000
--- a/node_modules/lodash-node/compat/utilities/times.js
+++ /dev/null
@@ -1,46 +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 baseCreateCallback = require('../internals/baseCreateCallback');
-
-/**
- * Executes the callback `n` times, returning an array of the results
- * of each callback execution. The callback is bound to `thisArg` and invoked
- * with one argument; (index).
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {number} n The number of times to execute the callback.
- * @param {Function} callback The function called per iteration.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Array} Returns an array of the results of each `callback` execution.
- * @example
- *
- * var diceRolls = _.times(3, _.partial(_.random, 1, 6));
- * // => [3, 6, 4]
- *
- * _.times(3, function(n) { mage.castSpell(n); });
- * // => calls `mage.castSpell(n)` three times, passing `n` of `0`, `1`, and `2` respectively
- *
- * _.times(3, function(n) { this.cast(n); }, mage);
- * // => also calls `mage.castSpell(n)` three times
- */
-function times(n, callback, thisArg) {
-  n = (n = +n) > -1 ? n : 0;
-  var index = -1,
-      result = Array(n);
-
-  callback = baseCreateCallback(callback, thisArg, 1);
-  while (++index < n) {
-    result[index] = callback(index);
-  }
-  return result;
-}
-
-module.exports = times;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/utilities/unescape.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/utilities/unescape.js b/node_modules/lodash-node/compat/utilities/unescape.js
deleted file mode 100644
index dec526f..0000000
--- a/node_modules/lodash-node/compat/utilities/unescape.js
+++ /dev/null
@@ -1,32 +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 keys = require('../objects/keys'),
-    reEscapedHtml = require('../internals/reEscapedHtml'),
-    unescapeHtmlChar = require('../internals/unescapeHtmlChar');
-
-/**
- * The inverse of `_.escape` this method converts the HTML entities
- * `&amp;`, `&lt;`, `&gt;`, `&quot;`, and `&#39;` in `string` to their
- * corresponding characters.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {string} string The string to unescape.
- * @returns {string} Returns the unescaped string.
- * @example
- *
- * _.unescape('Fred, Barney &amp; Pebbles');
- * // => 'Fred, Barney & Pebbles'
- */
-function unescape(string) {
-  return string == null ? '' : String(string).replace(reEscapedHtml, unescapeHtmlChar);
-}
-
-module.exports = unescape;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/utilities/uniqueId.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/utilities/uniqueId.js b/node_modules/lodash-node/compat/utilities/uniqueId.js
deleted file mode 100644
index 6c9346e..0000000
--- a/node_modules/lodash-node/compat/utilities/uniqueId.js
+++ /dev/null
@@ -1,34 +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>
- */
-
-/** Used to generate unique IDs */
-var idCounter = 0;
-
-/**
- * Generates a unique ID. If `prefix` is provided the ID will be appended to it.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {string} [prefix] The value to prefix the ID with.
- * @returns {string} Returns the unique ID.
- * @example
- *
- * _.uniqueId('contact_');
- * // => 'contact_104'
- *
- * _.uniqueId();
- * // => '105'
- */
-function uniqueId(prefix) {
-  var id = ++idCounter;
-  return String(prefix == null ? '' : prefix) + id;
-}
-
-module.exports = uniqueId;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/arrays.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/arrays.js b/node_modules/lodash-node/modern/arrays.js
deleted file mode 100644
index f6c37ff..0000000
--- a/node_modules/lodash-node/modern/arrays.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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-ios/blob/0d465c30/node_modules/lodash-node/modern/arrays/compact.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/arrays/compact.js b/node_modules/lodash-node/modern/arrays/compact.js
deleted file mode 100644
index f0bffba..0000000
--- a/node_modules/lodash-node/modern/arrays/compact.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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-ios/blob/0d465c30/node_modules/lodash-node/modern/arrays/difference.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/arrays/difference.js b/node_modules/lodash-node/modern/arrays/difference.js
deleted file mode 100644
index 22d16f0..0000000
--- a/node_modules/lodash-node/modern/arrays/difference.js
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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-ios/blob/0d465c30/node_modules/lodash-node/modern/arrays/findIndex.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/arrays/findIndex.js b/node_modules/lodash-node/modern/arrays/findIndex.js
deleted file mode 100644
index 549d010..0000000
--- a/node_modules/lodash-node/modern/arrays/findIndex.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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-ios/blob/0d465c30/node_modules/lodash-node/modern/arrays/findLastIndex.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/arrays/findLastIndex.js b/node_modules/lodash-node/modern/arrays/findLastIndex.js
deleted file mode 100644
index f487f71..0000000
--- a/node_modules/lodash-node/modern/arrays/findLastIndex.js
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/arrays/first.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/arrays/first.js b/node_modules/lodash-node/modern/arrays/first.js
deleted file mode 100644
index f7d802e..0000000
--- a/node_modules/lodash-node/modern/arrays/first.js
+++ /dev/null
@@ -1,86 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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'),
-    slice = require('../internals/slice');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max,
-    nativeMin = Math.min;
-
-/**
- * Gets the first element or first `n` elements of an array. If a callback
- * is provided elements at the beginning of the array are returned as long
- * as the callback returns truey. The callback is bound to `thisArg` and
- * invoked with three arguments; (value, index, array).
- *
- * 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 _
- * @alias head, take
- * @category Arrays
- * @param {Array} array The array to query.
- * @param {Function|Object|number|string} [callback] The function called
- *  per element or the number of elements to return. 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 {*} Returns the first element(s) of `array`.
- * @example
- *
- * _.first([1, 2, 3]);
- * // => 1
- *
- * _.first([1, 2, 3], 2);
- * // => [1, 2]
- *
- * _.first([1, 2, 3], function(num) {
- *   return num < 3;
- * });
- * // => [1, 2]
- *
- * var characters = [
- *   { 'name': 'barney',  'blocked': true,  'employer': 'slate' },
- *   { 'name': 'fred',    'blocked': false, 'employer': 'slate' },
- *   { 'name': 'pebbles', 'blocked': true,  'employer': 'na' }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.first(characters, 'blocked');
- * // => [{ 'name': 'barney', 'blocked': true, 'employer': 'slate' }]
- *
- * // using "_.where" callback shorthand
- * _.pluck(_.first(characters, { 'employer': 'slate' }), 'name');
- * // => ['barney', 'fred']
- */
-function first(array, callback, thisArg) {
-  var n = 0,
-      length = array ? array.length : 0;
-
-  if (typeof callback != 'number' && callback != null) {
-    var index = -1;
-    callback = createCallback(callback, thisArg, 3);
-    while (++index < length && callback(array[index], index, array)) {
-      n++;
-    }
-  } else {
-    n = callback;
-    if (n == null || thisArg) {
-      return array ? array[0] : undefined;
-    }
-  }
-  return slice(array, 0, nativeMin(nativeMax(0, n), length));
-}
-
-module.exports = first;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/arrays/flatten.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/arrays/flatten.js b/node_modules/lodash-node/modern/arrays/flatten.js
deleted file mode 100644
index 49b9da9..0000000
--- a/node_modules/lodash-node/modern/arrays/flatten.js
+++ /dev/null
@@ -1,66 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseFlatten = require('../internals/baseFlatten'),
-    map = require('../collections/map');
-
-/**
- * Flattens a nested array (the nesting can be to any depth). If `isShallow`
- * is truey, the array will only be flattened a single level. If a callback
- * is provided each element of the array is passed through the callback before
- * flattening. The callback is bound to `thisArg` and invoked with three
- * arguments; (value, index, array).
- *
- * 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 flatten.
- * @param {boolean} [isShallow=false] A flag to restrict flattening to a single level.
- * @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 {Array} Returns a new flattened array.
- * @example
- *
- * _.flatten([1, [2], [3, [[4]]]]);
- * // => [1, 2, 3, 4];
- *
- * _.flatten([1, [2], [3, [[4]]]], true);
- * // => [1, 2, 3, [[4]]];
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 30, 'pets': ['hoppy'] },
- *   { 'name': 'fred',   'age': 40, 'pets': ['baby puss', 'dino'] }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.flatten(characters, 'pets');
- * // => ['hoppy', 'baby puss', 'dino']
- */
-function flatten(array, isShallow, callback, thisArg) {
-  // juggle arguments
-  if (typeof isShallow != 'boolean' && isShallow != null) {
-    thisArg = callback;
-    callback = (typeof isShallow != 'function' && thisArg && thisArg[isShallow] === array) ? null : isShallow;
-    isShallow = false;
-  }
-  if (callback != null) {
-    array = map(array, callback, thisArg);
-  }
-  return baseFlatten(array, isShallow);
-}
-
-module.exports = flatten;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/arrays/indexOf.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/arrays/indexOf.js b/node_modules/lodash-node/modern/arrays/indexOf.js
deleted file mode 100644
index c7533e8..0000000
--- a/node_modules/lodash-node/modern/arrays/indexOf.js
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseIndexOf = require('../internals/baseIndexOf'),
-    sortedIndex = require('./sortedIndex');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max;
-
-/**
- * Gets the index at which the first occurrence of `value` is found using
- * strict equality for comparisons, i.e. `===`. If the array is already sorted
- * providing `true` for `fromIndex` will run a faster binary search.
- *
- * @static
- * @memberOf _
- * @category Arrays
- * @param {Array} array The array to search.
- * @param {*} value The value to search for.
- * @param {boolean|number} [fromIndex=0] The index to search from or `true`
- *  to perform a binary search on a sorted array.
- * @returns {number} Returns the index of the matched value or `-1`.
- * @example
- *
- * _.indexOf([1, 2, 3, 1, 2, 3], 2);
- * // => 1
- *
- * _.indexOf([1, 2, 3, 1, 2, 3], 2, 3);
- * // => 4
- *
- * _.indexOf([1, 1, 2, 2, 3, 3], 2, true);
- * // => 2
- */
-function indexOf(array, value, fromIndex) {
-  if (typeof fromIndex == 'number') {
-    var length = array ? array.length : 0;
-    fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex || 0);
-  } else if (fromIndex) {
-    var index = sortedIndex(array, value);
-    return array[index] === value ? index : -1;
-  }
-  return baseIndexOf(array, value, fromIndex);
-}
-
-module.exports = indexOf;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/arrays/initial.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/arrays/initial.js b/node_modules/lodash-node/modern/arrays/initial.js
deleted file mode 100644
index c1441a5..0000000
--- a/node_modules/lodash-node/modern/arrays/initial.js
+++ /dev/null
@@ -1,82 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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'),
-    slice = require('../internals/slice');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max,
-    nativeMin = Math.min;
-
-/**
- * Gets all but the last element or last `n` elements of an array. If a
- * callback is provided elements at the end of the array are excluded from
- * the result as long as the callback returns truey. The callback is bound
- * to `thisArg` and invoked with three arguments; (value, index, array).
- *
- * 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 query.
- * @param {Function|Object|number|string} [callback=1] The function called
- *  per element or the number of elements to exclude. 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 {Array} Returns a slice of `array`.
- * @example
- *
- * _.initial([1, 2, 3]);
- * // => [1, 2]
- *
- * _.initial([1, 2, 3], 2);
- * // => [1]
- *
- * _.initial([1, 2, 3], function(num) {
- *   return num > 1;
- * });
- * // => [1]
- *
- * var characters = [
- *   { 'name': 'barney',  'blocked': false, 'employer': 'slate' },
- *   { 'name': 'fred',    'blocked': true,  'employer': 'slate' },
- *   { 'name': 'pebbles', 'blocked': true,  'employer': 'na' }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.initial(characters, 'blocked');
- * // => [{ 'name': 'barney',  'blocked': false, 'employer': 'slate' }]
- *
- * // using "_.where" callback shorthand
- * _.pluck(_.initial(characters, { 'employer': 'na' }), 'name');
- * // => ['barney', 'fred']
- */
-function initial(array, callback, thisArg) {
-  var n = 0,
-      length = array ? array.length : 0;
-
-  if (typeof callback != 'number' && callback != null) {
-    var index = length;
-    callback = createCallback(callback, thisArg, 3);
-    while (index-- && callback(array[index], index, array)) {
-      n++;
-    }
-  } else {
-    n = (callback == null || thisArg) ? 1 : callback || n;
-  }
-  return slice(array, 0, nativeMin(nativeMax(0, length - n), length));
-}
-
-module.exports = initial;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/arrays/intersection.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/arrays/intersection.js b/node_modules/lodash-node/modern/arrays/intersection.js
deleted file mode 100644
index a49371d..0000000
--- a/node_modules/lodash-node/modern/arrays/intersection.js
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseIndexOf = require('../internals/baseIndexOf'),
-    cacheIndexOf = require('../internals/cacheIndexOf'),
-    createCache = require('../internals/createCache'),
-    getArray = require('../internals/getArray'),
-    isArguments = require('../objects/isArguments'),
-    isArray = require('../objects/isArray'),
-    largeArraySize = require('../internals/largeArraySize'),
-    releaseArray = require('../internals/releaseArray'),
-    releaseObject = require('../internals/releaseObject');
-
-/**
- * Creates an array of unique values present in all provided arrays using
- * strict equality for comparisons, i.e. `===`.
- *
- * @static
- * @memberOf _
- * @category Arrays
- * @param {...Array} [array] The arrays to inspect.
- * @returns {Array} Returns an array of shared values.
- * @example
- *
- * _.intersection([1, 2, 3], [5, 2, 1, 4], [2, 1]);
- * // => [1, 2]
- */
-function intersection() {
-  var args = [],
-      argsIndex = -1,
-      argsLength = arguments.length,
-      caches = getArray(),
-      indexOf = baseIndexOf,
-      trustIndexOf = indexOf === baseIndexOf,
-      seen = getArray();
-
-  while (++argsIndex < argsLength) {
-    var value = arguments[argsIndex];
-    if (isArray(value) || isArguments(value)) {
-      args.push(value);
-      caches.push(trustIndexOf && value.length >= largeArraySize &&
-        createCache(argsIndex ? args[argsIndex] : seen));
-    }
-  }
-  var array = args[0],
-      index = -1,
-      length = array ? array.length : 0,
-      result = [];
-
-  outer:
-  while (++index < length) {
-    var cache = caches[0];
-    value = array[index];
-
-    if ((cache ? cacheIndexOf(cache, value) : indexOf(seen, value)) < 0) {
-      argsIndex = argsLength;
-      (cache || seen).push(value);
-      while (--argsIndex) {
-        cache = caches[argsIndex];
-        if ((cache ? cacheIndexOf(cache, value) : indexOf(args[argsIndex], value)) < 0) {
-          continue outer;
-        }
-      }
-      result.push(value);
-    }
-  }
-  while (argsLength--) {
-    cache = caches[argsLength];
-    if (cache) {
-      releaseObject(cache);
-    }
-  }
-  releaseArray(caches);
-  releaseArray(seen);
-  return result;
-}
-
-module.exports = intersection;


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


[31/32] ios commit: added devdependencies to .gitignore (for npm3)

Posted by st...@apache.org.
added devdependencies to .gitignore (for npm3)


Project: http://git-wip-us.apache.org/repos/asf/cordova-ios/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-ios/commit/6b5a1e3c
Tree: http://git-wip-us.apache.org/repos/asf/cordova-ios/tree/6b5a1e3c
Diff: http://git-wip-us.apache.org/repos/asf/cordova-ios/diff/6b5a1e3c

Branch: refs/heads/master
Commit: 6b5a1e3cc3a26f71ccb4d5bd641d47f7cca2f8b5
Parents: 9c2dca4
Author: Steve Gill <st...@gmail.com>
Authored: Thu Jun 16 21:18:26 2016 -0700
Committer: Steve Gill <st...@gmail.com>
Committed: Thu Jun 16 21:18:26 2016 -0700

----------------------------------------------------------------------
 .gitignore | 196 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 196 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/6b5a1e3c/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index c7a2057..25abaed 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,5 +10,201 @@ node_modules/jshint
 node_modules/jasmine-node
 node_modules/rewire
 node_modules/istanbul
+node_modules/.bin/cake
+node_modules/.bin/codecov
+node_modules/.bin/coffee
+node_modules/.bin/coveralls
+node_modules/.bin/escodegen
+node_modules/.bin/esgenerate
+node_modules/.bin/esparse
+node_modules/.bin/esvalidate
+node_modules/.bin/handlebars
+node_modules/.bin/har-validator
+node_modules/.bin/istanbul
+node_modules/.bin/jasmine-node
+node_modules/.bin/js-yaml
+node_modules/.bin/jshint
+node_modules/.bin/mkdirp
+node_modules/.bin/nodeunit
+node_modules/.bin/nyc
+node_modules/.bin/opener
+node_modules/.bin/r.js
+node_modules/.bin/r_js
+node_modules/.bin/sshpk-conv
+node_modules/.bin/sshpk-sign
+node_modules/.bin/sshpk-verify
+node_modules/.bin/strip-json-comments
+node_modules/.bin/tap
+node_modules/.bin/tap-mocha-reporter
+node_modules/.bin/tap-parser
+node_modules/.bin/tape
+node_modules/.bin/uglifyjs
+node_modules/.bin/uncrustify
+node_modules/.bin/which
+node_modules/align-text/
+node_modules/amdefine/
+node_modules/ansi-regex/
+node_modules/ansi-styles/
+node_modules/argparse/
+node_modules/asn1/
+node_modules/assert-plus/
+node_modules/async/
+node_modules/aws-sign2/
+node_modules/bl/
+node_modules/bluebird/
+node_modules/boom/
+node_modules/buffer-shims/
+node_modules/camelcase/
+node_modules/caseless/
+node_modules/center-align/
+node_modules/chalk/
+node_modules/clean-yaml-object/
+node_modules/cli/
+node_modules/cliui/
+node_modules/codecov.io/
+node_modules/coffee-script/
+node_modules/combined-stream/
+node_modules/commander/
+node_modules/console-browserify/
+node_modules/core-util-is/
+node_modules/coveralls/
+node_modules/cross-spawn/
+node_modules/cryptiles/
+node_modules/ctype/
+node_modules/dashdash/
+node_modules/date-now/
+node_modules/debug/
+node_modules/decamelize/
+node_modules/deep-equal/
+node_modules/deep-is/
+node_modules/deeper/
+node_modules/defined/
+node_modules/delayed-stream/
+node_modules/diff/
+node_modules/dom-serializer/
+node_modules/domelementtype/
+node_modules/domhandler/
+node_modules/domutils/
+node_modules/duplexer/
+node_modules/ecc-jsbn/
+node_modules/entities/
+node_modules/escape-string-regexp/
+node_modules/escodegen/
+node_modules/esprima/
+node_modules/estraverse/
+node_modules/esutils/
+node_modules/events-to-array/
+node_modules/exit/
+node_modules/extend/
+node_modules/extsprintf/
+node_modules/fast-levenshtein/
+node_modules/fileset/
+node_modules/foreground-child/
+node_modules/forever-agent/
+node_modules/form-data/
+node_modules/gaze/
+node_modules/generate-function/
+node_modules/generate-object-property/
+node_modules/getpass/
+node_modules/graceful-readlink/
+node_modules/growl/
+node_modules/handlebars/
+node_modules/har-validator/
+node_modules/has-ansi/
+node_modules/has-flag/
+node_modules/hawk/
+node_modules/hoek/
+node_modules/htmlparser2/
+node_modules/http-signature/
+node_modules/is-buffer/
+node_modules/is-my-json-valid/
+node_modules/is-property/
+node_modules/is-typedarray/
+node_modules/isarray/
+node_modules/isexe/
+node_modules/isstream/
+node_modules/jasmine-growl-reporter/
+node_modules/jasmine-reporters/
+node_modules/jodid25519/
+node_modules/js-yaml/
+node_modules/jsbn/
+node_modules/json-schema/
+node_modules/json-stringify-safe/
+node_modules/jsonify/
+node_modules/jsonpointer/
+node_modules/jsprim/
+node_modules/kind-of/
+node_modules/lazy-cache/
+node_modules/lcov-parse/
+node_modules/levn/
+node_modules/log-driver/
+node_modules/longest/
+node_modules/lru-cache/
+node_modules/mime-db/
+node_modules/mime-types/
+node_modules/mime/
+node_modules/minimist/
+node_modules/mkdirp/
+node_modules/ms/
+node_modules/nodeunit/
+node_modules/nyc/
+node_modules/oauth-sign/
+node_modules/only-shallow/
+node_modules/opener/
+node_modules/optimist/
+node_modules/optionator/
+node_modules/pinkie-promise/
+node_modules/pinkie/
+node_modules/prelude-ls/
+node_modules/process-nextick-args/
+node_modules/pseudomap/
+node_modules/punycode/
+node_modules/qs/
+node_modules/readable-stream/
+node_modules/repeat-string/
+node_modules/request/
+node_modules/requirejs/
+node_modules/resolve/
+node_modules/resumer/
+node_modules/right-align/
+node_modules/sigmund/
+node_modules/signal-exit/
+node_modules/sntp/
+node_modules/source-map/
+node_modules/split/
+node_modules/sprintf-js/
+node_modules/sshpk/
+node_modules/stack-utils/
+node_modules/stream-combiner/
+node_modules/string_decoder/
+node_modules/stringstream/
+node_modules/strip-ansi/
+node_modules/strip-json-comments/
+node_modules/supports-color/
+node_modules/tap-mocha-reporter/
+node_modules/tap-parser/
+node_modules/tap/
+node_modules/tape/
+node_modules/through/
+node_modules/tmatch/
+node_modules/tough-cookie/
+node_modules/tunnel-agent/
+node_modules/tweetnacl/
+node_modules/type-check/
+node_modules/uglify-js/
+node_modules/uglify-to-browserify/
+node_modules/uncrustify/
+node_modules/underscore.string/
+node_modules/unicode-length/
+node_modules/urlgrey/
+node_modules/verror/
+node_modules/walkdir/
+node_modules/which/
+node_modules/window-size/
+node_modules/wordwrap/
+node_modules/xtend/
+node_modules/yallist/
+node_modules/yargs/
 coverage/
 npm-debug.log
+


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


[29/32] ios commit: Set VERSION to 4.3.0-dev (via coho)

Posted by st...@apache.org.
Set VERSION to 4.3.0-dev (via coho)


Project: http://git-wip-us.apache.org/repos/asf/cordova-ios/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-ios/commit/7dd57c99
Tree: http://git-wip-us.apache.org/repos/asf/cordova-ios/tree/7dd57c99
Diff: http://git-wip-us.apache.org/repos/asf/cordova-ios/diff/7dd57c99

Branch: refs/heads/master
Commit: 7dd57c99cdd7ded6ce0222e8b885562a41b2453e
Parents: 4134176
Author: Steve Gill <st...@gmail.com>
Authored: Thu Jun 16 21:13:08 2016 -0700
Committer: Steve Gill <st...@gmail.com>
Committed: Thu Jun 16 21:13:08 2016 -0700

----------------------------------------------------------------------
 CordovaLib/VERSION                    | 2 +-
 bin/templates/scripts/cordova/version | 2 +-
 package.json                          | 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/7dd57c99/CordovaLib/VERSION
----------------------------------------------------------------------
diff --git a/CordovaLib/VERSION b/CordovaLib/VERSION
index 5fb11aa..50299d1 100644
--- a/CordovaLib/VERSION
+++ b/CordovaLib/VERSION
@@ -1 +1 @@
-4.2.0-dev
+4.3.0-dev

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/7dd57c99/bin/templates/scripts/cordova/version
----------------------------------------------------------------------
diff --git a/bin/templates/scripts/cordova/version b/bin/templates/scripts/cordova/version
index d1a316a..7b94571 100755
--- a/bin/templates/scripts/cordova/version
+++ b/bin/templates/scripts/cordova/version
@@ -26,7 +26,7 @@
 */
 
 // Coho updates this line
-var VERSION="4.2.0-dev";
+var VERSION="4.3.0-dev";
 
 module.exports.version = VERSION;
 

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/7dd57c99/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index cb8ca46..9e875c9 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "cordova-ios",
-  "version": "4.2.0",
+  "version": "4.3.0-dev",
   "description": "cordova-ios release",
   "main": "bin/templates/scripts/cordova/Api.js",
   "repository": {
@@ -16,11 +16,11 @@
   ],
   "scripts": {
     "test": "npm run e2e-tests && npm run objc-tests && npm run unit-tests",
-        "posttest": "npm run jshint",
+    "posttest": "npm run jshint",
     "cover": "istanbul cover node_modules/jasmine-node/bin/jasmine-node -- tests/spec/unit",
     "e2e-tests": "jasmine-node --captureExceptions --color tests/spec",
     "objc-tests": "xcodebuild test -workspace tests/cordova-ios.xcworkspace -scheme CordovaLibTests -destination \"platform=iOS Simulator,name=iPhone 5\" CONFIGURATION_BUILD_DIR=\"`mktemp -d 2>/dev/null || mktemp -d -t 'cordova-ios'`\"",
-        "preobjc-tests" : "tests/scripts/killsim.js", 
+    "preobjc-tests": "tests/scripts/killsim.js",
     "unit-tests": "jasmine-node --captureExceptions --color tests/spec/unit",
     "jshint": "jshint bin tests"
   },


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


[13/32] ios commit: CB-11445 Updated checked-in node_modules

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/index.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/index.js b/node_modules/lodash-node/underscore/index.js
deleted file mode 100644
index ccbc67e..0000000
--- a/node_modules/lodash-node/underscore/index.js
+++ /dev/null
@@ -1,284 +0,0 @@
-/**
- * @license
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 arrays = require('./arrays'),
-    chaining = require('./chaining'),
-    collections = require('./collections'),
-    functions = require('./functions'),
-    objects = require('./objects'),
-    utilities = require('./utilities'),
-    forEach = require('./collections/forEach'),
-    forOwn = require('./objects/forOwn'),
-    lodashWrapper = require('./internals/lodashWrapper'),
-    mixin = require('./utilities/mixin'),
-    support = require('./support'),
-    templateSettings = require('./utilities/templateSettings');
-
-/**
- * Used for `Array` method references.
- *
- * Normally `Array.prototype` would suffice, however, using an array literal
- * avoids issues in Narwhal.
- */
-var arrayRef = [];
-
-/**
- * Creates a `lodash` object which wraps the given value to enable intuitive
- * method chaining.
- *
- * In addition to Lo-Dash methods, wrappers also have the following `Array` methods:
- * `concat`, `join`, `pop`, `push`, `reverse`, `shift`, `slice`, `sort`, `splice`,
- * and `unshift`
- *
- * Chaining is supported in custom builds as long as the `value` method is
- * implicitly or explicitly included in the build.
- *
- * The chainable wrapper functions are:
- * `after`, `assign`, `bind`, `bindAll`, `bindKey`, `chain`, `compact`,
- * `compose`, `concat`, `countBy`, `create`, `createCallback`, `curry`,
- * `debounce`, `defaults`, `defer`, `delay`, `difference`, `filter`, `flatten`,
- * `forEach`, `forEachRight`, `forIn`, `forInRight`, `forOwn`, `forOwnRight`,
- * `functions`, `groupBy`, `indexBy`, `initial`, `intersection`, `invert`,
- * `invoke`, `keys`, `map`, `max`, `memoize`, `merge`, `min`, `object`, `omit`,
- * `once`, `pairs`, `partial`, `partialRight`, `pick`, `pluck`, `pull`, `push`,
- * `range`, `reject`, `remove`, `rest`, `reverse`, `shuffle`, `slice`, `sort`,
- * `sortBy`, `splice`, `tap`, `throttle`, `times`, `toArray`, `transform`,
- * `union`, `uniq`, `unshift`, `unzip`, `values`, `where`, `without`, `wrap`,
- * and `zip`
- *
- * The non-chainable wrapper functions are:
- * `clone`, `cloneDeep`, `contains`, `escape`, `every`, `find`, `findIndex`,
- * `findKey`, `findLast`, `findLastIndex`, `findLastKey`, `has`, `identity`,
- * `indexOf`, `isArguments`, `isArray`, `isBoolean`, `isDate`, `isElement`,
- * `isEmpty`, `isEqual`, `isFinite`, `isFunction`, `isNaN`, `isNull`, `isNumber`,
- * `isObject`, `isPlainObject`, `isRegExp`, `isString`, `isUndefined`, `join`,
- * `lastIndexOf`, `mixin`, `noConflict`, `parseInt`, `pop`, `random`, `reduce`,
- * `reduceRight`, `result`, `shift`, `size`, `some`, `sortedIndex`, `runInContext`,
- * `template`, `unescape`, `uniqueId`, and `value`
- *
- * The wrapper functions `first` and `last` return wrapped values when `n` is
- * provided, otherwise they return unwrapped values.
- *
- * Explicit chaining can be enabled by using the `_.chain` method.
- *
- * @name _
- * @constructor
- * @category Chaining
- * @param {*} value The value to wrap in a `lodash` instance.
- * @returns {Object} Returns a `lodash` instance.
- * @example
- *
- * var wrapped = _([1, 2, 3]);
- *
- * // returns an unwrapped value
- * wrapped.reduce(function(sum, num) {
- *   return sum + num;
- * });
- * // => 6
- *
- * // returns a wrapped value
- * var squares = wrapped.map(function(num) {
- *   return num * num;
- * });
- *
- * _.isArray(squares);
- * // => false
- *
- * _.isArray(squares.value());
- * // => true
- */
-function lodash(value) {
-  return (value instanceof lodash)
-    ? value
-    : new lodashWrapper(value);
-}
-// ensure `new lodashWrapper` is an instance of `lodash`
-lodashWrapper.prototype = lodash.prototype;
-
-// wrap `_.mixin` so it works when provided only one argument
-mixin = (function(fn) {
-  return function(object, source) {
-    if (!source) {
-      source = object;
-      object = lodash;
-    }
-    return fn(object, source);
-  };
-}(mixin));
-
-// add functions that return wrapped values when chaining
-lodash.after = functions.after;
-lodash.bind = functions.bind;
-lodash.bindAll = functions.bindAll;
-lodash.chain = chaining.chain;
-lodash.compact = arrays.compact;
-lodash.compose = functions.compose;
-lodash.countBy = collections.countBy;
-lodash.debounce = functions.debounce;
-lodash.defaults = objects.defaults;
-lodash.defer = functions.defer;
-lodash.delay = functions.delay;
-lodash.difference = arrays.difference;
-lodash.filter = collections.filter;
-lodash.flatten = arrays.flatten;
-lodash.forEach = forEach;
-lodash.functions = objects.functions;
-lodash.groupBy = collections.groupBy;
-lodash.indexBy = collections.indexBy;
-lodash.initial = arrays.initial;
-lodash.intersection = arrays.intersection;
-lodash.invert = objects.invert;
-lodash.invoke = collections.invoke;
-lodash.keys = objects.keys;
-lodash.map = collections.map;
-lodash.max = collections.max;
-lodash.memoize = functions.memoize;
-lodash.min = collections.min;
-lodash.omit = objects.omit;
-lodash.once = functions.once;
-lodash.pairs = objects.pairs;
-lodash.partial = functions.partial;
-lodash.pick = objects.pick;
-lodash.pluck = collections.pluck;
-lodash.range = arrays.range;
-lodash.reject = collections.reject;
-lodash.rest = arrays.rest;
-lodash.shuffle = collections.shuffle;
-lodash.sortBy = collections.sortBy;
-lodash.tap = chaining.tap;
-lodash.throttle = functions.throttle;
-lodash.times = utilities.times;
-lodash.toArray = collections.toArray;
-lodash.union = arrays.union;
-lodash.uniq = arrays.uniq;
-lodash.values = objects.values;
-lodash.where = collections.where;
-lodash.without = arrays.without;
-lodash.wrap = functions.wrap;
-lodash.zip = arrays.zip;
-
-// add aliases
-lodash.collect = collections.map;
-lodash.drop = arrays.rest;
-lodash.each = forEach;
-lodash.extend = objects.assign;
-lodash.methods = objects.functions;
-lodash.object = arrays.zipObject;
-lodash.select = collections.filter;
-lodash.tail = arrays.rest;
-lodash.unique = arrays.uniq;
-
-// add functions that return unwrapped values when chaining
-lodash.clone = objects.clone;
-lodash.contains = collections.contains;
-lodash.escape = utilities.escape;
-lodash.every = collections.every;
-lodash.find = collections.find;
-lodash.has = objects.has;
-lodash.identity = utilities.identity;
-lodash.indexOf = arrays.indexOf;
-lodash.isArguments = objects.isArguments;
-lodash.isArray = objects.isArray;
-lodash.isBoolean = objects.isBoolean;
-lodash.isDate = objects.isDate;
-lodash.isElement = objects.isElement;
-lodash.isEmpty = objects.isEmpty;
-lodash.isEqual = objects.isEqual;
-lodash.isFinite = objects.isFinite;
-lodash.isFunction = objects.isFunction;
-lodash.isNaN = objects.isNaN;
-lodash.isNull = objects.isNull;
-lodash.isNumber = objects.isNumber;
-lodash.isObject = objects.isObject;
-lodash.isRegExp = objects.isRegExp;
-lodash.isString = objects.isString;
-lodash.isUndefined = objects.isUndefined;
-lodash.lastIndexOf = arrays.lastIndexOf;
-lodash.mixin = mixin;
-lodash.noConflict = utilities.noConflict;
-lodash.random = utilities.random;
-lodash.reduce = collections.reduce;
-lodash.reduceRight = collections.reduceRight;
-lodash.result = utilities.result;
-lodash.size = collections.size;
-lodash.some = collections.some;
-lodash.sortedIndex = arrays.sortedIndex;
-lodash.template = utilities.template;
-lodash.unescape = utilities.unescape;
-lodash.uniqueId = utilities.uniqueId;
-
-// add aliases
-lodash.all = collections.every;
-lodash.any = collections.some;
-lodash.detect = collections.find;
-lodash.findWhere = collections.findWhere;
-lodash.foldl = collections.reduce;
-lodash.foldr = collections.reduceRight;
-lodash.include = collections.contains;
-lodash.inject = collections.reduce;
-
-// add functions capable of returning wrapped and unwrapped values when chaining
-lodash.first = arrays.first;
-lodash.last = arrays.last;
-lodash.sample = collections.sample;
-
-// add aliases
-lodash.take = arrays.first;
-lodash.head = arrays.first;
-
-// add functions to `lodash.prototype`
-mixin(lodash);
-
-/**
- * The semantic version number.
- *
- * @static
- * @memberOf _
- * @type string
- */
-lodash.VERSION = '2.4.1';
-
-// add "Chaining" functions to the wrapper
-lodash.prototype.chain = chaining.wrapperChain;
-lodash.prototype.value = chaining.wrapperValueOf;
-
-  // add `Array` mutator functions to the wrapper
-  forEach(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(methodName) {
-    var func = arrayRef[methodName];
-    lodash.prototype[methodName] = function() {
-      var value = this.__wrapped__;
-      func.apply(value, arguments);
-
-      // avoid array-like object bugs with `Array#shift` and `Array#splice`
-      // in Firefox < 10 and IE < 9
-      if (!support.spliceObjects && value.length === 0) {
-        delete value[0];
-      }
-      return this;
-    };
-  });
-
-  // add `Array` accessor functions to the wrapper
-  forEach(['concat', 'join', 'slice'], function(methodName) {
-    var func = arrayRef[methodName];
-    lodash.prototype[methodName] = function() {
-      var value = this.__wrapped__,
-          result = func.apply(value, arguments);
-
-      if (this.__chain__) {
-        result = new lodashWrapper(result);
-        result.__chain__ = true;
-      }
-      return result;
-    };
-  });
-
-lodash.support = support;
-(lodash.templateSettings = utilities.templateSettings).imports._ = lodash;
-module.exports = lodash;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/baseBind.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/baseBind.js b/node_modules/lodash-node/underscore/internals/baseBind.js
deleted file mode 100644
index 4ac6245..0000000
--- a/node_modules/lodash-node/underscore/internals/baseBind.js
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 baseCreate = require('./baseCreate'),
-    isObject = require('../objects/isObject'),
-    slice = require('./slice');
-
-/**
- * Used for `Array` method references.
- *
- * Normally `Array.prototype` would suffice, however, using an array literal
- * avoids issues in Narwhal.
- */
-var arrayRef = [];
-
-/** Native method shortcuts */
-var push = arrayRef.push;
-
-/**
- * The base implementation of `_.bind` that creates the bound function and
- * sets its meta data.
- *
- * @private
- * @param {Array} bindData The bind data array.
- * @returns {Function} Returns the new bound function.
- */
-function baseBind(bindData) {
-  var func = bindData[0],
-      partialArgs = bindData[2],
-      thisArg = bindData[4];
-
-  function bound() {
-    // `Function#bind` spec
-    // http://es5.github.io/#x15.3.4.5
-    if (partialArgs) {
-      // avoid `arguments` object deoptimizations by using `slice` instead
-      // of `Array.prototype.slice.call` and not assigning `arguments` to a
-      // variable as a ternary expression
-      var args = slice(partialArgs);
-      push.apply(args, arguments);
-    }
-    // mimic the constructor's `return` behavior
-    // http://es5.github.io/#x13.2.2
-    if (this instanceof bound) {
-      // ensure `new bound` is an instance of `func`
-      var thisBinding = baseCreate(func.prototype),
-          result = func.apply(thisBinding, args || arguments);
-      return isObject(result) ? result : thisBinding;
-    }
-    return func.apply(thisArg, args || arguments);
-  }
-  return bound;
-}
-
-module.exports = baseBind;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/baseCreate.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/baseCreate.js b/node_modules/lodash-node/underscore/internals/baseCreate.js
deleted file mode 100644
index 2724d0b..0000000
--- a/node_modules/lodash-node/underscore/internals/baseCreate.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 isNative = require('./isNative'),
-    isObject = require('../objects/isObject'),
-    noop = require('../utilities/noop');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeCreate = isNative(nativeCreate = Object.create) && nativeCreate;
-
-/**
- * The base implementation of `_.create` without support for assigning
- * properties to the created object.
- *
- * @private
- * @param {Object} prototype The object to inherit from.
- * @returns {Object} Returns the new object.
- */
-function baseCreate(prototype, properties) {
-  return isObject(prototype) ? nativeCreate(prototype) : {};
-}
-// fallback for browsers without `Object.create`
-if (!nativeCreate) {
-  baseCreate = (function() {
-    function Object() {}
-    return function(prototype) {
-      if (isObject(prototype)) {
-        Object.prototype = prototype;
-        var result = new Object;
-        Object.prototype = null;
-      }
-      return result || global.Object();
-    };
-  }());
-}
-
-module.exports = baseCreate;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/baseCreateCallback.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/baseCreateCallback.js b/node_modules/lodash-node/underscore/internals/baseCreateCallback.js
deleted file mode 100644
index be9a4a0..0000000
--- a/node_modules/lodash-node/underscore/internals/baseCreateCallback.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 bind = require('../functions/bind'),
-    identity = require('../utilities/identity');
-
-/**
- * The base implementation of `_.createCallback` without support for creating
- * "_.pluck" or "_.where" style callbacks.
- *
- * @private
- * @param {*} [func=identity] The value to convert to a callback.
- * @param {*} [thisArg] The `this` binding of the created callback.
- * @param {number} [argCount] The number of arguments the callback accepts.
- * @returns {Function} Returns a callback function.
- */
-function baseCreateCallback(func, thisArg, argCount) {
-  if (typeof func != 'function') {
-    return identity;
-  }
-  // exit early for no `thisArg` or already bound by `Function#bind`
-  if (typeof thisArg == 'undefined' || !('prototype' in func)) {
-    return func;
-  }
-  switch (argCount) {
-    case 1: return function(value) {
-      return func.call(thisArg, value);
-    };
-    case 2: return function(a, b) {
-      return func.call(thisArg, a, b);
-    };
-    case 3: return function(value, index, collection) {
-      return func.call(thisArg, value, index, collection);
-    };
-    case 4: return function(accumulator, value, index, collection) {
-      return func.call(thisArg, accumulator, value, index, collection);
-    };
-  }
-  return bind(func, thisArg);
-}
-
-module.exports = baseCreateCallback;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/baseCreateWrapper.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/baseCreateWrapper.js b/node_modules/lodash-node/underscore/internals/baseCreateWrapper.js
deleted file mode 100644
index 61dd235..0000000
--- a/node_modules/lodash-node/underscore/internals/baseCreateWrapper.js
+++ /dev/null
@@ -1,76 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 baseCreate = require('./baseCreate'),
-    isObject = require('../objects/isObject'),
-    slice = require('./slice');
-
-/**
- * Used for `Array` method references.
- *
- * Normally `Array.prototype` would suffice, however, using an array literal
- * avoids issues in Narwhal.
- */
-var arrayRef = [];
-
-/** Native method shortcuts */
-var push = arrayRef.push;
-
-/**
- * The base implementation of `createWrapper` that creates the wrapper and
- * sets its meta data.
- *
- * @private
- * @param {Array} bindData The bind data array.
- * @returns {Function} Returns the new function.
- */
-function baseCreateWrapper(bindData) {
-  var func = bindData[0],
-      bitmask = bindData[1],
-      partialArgs = bindData[2],
-      partialRightArgs = bindData[3],
-      thisArg = bindData[4],
-      arity = bindData[5];
-
-  var isBind = bitmask & 1,
-      isBindKey = bitmask & 2,
-      isCurry = bitmask & 4,
-      isCurryBound = bitmask & 8,
-      key = func;
-
-  function bound() {
-    var thisBinding = isBind ? thisArg : this;
-    if (partialArgs) {
-      var args = slice(partialArgs);
-      push.apply(args, arguments);
-    }
-    if (partialRightArgs || isCurry) {
-      args || (args = slice(arguments));
-      if (partialRightArgs) {
-        push.apply(args, partialRightArgs);
-      }
-      if (isCurry && args.length < arity) {
-        bitmask |= 16 & ~32;
-        return baseCreateWrapper([func, (isCurryBound ? bitmask : bitmask & ~3), args, null, thisArg, arity]);
-      }
-    }
-    args || (args = arguments);
-    if (isBindKey) {
-      func = thisBinding[key];
-    }
-    if (this instanceof bound) {
-      thisBinding = baseCreate(func.prototype);
-      var result = func.apply(thisBinding, args);
-      return isObject(result) ? result : thisBinding;
-    }
-    return func.apply(thisBinding, args);
-  }
-  return bound;
-}
-
-module.exports = baseCreateWrapper;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/baseDifference.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/baseDifference.js b/node_modules/lodash-node/underscore/internals/baseDifference.js
deleted file mode 100644
index d31a28b..0000000
--- a/node_modules/lodash-node/underscore/internals/baseDifference.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 baseIndexOf = require('./baseIndexOf');
-
-/**
- * The base implementation of `_.difference` that accepts a single array
- * of values to exclude.
- *
- * @private
- * @param {Array} array The array to process.
- * @param {Array} [values] The array of values to exclude.
- * @returns {Array} Returns a new array of filtered values.
- */
-function baseDifference(array, values) {
-  var index = -1,
-      indexOf = baseIndexOf,
-      length = array ? array.length : 0,
-      result = [];
-
-  while (++index < length) {
-    var value = array[index];
-    if (indexOf(values, value) < 0) {
-      result.push(value);
-    }
-  }
-  return result;
-}
-
-module.exports = baseDifference;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/baseFlatten.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/baseFlatten.js b/node_modules/lodash-node/underscore/internals/baseFlatten.js
deleted file mode 100644
index 1b73a0b..0000000
--- a/node_modules/lodash-node/underscore/internals/baseFlatten.js
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 isArguments = require('../objects/isArguments'),
-    isArray = require('../objects/isArray');
-
-/**
- * The base implementation of `_.flatten` without support for callback
- * shorthands or `thisArg` binding.
- *
- * @private
- * @param {Array} array The array to flatten.
- * @param {boolean} [isShallow=false] A flag to restrict flattening to a single level.
- * @param {boolean} [isStrict=false] A flag to restrict flattening to arrays and `arguments` objects.
- * @param {number} [fromIndex=0] The index to start from.
- * @returns {Array} Returns a new flattened array.
- */
-function baseFlatten(array, isShallow, isStrict, fromIndex) {
-  var index = (fromIndex || 0) - 1,
-      length = array ? array.length : 0,
-      result = [];
-
-  while (++index < length) {
-    var value = array[index];
-
-    if (value && typeof value == 'object' && typeof value.length == 'number'
-        && (isArray(value) || isArguments(value))) {
-      // recursively flatten arrays (susceptible to call stack limits)
-      if (!isShallow) {
-        value = baseFlatten(value, isShallow, isStrict);
-      }
-      var valIndex = -1,
-          valLength = value.length,
-          resIndex = result.length;
-
-      result.length += valLength;
-      while (++valIndex < valLength) {
-        result[resIndex++] = value[valIndex];
-      }
-    } else if (!isStrict) {
-      result.push(value);
-    }
-  }
-  return result;
-}
-
-module.exports = baseFlatten;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/baseIndexOf.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/baseIndexOf.js b/node_modules/lodash-node/underscore/internals/baseIndexOf.js
deleted file mode 100644
index 43841ad..0000000
--- a/node_modules/lodash-node/underscore/internals/baseIndexOf.js
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/**
- * The base implementation of `_.indexOf` without support for binary searches
- * or `fromIndex` constraints.
- *
- * @private
- * @param {Array} array The array to search.
- * @param {*} value The value to search for.
- * @param {number} [fromIndex=0] The index to search from.
- * @returns {number} Returns the index of the matched value or `-1`.
- */
-function baseIndexOf(array, value, fromIndex) {
-  var index = (fromIndex || 0) - 1,
-      length = array ? array.length : 0;
-
-  while (++index < length) {
-    if (array[index] === value) {
-      return index;
-    }
-  }
-  return -1;
-}
-
-module.exports = baseIndexOf;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/baseIsEqual.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/baseIsEqual.js b/node_modules/lodash-node/underscore/internals/baseIsEqual.js
deleted file mode 100644
index 0944c77..0000000
--- a/node_modules/lodash-node/underscore/internals/baseIsEqual.js
+++ /dev/null
@@ -1,149 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 forIn = require('../objects/forIn'),
-    indicatorObject = require('./indicatorObject'),
-    isFunction = require('../objects/isFunction'),
-    objectTypes = require('./objectTypes');
-
-/** `Object#toString` result shortcuts */
-var arrayClass = '[object Array]',
-    boolClass = '[object Boolean]',
-    dateClass = '[object Date]',
-    numberClass = '[object Number]',
-    objectClass = '[object Object]',
-    regexpClass = '[object RegExp]',
-    stringClass = '[object String]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/**
- * The base implementation of `_.isEqual`, without support for `thisArg` binding,
- * that allows partial "_.where" style comparisons.
- *
- * @private
- * @param {*} a The value to compare.
- * @param {*} b The other value to compare.
- * @param {Function} [callback] The function to customize comparing values.
- * @param {Function} [isWhere=false] A flag to indicate performing partial comparisons.
- * @param {Array} [stackA=[]] Tracks traversed `a` objects.
- * @param {Array} [stackB=[]] Tracks traversed `b` objects.
- * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
- */
-function baseIsEqual(a, b, stackA, stackB) {
-  if (a === b) {
-    return a !== 0 || (1 / a == 1 / b);
-  }
-  var type = typeof a,
-      otherType = typeof b;
-
-  if (a === a &&
-      !(a && objectTypes[type]) &&
-      !(b && objectTypes[otherType])) {
-    return false;
-  }
-  if (a == null || b == null) {
-    return a === b;
-  }
-  var className = toString.call(a),
-      otherClass = toString.call(b);
-
-  if (className != otherClass) {
-    return false;
-  }
-  switch (className) {
-    case boolClass:
-    case dateClass:
-      return +a == +b;
-
-    case numberClass:
-      return a != +a
-        ? b != +b
-        : (a == 0 ? (1 / a == 1 / b) : a == +b);
-
-    case regexpClass:
-    case stringClass:
-      return a == String(b);
-  }
-  var isArr = className == arrayClass;
-  if (!isArr) {
-    var aWrapped = hasOwnProperty.call(a, '__wrapped__'),
-        bWrapped = hasOwnProperty.call(b, '__wrapped__');
-
-    if (aWrapped || bWrapped) {
-      return baseIsEqual(aWrapped ? a.__wrapped__ : a, bWrapped ? b.__wrapped__ : b, stackA, stackB);
-    }
-    if (className != objectClass) {
-      return false;
-    }
-    var ctorA = a.constructor,
-        ctorB = b.constructor;
-
-    if (ctorA != ctorB &&
-          !(isFunction(ctorA) && ctorA instanceof ctorA && isFunction(ctorB) && ctorB instanceof ctorB) &&
-          ('constructor' in a && 'constructor' in b)
-        ) {
-      return false;
-    }
-  }
-  stackA || (stackA = []);
-  stackB || (stackB = []);
-
-  var length = stackA.length;
-  while (length--) {
-    if (stackA[length] == a) {
-      return stackB[length] == b;
-    }
-  }
-  var result = true,
-      size = 0;
-
-  stackA.push(a);
-  stackB.push(b);
-
-  if (isArr) {
-    size = b.length;
-    result = size == a.length;
-
-    if (result) {
-      while (size--) {
-        if (!(result = baseIsEqual(a[size], b[size], stackA, stackB))) {
-          break;
-        }
-      }
-    }
-  }
-  else {
-    forIn(b, function(value, key, b) {
-      if (hasOwnProperty.call(b, key)) {
-        size++;
-        return !(result = hasOwnProperty.call(a, key) && baseIsEqual(a[key], value, stackA, stackB)) && indicatorObject;
-      }
-    });
-
-    if (result) {
-      forIn(a, function(value, key, a) {
-        if (hasOwnProperty.call(a, key)) {
-          return !(result = --size > -1) && indicatorObject;
-        }
-      });
-    }
-  }
-  stackA.pop();
-  stackB.pop();
-  return result;
-}
-
-module.exports = baseIsEqual;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/baseRandom.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/baseRandom.js b/node_modules/lodash-node/underscore/internals/baseRandom.js
deleted file mode 100644
index 93ed76c..0000000
--- a/node_modules/lodash-node/underscore/internals/baseRandom.js
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/** Native method shortcuts */
-var floor = Math.floor;
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeRandom = Math.random;
-
-/**
- * The base implementation of `_.random` without argument juggling or support
- * for returning floating-point numbers.
- *
- * @private
- * @param {number} min The minimum possible value.
- * @param {number} max The maximum possible value.
- * @returns {number} Returns a random number.
- */
-function baseRandom(min, max) {
-  return min + floor(nativeRandom() * (max - min + 1));
-}
-
-module.exports = baseRandom;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/baseUniq.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/baseUniq.js b/node_modules/lodash-node/underscore/internals/baseUniq.js
deleted file mode 100644
index ed0c678..0000000
--- a/node_modules/lodash-node/underscore/internals/baseUniq.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 baseIndexOf = require('./baseIndexOf');
-
-/**
- * The base implementation of `_.uniq` without support for callback shorthands
- * or `thisArg` binding.
- *
- * @private
- * @param {Array} array The array to process.
- * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.
- * @param {Function} [callback] The function called per iteration.
- * @returns {Array} Returns a duplicate-value-free array.
- */
-function baseUniq(array, isSorted, callback) {
-  var index = -1,
-      indexOf = baseIndexOf,
-      length = array ? array.length : 0,
-      result = [],
-      seen = callback ? [] : result;
-
-  while (++index < length) {
-    var value = array[index],
-        computed = callback ? callback(value, index, array) : value;
-
-    if (isSorted
-          ? !index || seen[seen.length - 1] !== computed
-          : indexOf(seen, computed) < 0
-        ) {
-      if (callback) {
-        seen.push(computed);
-      }
-      result.push(value);
-    }
-  }
-  return result;
-}
-
-module.exports = baseUniq;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/compareAscending.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/compareAscending.js b/node_modules/lodash-node/underscore/internals/compareAscending.js
deleted file mode 100644
index b2d7af2..0000000
--- a/node_modules/lodash-node/underscore/internals/compareAscending.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/**
- * Used by `sortBy` to compare transformed `collection` elements, stable sorting
- * them in ascending order.
- *
- * @private
- * @param {Object} a The object to compare to `b`.
- * @param {Object} b The object to compare to `a`.
- * @returns {number} Returns the sort order indicator of `1` or `-1`.
- */
-function compareAscending(a, b) {
-  var ac = a.criteria,
-      bc = b.criteria,
-      index = -1,
-      length = ac.length;
-
-  while (++index < length) {
-    var value = ac[index],
-        other = bc[index];
-
-    if (value !== other) {
-      if (value > other || typeof value == 'undefined') {
-        return 1;
-      }
-      if (value < other || typeof other == 'undefined') {
-        return -1;
-      }
-    }
-  }
-  // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications
-  // that causes it, under certain circumstances, to return the same value for
-  // `a` and `b`. See https://github.com/jashkenas/underscore/pull/1247
-  //
-  // This also ensures a stable sort in V8 and other engines.
-  // See http://code.google.com/p/v8/issues/detail?id=90
-  return a.index - b.index;
-}
-
-module.exports = compareAscending;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/createAggregator.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/createAggregator.js b/node_modules/lodash-node/underscore/internals/createAggregator.js
deleted file mode 100644
index 72206c5..0000000
--- a/node_modules/lodash-node/underscore/internals/createAggregator.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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'),
-    forOwn = require('../objects/forOwn'),
-    isArray = require('../objects/isArray');
-
-/**
- * Creates a function that aggregates a collection, creating an object composed
- * of keys generated from the results of running each element of the collection
- * through a callback. The given `setter` function sets the keys and values
- * of the composed object.
- *
- * @private
- * @param {Function} setter The setter function.
- * @returns {Function} Returns the new aggregator function.
- */
-function createAggregator(setter) {
-  return function(collection, callback, thisArg) {
-    var result = {};
-    callback = createCallback(callback, thisArg, 3);
-
-    var index = -1,
-        length = collection ? collection.length : 0;
-
-    if (typeof length == 'number') {
-      while (++index < length) {
-        var value = collection[index];
-        setter(result, value, callback(value, index, collection), collection);
-      }
-    } else {
-      forOwn(collection, function(value, key, collection) {
-        setter(result, value, callback(value, key, collection), collection);
-      });
-    }
-    return result;
-  };
-}
-
-module.exports = createAggregator;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/createWrapper.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/createWrapper.js b/node_modules/lodash-node/underscore/internals/createWrapper.js
deleted file mode 100644
index 82d8b00..0000000
--- a/node_modules/lodash-node/underscore/internals/createWrapper.js
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 baseBind = require('./baseBind'),
-    baseCreateWrapper = require('./baseCreateWrapper'),
-    isFunction = require('../objects/isFunction'),
-    slice = require('./slice');
-
-/**
- * Creates a function that, when called, either curries or invokes `func`
- * with an optional `this` binding and partially applied arguments.
- *
- * @private
- * @param {Function|string} func The function or method name to reference.
- * @param {number} bitmask The bitmask of method flags to compose.
- *  The bitmask may be composed of the following flags:
- *  1 - `_.bind`
- *  2 - `_.bindKey`
- *  4 - `_.curry`
- *  8 - `_.curry` (bound)
- *  16 - `_.partial`
- *  32 - `_.partialRight`
- * @param {Array} [partialArgs] An array of arguments to prepend to those
- *  provided to the new function.
- * @param {Array} [partialRightArgs] An array of arguments to append to those
- *  provided to the new function.
- * @param {*} [thisArg] The `this` binding of `func`.
- * @param {number} [arity] The arity of `func`.
- * @returns {Function} Returns the new function.
- */
-function createWrapper(func, bitmask, partialArgs, partialRightArgs, thisArg, arity) {
-  var isBind = bitmask & 1,
-      isBindKey = bitmask & 2,
-      isCurry = bitmask & 4,
-      isCurryBound = bitmask & 8,
-      isPartial = bitmask & 16,
-      isPartialRight = bitmask & 32;
-
-  if (!isBindKey && !isFunction(func)) {
-    throw new TypeError;
-  }
-  if (isPartial && !partialArgs.length) {
-    bitmask &= ~16;
-    isPartial = partialArgs = false;
-  }
-  if (isPartialRight && !partialRightArgs.length) {
-    bitmask &= ~32;
-    isPartialRight = partialRightArgs = false;
-  }
-  // fast path for `_.bind`
-  var creater = (bitmask == 1 || bitmask === 17) ? baseBind : baseCreateWrapper;
-  return creater([func, bitmask, partialArgs, partialRightArgs, thisArg, arity]);
-}
-
-module.exports = createWrapper;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/escapeHtmlChar.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/escapeHtmlChar.js b/node_modules/lodash-node/underscore/internals/escapeHtmlChar.js
deleted file mode 100644
index f1495bf..0000000
--- a/node_modules/lodash-node/underscore/internals/escapeHtmlChar.js
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 htmlEscapes = require('./htmlEscapes');
-
-/**
- * Used by `escape` to convert characters to HTML entities.
- *
- * @private
- * @param {string} match The matched character to escape.
- * @returns {string} Returns the escaped character.
- */
-function escapeHtmlChar(match) {
-  return htmlEscapes[match];
-}
-
-module.exports = escapeHtmlChar;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/escapeStringChar.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/escapeStringChar.js b/node_modules/lodash-node/underscore/internals/escapeStringChar.js
deleted file mode 100644
index bd88060..0000000
--- a/node_modules/lodash-node/underscore/internals/escapeStringChar.js
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/** Used to escape characters for inclusion in compiled string literals */
-var stringEscapes = {
-  '\\': '\\',
-  "'": "'",
-  '\n': 'n',
-  '\r': 'r',
-  '\t': 't',
-  '\u2028': 'u2028',
-  '\u2029': 'u2029'
-};
-
-/**
- * Used by `template` to escape characters for inclusion in compiled
- * string literals.
- *
- * @private
- * @param {string} match The matched character to escape.
- * @returns {string} Returns the escaped character.
- */
-function escapeStringChar(match) {
-  return '\\' + stringEscapes[match];
-}
-
-module.exports = escapeStringChar;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/htmlEscapes.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/htmlEscapes.js b/node_modules/lodash-node/underscore/internals/htmlEscapes.js
deleted file mode 100644
index d221a5c..0000000
--- a/node_modules/lodash-node/underscore/internals/htmlEscapes.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/**
- * Used to convert characters to HTML entities:
- *
- * Though the `>` character is escaped for symmetry, characters like `>` and `/`
- * don't require escaping in HTML and have no special meaning unless they're part
- * of a tag or an unquoted attribute value.
- * http://mathiasbynens.be/notes/ambiguous-ampersands (under "semi-related fun fact")
- */
-var htmlEscapes = {
-  '&': '&amp;',
-  '<': '&lt;',
-  '>': '&gt;',
-  '"': '&quot;',
-  "'": '&#x27;'
-};
-
-module.exports = htmlEscapes;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/htmlUnescapes.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/htmlUnescapes.js b/node_modules/lodash-node/underscore/internals/htmlUnescapes.js
deleted file mode 100644
index 0f818c1..0000000
--- a/node_modules/lodash-node/underscore/internals/htmlUnescapes.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 htmlEscapes = require('./htmlEscapes'),
-    invert = require('../objects/invert');
-
-/** Used to convert HTML entities to characters */
-var htmlUnescapes = invert(htmlEscapes);
-
-module.exports = htmlUnescapes;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/indicatorObject.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/indicatorObject.js b/node_modules/lodash-node/underscore/internals/indicatorObject.js
deleted file mode 100644
index 684ec9b..0000000
--- a/node_modules/lodash-node/underscore/internals/indicatorObject.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/** Used internally to indicate various things */
-var indicatorObject = {};
-
-module.exports = indicatorObject;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/isNative.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/isNative.js b/node_modules/lodash-node/underscore/internals/isNative.js
deleted file mode 100644
index 5c1457e..0000000
--- a/node_modules/lodash-node/underscore/internals/isNative.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/** Used to detect if a method is native */
-var reNative = RegExp('^' +
-  String(toString)
-    .replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
-    .replace(/toString| for [^\]]+/g, '.*?') + '$'
-);
-
-/**
- * Checks if `value` is a native function.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is a native function, else `false`.
- */
-function isNative(value) {
-  return typeof value == 'function' && reNative.test(value);
-}
-
-module.exports = isNative;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/keyPrefix.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/keyPrefix.js b/node_modules/lodash-node/underscore/internals/keyPrefix.js
deleted file mode 100644
index d4b4945..0000000
--- a/node_modules/lodash-node/underscore/internals/keyPrefix.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/** Used to prefix keys to avoid issues with `__proto__` and properties on `Object.prototype` */
-var keyPrefix = +new Date + '';
-
-module.exports = keyPrefix;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/lodashWrapper.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/lodashWrapper.js b/node_modules/lodash-node/underscore/internals/lodashWrapper.js
deleted file mode 100644
index e8d38b5..0000000
--- a/node_modules/lodash-node/underscore/internals/lodashWrapper.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/**
- * A fast path for creating `lodash` wrapper objects.
- *
- * @private
- * @param {*} value The value to wrap in a `lodash` instance.
- * @param {boolean} chainAll A flag to enable chaining for all methods
- * @returns {Object} Returns a `lodash` instance.
- */
-function lodashWrapper(value, chainAll) {
-  this.__chain__ = !!chainAll;
-  this.__wrapped__ = value;
-}
-
-module.exports = lodashWrapper;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/objectTypes.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/objectTypes.js b/node_modules/lodash-node/underscore/internals/objectTypes.js
deleted file mode 100644
index 0ff2c28..0000000
--- a/node_modules/lodash-node/underscore/internals/objectTypes.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/** Used to determine if values are of the language type Object */
-var objectTypes = {
-  'boolean': false,
-  'function': true,
-  'object': true,
-  'number': false,
-  'string': false,
-  'undefined': false
-};
-
-module.exports = objectTypes;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/reEscapedHtml.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/reEscapedHtml.js b/node_modules/lodash-node/underscore/internals/reEscapedHtml.js
deleted file mode 100644
index 07fe67c..0000000
--- a/node_modules/lodash-node/underscore/internals/reEscapedHtml.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 htmlUnescapes = require('./htmlUnescapes'),
-    keys = require('../objects/keys');
-
-/** Used to match HTML entities and HTML characters */
-var reEscapedHtml = RegExp('(' + keys(htmlUnescapes).join('|') + ')', 'g');
-
-module.exports = reEscapedHtml;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/reInterpolate.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/reInterpolate.js b/node_modules/lodash-node/underscore/internals/reInterpolate.js
deleted file mode 100644
index 07af4c8..0000000
--- a/node_modules/lodash-node/underscore/internals/reInterpolate.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/** Used to match "interpolate" template delimiters */
-var reInterpolate = /<%=([\s\S]+?)%>/g;
-
-module.exports = reInterpolate;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/reUnescapedHtml.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/reUnescapedHtml.js b/node_modules/lodash-node/underscore/internals/reUnescapedHtml.js
deleted file mode 100644
index f9cdf92..0000000
--- a/node_modules/lodash-node/underscore/internals/reUnescapedHtml.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 htmlEscapes = require('./htmlEscapes'),
-    keys = require('../objects/keys');
-
-/** Used to match HTML entities and HTML characters */
-var reUnescapedHtml = RegExp('[' + keys(htmlEscapes).join('') + ']', 'g');
-
-module.exports = reUnescapedHtml;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/shimKeys.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/shimKeys.js b/node_modules/lodash-node/underscore/internals/shimKeys.js
deleted file mode 100644
index 6471285..0000000
--- a/node_modules/lodash-node/underscore/internals/shimKeys.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 objectTypes = require('./objectTypes');
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/**
- * A fallback implementation of `Object.keys` which produces an array of the
- * given object's own enumerable property names.
- *
- * @private
- * @type Function
- * @param {Object} object The object to inspect.
- * @returns {Array} Returns an array of property names.
- */
-var shimKeys = function(object) {
-  var index, iterable = object, result = [];
-  if (!iterable) return result;
-  if (!(objectTypes[typeof object])) return result;
-    for (index in iterable) {
-      if (hasOwnProperty.call(iterable, index)) {
-        result.push(index);
-      }
-    }
-  return result
-};
-
-module.exports = shimKeys;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/slice.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/slice.js b/node_modules/lodash-node/underscore/internals/slice.js
deleted file mode 100644
index 7c19750..0000000
--- a/node_modules/lodash-node/underscore/internals/slice.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/**
- * Slices the `collection` from the `start` index up to, but not including,
- * the `end` index.
- *
- * Note: This function is used instead of `Array#slice` to support node lists
- * in IE < 9 and to ensure dense arrays are returned.
- *
- * @private
- * @param {Array|Object|string} collection The collection to slice.
- * @param {number} start The start index.
- * @param {number} end The end index.
- * @returns {Array} Returns the new array.
- */
-function slice(array, start, end) {
-  start || (start = 0);
-  if (typeof end == 'undefined') {
-    end = array ? array.length : 0;
-  }
-  var index = -1,
-      length = end - start || 0,
-      result = Array(length < 0 ? 0 : length);
-
-  while (++index < length) {
-    result[index] = array[start + index];
-  }
-  return result;
-}
-
-module.exports = slice;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/internals/unescapeHtmlChar.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/internals/unescapeHtmlChar.js b/node_modules/lodash-node/underscore/internals/unescapeHtmlChar.js
deleted file mode 100644
index 080bb93..0000000
--- a/node_modules/lodash-node/underscore/internals/unescapeHtmlChar.js
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 htmlUnescapes = require('./htmlUnescapes');
-
-/**
- * Used by `unescape` to convert HTML entities to characters.
- *
- * @private
- * @param {string} match The matched character to unescape.
- * @returns {string} Returns the unescaped character.
- */
-function unescapeHtmlChar(match) {
-  return htmlUnescapes[match];
-}
-
-module.exports = unescapeHtmlChar;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects.js b/node_modules/lodash-node/underscore/objects.js
deleted file mode 100644
index 1f45ee6..0000000
--- a/node_modules/lodash-node/underscore/objects.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 = {
-  'assign': require('./objects/assign'),
-  'clone': require('./objects/clone'),
-  'defaults': require('./objects/defaults'),
-  'extend': require('./objects/assign'),
-  'forIn': require('./objects/forIn'),
-  'forOwn': require('./objects/forOwn'),
-  'functions': require('./objects/functions'),
-  'has': require('./objects/has'),
-  'invert': require('./objects/invert'),
-  'isArguments': require('./objects/isArguments'),
-  'isArray': require('./objects/isArray'),
-  'isBoolean': require('./objects/isBoolean'),
-  'isDate': require('./objects/isDate'),
-  'isElement': require('./objects/isElement'),
-  'isEmpty': require('./objects/isEmpty'),
-  'isEqual': require('./objects/isEqual'),
-  'isFinite': require('./objects/isFinite'),
-  'isFunction': require('./objects/isFunction'),
-  'isNaN': require('./objects/isNaN'),
-  'isNull': require('./objects/isNull'),
-  'isNumber': require('./objects/isNumber'),
-  'isObject': require('./objects/isObject'),
-  'isRegExp': require('./objects/isRegExp'),
-  'isString': require('./objects/isString'),
-  'isUndefined': require('./objects/isUndefined'),
-  'keys': require('./objects/keys'),
-  'methods': require('./objects/functions'),
-  'omit': require('./objects/omit'),
-  'pairs': require('./objects/pairs'),
-  'pick': require('./objects/pick'),
-  'values': require('./objects/values')
-};

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/assign.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/assign.js b/node_modules/lodash-node/underscore/objects/assign.js
deleted file mode 100644
index cf2ce8a..0000000
--- a/node_modules/lodash-node/underscore/objects/assign.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 baseCreateCallback = require('../internals/baseCreateCallback'),
-    keys = require('./keys'),
-    objectTypes = require('../internals/objectTypes');
-
-/**
- * Assigns own enumerable properties of source object(s) to the destination
- * object. Subsequent sources will overwrite property assignments of previous
- * sources. If a callback is provided it will be executed to produce the
- * assigned values. The callback is bound to `thisArg` and invoked with two
- * arguments; (objectValue, sourceValue).
- *
- * @static
- * @memberOf _
- * @type Function
- * @alias extend
- * @category Objects
- * @param {Object} object The destination object.
- * @param {...Object} [source] The source objects.
- * @param {Function} [callback] The function to customize assigning values.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Object} Returns the destination object.
- * @example
- *
- * _.assign({ 'name': 'fred' }, { 'employer': 'slate' });
- * // => { 'name': 'fred', 'employer': 'slate' }
- *
- * var defaults = _.partialRight(_.assign, function(a, b) {
- *   return typeof a == 'undefined' ? b : a;
- * });
- *
- * var object = { 'name': 'barney' };
- * defaults(object, { 'name': 'fred', 'employer': 'slate' });
- * // => { 'name': 'barney', 'employer': 'slate' }
- */
-function assign(object) {
-  if (!object) {
-    return object;
-  }
-  for (var argsIndex = 1, argsLength = arguments.length; argsIndex < argsLength; argsIndex++) {
-    var iterable = arguments[argsIndex];
-    if (iterable) {
-      for (var key in iterable) {
-        object[key] = iterable[key];
-      }
-    }
-  }
-  return object;
-}
-
-module.exports = assign;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/clone.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/clone.js b/node_modules/lodash-node/underscore/objects/clone.js
deleted file mode 100644
index f5735b2..0000000
--- a/node_modules/lodash-node/underscore/objects/clone.js
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 assign = require('./assign'),
-    baseCreateCallback = require('../internals/baseCreateCallback'),
-    isArray = require('./isArray'),
-    isObject = require('./isObject'),
-    slice = require('../internals/slice');
-
-/**
- * Creates a clone of `value`. If `isDeep` is `true` nested objects will also
- * be cloned, otherwise they will be assigned by reference. If a callback
- * is provided it will be executed to produce the cloned values. If the
- * callback returns `undefined` cloning will be handled by the method instead.
- * The callback is bound to `thisArg` and invoked with one argument; (value).
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to clone.
- * @param {boolean} [isDeep=false] Specify a deep clone.
- * @param {Function} [callback] The function to customize cloning values.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {*} Returns the cloned value.
- * @example
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * var shallow = _.clone(characters);
- * shallow[0] === characters[0];
- * // => true
- *
- * var deep = _.clone(characters, true);
- * deep[0] === characters[0];
- * // => false
- *
- * _.mixin({
- *   'clone': _.partialRight(_.clone, function(value) {
- *     return _.isElement(value) ? value.cloneNode(false) : undefined;
- *   })
- * });
- *
- * var clone = _.clone(document.body);
- * clone.childNodes.length;
- * // => 0
- */
-function clone(value) {
-  return isObject(value)
-    ? (isArray(value) ? slice(value) : assign({}, value))
-    : value;
-}
-
-module.exports = clone;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/defaults.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/defaults.js b/node_modules/lodash-node/underscore/objects/defaults.js
deleted file mode 100644
index a27605d..0000000
--- a/node_modules/lodash-node/underscore/objects/defaults.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 keys = require('./keys'),
-    objectTypes = require('../internals/objectTypes');
-
-/**
- * Assigns own enumerable properties of source object(s) to the destination
- * object for all destination properties that resolve to `undefined`. Once a
- * property is set, additional defaults of the same property will be ignored.
- *
- * @static
- * @memberOf _
- * @type Function
- * @category Objects
- * @param {Object} object The destination object.
- * @param {...Object} [source] The source objects.
- * @param- {Object} [guard] Allows working with `_.reduce` without using its
- *  `key` and `object` arguments as sources.
- * @returns {Object} Returns the destination object.
- * @example
- *
- * var object = { 'name': 'barney' };
- * _.defaults(object, { 'name': 'fred', 'employer': 'slate' });
- * // => { 'name': 'barney', 'employer': 'slate' }
- */
-function defaults(object) {
-  if (!object) {
-    return object;
-  }
-  for (var argsIndex = 1, argsLength = arguments.length; argsIndex < argsLength; argsIndex++) {
-    var iterable = arguments[argsIndex];
-    if (iterable) {
-      for (var key in iterable) {
-        if (typeof object[key] == 'undefined') {
-          object[key] = iterable[key];
-        }
-      }
-    }
-  }
-  return object;
-}
-
-module.exports = defaults;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/forIn.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/forIn.js b/node_modules/lodash-node/underscore/objects/forIn.js
deleted file mode 100644
index e8d29f9..0000000
--- a/node_modules/lodash-node/underscore/objects/forIn.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 baseCreateCallback = require('../internals/baseCreateCallback'),
-    indicatorObject = require('../internals/indicatorObject'),
-    objectTypes = require('../internals/objectTypes');
-
-/**
- * Iterates over own and inherited enumerable properties of an object,
- * executing the callback for each property. The callback is bound to `thisArg`
- * and invoked with three arguments; (value, key, object). Callbacks may exit
- * iteration early by explicitly returning `false`.
- *
- * @static
- * @memberOf _
- * @type Function
- * @category Objects
- * @param {Object} object The object to iterate over.
- * @param {Function} [callback=identity] The function called per iteration.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Object} Returns `object`.
- * @example
- *
- * function Shape() {
- *   this.x = 0;
- *   this.y = 0;
- * }
- *
- * Shape.prototype.move = function(x, y) {
- *   this.x += x;
- *   this.y += y;
- * };
- *
- * _.forIn(new Shape, function(value, key) {
- *   console.log(key);
- * });
- * // => logs 'x', 'y', and 'move' (property order is not guaranteed across environments)
- */
-var forIn = function(collection, callback) {
-  var index, iterable = collection, result = iterable;
-  if (!iterable) return result;
-  if (!objectTypes[typeof iterable]) return result;
-    for (index in iterable) {
-      if (callback(iterable[index], index, collection) === indicatorObject) return result;
-    }
-  return result
-};
-
-module.exports = forIn;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/forOwn.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/forOwn.js b/node_modules/lodash-node/underscore/objects/forOwn.js
deleted file mode 100644
index b91a110..0000000
--- a/node_modules/lodash-node/underscore/objects/forOwn.js
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 baseCreateCallback = require('../internals/baseCreateCallback'),
-    indicatorObject = require('../internals/indicatorObject'),
-    keys = require('./keys'),
-    objectTypes = require('../internals/objectTypes');
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/**
- * Iterates over own enumerable properties of an object, executing the callback
- * for each property. The callback is bound to `thisArg` and invoked with three
- * arguments; (value, key, object). Callbacks may exit iteration early by
- * explicitly returning `false`.
- *
- * @static
- * @memberOf _
- * @type Function
- * @category Objects
- * @param {Object} object The object to iterate over.
- * @param {Function} [callback=identity] The function called per iteration.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Object} Returns `object`.
- * @example
- *
- * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) {
- *   console.log(key);
- * });
- * // => logs '0', '1', and 'length' (property order is not guaranteed across environments)
- */
-var forOwn = function(collection, callback) {
-  var index, iterable = collection, result = iterable;
-  if (!iterable) return result;
-  if (!objectTypes[typeof iterable]) return result;
-    for (index in iterable) {
-      if (hasOwnProperty.call(iterable, index)) {
-        if (callback(iterable[index], index, collection) === indicatorObject) return result;
-      }
-    }
-  return result
-};
-
-module.exports = forOwn;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/functions.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/functions.js b/node_modules/lodash-node/underscore/objects/functions.js
deleted file mode 100644
index 2ac5794..0000000
--- a/node_modules/lodash-node/underscore/objects/functions.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 forIn = require('./forIn'),
-    isFunction = require('./isFunction');
-
-/**
- * Creates a sorted array of property names of all enumerable properties,
- * own and inherited, of `object` that have function values.
- *
- * @static
- * @memberOf _
- * @alias methods
- * @category Objects
- * @param {Object} object The object to inspect.
- * @returns {Array} Returns an array of property names that have function values.
- * @example
- *
- * _.functions(_);
- * // => ['all', 'any', 'bind', 'bindAll', 'clone', 'compact', 'compose', ...]
- */
-function functions(object) {
-  var result = [];
-  forIn(object, function(value, key) {
-    if (isFunction(value)) {
-      result.push(key);
-    }
-  });
-  return result.sort();
-}
-
-module.exports = functions;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/has.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/has.js b/node_modules/lodash-node/underscore/objects/has.js
deleted file mode 100644
index 838a4d6..0000000
--- a/node_modules/lodash-node/underscore/objects/has.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/**
- * Checks if the specified property name exists as a direct property of `object`,
- * instead of an inherited property.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The object to inspect.
- * @param {string} key The name of the property to check.
- * @returns {boolean} Returns `true` if key is a direct property, else `false`.
- * @example
- *
- * _.has({ 'a': 1, 'b': 2, 'c': 3 }, 'b');
- * // => true
- */
-function has(object, key) {
-  return object ? hasOwnProperty.call(object, key) : false;
-}
-
-module.exports = has;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/invert.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/invert.js b/node_modules/lodash-node/underscore/objects/invert.js
deleted file mode 100644
index a9716ca..0000000
--- a/node_modules/lodash-node/underscore/objects/invert.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 keys = require('./keys');
-
-/**
- * Creates an object composed of the inverted keys and values of the given object.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The object to invert.
- * @returns {Object} Returns the created inverted object.
- * @example
- *
- * _.invert({ 'first': 'fred', 'second': 'barney' });
- * // => { 'fred': 'first', 'barney': 'second' }
- */
-function invert(object) {
-  var index = -1,
-      props = keys(object),
-      length = props.length,
-      result = {};
-
-  while (++index < length) {
-    var key = props[index];
-    result[object[key]] = key;
-  }
-  return result;
-}
-
-module.exports = invert;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/isArguments.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/isArguments.js b/node_modules/lodash-node/underscore/objects/isArguments.js
deleted file mode 100644
index 74736fe..0000000
--- a/node_modules/lodash-node/underscore/objects/isArguments.js
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/** `Object#toString` result shortcuts */
-var argsClass = '[object Arguments]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty,
-    propertyIsEnumerable = objectProto.propertyIsEnumerable;
-
-/**
- * Checks if `value` is an `arguments` object.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is an `arguments` object, else `false`.
- * @example
- *
- * (function() { return _.isArguments(arguments); })(1, 2, 3);
- * // => true
- *
- * _.isArguments([1, 2, 3]);
- * // => false
- */
-function isArguments(value) {
-  return value && typeof value == 'object' && typeof value.length == 'number' &&
-    toString.call(value) == argsClass || false;
-}
-// fallback for browsers that can't detect `arguments` objects by [[Class]]
-if (!isArguments(arguments)) {
-  isArguments = function(value) {
-    return value && typeof value == 'object' && typeof value.length == 'number' &&
-      hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee') || false;
-  };
-}
-
-module.exports = isArguments;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/isArray.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/isArray.js b/node_modules/lodash-node/underscore/objects/isArray.js
deleted file mode 100644
index 7ef5cd1..0000000
--- a/node_modules/lodash-node/underscore/objects/isArray.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 isNative = require('../internals/isNative');
-
-/** `Object#toString` result shortcuts */
-var arrayClass = '[object Array]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeIsArray = isNative(nativeIsArray = Array.isArray) && nativeIsArray;
-
-/**
- * Checks if `value` is an array.
- *
- * @static
- * @memberOf _
- * @type Function
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is an array, else `false`.
- * @example
- *
- * (function() { return _.isArray(arguments); })();
- * // => false
- *
- * _.isArray([1, 2, 3]);
- * // => true
- */
-var isArray = nativeIsArray || function(value) {
-  return value && typeof value == 'object' && typeof value.length == 'number' &&
-    toString.call(value) == arrayClass || false;
-};
-
-module.exports = isArray;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/isBoolean.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/isBoolean.js b/node_modules/lodash-node/underscore/objects/isBoolean.js
deleted file mode 100644
index ac09e8f..0000000
--- a/node_modules/lodash-node/underscore/objects/isBoolean.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/** `Object#toString` result shortcuts */
-var boolClass = '[object Boolean]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/**
- * Checks if `value` is a boolean value.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is a boolean value, else `false`.
- * @example
- *
- * _.isBoolean(null);
- * // => false
- */
-function isBoolean(value) {
-  return value === true || value === false ||
-    value && typeof value == 'object' && toString.call(value) == boolClass || false;
-}
-
-module.exports = isBoolean;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/isDate.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/isDate.js b/node_modules/lodash-node/underscore/objects/isDate.js
deleted file mode 100644
index 2c9416a..0000000
--- a/node_modules/lodash-node/underscore/objects/isDate.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/** `Object#toString` result shortcuts */
-var dateClass = '[object Date]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/**
- * Checks if `value` is a date.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is a date, else `false`.
- * @example
- *
- * _.isDate(new Date);
- * // => true
- */
-function isDate(value) {
-  return value && typeof value == 'object' && toString.call(value) == dateClass || false;
-}
-
-module.exports = isDate;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/isElement.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/isElement.js b/node_modules/lodash-node/underscore/objects/isElement.js
deleted file mode 100644
index 86a26a0..0000000
--- a/node_modules/lodash-node/underscore/objects/isElement.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/**
- * Checks if `value` is a DOM element.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is a DOM element, else `false`.
- * @example
- *
- * _.isElement(document.body);
- * // => true
- */
-function isElement(value) {
-  return value && value.nodeType === 1 || false;
-}
-
-module.exports = isElement;


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


[07/32] ios commit: CB-11445 Updated checked-in node_modules

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/lib/peg.js
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/lib/peg.js b/node_modules/pegjs/lib/peg.js
index 94c9423..912cbe8 100644
--- a/node_modules/pegjs/lib/peg.js
+++ b/node_modules/pegjs/lib/peg.js
@@ -1,12 +1,15 @@
-/* PEG.js 0.6.2 (http://pegjs.majda.cz/) */
+"use strict";
 
-(function() {
-
-var undefined;
+var arrays  = require("./utils/arrays"),
+    objects = require("./utils/objects");
 
 var PEG = {
-  /* PEG.js version. */
-  VERSION: "0.6.2",
+  /* PEG.js version (uses semantic versioning). */
+  VERSION: "0.9.0",
+
+  GrammarError: require("./grammar-error"),
+  parser:       require("./parser"),
+  compiler:     require("./compiler"),
 
   /*
    * Generates a parser from a specified grammar and returns it.
@@ -20,5122 +23,33 @@ var PEG = {
    * generated parser and cause its malfunction.
    */
   buildParser: function(grammar) {
-    return PEG.compiler.compile(PEG.parser.parse(grammar));
-  }
-};
-
-/* Thrown when the grammar contains an error. */
-
-PEG.GrammarError = function(message) {
-  this.name = "PEG.GrammarError";
-  this.message = message;
-};
-
-PEG.GrammarError.prototype = Error.prototype;
+    function convertPasses(passes) {
+      var converted = {}, stage;
 
-function contains(array, value) {
-  /*
-   * Stupid IE does not have Array.prototype.indexOf, otherwise this function
-   * would be a one-liner.
-   */
-  var length = array.length;
-  for (var i = 0; i < length; i++) {
-    if (array[i] === value) {
-      return true;
-    }
-  }
-  return false;
-}
-
-function each(array, callback) {
-  var length = array.length;
-  for (var i = 0; i < length; i++) {
-    callback(array[i]);
-  }
-}
-
-function map(array, callback) {
-  var result = [];
-  var length = array.length;
-  for (var i = 0; i < length; i++) {
-    result[i] = callback(array[i]);
-  }
-  return result;
-}
-
-/*
- * Returns a string padded on the left to a desired length with a character.
- *
- * The code needs to be in sync with th code template in the compilation
- * function for "action" nodes.
- */
-function padLeft(input, padding, length) {
-  var result = input;
-
-  var padLength = length - input.length;
-  for (var i = 0; i < padLength; i++) {
-    result = padding + result;
-  }
-
-  return result;
-}
-
-/*
- * Returns an escape sequence for given character. Uses \x for characters <=
- * 0xFF to save space, \u for the rest.
- *
- * The code needs to be in sync with th code template in the compilation
- * function for "action" nodes.
- */
-function escape(ch) {
-  var charCode = ch.charCodeAt(0);
-
-  if (charCode <= 0xFF) {
-    var escapeChar = 'x';
-    var length = 2;
-  } else {
-    var escapeChar = 'u';
-    var length = 4;
-  }
-
-  return '\\' + escapeChar + padLeft(charCode.toString(16).toUpperCase(), '0', length);
-}
-
-/*
- * Surrounds the string with quotes and escapes characters inside so that the
- * result is a valid JavaScript string.
- *
- * The code needs to be in sync with th code template in the compilation
- * function for "action" nodes.
- */
-function quote(s) {
-  /*
-   * ECMA-262, 5th ed., 7.8.4: All characters may appear literally in a string
-   * literal except for the closing quote character, backslash, carriage return,
-   * line separator, paragraph separator, and line feed. Any character may
-   * appear in the form of an escape sequence.
-   *
-   * For portability, we also escape escape all non-ASCII characters.
-   */
-  return '"' + s
-    .replace(/\\/g, '\\\\')            // backslash
-    .replace(/"/g, '\\"')              // closing quote character
-    .replace(/\r/g, '\\r')             // carriage return
-    .replace(/\n/g, '\\n')             // line feed
-    .replace(/[\x80-\uFFFF]/g, escape) // non-ASCII characters
-    + '"';
-};
-
-/*
- * Escapes characters inside the string so that it can be used as a list of
- * characters in a character class of a regular expression.
- */
-function quoteForRegexpClass(s) {
-  /*
-   * Based on ECMA-262, 5th ed., 7.8.5 & 15.10.1.
-   *
-   * For portability, we also escape escape all non-ASCII characters.
-   */
-  return s
-    .replace(/\\/g, '\\\\')            // backslash
-    .replace(/\0/g, '\\0')             // null, IE needs this
-    .replace(/\//g, '\\/')             // closing slash
-    .replace(/]/g, '\\]')              // closing bracket
-    .replace(/-/g, '\\-')              // dash
-    .replace(/\r/g, '\\r')             // carriage return
-    .replace(/\n/g, '\\n')             // line feed
-    .replace(/[\x80-\uFFFF]/g, escape) // non-ASCII characters
-}
-
-/*
- * Builds a node visitor -- a function which takes a node and any number of
- * other parameters, calls an appropriate function according to the node type,
- * passes it all its parameters and returns its value. The functions for various
- * node types are passed in a parameter to |buildNodeVisitor| as a hash.
- */
-function buildNodeVisitor(functions) {
-  return function(node) {
-    return functions[node.type].apply(null, arguments);
-  }
-}
-PEG.parser = (function(){
-  /* Generated by PEG.js 0.6.2 (http://pegjs.majda.cz/). */
-  
-  var result = {
-    /*
-     * Parses the input with a generated parser. If the parsing is successfull,
-     * returns a value explicitly or implicitly specified by the grammar from
-     * which the parser was generated (see |PEG.buildParser|). If the parsing is
-     * unsuccessful, throws |PEG.parser.SyntaxError| describing the error.
-     */
-    parse: function(input, startRule) {
-      var parseFunctions = {
-        "__": parse___,
-        "action": parse_action,
-        "and": parse_and,
-        "braced": parse_braced,
-        "bracketDelimitedCharacter": parse_bracketDelimitedCharacter,
-        "choice": parse_choice,
-        "class": parse_class,
-        "classCharacter": parse_classCharacter,
-        "classCharacterRange": parse_classCharacterRange,
-        "colon": parse_colon,
-        "comment": parse_comment,
-        "digit": parse_digit,
-        "dot": parse_dot,
-        "doubleQuotedCharacter": parse_doubleQuotedCharacter,
-        "doubleQuotedLiteral": parse_doubleQuotedLiteral,
-        "eol": parse_eol,
-        "eolChar": parse_eolChar,
-        "eolEscapeSequence": parse_eolEscapeSequence,
-        "equals": parse_equals,
-        "grammar": parse_grammar,
-        "hexDigit": parse_hexDigit,
-        "hexEscapeSequence": parse_hexEscapeSequence,
-        "identifier": parse_identifier,
-        "initializer": parse_initializer,
-        "labeled": parse_labeled,
-        "letter": parse_letter,
-        "literal": parse_literal,
-        "lowerCaseLetter": parse_lowerCaseLetter,
-        "lparen": parse_lparen,
-        "multiLineComment": parse_multiLineComment,
-        "nonBraceCharacter": parse_nonBraceCharacter,
-        "nonBraceCharacters": parse_nonBraceCharacters,
-        "not": parse_not,
-        "plus": parse_plus,
-        "prefixed": parse_prefixed,
-        "primary": parse_primary,
-        "question": parse_question,
-        "rparen": parse_rparen,
-        "rule": parse_rule,
-        "semicolon": parse_semicolon,
-        "sequence": parse_sequence,
-        "simpleBracketDelimitedCharacter": parse_simpleBracketDelimitedCharacter,
-        "simpleDoubleQuotedCharacter": parse_simpleDoubleQuotedCharacter,
-        "simpleEscapeSequence": parse_simpleEscapeSequence,
-        "simpleSingleQuotedCharacter": parse_simpleSingleQuotedCharacter,
-        "singleLineComment": parse_singleLineComment,
-        "singleQuotedCharacter": parse_singleQuotedCharacter,
-        "singleQuotedLiteral": parse_singleQuotedLiteral,
-        "slash": parse_slash,
-        "star": parse_star,
-        "suffixed": parse_suffixed,
-        "unicodeEscapeSequence": parse_unicodeEscapeSequence,
-        "upperCaseLetter": parse_upperCaseLetter,
-        "whitespace": parse_whitespace,
-        "zeroEscapeSequence": parse_zeroEscapeSequence
-      };
-      
-      if (startRule !== undefined) {
-        if (parseFunctions[startRule] === undefined) {
-          throw new Error("Invalid rule name: " + quote(startRule) + ".");
-        }
-      } else {
-        startRule = "grammar";
-      }
-      
-      var pos = 0;
-      var reportMatchFailures = true;
-      var rightmostMatchFailuresPos = 0;
-      var rightmostMatchFailuresExpected = [];
-      var cache = {};
-      
-      function padLeft(input, padding, length) {
-        var result = input;
-        
-        var padLength = length - input.length;
-        for (var i = 0; i < padLength; i++) {
-          result = padding + result;
-        }
-        
-        return result;
-      }
-      
-      function escape(ch) {
-        var charCode = ch.charCodeAt(0);
-        
-        if (charCode <= 0xFF) {
-          var escapeChar = 'x';
-          var length = 2;
-        } else {
-          var escapeChar = 'u';
-          var length = 4;
-        }
-        
-        return '\\' + escapeChar + padLeft(charCode.toString(16).toUpperCase(), '0', length);
-      }
-      
-      function quote(s) {
-        /*
-         * ECMA-262, 5th ed., 7.8.4: All characters may appear literally in a
-         * string literal except for the closing quote character, backslash,
-         * carriage return, line separator, paragraph separator, and line feed.
-         * Any character may appear in the form of an escape sequence.
-         */
-        return '"' + s
-          .replace(/\\/g, '\\\\')            // backslash
-          .replace(/"/g, '\\"')              // closing quote character
-          .replace(/\r/g, '\\r')             // carriage return
-          .replace(/\n/g, '\\n')             // line feed
-          .replace(/[\x80-\uFFFF]/g, escape) // non-ASCII characters
-          + '"';
-      }
-      
-      function matchFailed(failure) {
-        if (pos < rightmostMatchFailuresPos) {
-          return;
-        }
-        
-        if (pos > rightmostMatchFailuresPos) {
-          rightmostMatchFailuresPos = pos;
-          rightmostMatchFailuresExpected = [];
-        }
-        
-        rightmostMatchFailuresExpected.push(failure);
-      }
-      
-      function parse_grammar() {
-        var cacheKey = 'grammar@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        var result3 = parse___();
-        if (result3 !== null) {
-          var result7 = parse_initializer();
-          var result4 = result7 !== null ? result7 : '';
-          if (result4 !== null) {
-            var result6 = parse_rule();
-            if (result6 !== null) {
-              var result5 = [];
-              while (result6 !== null) {
-                result5.push(result6);
-                var result6 = parse_rule();
-              }
-            } else {
-              var result5 = null;
-            }
-            if (result5 !== null) {
-              var result1 = [result3, result4, result5];
-            } else {
-              var result1 = null;
-              pos = savedPos1;
-            }
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function(initializer, rules) {
-                var rulesConverted = {};
-                each(rules, function(rule) { rulesConverted[rule.name] = rule; });
-          
-                return {
-                  type:        "grammar",
-                  initializer: initializer !== "" ? initializer : null,
-                  rules:       rulesConverted,
-                  startRule:   rules[0].name
-                }
-              })(result1[1], result1[2])
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_initializer() {
-        var cacheKey = 'initializer@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        var result3 = parse_action();
-        if (result3 !== null) {
-          var result5 = parse_semicolon();
-          var result4 = result5 !== null ? result5 : '';
-          if (result4 !== null) {
-            var result1 = [result3, result4];
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function(code) {
-                return {
-                  type: "initializer",
-                  code: code
-                };
-              })(result1[0])
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_rule() {
-        var cacheKey = 'rule@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        var result3 = parse_identifier();
-        if (result3 !== null) {
-          var result10 = parse_literal();
-          if (result10 !== null) {
-            var result4 = result10;
-          } else {
-            if (input.substr(pos, 0) === "") {
-              var result9 = "";
-              pos += 0;
-            } else {
-              var result9 = null;
-              if (reportMatchFailures) {
-                matchFailed("\"\"");
-              }
-            }
-            if (result9 !== null) {
-              var result4 = result9;
-            } else {
-              var result4 = null;;
-            };
-          }
-          if (result4 !== null) {
-            var result5 = parse_equals();
-            if (result5 !== null) {
-              var result6 = parse_choice();
-              if (result6 !== null) {
-                var result8 = parse_semicolon();
-                var result7 = result8 !== null ? result8 : '';
-                if (result7 !== null) {
-                  var result1 = [result3, result4, result5, result6, result7];
-                } else {
-                  var result1 = null;
-                  pos = savedPos1;
-                }
-              } else {
-                var result1 = null;
-                pos = savedPos1;
-              }
-            } else {
-              var result1 = null;
-              pos = savedPos1;
-            }
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function(name, displayName, expression) {
-                return {
-                  type:        "rule",
-                  name:        name,
-                  displayName: displayName !== "" ? displayName : null,
-                  expression:  expression
-                };
-              })(result1[0], result1[1], result1[3])
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_choice() {
-        var cacheKey = 'choice@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        var result3 = parse_sequence();
-        if (result3 !== null) {
-          var result4 = [];
-          var savedPos2 = pos;
-          var result6 = parse_slash();
-          if (result6 !== null) {
-            var result7 = parse_sequence();
-            if (result7 !== null) {
-              var result5 = [result6, result7];
-            } else {
-              var result5 = null;
-              pos = savedPos2;
-            }
-          } else {
-            var result5 = null;
-            pos = savedPos2;
-          }
-          while (result5 !== null) {
-            result4.push(result5);
-            var savedPos2 = pos;
-            var result6 = parse_slash();
-            if (result6 !== null) {
-              var result7 = parse_sequence();
-              if (result7 !== null) {
-                var result5 = [result6, result7];
-              } else {
-                var result5 = null;
-                pos = savedPos2;
-              }
-            } else {
-              var result5 = null;
-              pos = savedPos2;
-            }
-          }
-          if (result4 !== null) {
-            var result1 = [result3, result4];
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function(head, tail) {
-                if (tail.length > 0) {
-                  var alternatives = [head].concat(map(
-                      tail,
-                      function(element) { return element[1]; }
-                  ));
-                  return {
-                    type:         "choice",
-                    alternatives: alternatives
-                  }
-                } else {
-                  return head;
-                }
-              })(result1[0], result1[1])
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_sequence() {
-        var cacheKey = 'sequence@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos1 = pos;
-        var savedPos2 = pos;
-        var result8 = [];
-        var result10 = parse_labeled();
-        while (result10 !== null) {
-          result8.push(result10);
-          var result10 = parse_labeled();
-        }
-        if (result8 !== null) {
-          var result9 = parse_action();
-          if (result9 !== null) {
-            var result6 = [result8, result9];
-          } else {
-            var result6 = null;
-            pos = savedPos2;
-          }
-        } else {
-          var result6 = null;
-          pos = savedPos2;
-        }
-        var result7 = result6 !== null
-          ? (function(elements, code) {
-                var expression = elements.length != 1
-                  ? {
-                      type:     "sequence",
-                      elements: elements
-                    }
-                  : elements[0];
-                return {
-                  type:       "action",
-                  expression: expression,
-                  code:       code
-                };
-              })(result6[0], result6[1])
-          : null;
-        if (result7 !== null) {
-          var result5 = result7;
-        } else {
-          var result5 = null;
-          pos = savedPos1;
-        }
-        if (result5 !== null) {
-          var result0 = result5;
-        } else {
-          var savedPos0 = pos;
-          var result2 = [];
-          var result4 = parse_labeled();
-          while (result4 !== null) {
-            result2.push(result4);
-            var result4 = parse_labeled();
-          }
-          var result3 = result2 !== null
-            ? (function(elements) {
-                  return elements.length != 1
-                    ? {
-                        type:     "sequence",
-                        elements: elements
-                      }
-                    : elements[0];
-                })(result2)
-            : null;
-          if (result3 !== null) {
-            var result1 = result3;
-          } else {
-            var result1 = null;
-            pos = savedPos0;
-          }
-          if (result1 !== null) {
-            var result0 = result1;
-          } else {
-            var result0 = null;;
-          };
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_labeled() {
-        var cacheKey = 'labeled@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        var result5 = parse_identifier();
-        if (result5 !== null) {
-          var result6 = parse_colon();
-          if (result6 !== null) {
-            var result7 = parse_prefixed();
-            if (result7 !== null) {
-              var result3 = [result5, result6, result7];
-            } else {
-              var result3 = null;
-              pos = savedPos1;
-            }
-          } else {
-            var result3 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result3 = null;
-          pos = savedPos1;
-        }
-        var result4 = result3 !== null
-          ? (function(label, expression) {
-                return {
-                  type:       "labeled",
-                  label:      label,
-                  expression: expression
-                };
-              })(result3[0], result3[2])
-          : null;
-        if (result4 !== null) {
-          var result2 = result4;
-        } else {
-          var result2 = null;
-          pos = savedPos0;
-        }
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result1 = parse_prefixed();
-          if (result1 !== null) {
-            var result0 = result1;
-          } else {
-            var result0 = null;;
-          };
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_prefixed() {
-        var cacheKey = 'prefixed@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos6 = pos;
-        var savedPos7 = pos;
-        var result20 = parse_and();
-        if (result20 !== null) {
-          var result21 = parse_action();
-          if (result21 !== null) {
-            var result18 = [result20, result21];
-          } else {
-            var result18 = null;
-            pos = savedPos7;
-          }
-        } else {
-          var result18 = null;
-          pos = savedPos7;
-        }
-        var result19 = result18 !== null
-          ? (function(code) {
-                return {
-                  type: "semantic_and",
-                  code: code
-                };
-              })(result18[1])
-          : null;
-        if (result19 !== null) {
-          var result17 = result19;
-        } else {
-          var result17 = null;
-          pos = savedPos6;
-        }
-        if (result17 !== null) {
-          var result0 = result17;
-        } else {
-          var savedPos4 = pos;
-          var savedPos5 = pos;
-          var result15 = parse_and();
-          if (result15 !== null) {
-            var result16 = parse_suffixed();
-            if (result16 !== null) {
-              var result13 = [result15, result16];
-            } else {
-              var result13 = null;
-              pos = savedPos5;
-            }
-          } else {
-            var result13 = null;
-            pos = savedPos5;
-          }
-          var result14 = result13 !== null
-            ? (function(expression) {
-                  return {
-                    type:       "simple_and",
-                    expression: expression
-                  };
-                })(result13[1])
-            : null;
-          if (result14 !== null) {
-            var result12 = result14;
-          } else {
-            var result12 = null;
-            pos = savedPos4;
-          }
-          if (result12 !== null) {
-            var result0 = result12;
-          } else {
-            var savedPos2 = pos;
-            var savedPos3 = pos;
-            var result10 = parse_not();
-            if (result10 !== null) {
-              var result11 = parse_action();
-              if (result11 !== null) {
-                var result8 = [result10, result11];
-              } else {
-                var result8 = null;
-                pos = savedPos3;
-              }
-            } else {
-              var result8 = null;
-              pos = savedPos3;
-            }
-            var result9 = result8 !== null
-              ? (function(code) {
-                    return {
-                      type: "semantic_not",
-                      code: code
-                    };
-                  })(result8[1])
-              : null;
-            if (result9 !== null) {
-              var result7 = result9;
-            } else {
-              var result7 = null;
-              pos = savedPos2;
-            }
-            if (result7 !== null) {
-              var result0 = result7;
-            } else {
-              var savedPos0 = pos;
-              var savedPos1 = pos;
-              var result5 = parse_not();
-              if (result5 !== null) {
-                var result6 = parse_suffixed();
-                if (result6 !== null) {
-                  var result3 = [result5, result6];
-                } else {
-                  var result3 = null;
-                  pos = savedPos1;
-                }
-              } else {
-                var result3 = null;
-                pos = savedPos1;
-              }
-              var result4 = result3 !== null
-                ? (function(expression) {
-                      return {
-                        type:       "simple_not",
-                        expression: expression
-                      };
-                    })(result3[1])
-                : null;
-              if (result4 !== null) {
-                var result2 = result4;
-              } else {
-                var result2 = null;
-                pos = savedPos0;
-              }
-              if (result2 !== null) {
-                var result0 = result2;
-              } else {
-                var result1 = parse_suffixed();
-                if (result1 !== null) {
-                  var result0 = result1;
-                } else {
-                  var result0 = null;;
-                };
-              };
-            };
-          };
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_suffixed() {
-        var cacheKey = 'suffixed@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos4 = pos;
-        var savedPos5 = pos;
-        var result15 = parse_primary();
-        if (result15 !== null) {
-          var result16 = parse_question();
-          if (result16 !== null) {
-            var result13 = [result15, result16];
-          } else {
-            var result13 = null;
-            pos = savedPos5;
-          }
-        } else {
-          var result13 = null;
-          pos = savedPos5;
-        }
-        var result14 = result13 !== null
-          ? (function(expression) {
-                return {
-                  type:       "optional",
-                  expression: expression
-                };
-              })(result13[0])
-          : null;
-        if (result14 !== null) {
-          var result12 = result14;
-        } else {
-          var result12 = null;
-          pos = savedPos4;
-        }
-        if (result12 !== null) {
-          var result0 = result12;
-        } else {
-          var savedPos2 = pos;
-          var savedPos3 = pos;
-          var result10 = parse_primary();
-          if (result10 !== null) {
-            var result11 = parse_star();
-            if (result11 !== null) {
-              var result8 = [result10, result11];
-            } else {
-              var result8 = null;
-              pos = savedPos3;
-            }
-          } else {
-            var result8 = null;
-            pos = savedPos3;
-          }
-          var result9 = result8 !== null
-            ? (function(expression) {
-                  return {
-                    type:       "zero_or_more",
-                    expression: expression
-                  };
-                })(result8[0])
-            : null;
-          if (result9 !== null) {
-            var result7 = result9;
-          } else {
-            var result7 = null;
-            pos = savedPos2;
-          }
-          if (result7 !== null) {
-            var result0 = result7;
-          } else {
-            var savedPos0 = pos;
-            var savedPos1 = pos;
-            var result5 = parse_primary();
-            if (result5 !== null) {
-              var result6 = parse_plus();
-              if (result6 !== null) {
-                var result3 = [result5, result6];
-              } else {
-                var result3 = null;
-                pos = savedPos1;
-              }
-            } else {
-              var result3 = null;
-              pos = savedPos1;
-            }
-            var result4 = result3 !== null
-              ? (function(expression) {
-                    return {
-                      type:       "one_or_more",
-                      expression: expression
-                    };
-                  })(result3[0])
-              : null;
-            if (result4 !== null) {
-              var result2 = result4;
-            } else {
-              var result2 = null;
-              pos = savedPos0;
-            }
-            if (result2 !== null) {
-              var result0 = result2;
-            } else {
-              var result1 = parse_primary();
-              if (result1 !== null) {
-                var result0 = result1;
-              } else {
-                var result0 = null;;
-              };
-            };
-          };
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_primary() {
-        var cacheKey = 'primary@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos4 = pos;
-        var savedPos5 = pos;
-        var result17 = parse_identifier();
-        if (result17 !== null) {
-          var savedPos6 = pos;
-          var savedReportMatchFailuresVar0 = reportMatchFailures;
-          reportMatchFailures = false;
-          var savedPos7 = pos;
-          var result23 = parse_literal();
-          if (result23 !== null) {
-            var result20 = result23;
-          } else {
-            if (input.substr(pos, 0) === "") {
-              var result22 = "";
-              pos += 0;
-            } else {
-              var result22 = null;
-              if (reportMatchFailures) {
-                matchFailed("\"\"");
-              }
-            }
-            if (result22 !== null) {
-              var result20 = result22;
-            } else {
-              var result20 = null;;
-            };
-          }
-          if (result20 !== null) {
-            var result21 = parse_equals();
-            if (result21 !== null) {
-              var result19 = [result20, result21];
-            } else {
-              var result19 = null;
-              pos = savedPos7;
-            }
-          } else {
-            var result19 = null;
-            pos = savedPos7;
-          }
-          reportMatchFailures = savedReportMatchFailuresVar0;
-          if (result19 === null) {
-            var result18 = '';
-          } else {
-            var result18 = null;
-            pos = savedPos6;
-          }
-          if (result18 !== null) {
-            var result15 = [result17, result18];
-          } else {
-            var result15 = null;
-            pos = savedPos5;
-          }
-        } else {
-          var result15 = null;
-          pos = savedPos5;
-        }
-        var result16 = result15 !== null
-          ? (function(name) {
-                return {
-                  type: "rule_ref",
-                  name: name
-                };
-              })(result15[0])
-          : null;
-        if (result16 !== null) {
-          var result14 = result16;
-        } else {
-          var result14 = null;
-          pos = savedPos4;
-        }
-        if (result14 !== null) {
-          var result0 = result14;
-        } else {
-          var savedPos3 = pos;
-          var result12 = parse_literal();
-          var result13 = result12 !== null
-            ? (function(value) {
-                  return {
-                    type:  "literal",
-                    value: value
-                  };
-                })(result12)
-            : null;
-          if (result13 !== null) {
-            var result11 = result13;
-          } else {
-            var result11 = null;
-            pos = savedPos3;
-          }
-          if (result11 !== null) {
-            var result0 = result11;
-          } else {
-            var savedPos2 = pos;
-            var result9 = parse_dot();
-            var result10 = result9 !== null
-              ? (function() { return { type: "any" }; })()
-              : null;
-            if (result10 !== null) {
-              var result8 = result10;
-            } else {
-              var result8 = null;
-              pos = savedPos2;
-            }
-            if (result8 !== null) {
-              var result0 = result8;
-            } else {
-              var result7 = parse_class();
-              if (result7 !== null) {
-                var result0 = result7;
-              } else {
-                var savedPos0 = pos;
-                var savedPos1 = pos;
-                var result4 = parse_lparen();
-                if (result4 !== null) {
-                  var result5 = parse_choice();
-                  if (result5 !== null) {
-                    var result6 = parse_rparen();
-                    if (result6 !== null) {
-                      var result2 = [result4, result5, result6];
-                    } else {
-                      var result2 = null;
-                      pos = savedPos1;
-                    }
-                  } else {
-                    var result2 = null;
-                    pos = savedPos1;
-                  }
-                } else {
-                  var result2 = null;
-                  pos = savedPos1;
-                }
-                var result3 = result2 !== null
-                  ? (function(expression) { return expression; })(result2[1])
-                  : null;
-                if (result3 !== null) {
-                  var result1 = result3;
-                } else {
-                  var result1 = null;
-                  pos = savedPos0;
-                }
-                if (result1 !== null) {
-                  var result0 = result1;
-                } else {
-                  var result0 = null;;
-                };
-              };
-            };
-          };
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_action() {
-        var cacheKey = 'action@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        var savedReportMatchFailures = reportMatchFailures;
-        reportMatchFailures = false;
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        var result3 = parse_braced();
-        if (result3 !== null) {
-          var result4 = parse___();
-          if (result4 !== null) {
-            var result1 = [result3, result4];
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function(braced) { return braced.substr(1, braced.length - 2); })(result1[0])
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        reportMatchFailures = savedReportMatchFailures;
-        if (reportMatchFailures && result0 === null) {
-          matchFailed("action");
-        }
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_braced() {
-        var cacheKey = 'braced@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        if (input.substr(pos, 1) === "{") {
-          var result3 = "{";
-          pos += 1;
-        } else {
-          var result3 = null;
-          if (reportMatchFailures) {
-            matchFailed("\"{\"");
-          }
-        }
-        if (result3 !== null) {
-          var result4 = [];
-          var result8 = parse_braced();
-          if (result8 !== null) {
-            var result6 = result8;
-          } else {
-            var result7 = parse_nonBraceCharacter();
-            if (result7 !== null) {
-              var result6 = result7;
-            } else {
-              var result6 = null;;
-            };
-          }
-          while (result6 !== null) {
-            result4.push(result6);
-            var result8 = parse_braced();
-            if (result8 !== null) {
-              var result6 = result8;
-            } else {
-              var result7 = parse_nonBraceCharacter();
-              if (result7 !== null) {
-                var result6 = result7;
-              } else {
-                var result6 = null;;
-              };
-            }
-          }
-          if (result4 !== null) {
-            if (input.substr(pos, 1) === "}") {
-              var result5 = "}";
-              pos += 1;
-            } else {
-              var result5 = null;
-              if (reportMatchFailures) {
-                matchFailed("\"}\"");
-              }
-            }
-            if (result5 !== null) {
-              var result1 = [result3, result4, result5];
-            } else {
-              var result1 = null;
-              pos = savedPos1;
-            }
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function(parts) {
-                return "{" + parts.join("") + "}";
-              })(result1[1])
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_nonBraceCharacters() {
-        var cacheKey = 'nonBraceCharacters@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result3 = parse_nonBraceCharacter();
-        if (result3 !== null) {
-          var result1 = [];
-          while (result3 !== null) {
-            result1.push(result3);
-            var result3 = parse_nonBraceCharacter();
-          }
-        } else {
-          var result1 = null;
-        }
-        var result2 = result1 !== null
-          ? (function(chars) { return chars.join(""); })(result1)
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_nonBraceCharacter() {
-        var cacheKey = 'nonBraceCharacter@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        if (input.substr(pos).match(/^[^{}]/) !== null) {
-          var result0 = input.charAt(pos);
-          pos++;
-        } else {
-          var result0 = null;
-          if (reportMatchFailures) {
-            matchFailed("[^{}]");
-          }
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_equals() {
-        var cacheKey = 'equals@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        if (input.substr(pos, 1) === "=") {
-          var result3 = "=";
-          pos += 1;
-        } else {
-          var result3 = null;
-          if (reportMatchFailures) {
-            matchFailed("\"=\"");
-          }
-        }
-        if (result3 !== null) {
-          var result4 = parse___();
-          if (result4 !== null) {
-            var result1 = [result3, result4];
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function() { return "="; })()
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_colon() {
-        var cacheKey = 'colon@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        if (input.substr(pos, 1) === ":") {
-          var result3 = ":";
-          pos += 1;
-        } else {
-          var result3 = null;
-          if (reportMatchFailures) {
-            matchFailed("\":\"");
-          }
-        }
-        if (result3 !== null) {
-          var result4 = parse___();
-          if (result4 !== null) {
-            var result1 = [result3, result4];
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function() { return ":"; })()
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_semicolon() {
-        var cacheKey = 'semicolon@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        if (input.substr(pos, 1) === ";") {
-          var result3 = ";";
-          pos += 1;
-        } else {
-          var result3 = null;
-          if (reportMatchFailures) {
-            matchFailed("\";\"");
-          }
-        }
-        if (result3 !== null) {
-          var result4 = parse___();
-          if (result4 !== null) {
-            var result1 = [result3, result4];
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function() { return ";"; })()
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_slash() {
-        var cacheKey = 'slash@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        if (input.substr(pos, 1) === "/") {
-          var result3 = "/";
-          pos += 1;
-        } else {
-          var result3 = null;
-          if (reportMatchFailures) {
-            matchFailed("\"/\"");
-          }
-        }
-        if (result3 !== null) {
-          var result4 = parse___();
-          if (result4 !== null) {
-            var result1 = [result3, result4];
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function() { return "/"; })()
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_and() {
-        var cacheKey = 'and@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        if (input.substr(pos, 1) === "&") {
-          var result3 = "&";
-          pos += 1;
-        } else {
-          var result3 = null;
-          if (reportMatchFailures) {
-            matchFailed("\"&\"");
-          }
-        }
-        if (result3 !== null) {
-          var result4 = parse___();
-          if (result4 !== null) {
-            var result1 = [result3, result4];
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function() { return "&"; })()
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_not() {
-        var cacheKey = 'not@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        if (input.substr(pos, 1) === "!") {
-          var result3 = "!";
-          pos += 1;
-        } else {
-          var result3 = null;
-          if (reportMatchFailures) {
-            matchFailed("\"!\"");
-          }
-        }
-        if (result3 !== null) {
-          var result4 = parse___();
-          if (result4 !== null) {
-            var result1 = [result3, result4];
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function() { return "!"; })()
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_question() {
-        var cacheKey = 'question@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        if (input.substr(pos, 1) === "?") {
-          var result3 = "?";
-          pos += 1;
-        } else {
-          var result3 = null;
-          if (reportMatchFailures) {
-            matchFailed("\"?\"");
-          }
-        }
-        if (result3 !== null) {
-          var result4 = parse___();
-          if (result4 !== null) {
-            var result1 = [result3, result4];
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function() { return "?"; })()
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_star() {
-        var cacheKey = 'star@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        if (input.substr(pos, 1) === "*") {
-          var result3 = "*";
-          pos += 1;
-        } else {
-          var result3 = null;
-          if (reportMatchFailures) {
-            matchFailed("\"*\"");
-          }
-        }
-        if (result3 !== null) {
-          var result4 = parse___();
-          if (result4 !== null) {
-            var result1 = [result3, result4];
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function() { return "*"; })()
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_plus() {
-        var cacheKey = 'plus@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        if (input.substr(pos, 1) === "+") {
-          var result3 = "+";
-          pos += 1;
-        } else {
-          var result3 = null;
-          if (reportMatchFailures) {
-            matchFailed("\"+\"");
-          }
-        }
-        if (result3 !== null) {
-          var result4 = parse___();
-          if (result4 !== null) {
-            var result1 = [result3, result4];
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function() { return "+"; })()
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_lparen() {
-        var cacheKey = 'lparen@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        if (input.substr(pos, 1) === "(") {
-          var result3 = "(";
-          pos += 1;
-        } else {
-          var result3 = null;
-          if (reportMatchFailures) {
-            matchFailed("\"(\"");
-          }
-        }
-        if (result3 !== null) {
-          var result4 = parse___();
-          if (result4 !== null) {
-            var result1 = [result3, result4];
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function() { return "("; })()
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_rparen() {
-        var cacheKey = 'rparen@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        if (input.substr(pos, 1) === ")") {
-          var result3 = ")";
-          pos += 1;
-        } else {
-          var result3 = null;
-          if (reportMatchFailures) {
-            matchFailed("\")\"");
-          }
-        }
-        if (result3 !== null) {
-          var result4 = parse___();
-          if (result4 !== null) {
-            var result1 = [result3, result4];
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function() { return ")"; })()
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_dot() {
-        var cacheKey = 'dot@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        if (input.substr(pos, 1) === ".") {
-          var result3 = ".";
-          pos += 1;
-        } else {
-          var result3 = null;
-          if (reportMatchFailures) {
-            matchFailed("\".\"");
-          }
-        }
-        if (result3 !== null) {
-          var result4 = parse___();
-          if (result4 !== null) {
-            var result1 = [result3, result4];
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function() { return "."; })()
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_identifier() {
-        var cacheKey = 'identifier@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        var savedReportMatchFailures = reportMatchFailures;
-        reportMatchFailures = false;
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        var result13 = parse_letter();
-        if (result13 !== null) {
-          var result3 = result13;
-        } else {
-          if (input.substr(pos, 1) === "_") {
-            var result12 = "_";
-            pos += 1;
-          } else {
-            var result12 = null;
-            if (reportMatchFailures) {
-              matchFailed("\"_\"");
-            }
-          }
-          if (result12 !== null) {
-            var result3 = result12;
-          } else {
-            if (input.substr(pos, 1) === "$") {
-              var result11 = "$";
-              pos += 1;
-            } else {
-              var result11 = null;
-              if (reportMatchFailures) {
-                matchFailed("\"$\"");
-              }
-            }
-            if (result11 !== null) {
-              var result3 = result11;
-            } else {
-              var result3 = null;;
-            };
-          };
-        }
-        if (result3 !== null) {
-          var result4 = [];
-          var result10 = parse_letter();
-          if (result10 !== null) {
-            var result6 = result10;
-          } else {
-            var result9 = parse_digit();
-            if (result9 !== null) {
-              var result6 = result9;
-            } else {
-              if (input.substr(pos, 1) === "_") {
-                var result8 = "_";
-                pos += 1;
-              } else {
-                var result8 = null;
-                if (reportMatchFailures) {
-                  matchFailed("\"_\"");
-                }
-              }
-              if (result8 !== null) {
-                var result6 = result8;
-              } else {
-                if (input.substr(pos, 1) === "$") {
-                  var result7 = "$";
-                  pos += 1;
-                } else {
-                  var result7 = null;
-                  if (reportMatchFailures) {
-                    matchFailed("\"$\"");
-                  }
-                }
-                if (result7 !== null) {
-                  var result6 = result7;
-                } else {
-                  var result6 = null;;
-                };
-              };
-            };
-          }
-          while (result6 !== null) {
-            result4.push(result6);
-            var result10 = parse_letter();
-            if (result10 !== null) {
-              var result6 = result10;
-            } else {
-              var result9 = parse_digit();
-              if (result9 !== null) {
-                var result6 = result9;
-              } else {
-                if (input.substr(pos, 1) === "_") {
-                  var result8 = "_";
-                  pos += 1;
-                } else {
-                  var result8 = null;
-                  if (reportMatchFailures) {
-                    matchFailed("\"_\"");
-                  }
-                }
-                if (result8 !== null) {
-                  var result6 = result8;
-                } else {
-                  if (input.substr(pos, 1) === "$") {
-                    var result7 = "$";
-                    pos += 1;
-                  } else {
-                    var result7 = null;
-                    if (reportMatchFailures) {
-                      matchFailed("\"$\"");
-                    }
-                  }
-                  if (result7 !== null) {
-                    var result6 = result7;
-                  } else {
-                    var result6 = null;;
-                  };
-                };
-              };
-            }
-          }
-          if (result4 !== null) {
-            var result5 = parse___();
-            if (result5 !== null) {
-              var result1 = [result3, result4, result5];
-            } else {
-              var result1 = null;
-              pos = savedPos1;
-            }
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function(head, tail) {
-                return head + tail.join("");
-              })(result1[0], result1[1])
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        reportMatchFailures = savedReportMatchFailures;
-        if (reportMatchFailures && result0 === null) {
-          matchFailed("identifier");
-        }
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_literal() {
-        var cacheKey = 'literal@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        var savedReportMatchFailures = reportMatchFailures;
-        reportMatchFailures = false;
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        var result6 = parse_doubleQuotedLiteral();
-        if (result6 !== null) {
-          var result3 = result6;
-        } else {
-          var result5 = parse_singleQuotedLiteral();
-          if (result5 !== null) {
-            var result3 = result5;
-          } else {
-            var result3 = null;;
-          };
-        }
-        if (result3 !== null) {
-          var result4 = parse___();
-          if (result4 !== null) {
-            var result1 = [result3, result4];
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function(literal) { return literal; })(result1[0])
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        reportMatchFailures = savedReportMatchFailures;
-        if (reportMatchFailures && result0 === null) {
-          matchFailed("literal");
-        }
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_doubleQuotedLiteral() {
-        var cacheKey = 'doubleQuotedLiteral@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        if (input.substr(pos, 1) === "\"") {
-          var result3 = "\"";
-          pos += 1;
-        } else {
-          var result3 = null;
-          if (reportMatchFailures) {
-            matchFailed("\"\\\"\"");
-          }
-        }
-        if (result3 !== null) {
-          var result4 = [];
-          var result6 = parse_doubleQuotedCharacter();
-          while (result6 !== null) {
-            result4.push(result6);
-            var result6 = parse_doubleQuotedCharacter();
-          }
-          if (result4 !== null) {
-            if (input.substr(pos, 1) === "\"") {
-              var result5 = "\"";
-              pos += 1;
-            } else {
-              var result5 = null;
-              if (reportMatchFailures) {
-                matchFailed("\"\\\"\"");
-              }
-            }
-            if (result5 !== null) {
-              var result1 = [result3, result4, result5];
-            } else {
-              var result1 = null;
-              pos = savedPos1;
-            }
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function(chars) { return chars.join(""); })(result1[1])
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_doubleQuotedCharacter() {
-        var cacheKey = 'doubleQuotedCharacter@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var result6 = parse_simpleDoubleQuotedCharacter();
-        if (result6 !== null) {
-          var result0 = result6;
-        } else {
-          var result5 = parse_simpleEscapeSequence();
-          if (result5 !== null) {
-            var result0 = result5;
-          } else {
-            var result4 = parse_zeroEscapeSequence();
-            if (result4 !== null) {
-              var result0 = result4;
-            } else {
-              var result3 = parse_hexEscapeSequence();
-              if (result3 !== null) {
-                var result0 = result3;
-              } else {
-                var result2 = parse_unicodeEscapeSequence();
-                if (result2 !== null) {
-                  var result0 = result2;
-                } else {
-                  var result1 = parse_eolEscapeSequence();
-                  if (result1 !== null) {
-                    var result0 = result1;
-                  } else {
-                    var result0 = null;;
-                  };
-                };
-              };
-            };
-          };
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_simpleDoubleQuotedCharacter() {
-        var cacheKey = 'simpleDoubleQuotedCharacter@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        var savedPos2 = pos;
-        var savedReportMatchFailuresVar0 = reportMatchFailures;
-        reportMatchFailures = false;
-        if (input.substr(pos, 1) === "\"") {
-          var result8 = "\"";
-          pos += 1;
-        } else {
-          var result8 = null;
-          if (reportMatchFailures) {
-            matchFailed("\"\\\"\"");
-          }
-        }
-        if (result8 !== null) {
-          var result5 = result8;
-        } else {
-          if (input.substr(pos, 1) === "\\") {
-            var result7 = "\\";
-            pos += 1;
-          } else {
-            var result7 = null;
-            if (reportMatchFailures) {
-              matchFailed("\"\\\\\"");
-            }
-          }
-          if (result7 !== null) {
-            var result5 = result7;
-          } else {
-            var result6 = parse_eolChar();
-            if (result6 !== null) {
-              var result5 = result6;
-            } else {
-              var result5 = null;;
-            };
-          };
-        }
-        reportMatchFailures = savedReportMatchFailuresVar0;
-        if (result5 === null) {
-          var result3 = '';
-        } else {
-          var result3 = null;
-          pos = savedPos2;
-        }
-        if (result3 !== null) {
-          if (input.length > pos) {
-            var result4 = input.charAt(pos);
-            pos++;
-          } else {
-            var result4 = null;
-            if (reportMatchFailures) {
-              matchFailed('any character');
-            }
-          }
-          if (result4 !== null) {
-            var result1 = [result3, result4];
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function(char_) { return char_; })(result1[1])
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_singleQuotedLiteral() {
-        var cacheKey = 'singleQuotedLiteral@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        if (input.substr(pos, 1) === "'") {
-          var result3 = "'";
-          pos += 1;
-        } else {
-          var result3 = null;
-          if (reportMatchFailures) {
-            matchFailed("\"'\"");
-          }
-        }
-        if (result3 !== null) {
-          var result4 = [];
-          var result6 = parse_singleQuotedCharacter();
-          while (result6 !== null) {
-            result4.push(result6);
-            var result6 = parse_singleQuotedCharacter();
-          }
-          if (result4 !== null) {
-            if (input.substr(pos, 1) === "'") {
-              var result5 = "'";
-              pos += 1;
-            } else {
-              var result5 = null;
-              if (reportMatchFailures) {
-                matchFailed("\"'\"");
-              }
-            }
-            if (result5 !== null) {
-              var result1 = [result3, result4, result5];
-            } else {
-              var result1 = null;
-              pos = savedPos1;
-            }
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function(chars) { return chars.join(""); })(result1[1])
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_singleQuotedCharacter() {
-        var cacheKey = 'singleQuotedCharacter@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var result6 = parse_simpleSingleQuotedCharacter();
-        if (result6 !== null) {
-          var result0 = result6;
-        } else {
-          var result5 = parse_simpleEscapeSequence();
-          if (result5 !== null) {
-            var result0 = result5;
-          } else {
-            var result4 = parse_zeroEscapeSequence();
-            if (result4 !== null) {
-              var result0 = result4;
-            } else {
-              var result3 = parse_hexEscapeSequence();
-              if (result3 !== null) {
-                var result0 = result3;
-              } else {
-                var result2 = parse_unicodeEscapeSequence();
-                if (result2 !== null) {
-                  var result0 = result2;
-                } else {
-                  var result1 = parse_eolEscapeSequence();
-                  if (result1 !== null) {
-                    var result0 = result1;
-                  } else {
-                    var result0 = null;;
-                  };
-                };
-              };
-            };
-          };
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_simpleSingleQuotedCharacter() {
-        var cacheKey = 'simpleSingleQuotedCharacter@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        var savedPos2 = pos;
-        var savedReportMatchFailuresVar0 = reportMatchFailures;
-        reportMatchFailures = false;
-        if (input.substr(pos, 1) === "'") {
-          var result8 = "'";
-          pos += 1;
-        } else {
-          var result8 = null;
-          if (reportMatchFailures) {
-            matchFailed("\"'\"");
-          }
-        }
-        if (result8 !== null) {
-          var result5 = result8;
-        } else {
-          if (input.substr(pos, 1) === "\\") {
-            var result7 = "\\";
-            pos += 1;
-          } else {
-            var result7 = null;
-            if (reportMatchFailures) {
-              matchFailed("\"\\\\\"");
-            }
-          }
-          if (result7 !== null) {
-            var result5 = result7;
-          } else {
-            var result6 = parse_eolChar();
-            if (result6 !== null) {
-              var result5 = result6;
-            } else {
-              var result5 = null;;
-            };
-          };
-        }
-        reportMatchFailures = savedReportMatchFailuresVar0;
-        if (result5 === null) {
-          var result3 = '';
-        } else {
-          var result3 = null;
-          pos = savedPos2;
-        }
-        if (result3 !== null) {
-          if (input.length > pos) {
-            var result4 = input.charAt(pos);
-            pos++;
-          } else {
-            var result4 = null;
-            if (reportMatchFailures) {
-              matchFailed('any character');
-            }
-          }
-          if (result4 !== null) {
-            var result1 = [result3, result4];
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function(char_) { return char_; })(result1[1])
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_class() {
-        var cacheKey = 'class@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        var savedReportMatchFailures = reportMatchFailures;
-        reportMatchFailures = false;
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        if (input.substr(pos, 1) === "[") {
-          var result3 = "[";
-          pos += 1;
-        } else {
-          var result3 = null;
-          if (reportMatchFailures) {
-            matchFailed("\"[\"");
-          }
-        }
-        if (result3 !== null) {
-          if (input.substr(pos, 1) === "^") {
-            var result11 = "^";
-            pos += 1;
-          } else {
-            var result11 = null;
-            if (reportMatchFailures) {
-              matchFailed("\"^\"");
-            }
-          }
-          var result4 = result11 !== null ? result11 : '';
-          if (result4 !== null) {
-            var result5 = [];
-            var result10 = parse_classCharacterRange();
-            if (result10 !== null) {
-              var result8 = result10;
-            } else {
-              var result9 = parse_classCharacter();
-              if (result9 !== null) {
-                var result8 = result9;
-              } else {
-                var result8 = null;;
-              };
-            }
-            while (result8 !== null) {
-              result5.push(result8);
-              var result10 = parse_classCharacterRange();
-              if (result10 !== null) {
-                var result8 = result10;
-              } else {
-                var result9 = parse_classCharacter();
-                if (result9 !== null) {
-                  var result8 = result9;
-                } else {
-                  var result8 = null;;
-                };
-              }
-            }
-            if (result5 !== null) {
-              if (input.substr(pos, 1) === "]") {
-                var result6 = "]";
-                pos += 1;
-              } else {
-                var result6 = null;
-                if (reportMatchFailures) {
-                  matchFailed("\"]\"");
-                }
-              }
-              if (result6 !== null) {
-                var result7 = parse___();
-                if (result7 !== null) {
-                  var result1 = [result3, result4, result5, result6, result7];
-                } else {
-                  var result1 = null;
-                  pos = savedPos1;
-                }
-              } else {
-                var result1 = null;
-                pos = savedPos1;
-              }
-            } else {
-              var result1 = null;
-              pos = savedPos1;
-            }
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function(inverted, parts) {
-                var partsConverted = map(parts, function(part) { return part.data; });
-                var rawText = "["
-                  + inverted
-                  + map(parts, function(part) { return part.rawText; }).join("")
-                  + "]";
-          
-                return {
-                  type:     "class",
-                  inverted: inverted === "^",
-                  parts:    partsConverted,
-                  // FIXME: Get the raw text from the input directly.
-                  rawText:  rawText
-                };
-              })(result1[1], result1[2])
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        reportMatchFailures = savedReportMatchFailures;
-        if (reportMatchFailures && result0 === null) {
-          matchFailed("character class");
-        }
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_classCharacterRange() {
-        var cacheKey = 'classCharacterRange@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        var result3 = parse_classCharacter();
-        if (result3 !== null) {
-          if (input.substr(pos, 1) === "-") {
-            var result4 = "-";
-            pos += 1;
-          } else {
-            var result4 = null;
-            if (reportMatchFailures) {
-              matchFailed("\"-\"");
-            }
-          }
-          if (result4 !== null) {
-            var result5 = parse_classCharacter();
-            if (result5 !== null) {
-              var result1 = [result3, result4, result5];
-            } else {
-              var result1 = null;
-              pos = savedPos1;
-            }
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function(begin, end) {
-                if (begin.data.charCodeAt(0) > end.data.charCodeAt(0)) {
-                  throw new this.SyntaxError(
-                    "Invalid character range: " + begin.rawText + "-" + end.rawText + "."
-                  );
-                }
-          
-                return {
-                  data:    [begin.data, end.data],
-                  // FIXME: Get the raw text from the input directly.
-                  rawText: begin.rawText + "-" + end.rawText
-                }
-              })(result1[0], result1[2])
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_classCharacter() {
-        var cacheKey = 'classCharacter@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_bracketDelimitedCharacter();
-        var result2 = result1 !== null
-          ? (function(char_) {
-                return {
-                  data:    char_,
-                  // FIXME: Get the raw text from the input directly.
-                  rawText: quoteForRegexpClass(char_)
-                };
-              })(result1)
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_bracketDelimitedCharacter() {
-        var cacheKey = 'bracketDelimitedCharacter@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var result6 = parse_simpleBracketDelimitedCharacter();
-        if (result6 !== null) {
-          var result0 = result6;
-        } else {
-          var result5 = parse_simpleEscapeSequence();
-          if (result5 !== null) {
-            var result0 = result5;
-          } else {
-            var result4 = parse_zeroEscapeSequence();
-            if (result4 !== null) {
-              var result0 = result4;
-            } else {
-              var result3 = parse_hexEscapeSequence();
-              if (result3 !== null) {
-                var result0 = result3;
-              } else {
-                var result2 = parse_unicodeEscapeSequence();
-                if (result2 !== null) {
-                  var result0 = result2;
-                } else {
-                  var result1 = parse_eolEscapeSequence();
-                  if (result1 !== null) {
-                    var result0 = result1;
-                  } else {
-                    var result0 = null;;
-                  };
-                };
-              };
-            };
-          };
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_simpleBracketDelimitedCharacter() {
-        var cacheKey = 'simpleBracketDelimitedCharacter@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        var savedPos2 = pos;
-        var savedReportMatchFailuresVar0 = reportMatchFailures;
-        reportMatchFailures = false;
-        if (input.substr(pos, 1) === "]") {
-          var result8 = "]";
-          pos += 1;
-        } else {
-          var result8 = null;
-          if (reportMatchFailures) {
-            matchFailed("\"]\"");
-          }
-        }
-        if (result8 !== null) {
-          var result5 = result8;
-        } else {
-          if (input.substr(pos, 1) === "\\") {
-            var result7 = "\\";
-            pos += 1;
-          } else {
-            var result7 = null;
-            if (reportMatchFailures) {
-              matchFailed("\"\\\\\"");
-            }
-          }
-          if (result7 !== null) {
-            var result5 = result7;
-          } else {
-            var result6 = parse_eolChar();
-            if (result6 !== null) {
-              var result5 = result6;
-            } else {
-              var result5 = null;;
-            };
-          };
-        }
-        reportMatchFailures = savedReportMatchFailuresVar0;
-        if (result5 === null) {
-          var result3 = '';
-        } else {
-          var result3 = null;
-          pos = savedPos2;
-        }
-        if (result3 !== null) {
-          if (input.length > pos) {
-            var result4 = input.charAt(pos);
-            pos++;
-          } else {
-            var result4 = null;
-            if (reportMatchFailures) {
-              matchFailed('any character');
-            }
-          }
-          if (result4 !== null) {
-            var result1 = [result3, result4];
-          } else {
-            var result1 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos1;
-        }
-        var result2 = result1 !== null
-          ? (function(char_) { return char_; })(result1[1])
-          : null;
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_simpleEscapeSequence() {
-        var cacheKey = 'simpleEscapeSequence@' + pos;
-        var cache

<TRUNCATED>

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


[26/32] ios commit: CB-11445 updated .ratignore

Posted by st...@apache.org.
CB-11445 updated .ratignore


Project: http://git-wip-us.apache.org/repos/asf/cordova-ios/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-ios/commit/69a2911e
Tree: http://git-wip-us.apache.org/repos/asf/cordova-ios/tree/69a2911e
Diff: http://git-wip-us.apache.org/repos/asf/cordova-ios/diff/69a2911e

Branch: refs/heads/master
Commit: 69a2911eb71625c43be8eed09532220186173bb0
Parents: 0d465c3
Author: Steve Gill <st...@gmail.com>
Authored: Thu Jun 16 16:08:34 2016 -0700
Committer: Steve Gill <st...@gmail.com>
Committed: Thu Jun 16 16:08:34 2016 -0700

----------------------------------------------------------------------
 .ratignore | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/69a2911e/.ratignore
----------------------------------------------------------------------
diff --git a/.ratignore b/.ratignore
index 6d47c58..d97c091 100644
--- a/.ratignore
+++ b/.ratignore
@@ -6,3 +6,7 @@ NSData+Base64.h
 NSData+Base64.m
 
 Contents.json
+
+fixtures
+appveyor.yml
+i386


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


[27/32] ios commit: CB-11445 Updated RELEASENOTES and Version for release 4.2.0

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/41341763/RELEASENOTES.md
----------------------------------------------------------------------
diff --git a/RELEASENOTES.md b/RELEASENOTES.md
index 486203a..bc9e5d9 100644
--- a/RELEASENOTES.md
+++ b/RELEASENOTES.md
@@ -22,272 +22,295 @@
 
 Cordova is a static library that enables developers to include the Cordova API in their iOS application projects easily, and also create new Cordova-based iOS application projects through the command-line.
 
+### 4.2.0 (Jun 16, 2016)
+* [CB-11445](https://issues.apache.org/jira/browse/CB-11445) Updated checked-in `node_modules`
+* [CB-11424](https://issues.apache.org/jira/browse/CB-11424) `AppVeyor` test failures (path separator) on `cordova-ios` platform
+* [CB-11375](https://issues.apache.org/jira/browse/CB-11375) - onReset method of CDVPlugin is never called
+* [CB-11366](https://issues.apache.org/jira/browse/CB-11366) Break out obj-c tests so they are not called from jasmine - Fix for `mktemp` variants (Linux vs Darwin)
+* [CB-11117](https://issues.apache.org/jira/browse/CB-11117) Optimize prepare for **iOS** platform, clean prepared files
+* [CB-11265](https://issues.apache.org/jira/browse/CB-11265) Remove target checking for `cordova-ios`
+* [CB-11259](https://issues.apache.org/jira/browse/CB-11259) Improving build output
+* [CB-10695](https://issues.apache.org/jira/browse/CB-10695) Fix issue with unable to deploy to the **iOS** Simulator using `cordova emulate ios`
+* [CB-10695](https://issues.apache.org/jira/browse/CB-10695) Replacing `SDK/ARCH` parameters by new destination parameter. Fixes issues when project has targets using different `SDKs`, i.e.: **watchOS** vs **iOS**
+* [CB-11069](https://issues.apache.org/jira/browse/CB-11069) `CDVViewController` `appURL` is `nil` if `wwwFolderName` is the path to a framework
+* [CB-11200](https://issues.apache.org/jira/browse/CB-11200) Bump `node-xcode` version
+* [CB-11235](https://issues.apache.org/jira/browse/CB-11235) `NSInternalInconsistencyException` when running **iOS** unit tests
+* [CB-11161](https://issues.apache.org/jira/browse/CB-11161) Reuse `PluginManager` from `cordova-common` to `add/rm` plugins
+* [CB-11161](https://issues.apache.org/jira/browse/CB-11161) Bump `cordova-common` to `1.3.0`
+* [CB-11019](https://issues.apache.org/jira/browse/CB-11019) Update tests to validate project name updates
+* [CB-11019](https://issues.apache.org/jira/browse/CB-11019) Handle changes of app name gracefully
+* [CB-11022](https://issues.apache.org/jira/browse/CB-11022) Duplicate `www` files on plugin installtion/removal
+* [CB-6992](https://issues.apache.org/jira/browse/CB-6992) Fix non-working create case, add new test
+* [CB-10957](https://issues.apache.org/jira/browse/CB-10957) Remove `build*.xconfig` from build outputs: `*.ipa`, `*.app`
+* [CB-10964](https://issues.apache.org/jira/browse/CB-10964) Handle `build.json` file starting with a `BOM`
+* [CB-10942](https://issues.apache.org/jira/browse/CB-10942) - Cannot `<allow-navigation href="https://foo.bar" />` for links in that site, if you have `<allow-intent href="https://*" />`
+
 ### 4.1.1 (Apr 01, 2016)
-* CB-11006 Updated CDV version macro to 4.1.1
-* CB-11006 Added license to loggingHelper.js
-* CB-11006 Updated checked-in node_modules
-* CB-10320 Fixes corrupted logo.png
-* CB-10918 Travis tests are failing sometimes for cordova-ios
-* CB-10912 Bundling ios-sim 5.0.7 to fix 'Invalid Device State' errors
-* CB-10912: update ios-sim to 5.0.7 to fix 'Invalid Device State' errors
-* CB-10888 Enable coverage reports collection via codecov
-* CB-10840 Use cordova-common.CordovaLogger in cordova-ios
-* CB-10846 Add status badges for Travis and AppVeyor
-* CB-10846 Add AppVeyor configuration
-* CB-10773 Update path delimiters in tests
-* CB-10769 Update specs according to actual implementation
-* CB-10769 Copy raw pluginHandler tests from cordova-lib
-* revert bad fix for CB-10828 I blame node 5.7.0
-* CB-10828 TypeError: Cannot read property 'indexOf' of null when allow-navigation using scheme:*
-* CB-10773 Correct FRAMEWORKS_SEARCH_PATHS on win32
-* CB-10673 fixed conflicting plugin install issue with overlapped <source-file> tag using --force option. This closes #199.
+* [CB-11006](https://issues.apache.org/jira/browse/CB-11006) Updated CDV version macro to 4.1.1
+* [CB-11006](https://issues.apache.org/jira/browse/CB-11006) Added license to loggingHelper.js
+* [CB-11006](https://issues.apache.org/jira/browse/CB-11006) Updated checked-in node_modules
+* [CB-10320](https://issues.apache.org/jira/browse/CB-10320) Fixes corrupted logo.png
+* [CB-10918](https://issues.apache.org/jira/browse/CB-10918) Travis tests are failing sometimes for cordova-ios
+* [CB-10912](https://issues.apache.org/jira/browse/CB-10912) Bundling ios-sim 5.0.7 to fix 'Invalid Device State' errors
+* [CB-10912](https://issues.apache.org/jira/browse/CB-10912) update ios-sim to 5.0.7 to fix 'Invalid Device State' errors
+* [CB-10888](https://issues.apache.org/jira/browse/CB-10888) Enable coverage reports collection via codecov
+* [CB-10840](https://issues.apache.org/jira/browse/CB-10840) Use cordova-common.CordovaLogger in cordova-ios
+* [CB-10846](https://issues.apache.org/jira/browse/CB-10846) Add status badges for Travis and AppVeyor
+* [CB-10846](https://issues.apache.org/jira/browse/CB-10846) Add AppVeyor configuration
+* [CB-10773](https://issues.apache.org/jira/browse/CB-10773) Update path delimiters in tests
+* [CB-10769](https://issues.apache.org/jira/browse/CB-10769) Update specs according to actual implementation
+* [CB-10769](https://issues.apache.org/jira/browse/CB-10769) Copy raw pluginHandler tests from cordova-lib
+* revert bad fix for [CB-10828](https://issues.apache.org/jira/browse/CB-10828) I blame node 5.7.0
+* [CB-10828](https://issues.apache.org/jira/browse/CB-10828) TypeError: Cannot read property 'indexOf' of null when allow-navigation using scheme:*
+* [CB-10773](https://issues.apache.org/jira/browse/CB-10773) Correct FRAMEWORKS_SEARCH_PATHS on win32
+* [CB-10673](https://issues.apache.org/jira/browse/CB-10673) fixed conflicting plugin install issue with overlapped <source-file> tag using --force option. This closes #199.
 
 ### 4.1.0 (Feb 24, 2016)
-* CB-10693 added missing header license
-* CB-10530 Updated `cordova.js`. 
-* CB-10530 App freezes sometimes directly after starting on **iOS**
-* CB-10668 checked in `node_modules`
-* CB-10668 removed `bin/node_modules`
-* CB-10668 updated `create.js` to grab `node_modules` from root, updated `package.json`
-* CB-10138  Adds missing plugin metadata to `plugin_list` module
-* CB-10493 **iOS** Missing `icon.png`
-* CB-10184 `Images.xcassets`: A 83.5x83.5@2x app icon is required for iPad apps targeting **iOS 9.0** and later
+* [CB-10693](https://issues.apache.org/jira/browse/CB-10693) added missing header license
+* [CB-10530](https://issues.apache.org/jira/browse/CB-10530) Updated `cordova.js`. 
+* [CB-10530](https://issues.apache.org/jira/browse/CB-10530) App freezes sometimes directly after starting on **iOS**
+* [CB-10668](https://issues.apache.org/jira/browse/CB-10668) checked in `node_modules`
+* [CB-10668](https://issues.apache.org/jira/browse/CB-10668) removed `bin/node_modules`
+* [CB-10668](https://issues.apache.org/jira/browse/CB-10668) updated `create.js` to grab `node_modules` from root, updated `package.json`
+* [CB-10138](https://issues.apache.org/jira/browse/CB-10138)  Adds missing plugin metadata to `plugin_list` module
+* [CB-10493](https://issues.apache.org/jira/browse/CB-10493) **iOS** Missing `icon.png`
+* [CB-10184](https://issues.apache.org/jira/browse/CB-10184) `Images.xcassets`: A 83.5x83.5@2x app icon is required for iPad apps targeting **iOS 9.0** and later
 * Disable `ios-deploy` wifi mode when deploying to a device
-* CB-10272 Improve `<allow-intent>` and `<allow-navigation>` error logs
+* [CB-10272](https://issues.apache.org/jira/browse/CB-10272) Improve `<allow-intent>` and `<allow-navigation>` error logs
 * Updated bundled `iso-sim` to `5.0.6`
-* CB-10233 Support different `config.xml` file per `CDVViewController` instance
+* [CB-10233](https://issues.apache.org/jira/browse/CB-10233) Support different `config.xml` file per `CDVViewController` instance
 * Add additional valid targets for simulation
 * Updated CDV version macro to 4.0.1
-* CB-10185 Update `CordovaLib.xcodeproj` to recommended settings in **Xcode 7.2**
-* CB-10171 `WebKit` Error after migration to **iOS@4.0.0**
-* CB-10155 `DisallowOverscroll` not working
-* CB-10168 `CDVViewController` `appURL` is `nil` if `wwwFolderName` is the path to a resource bundle
-* CB-10162 update reference url for icon images
-* CB-10162 correct the paths for **iOS** icon and splashscreen resources
+* [CB-10185](https://issues.apache.org/jira/browse/CB-10185) Update `CordovaLib.xcodeproj` to recommended settings in **Xcode 7.2**
+* [CB-10171](https://issues.apache.org/jira/browse/CB-10171) `WebKit` Error after migration to **iOS@4.0.0**
+* [CB-10155](https://issues.apache.org/jira/browse/CB-10155) `DisallowOverscroll` not working
+* [CB-10168](https://issues.apache.org/jira/browse/CB-10168) `CDVViewController` `appURL` is `nil` if `wwwFolderName` is the path to a resource bundle
+* [CB-10162](https://issues.apache.org/jira/browse/CB-10162) update reference url for icon images
+* [CB-10162](https://issues.apache.org/jira/browse/CB-10162) correct the paths for **iOS** icon and splashscreen resources
 
 ### 4.0.0 (Dec 04, 2015)
 
-* CB-10136 - error in cordova prepare (Platform API)
-* CB-10048 - clobbering of <access> tags to ATS directives CB-10057 - removing <access> tag does not remove ATS entry
-* CB-10106 - added bridge proxy
-* CB-9827 fixed version file to be requireable
-* CB-9827 Implement and expose PlatformApi for iOS
-* CB-10106 - iOS bridges need to take into account bridge changes
-* CB-10072 - Add SWIFT\_OBJC\_BRIDGING_HEADER value in build.xcconfig, remove from pbxproj
-* CB-10004 - Rename CDVSystemSchemes plugin name to something more appropriate
-* CB-10001 CB-10003 Handle <allow-navigation> and <allow-intent>
-* CB-10025 - CDVWhiteList can't parse URIs that don't have double slashes after the scheme
-* CB-9972 - Remove iOS whitelist
-* CB-9883 CB-9948 Update cordova.js
-* CB-9948 - Remove deprecated command format from exec.js
-* CB-9883 - Remove unused iOS bridges
-* CB-9836 Add .gitattributes to prevent CRLF line endings in repos
-* CB-9787 - [CDVStartPageTest testParametersInStartPage] unit-test failure
-* CB-9917 - refix. Order matters in .gitattributes
-* CB-9917 - Failure: cordova platform add https://github.com/apache/cordova-ios.git#tagOrBranch
-* CB-9870 updated hello world template
-* CB-9609 - Cordova run popts don't make it through to ios-deploy on real device
-* CB-9893 - removed unused line in guide
-* CB-9893 - Update API changes doc with more upgrade examples
-* CB-9638 - Typo fix
-* CB-9638 - Cordova/NSData+Base64.h missing from cordova-ios - updated API Changes doc
-* CB-9836 Add .gitattributes to prevent CRLF line endings in repos
-* CB-9685 A fix for the magnifying glass popping up on iOS9 when longpressing the webview. 
-* CB-9800 Fixing contribute link.
+* [CB-10136](https://issues.apache.org/jira/browse/CB-10136) - error in cordova prepare (Platform API)
+* [CB-10048](https://issues.apache.org/jira/browse/CB-10048) - clobbering of <access> tags to ATS directives [CB-10057](https://issues.apache.org/jira/browse/CB-10057) - removing <access> tag does not remove ATS entry
+* [CB-10106](https://issues.apache.org/jira/browse/CB-10106) - added bridge proxy
+* [CB-9827](https://issues.apache.org/jira/browse/CB-9827) fixed version file to be requireable
+* [CB-9827](https://issues.apache.org/jira/browse/CB-9827) Implement and expose PlatformApi for iOS
+* [CB-10106](https://issues.apache.org/jira/browse/CB-10106) - iOS bridges need to take into account bridge changes
+* [CB-10072](https://issues.apache.org/jira/browse/CB-10072) - Add SWIFT\_OBJC\_BRIDGING_HEADER value in build.xcconfig, remove from pbxproj
+* [CB-10004](https://issues.apache.org/jira/browse/CB-10004) - Rename CDVSystemSchemes plugin name to something more appropriate
+* [CB-10001](https://issues.apache.org/jira/browse/CB-10001) [CB-10003](https://issues.apache.org/jira/browse/CB-10003) Handle <allow-navigation> and <allow-intent>
+* [CB-10025](https://issues.apache.org/jira/browse/CB-10025) - CDVWhiteList can't parse URIs that don't have double slashes after the scheme
+* [CB-9972](https://issues.apache.org/jira/browse/CB-9972) - Remove iOS whitelist
+* [CB-9883](https://issues.apache.org/jira/browse/CB-9883) [CB-9948](https://issues.apache.org/jira/browse/CB-9948) Update cordova.js
+* [CB-9948](https://issues.apache.org/jira/browse/CB-9948) - Remove deprecated command format from exec.js
+* [CB-9883](https://issues.apache.org/jira/browse/CB-9883) - Remove unused iOS bridges
+* [CB-9836](https://issues.apache.org/jira/browse/CB-9836) Add .gitattributes to prevent CRLF line endings in repos
+* [CB-9787](https://issues.apache.org/jira/browse/CB-9787) - [CDVStartPageTest testParametersInStartPage] unit-test failure
+* [CB-9917](https://issues.apache.org/jira/browse/CB-9917) - refix. Order matters in .gitattributes
+* [CB-9917](https://issues.apache.org/jira/browse/CB-9917) - Failure: cordova platform add https://github.com/apache/cordova-ios.git#tagOrBranch
+* [CB-9870](https://issues.apache.org/jira/browse/CB-9870) updated hello world template
+* [CB-9609](https://issues.apache.org/jira/browse/CB-9609) - Cordova run popts don't make it through to ios-deploy on real device
+* [CB-9893](https://issues.apache.org/jira/browse/CB-9893) - removed unused line in guide
+* [CB-9893](https://issues.apache.org/jira/browse/CB-9893) - Update API changes doc with more upgrade examples
+* [CB-9638](https://issues.apache.org/jira/browse/CB-9638) - Typo fix
+* [CB-9638](https://issues.apache.org/jira/browse/CB-9638) - Cordova/NSData+Base64.h missing from cordova-ios - updated API Changes doc
+* [CB-9836](https://issues.apache.org/jira/browse/CB-9836) Add .gitattributes to prevent CRLF line endings in repos
+* [CB-9685](https://issues.apache.org/jira/browse/CB-9685) A fix for the magnifying glass popping up on iOS9 when longpressing the webview. 
+* [CB-9800](https://issues.apache.org/jira/browse/CB-9800) Fixing contribute link.
 * Updated bundled ios-sim to 5.0.3
-* CB-9500 Documentation Added
-* CB-9500 Added no sign argument to iOS build
-* CB-9787 - [CDVStartPageTest testParametersInStartPage] unit-test failure (improved fix)
-* CB-9787 - [CDVStartPageTest testParametersInStartPage] unit-test failure
-* CB-9754: Icon and launch image warnings
-* CB-9719 set allow_non_modular_includes to yes
-* CB-8789 - This closes #148
-* CB-9685 A fix for the magnifying glass popping up on iOS9 when longpressing the webview
-* CB-9552 Updating linked platform removes original files
-* CB-6992 - can't deploy app if display name contains unicode characters
-* CB-9726 - Update minimum Deployment Target to iOS 8.0
-* CB-9679 - Resource rules issue with iOS 9
-* CB-9721 Set ENABLE_BITCODE to NO in build.xcconfig
-* CB-9698 Add rsync error handling in ios copy-www-build-step.js
-* CB-9671 - Remove installation of ios-sim from travis.yml
-* CB-9693 Fix www copy with spaces in project name
-* CB-9690 Can't submit iPad apps to the App Store for iOS 9
-* CB-9328 Use ios-sim as a node module, not a CLI utility
-* CB-9558 - Add blob: to allowedSchemes used by CDVUIWebViewDelegate::shouldLoadRequest (closes #163)
-* CB-9558 - Blob schemes won't load in iframes
-* CB-9667 - create tests failing in cordova-ios 4.x (related to CB-8789 pull request that didn't test for projects with spaces in the name)
-* CB-9650 - Update API compatibility doc in cordova-ios for AppDelegate.m template change
-* CB-9638 - Cordova/NSData+Base64.h missing from cordova-ios 4.x
-* CB-8789 - Support Asset Catalog for App icons and splashscreens
-* CB-8789 Asset Catalog support
-* CB-9642 - Integrate 3.9.0, 3.9.1, 3.9.2 version updates in CDVAvailability.h into master
-* CB-9261 - localizations broken in Xcode template
-* CB-9261 - localizations broken in Xcode template
-* CB-9656 - Xcode can't find CDVViewController.h when archiving in Xcode 7.1 beta
-* CB-9254 - update_cordova_subproject command for cordova-ios 4.0.0-dev results in a build error
-* CB-9636 - only load a WebView engine if the url to load passes the engine's canLoadRequest filter
-* CB-9610 Fix warning in cordova-ios under Xcode 7
-* CB-9613 - CDVWhitelist::matches crashes when there is no hostname in a URL
-* CB-9485 Use absoluteString method of NSURL
-* CB-8365 Add NSInteger, NSUInteger factory methods to CDVPluginResult
-* CB-9266 "cordova run" for iOS does not see non-running emulators
-* CB-9462 iOS 3.9.0 breaks npm link modules
-* CB-9463 updated RELEASENOTES
-* CB-9453 Updating to iOS@3.9.0 not building
-* CB-9406 updated RELEASENOTES
-* CB-9273 "Copy www build phase" node is not found
-* CB-9266 - changed target default to iPhone-5s in the interim
-* CB-9266 - changed target default to iPhone-5 in the interim
-* CB-8197 Switch to nodejs for ios platform scripts
-* CB-9203 - iOS unit-tests should use tmp instead of same folder
-* CB-8468 - Application freezes if breakpoint hits JavaScript callback invoked from native
-* CB-8812 - moved system schemes handler into its own plugin (CDVSystemSchemes)
-* CB-8812 - protocol hander raises error on second firing
-* CB-9050 - cordova run --list does not show that you have an outdated ios-sim
-* CB-8730 - Can't deploy to device
-* CB-8788 - Drop armv7s from default iOS Cordova build to align with Xcode 6
-* CB-9046 - cordova run ios --emulator --target "iPhone-5, 7.1" (target with runtime) does not work
-* CB-8906 - cordova run ios --target doesn't work
+* [CB-9500](https://issues.apache.org/jira/browse/CB-9500) Documentation Added
+* [CB-9500](https://issues.apache.org/jira/browse/CB-9500) Added no sign argument to iOS build
+* [CB-9787](https://issues.apache.org/jira/browse/CB-9787) - [CDVStartPageTest testParametersInStartPage] unit-test failure (improved fix)
+* [CB-9787](https://issues.apache.org/jira/browse/CB-9787) - [CDVStartPageTest testParametersInStartPage] unit-test failure
+* [CB-9754](https://issues.apache.org/jira/browse/CB-9754) Icon and launch image warnings
+* [CB-9719](https://issues.apache.org/jira/browse/CB-9719) set allow_non_modular_includes to yes
+* [CB-8789](https://issues.apache.org/jira/browse/CB-8789) - This closes #148
+* [CB-9685](https://issues.apache.org/jira/browse/CB-9685) A fix for the magnifying glass popping up on iOS9 when longpressing the webview
+* [CB-9552](https://issues.apache.org/jira/browse/CB-9552) Updating linked platform removes original files
+* [CB-6992](https://issues.apache.org/jira/browse/CB-6992) - can't deploy app if display name contains unicode characters
+* [CB-9726](https://issues.apache.org/jira/browse/CB-9726) - Update minimum Deployment Target to iOS 8.0
+* [CB-9679](https://issues.apache.org/jira/browse/CB-9679) - Resource rules issue with iOS 9
+* [CB-9721](https://issues.apache.org/jira/browse/CB-9721) Set ENABLE_BITCODE to NO in build.xcconfig
+* [CB-9698](https://issues.apache.org/jira/browse/CB-9698) Add rsync error handling in ios copy-www-build-step.js
+* [CB-9671](https://issues.apache.org/jira/browse/CB-9671) - Remove installation of ios-sim from travis.yml
+* [CB-9693](https://issues.apache.org/jira/browse/CB-9693) Fix www copy with spaces in project name
+* [CB-9690](https://issues.apache.org/jira/browse/CB-9690) Can't submit iPad apps to the App Store for iOS 9
+* [CB-9328](https://issues.apache.org/jira/browse/CB-9328) Use ios-sim as a node module, not a CLI utility
+* [CB-9558](https://issues.apache.org/jira/browse/CB-9558) - Add blob: to allowedSchemes used by CDVUIWebViewDelegate::shouldLoadRequest (closes #163)
+* [CB-9558](https://issues.apache.org/jira/browse/CB-9558) - Blob schemes won't load in iframes
+* [CB-9667](https://issues.apache.org/jira/browse/CB-9667) - create tests failing in cordova-ios 4.x (related to [CB-8789](https://issues.apache.org/jira/browse/CB-8789) pull request that didn't test for projects with spaces in the name)
+* [CB-9650](https://issues.apache.org/jira/browse/CB-9650) - Update API compatibility doc in cordova-ios for AppDelegate.m template change
+* [CB-9638](https://issues.apache.org/jira/browse/CB-9638) - Cordova/NSData+Base64.h missing from cordova-ios 4.x
+* [CB-8789](https://issues.apache.org/jira/browse/CB-8789) - Support Asset Catalog for App icons and splashscreens
+* [CB-8789](https://issues.apache.org/jira/browse/CB-8789) Asset Catalog support
+* [CB-9642](https://issues.apache.org/jira/browse/CB-9642) - Integrate 3.9.0, 3.9.1, 3.9.2 version updates in CDVAvailability.h into master
+* [CB-9261](https://issues.apache.org/jira/browse/CB-9261) - localizations broken in Xcode template
+* [CB-9261](https://issues.apache.org/jira/browse/CB-9261) - localizations broken in Xcode template
+* [CB-9656](https://issues.apache.org/jira/browse/CB-9656) - Xcode can't find CDVViewController.h when archiving in Xcode 7.1 beta
+* [CB-9254](https://issues.apache.org/jira/browse/CB-9254) - update_cordova_subproject command for cordova-ios 4.0.0-dev results in a build error
+* [CB-9636](https://issues.apache.org/jira/browse/CB-9636) - only load a WebView engine if the url to load passes the engine's canLoadRequest filter
+* [CB-9610](https://issues.apache.org/jira/browse/CB-9610) Fix warning in cordova-ios under Xcode 7
+* [CB-9613](https://issues.apache.org/jira/browse/CB-9613) - CDVWhitelist::matches crashes when there is no hostname in a URL
+* [CB-9485](https://issues.apache.org/jira/browse/CB-9485) Use absoluteString method of NSURL
+* [CB-8365](https://issues.apache.org/jira/browse/CB-8365) Add NSInteger, NSUInteger factory methods to CDVPluginResult
+* [CB-9266](https://issues.apache.org/jira/browse/CB-9266) "cordova run" for iOS does not see non-running emulators
+* [CB-9462](https://issues.apache.org/jira/browse/CB-9462) iOS 3.9.0 breaks npm link modules
+* [CB-9463](https://issues.apache.org/jira/browse/CB-9463) updated RELEASENOTES
+* [CB-9453](https://issues.apache.org/jira/browse/CB-9453) Updating to iOS@3.9.0 not building
+* [CB-9406](https://issues.apache.org/jira/browse/CB-9406) updated RELEASENOTES
+* [CB-9273](https://issues.apache.org/jira/browse/CB-9273) "Copy www build phase" node is not found
+* [CB-9266](https://issues.apache.org/jira/browse/CB-9266) - changed target default to iPhone-5s in the interim
+* [CB-9266](https://issues.apache.org/jira/browse/CB-9266) - changed target default to iPhone-5 in the interim
+* [CB-8197](https://issues.apache.org/jira/browse/CB-8197) Switch to nodejs for ios platform scripts
+* [CB-9203](https://issues.apache.org/jira/browse/CB-9203) - iOS unit-tests should use tmp instead of same folder
+* [CB-8468](https://issues.apache.org/jira/browse/CB-8468) - Application freezes if breakpoint hits JavaScript callback invoked from native
+* [CB-8812](https://issues.apache.org/jira/browse/CB-8812) - moved system schemes handler into its own plugin (CDVSystemSchemes)
+* [CB-8812](https://issues.apache.org/jira/browse/CB-8812) - protocol hander raises error on second firing
+* [CB-9050](https://issues.apache.org/jira/browse/CB-9050) - cordova run --list does not show that you have an outdated ios-sim
+* [CB-8730](https://issues.apache.org/jira/browse/CB-8730) - Can't deploy to device
+* [CB-8788](https://issues.apache.org/jira/browse/CB-8788) - Drop armv7s from default iOS Cordova build to align with Xcode 6
+* [CB-9046](https://issues.apache.org/jira/browse/CB-9046) - cordova run ios --emulator --target "iPhone-5, 7.1" (target with runtime) does not work
+* [CB-8906](https://issues.apache.org/jira/browse/CB-8906) - cordova run ios --target doesn't work
 * Incremented ios-sim version to 4.0.0
 * Incremented ios-deploy version to 1.7.0
 * Incremented xcodebuild version to 6.0.0
-* CB-8895 - Change CDVStartPageTests::testParametersInStartPage into an async test
-* CB-8047 - [WKWebView][iOS8] wkwebview / local webserver plugin orientation issue
-* CB-8838 - Moved commandQueue push into non-WK_WEBVIEW_BINDING branch. (closes #136)
-* CB-8868 - ios 4.0.x cannot archive
-* CB-7767 - Removed NSData+Base64 files, updated unit tests.
-* CB-8710 - cordova-ios jasmine tests do not clean up build products, tests can only be run once
-* CB-7767 - Remove usage of NSData+Base64
-* CB-8709 - Remove usage of obsolete CDVLocalStorage fix in CDVViewController.m (plus style fix-ups)
-* CB-8270 - Update Objective-C unit tests for JSON serialization. Cleaned up unit test workspace as well.
-* CB-8690 -  Exported headers were not in Public section, but Project. Moved.
-* CB-8690 - Group files into folders in CordovaLib/Classes
-* CB-8697 - Remove obsolete "merges" folder reference in default template(s)
-* CB-5520 - Remove all frameworks specified in the templates. Rely on implicit Clang Module loading.
-* CB-5520 - Removed most Build Settings from .pbxproj to .xcconfig
-* CB-5520 - Added cordova/build*.xcconfig support in the default template (IDE use)
-* CB-8678 - Mismatched case typo in startup plugin name in config.xml
-* CB-7428: Add bridging header.  Make sure all deployment targets are 7.0 Add swift runtime to search path (closes #133)
-* CB-7826 - Add CDVPlugin support for getting items from plugin resource bundles
-* CB-8640 - Template-ize CDVAvailability.h for coho release tool
-* CB-8678 - Included core plugins should be added through configuration, not code
-* CB-8643 - Drop iOS 6 support, minimum iOS 7
-* CB-8677 - Remove conditional IsAtLeastIosVersion code (plus style fix-ups)
+* [CB-8895](https://issues.apache.org/jira/browse/CB-8895) - Change CDVStartPageTests::testParametersInStartPage into an async test
+* [CB-8047](https://issues.apache.org/jira/browse/CB-8047) - [WKWebView][iOS8] wkwebview / local webserver plugin orientation issue
+* [CB-8838](https://issues.apache.org/jira/browse/CB-8838) - Moved commandQueue push into non-WK_WEBVIEW_BINDING branch. (closes #136)
+* [CB-8868](https://issues.apache.org/jira/browse/CB-8868) - ios 4.0.x cannot archive
+* [CB-7767](https://issues.apache.org/jira/browse/CB-7767) - Removed NSData+Base64 files, updated unit tests.
+* [CB-8710](https://issues.apache.org/jira/browse/CB-8710) - cordova-ios jasmine tests do not clean up build products, tests can only be run once
+* [CB-7767](https://issues.apache.org/jira/browse/CB-7767) - Remove usage of NSData+Base64
+* [CB-8709](https://issues.apache.org/jira/browse/CB-8709) - Remove usage of obsolete CDVLocalStorage fix in CDVViewController.m (plus style fix-ups)
+* [CB-8270](https://issues.apache.org/jira/browse/CB-8270) - Update Objective-C unit tests for JSON serialization. Cleaned up unit test workspace as well.
+* [CB-8690](https://issues.apache.org/jira/browse/CB-8690) -  Exported headers were not in Public section, but Project. Moved.
+* [CB-8690](https://issues.apache.org/jira/browse/CB-8690) - Group files into folders in CordovaLib/Classes
+* [CB-8697](https://issues.apache.org/jira/browse/CB-8697) - Remove obsolete "merges" folder reference in default template(s)
+* [CB-5520](https://issues.apache.org/jira/browse/CB-5520) - Remove all frameworks specified in the templates. Rely on implicit Clang Module loading.
+* [CB-5520](https://issues.apache.org/jira/browse/CB-5520) - Removed most Build Settings from .pbxproj to .xcconfig
+* [CB-5520](https://issues.apache.org/jira/browse/CB-5520) - Added cordova/build*.xcconfig support in the default template (IDE use)
+* [CB-8678](https://issues.apache.org/jira/browse/CB-8678) - Mismatched case typo in startup plugin name in config.xml
+* [CB-7428](https://issues.apache.org/jira/browse/CB-7428) Add bridging header.  Make sure all deployment targets are 7.0 Add swift runtime to search path (closes #133)
+* [CB-7826](https://issues.apache.org/jira/browse/CB-7826) - Add CDVPlugin support for getting items from plugin resource bundles
+* [CB-8640](https://issues.apache.org/jira/browse/CB-8640) - Template-ize CDVAvailability.h for coho release tool
+* [CB-8678](https://issues.apache.org/jira/browse/CB-8678) - Included core plugins should be added through configuration, not code
+* [CB-8643](https://issues.apache.org/jira/browse/CB-8643) - Drop iOS 6 support, minimum iOS 7
+* [CB-8677](https://issues.apache.org/jira/browse/CB-8677) - Remove conditional IsAtLeastIosVersion code (plus style fix-ups)
 * Update version to 4.0.0 in CDVAvailability.h
-* CB-8556 - handleOpenURL functionality to be removed to a plugin
-* CB-8474 - Remove local/remote push notification delegates from CDVAppDelegate
-* CB-8464 - Remove non-ARC code in AppDelegate
-* CB-8473 - Remove AppDelegate code from template (includes uncrustify style fix-ups)
-* CB-8664 - Make CDVPlugin initializer private
-* CB-7753 - Remove CDV_IsIPad and CDV_IsIPhone5 macros in CDVAvailabiltyDeprecated.h
-* CB-7000 - Remove deprecated CDVPlugin and CDVPluginResult methods
+* [CB-8556](https://issues.apache.org/jira/browse/CB-8556) - handleOpenURL functionality to be removed to a plugin
+* [CB-8474](https://issues.apache.org/jira/browse/CB-8474) - Remove local/remote push notification delegates from CDVAppDelegate
+* [CB-8464](https://issues.apache.org/jira/browse/CB-8464) - Remove non-ARC code in AppDelegate
+* [CB-8473](https://issues.apache.org/jira/browse/CB-8473) - Remove AppDelegate code from template (includes uncrustify style fix-ups)
+* [CB-8664](https://issues.apache.org/jira/browse/CB-8664) - Make CDVPlugin initializer private
+* [CB-7753](https://issues.apache.org/jira/browse/CB-7753) - Remove CDV_IsIPad and CDV_IsIPhone5 macros in CDVAvailabiltyDeprecated.h
+* [CB-7000](https://issues.apache.org/jira/browse/CB-7000) - Remove deprecated CDVPlugin and CDVPluginResult methods
 * Make webView property dynamic in CDVViewController and CDVPlugin (from CDVWebViewEngineProtocol reference). Added scrollView category to UIView for backwards compatibility reasons.
-* CB-8032 - Added a typedef for block definition.
-* CB-8032 - Add new property in CDVCommandDelegate (urlTransformer), plus style fixups.
-* CB-6884 - Support new Cordova bridge under iOS 8 WKWebView (typo fix)
-* CB-7184 - Implement support for mediaPlaybackAllowsAirPlay in UIWebView and WKWebView
-* CB-7047 - typo fix
-* CB-7047 - Support config.xml preferences for WKWebView
-* CB-7182 - Running mobile-spec in an iOS 8 project but using UIWebView results in an exception
-* CB-6884 - Support new Cordova bridge under iOS 8 WKWebView (typo fix)
-* CB-7047 - Support config.xml preferences for WKWebView
-* CB-7182 - Running mobile-spec in an iOS 8 project but using UIWebView results in an exception
+* [CB-8032](https://issues.apache.org/jira/browse/CB-8032) - Added a typedef for block definition.
+* [CB-8032](https://issues.apache.org/jira/browse/CB-8032) - Add new property in CDVCommandDelegate (urlTransformer), plus style fixups.
+* [CB-6884](https://issues.apache.org/jira/browse/CB-6884) - Support new Cordova bridge under iOS 8 WKWebView (typo fix)
+* [CB-7184](https://issues.apache.org/jira/browse/CB-7184) - Implement support for mediaPlaybackAllowsAirPlay in UIWebView and WKWebView
+* [CB-7047](https://issues.apache.org/jira/browse/CB-7047) - typo fix
+* [CB-7047](https://issues.apache.org/jira/browse/CB-7047) - Support config.xml preferences for WKWebView
+* [CB-7182](https://issues.apache.org/jira/browse/CB-7182) - Running mobile-spec in an iOS 8 project but using UIWebView results in an exception
+* [CB-6884](https://issues.apache.org/jira/browse/CB-6884) - Support new Cordova bridge under iOS 8 WKWebView (typo fix)
+* [CB-7047](https://issues.apache.org/jira/browse/CB-7047) - Support config.xml preferences for WKWebView
+* [CB-7182](https://issues.apache.org/jira/browse/CB-7182) - Running mobile-spec in an iOS 8 project but using UIWebView results in an exception
 * Split into Public and Private headers more clearly. Delete most deprectated symbols.
 
 ### 3.9.2 (Oct 30, 2015)
 
 * Adds deprecation warnings for upcoming 4.0.0 release
-* CB-9721 Set ENABLE_BITCODE to NO in build.xcconfig
+* [CB-9721](https://issues.apache.org/jira/browse/CB-9721) Set ENABLE_BITCODE to NO in build.xcconfig
 * Enable NSAllowsArbitraryLoads by default
-* CB-9679 Resource rules issue with iOS 9
-* CB-9656 Xcode can't find CDVViewController.h when archiving in Xcode 7.1 beta
-* CB-9610 Fix warning in cordova-ios under Xcode 7
-* CB-9690 Can't submit iPad apps to the App Store for iOS 9
-* CB-9046 cordova run ios --emulator --target "iPhone-5, 7.1" (target with runtime) does not work
+* [CB-9679](https://issues.apache.org/jira/browse/CB-9679) Resource rules issue with iOS 9
+* [CB-9656](https://issues.apache.org/jira/browse/CB-9656) Xcode can't find CDVViewController.h when archiving in Xcode 7.1 beta
+* [CB-9610](https://issues.apache.org/jira/browse/CB-9610) Fix warning in cordova-ios under Xcode 7
+* [CB-9690](https://issues.apache.org/jira/browse/CB-9690) Can't submit iPad apps to the App Store for iOS 9
+* [CB-9046](https://issues.apache.org/jira/browse/CB-9046) cordova run ios --emulator --target "iPhone-5, 7.1" (target with runtime) does not work
 * Blob schemes won't load in iframes
 
 ### 3.9.1 (20150805) ###
 
-* CB-9453 Fixed Updating to iOS@3.9.0 not building 
+* [CB-9453](https://issues.apache.org/jira/browse/CB-9453) Fixed Updating to iOS@3.9.0 not building 
 
 ### 3.9.0 (20150728) ###
 
-* CB-8586 Update ios-deploy minimum version to 1.4.0
-* CB-8485 Support for signed archive for iOS
-* CB-8197 Switch to nodejs for ios platform scripts
-* CB-7747 Update project template with new whitelist settings
-* CB-8954 Adds `requirements` command support to check_reqs module
-* CB-8907 Cordova ios emulate --list it shows duplicates when ios simulators are present for 7.x and 8.x
-* CB-9013 Fix listing of multiple devices in list-devices for iOS
-* CB-3360 Set custom User-Agent
-* CB-8710 Cordova-ios jasmine tests do not clean up build products, tests can only be run once
-* CB-8785 Add try/catch for evalJS
-* CB-8948 Clipboard fix for iOS Safari copy
-* CB-8855 Fix display ios devices with --list
-* CB-8295 Update app template with fix to CSP string
-* CB-8965 Copy cordova-js-src directory to platform folder during create
-* CB-9273 "Copy www build phase" node is not found
-* CB-9088 Sms urls won't open in iframe
-* CB-8621 Fix Q require in list-devices (Q -> q)
+* [CB-8586](https://issues.apache.org/jira/browse/CB-8586) Update ios-deploy minimum version to 1.4.0
+* [CB-8485](https://issues.apache.org/jira/browse/CB-8485) Support for signed archive for iOS
+* [CB-8197](https://issues.apache.org/jira/browse/CB-8197) Switch to nodejs for ios platform scripts
+* [CB-7747](https://issues.apache.org/jira/browse/CB-7747) Update project template with new whitelist settings
+* [CB-8954](https://issues.apache.org/jira/browse/CB-8954) Adds `requirements` command support to check_reqs module
+* [CB-8907](https://issues.apache.org/jira/browse/CB-8907) Cordova ios emulate --list it shows duplicates when ios simulators are present for 7.x and 8.x
+* [CB-9013](https://issues.apache.org/jira/browse/CB-9013) Fix listing of multiple devices in list-devices for iOS
+* [CB-3360](https://issues.apache.org/jira/browse/CB-3360) Set custom User-Agent
+* [CB-8710](https://issues.apache.org/jira/browse/CB-8710) Cordova-ios jasmine tests do not clean up build products, tests can only be run once
+* [CB-8785](https://issues.apache.org/jira/browse/CB-8785) Add try/catch for evalJS
+* [CB-8948](https://issues.apache.org/jira/browse/CB-8948) Clipboard fix for iOS Safari copy
+* [CB-8855](https://issues.apache.org/jira/browse/CB-8855) Fix display ios devices with --list
+* [CB-8295](https://issues.apache.org/jira/browse/CB-8295) Update app template with fix to CSP string
+* [CB-8965](https://issues.apache.org/jira/browse/CB-8965) Copy cordova-js-src directory to platform folder during create
+* [CB-9273](https://issues.apache.org/jira/browse/CB-9273) "Copy www build phase" node is not found
+* [CB-9088](https://issues.apache.org/jira/browse/CB-9088) Sms urls won't open in iframe
+* [CB-8621](https://issues.apache.org/jira/browse/CB-8621) Fix Q require in list-devices (Q -> q)
 
 ### 3.8.0 (201502XX) ###
 
-* CB-8436 Remove more bad quotes from build command
-* CB-8436 Remove unneeded "" when composing xcodebuild arguments (closes #130)
-* CB-8084 Allow for a way to disable push notification delegate methods (through xcconfig). Style fixup using uncrustify.
-* CB-7606 handleOpenURL not working correctly on cold start (handler not evaluated yet) and warm start
-* CB-8435 Enable jshint for iOS platform
-* CB-8417 moved platform specific js into platform
-* CB-8336 Remove plugin prefs from iOS defaults.xml
-* CB-8254 Enable use of .xcconfig when building for emulator
-* CB-8351 Deprecate all non-prefixed class extensions
-* CB-8358 Make --link an alias for --shared plus some code simplification.
-* CB-8197 Convert all bash scripts to node.js (closes #126)
-* CB-8314 Speed up Travis CI (close #125)
-* CB-8036 Don't exclude bin/node_modules from npm pack (via .gitignore)
-* CB-7872 Fix CODE_SIGN_RESOURCE_RULES_PATH being set wrong in xcconfig (closes #120)
-* CB-8168 `cordova/run --list` support for iOS (closes #122)
-* CB-8044 support for --nobuild flag in run script
-* CB-6637 Removed - request:isFragmentIdentifierToRequest: deprecated method in CDVWebViewDelegate (closes #121)
-* CB-8002 (CB-7735) Update cordova.js to include bridge fix
-* CB-5706 convert some of the bash scripts to nodejs (closes #118)
-* CB-8506 Use npm version of uncrustify in cordova-ios (devDependency only)
+* [CB-8436](https://issues.apache.org/jira/browse/CB-8436) Remove more bad quotes from build command
+* [CB-8436](https://issues.apache.org/jira/browse/CB-8436) Remove unneeded "" when composing xcodebuild arguments (closes #130)
+* [CB-8084](https://issues.apache.org/jira/browse/CB-8084) Allow for a way to disable push notification delegate methods (through xcconfig). Style fixup using uncrustify.
+* [CB-7606](https://issues.apache.org/jira/browse/CB-7606) handleOpenURL not working correctly on cold start (handler not evaluated yet) and warm start
+* [CB-8435](https://issues.apache.org/jira/browse/CB-8435) Enable jshint for iOS platform
+* [CB-8417](https://issues.apache.org/jira/browse/CB-8417) moved platform specific js into platform
+* [CB-8336](https://issues.apache.org/jira/browse/CB-8336) Remove plugin prefs from iOS defaults.xml
+* [CB-8254](https://issues.apache.org/jira/browse/CB-8254) Enable use of .xcconfig when building for emulator
+* [CB-8351](https://issues.apache.org/jira/browse/CB-8351) Deprecate all non-prefixed class extensions
+* [CB-8358](https://issues.apache.org/jira/browse/CB-8358) Make --link an alias for --shared plus some code simplification.
+* [CB-8197](https://issues.apache.org/jira/browse/CB-8197) Convert all bash scripts to node.js (closes #126)
+* [CB-8314](https://issues.apache.org/jira/browse/CB-8314) Speed up Travis CI (close #125)
+* [CB-8036](https://issues.apache.org/jira/browse/CB-8036) Don't exclude bin/node_modules from npm pack (via .gitignore)
+* [CB-7872](https://issues.apache.org/jira/browse/CB-7872) Fix CODE_SIGN_RESOURCE_RULES_PATH being set wrong in xcconfig (closes #120)
+* [CB-8168](https://issues.apache.org/jira/browse/CB-8168) `cordova/run --list` support for iOS (closes #122)
+* [CB-8044](https://issues.apache.org/jira/browse/CB-8044) support for --nobuild flag in run script
+* [CB-6637](https://issues.apache.org/jira/browse/CB-6637) Removed - request:isFragmentIdentifierToRequest: deprecated method in CDVWebViewDelegate (closes #121)
+* [CB-8002](https://issues.apache.org/jira/browse/CB-8002) (CB-7735) Update cordova.js to include bridge fix
+* [CB-5706](https://issues.apache.org/jira/browse/CB-5706) convert some of the bash scripts to nodejs (closes #118)
+* [CB-8506](https://issues.apache.org/jira/browse/CB-8506) Use npm version of uncrustify in cordova-ios (devDependency only)
 * Have CordovaLib classes import CDVJSON_private.h rather than CDVJSON.h
 * Trim down checked-in node_module files to minimal set
 
 ### 3.7.0 (20141106) ###
 
-* CB-7882 - viewDidUnload instance method is missing [super viewDidUnload] call
-* CB-7872 - XCode 6.1's xcrun PackageApplication fails at packaging / resigning Cordova applications (closes #115)
-* CB-6510 - Support for ErrorUrl preference on iOS
-* CB-7857 - Load appURL after plugins have loaded
-* CB-7606 - handleOpenURL handler firing more than necessary
-* CB-7597 - Localizable.strings for Media Capture are in the default template, it should be in the plugin
-* CB-7818 - CLI builds ignore Distribution certificates (closes #114)
-* CB-7729 - Support ios-sim 3.0 (Xcode 6) and new targets (iPhone 6/6+) (closes #107)
-* CB-7813 - Added unit test
-* CB-7813 - CDVWebViewDelegate fails to update the webview state properly in iOS
-* CB-7812 - cordova-ios xcode unit-tests are failing from npm test, in Xcode it is fine
-* CB-7643 - made isValidCallbackId threadsafe
-* CB-7735 - Update cordova.js snapshot with the bridge fix
-* CB-2520 - built interim js from cordova-js for custom user agent support
-* CB-2520 - iOS - "original" user agent needs to be overridable (closes #112)
-* CB-7777 - In AppDelegate, before calling handleOpenURL check whether it exists first to prevent exceptions (closes #109)
-* CB-7775 - Add component.json for component and duo package managers (closes #102)
-* CB-7493 - Add e2e test for 'space-in-path' and 'unicode in path/name' for core platforms (moved from root folder).
-* CB-7493 - Adds test-build command to package.json
-* CB-7630 - Deprecate CDV_IsIPhone5 and CDV_IsIPad macro in CDVAvailability.h
-* CB-7727 - add resolution part to 'backup to icloud' warning message
-* CB-7627 - Remove duplicate reference to the same libCordova.a.
-* CB-7648 - [iOS 8] Add iPhone 6 Plus icon to default template
-* CB-7632 - [iOS 8] Add launch image definitions to Info.plist
-* CB-7631 - CDVUrlProtocol - the iOS 8 NSHttpUrlResponse is not initialized with the statuscode
-* CB-7596 - [iOS 8] CDV_IsIPhone5() Macro needs to be updated because screen size is now orientation dependent
-* CB-7560 - Tel and Mailto links don't work in iframe
-* CB-7450 - Fix deprecations in cordova-ios unit tests
-* CB-7546 - [Contacts][iOS] Prevent exception when index is out of range
-* CB-7450 - Fix deprecations in cordova-ios unit tests (interim checkin)
-* CB-7502 - iOS default template is missing CFBundleShortVersionString key in Info.plist, prevents iTunes Connect submission
+* [CB-7882](https://issues.apache.org/jira/browse/CB-7882) - viewDidUnload instance method is missing [super viewDidUnload] call
+* [CB-7872](https://issues.apache.org/jira/browse/CB-7872) - XCode 6.1's xcrun PackageApplication fails at packaging / resigning Cordova applications (closes #115)
+* [CB-6510](https://issues.apache.org/jira/browse/CB-6510) - Support for ErrorUrl preference on iOS
+* [CB-7857](https://issues.apache.org/jira/browse/CB-7857) - Load appURL after plugins have loaded
+* [CB-7606](https://issues.apache.org/jira/browse/CB-7606) - handleOpenURL handler firing more than necessary
+* [CB-7597](https://issues.apache.org/jira/browse/CB-7597) - Localizable.strings for Media Capture are in the default template, it should be in the plugin
+* [CB-7818](https://issues.apache.org/jira/browse/CB-7818) - CLI builds ignore Distribution certificates (closes #114)
+* [CB-7729](https://issues.apache.org/jira/browse/CB-7729) - Support ios-sim 3.0 (Xcode 6) and new targets (iPhone 6/6+) (closes #107)
+* [CB-7813](https://issues.apache.org/jira/browse/CB-7813) - Added unit test
+* [CB-7813](https://issues.apache.org/jira/browse/CB-7813) - CDVWebViewDelegate fails to update the webview state properly in iOS
+* [CB-7812](https://issues.apache.org/jira/browse/CB-7812) - cordova-ios xcode unit-tests are failing from npm test, in Xcode it is fine
+* [CB-7643](https://issues.apache.org/jira/browse/CB-7643) - made isValidCallbackId threadsafe
+* [CB-7735](https://issues.apache.org/jira/browse/CB-7735) - Update cordova.js snapshot with the bridge fix
+* [CB-2520](https://issues.apache.org/jira/browse/CB-2520) - built interim js from cordova-js for custom user agent support
+* [CB-2520](https://issues.apache.org/jira/browse/CB-2520) - iOS - "original" user agent needs to be overridable (closes #112)
+* [CB-7777](https://issues.apache.org/jira/browse/CB-7777) - In AppDelegate, before calling handleOpenURL check whether it exists first to prevent exceptions (closes #109)
+* [CB-7775](https://issues.apache.org/jira/browse/CB-7775) - Add component.json for component and duo package managers (closes #102)
+* [CB-7493](https://issues.apache.org/jira/browse/CB-7493) - Add e2e test for 'space-in-path' and 'unicode in path/name' for core platforms (moved from root folder).
+* [CB-7493](https://issues.apache.org/jira/browse/CB-7493) - Adds test-build command to package.json
+* [CB-7630](https://issues.apache.org/jira/browse/CB-7630) - Deprecate CDV_IsIPhone5 and CDV_IsIPad macro in CDVAvailability.h
+* [CB-7727](https://issues.apache.org/jira/browse/CB-7727) - add resolution part to 'backup to icloud' warning message
+* [CB-7627](https://issues.apache.org/jira/browse/CB-7627) - Remove duplicate reference to the same libCordova.a.
+* [CB-7648](https://issues.apache.org/jira/browse/CB-7648) - [iOS 8] Add iPhone 6 Plus icon to default template
+* [CB-7632](https://issues.apache.org/jira/browse/CB-7632) - [iOS 8] Add launch image definitions to Info.plist
+* [CB-7631](https://issues.apache.org/jira/browse/CB-7631) - CDVUrlProtocol - the iOS 8 NSHttpUrlResponse is not initialized with the statuscode
+* [CB-7596](https://issues.apache.org/jira/browse/CB-7596) - [iOS 8] CDV_IsIPhone5() Macro needs to be updated because screen size is now orientation dependent
+* [CB-7560](https://issues.apache.org/jira/browse/CB-7560) - Tel and Mailto links don't work in iframe
+* [CB-7450](https://issues.apache.org/jira/browse/CB-7450) - Fix deprecations in cordova-ios unit tests
+* [CB-7546](https://issues.apache.org/jira/browse/CB-7546) - [Contacts][iOS] Prevent exception when index is out of range
+* [CB-7450](https://issues.apache.org/jira/browse/CB-7450) - Fix deprecations in cordova-ios unit tests (interim checkin)
+* [CB-7502](https://issues.apache.org/jira/browse/CB-7502) - iOS default template is missing CFBundleShortVersionString key in Info.plist, prevents iTunes Connect submission
 * Changed CordovaLibTests to run in a xcworkspace, and runnable from the command line
 * Move CordovaLibTests into tests/
 * Add ios-sim version check (3.0) to cordova/lib/list-emulator-images
@@ -305,54 +328,54 @@ Cordova is a static library that enables developers to include the Cordova API i
 ### 3.6.3 (20140908) ###
 
 * Updated default template.
-* CB-7432 - iOS - Version script should be updated by coho at release time
-* CB-5535 - ignore unused arguments in bin/create (e.g --arc), remove --arc references in bin/create
-* CB-6897 - nil callbackId in isValidCallbackId() causes regex match to throw exception
-* CB-6897 - Added unit test
-* CB-7169 Fix __PROECT_NAME__ replacing code in create script
+* [CB-7432](https://issues.apache.org/jira/browse/CB-7432) - iOS - Version script should be updated by coho at release time
+* [CB-5535](https://issues.apache.org/jira/browse/CB-5535) - ignore unused arguments in bin/create (e.g --arc), remove --arc references in bin/create
+* [CB-6897](https://issues.apache.org/jira/browse/CB-6897) - nil callbackId in isValidCallbackId() causes regex match to throw exception
+* [CB-6897](https://issues.apache.org/jira/browse/CB-6897) - Added unit test
+* [CB-7169](https://issues.apache.org/jira/browse/CB-7169) Fix __PROECT_NAME__ replacing code in create script
 * Remove trailing whitespace from project template's .plist, .pch
-* CB-7187 Delete CDVShared.m & remove dependency on CoreLocation
+* [CB-7187](https://issues.apache.org/jira/browse/CB-7187) Delete CDVShared.m & remove dependency on CoreLocation
 * Fix warning in MainViewController.m (spurious semi-colon)
-* CB-7162 - cordova-ios pre-commit hook can't find uncrustify in path in Git GUI apps
-* CB-7134 - Deprecate CDVPluginResult methods
-* CB-7043 - property "statusCode" of CDVHTTPURLResponse conflicts with superclass property statusCode of NSHTTPURLResponse
-* CB-6165 - Removing the "OK" String from success callback
+* [CB-7162](https://issues.apache.org/jira/browse/CB-7162) - cordova-ios pre-commit hook can't find uncrustify in path in Git GUI apps
+* [CB-7134](https://issues.apache.org/jira/browse/CB-7134) - Deprecate CDVPluginResult methods
+* [CB-7043](https://issues.apache.org/jira/browse/CB-7043) - property "statusCode" of CDVHTTPURLResponse conflicts with superclass property statusCode of NSHTTPURLResponse
+* [CB-6165](https://issues.apache.org/jira/browse/CB-6165) - Removing the "OK" String from success callback
 * Update version of NSData+Base64 to get a more normal license on it
 * Minor uncrustification of a few files
 * Update LICENSE to include shelljs's license
 * Remove LICENSE entries for files that we no longer use
-* CB-6579 - update deprecation to use CDV_DEPRECATED macro
-* CB-6998 - Remove CDVCommandDelegate::execute deprecated call (deprecated since 2.2)
-* CB-6997 - Deprecate obsolete CDVPlugin methods
+* [CB-6579](https://issues.apache.org/jira/browse/CB-6579) - update deprecation to use CDV_DEPRECATED macro
+* [CB-6998](https://issues.apache.org/jira/browse/CB-6998) - Remove CDVCommandDelegate::execute deprecated call (deprecated since 2.2)
+* [CB-6997](https://issues.apache.org/jira/browse/CB-6997) - Deprecate obsolete CDVPlugin methods
 * Fix minor grammar in CDVLocalStorage iCloud warning.
-* CB-6785 - Add license to CONTRIBUTING.md
-* CB-6729 - Update printDeprecationNotice to new name, and new warning for iOS < 6.0
-* CB-5651 - [iOS] make visible the version of the Cordova native lib
+* [CB-6785](https://issues.apache.org/jira/browse/CB-6785) - Add license to CONTRIBUTING.md
+* [CB-6729](https://issues.apache.org/jira/browse/CB-6729) - Update printDeprecationNotice to new name, and new warning for iOS < 6.0
+* [CB-5651](https://issues.apache.org/jira/browse/CB-5651) - [iOS] make visible the version of the Cordova native lib
 
 
 ### 3.5.0 (20140522) ###
 
-* CB-6638 - Convert CordovaLibTests to XCTests
-* CB-6579 - CDVWebViewDelegateTests are failing
-* CB-6580 - CDVWhitelistTests are failing
-* CB-6578 - Fix CordovaLibTests not building
-* CB-6553: added top-level package.json file
-* CB-6491 add CONTRIBUTING.md
-* CB-6500 - Cordova requires arm64 architecture.
-* CB-6383 Fix copy-www-build-step.sh when user has macports installed
-* CB-6327: Allow '.' in plugin feature names (and therefore callback ids)
-* CB-6287 - Add build script support for arm64
-* CB-6340 - Adding rebroadcast capabilities to remote notification registration within AppDelegate (closes #94)
-* CB-6217 iOS simulator targets not consistent across scripts
-* CB-5286 - Fix warnings when compiled under arm64
-* CB-4863 - Drop iOS 5.0 support, and support arm64 (closes #90)
-* CB-6149 - AppDelegate uses deprecated handleOpenURL
-* CB-6150 - objc_msgSend causes EXC_BAD_ACCESS with plugins on arm64
-* CB-5018 - bin/create on iOS should use --arc by default
-* CB-5943 - Update/remove obsolete items in cordova-ios repo
-* CB-5395: Make scheme and host (but not path) case-insensitive in whitelist
-* CB-5991: Fix whitelist path matching for trailing slashes
-* CB-5967 Fix isTopLevelNavigation not being set correctly in rare cases.
+* [CB-6638](https://issues.apache.org/jira/browse/CB-6638) - Convert CordovaLibTests to XCTests
+* [CB-6579](https://issues.apache.org/jira/browse/CB-6579) - CDVWebViewDelegateTests are failing
+* [CB-6580](https://issues.apache.org/jira/browse/CB-6580) - CDVWhitelistTests are failing
+* [CB-6578](https://issues.apache.org/jira/browse/CB-6578) - Fix CordovaLibTests not building
+* [CB-6553](https://issues.apache.org/jira/browse/CB-6553) added top-level package.json file
+* [CB-6491](https://issues.apache.org/jira/browse/CB-6491) add CONTRIBUTING.md
+* [CB-6500](https://issues.apache.org/jira/browse/CB-6500) - Cordova requires arm64 architecture.
+* [CB-6383](https://issues.apache.org/jira/browse/CB-6383) Fix copy-www-build-step.sh when user has macports installed
+* [CB-6327](https://issues.apache.org/jira/browse/CB-6327) Allow '.' in plugin feature names (and therefore callback ids)
+* [CB-6287](https://issues.apache.org/jira/browse/CB-6287) - Add build script support for arm64
+* [CB-6340](https://issues.apache.org/jira/browse/CB-6340) - Adding rebroadcast capabilities to remote notification registration within AppDelegate (closes #94)
+* [CB-6217](https://issues.apache.org/jira/browse/CB-6217) iOS simulator targets not consistent across scripts
+* [CB-5286](https://issues.apache.org/jira/browse/CB-5286) - Fix warnings when compiled under arm64
+* [CB-4863](https://issues.apache.org/jira/browse/CB-4863) - Drop iOS 5.0 support, and support arm64 (closes #90)
+* [CB-6149](https://issues.apache.org/jira/browse/CB-6149) - AppDelegate uses deprecated handleOpenURL
+* [CB-6150](https://issues.apache.org/jira/browse/CB-6150) - objc_msgSend causes EXC_BAD_ACCESS with plugins on arm64
+* [CB-5018](https://issues.apache.org/jira/browse/CB-5018) - bin/create on iOS should use --arc by default
+* [CB-5943](https://issues.apache.org/jira/browse/CB-5943) - Update/remove obsolete items in cordova-ios repo
+* [CB-5395](https://issues.apache.org/jira/browse/CB-5395) Make scheme and host (but not path) case-insensitive in whitelist
+* [CB-5991](https://issues.apache.org/jira/browse/CB-5991) Fix whitelist path matching for trailing slashes
+* [CB-5967](https://issues.apache.org/jira/browse/CB-5967) Fix isTopLevelNavigation not being set correctly in rare cases.
 * Validate that callback IDs are always well-formed
 * Removed obsolete .gitmodules
 * Update Xcode .pbxproj files according to Xcode 5.1 recommendations
@@ -361,35 +384,35 @@ Cordova is a static library that enables developers to include the Cordova API i
 ### 3.4.1 (201403XX) ###
  
 * Update Xcode .pbxproj files according to Xcode 5.1 recommendations
-* CB-6327: Allow '.' in plugin feature names (and therefore callback ids)
-* CB-6287 - Add build script support for arm64
-* CB-6217 iOS simulator targets not consistent across scripts
-* CB-5286 - Fix warnings when compiled under arm64
-* CB-4863 - Drop iOS 5.0 support, and support arm64
-* CB-6150 - objc\_msgSend causes EXC\_BAD\_ACCESS with plugins on arm64
+* [CB-6327](https://issues.apache.org/jira/browse/CB-6327) Allow '.' in plugin feature names (and therefore callback ids)
+* [CB-6287](https://issues.apache.org/jira/browse/CB-6287) - Add build script support for arm64
+* [CB-6217](https://issues.apache.org/jira/browse/CB-6217) iOS simulator targets not consistent across scripts
+* [CB-5286](https://issues.apache.org/jira/browse/CB-5286) - Fix warnings when compiled under arm64
+* [CB-4863](https://issues.apache.org/jira/browse/CB-4863) - Drop iOS 5.0 support, and support arm64
+* [CB-6150](https://issues.apache.org/jira/browse/CB-6150) - objc\_msgSend causes EXC\_BAD\_ACCESS with plugins on arm64
 * Validate that callback IDs are always well-formed
-* CB-5018 - bin/create on iOS should use --arc by default
+* [CB-5018](https://issues.apache.org/jira/browse/CB-5018) - bin/create on iOS should use --arc by default
 
 ### 3.4.0 (201402XX) ###
 
-* CB-5794 iOS build script: 1. don't clean 2. recognize --emulator vs --device
-* CB-4910 Update CLI project template to point to config.xml at the root now that it's not in www/ by default.
+* [CB-5794](https://issues.apache.org/jira/browse/CB-5794) iOS build script: 1. don't clean 2. recognize --emulator vs --device
+* [CB-4910](https://issues.apache.org/jira/browse/CB-4910) Update CLI project template to point to config.xml at the root now that it's not in www/ by default.
 * Fix create script copying project template twice.
-* CB-5740 Use UIScrollViewDecelerationRateNormal by default.
-* CB-5420 Add device model to User-Agent cache key.
+* [CB-5740](https://issues.apache.org/jira/browse/CB-5740) Use UIScrollViewDecelerationRateNormal by default.
+* [CB-5420](https://issues.apache.org/jira/browse/CB-5420) Add device model to User-Agent cache key.
 * Copy config.xml within copy-www-build-step.sh instead of in Copy Resources step
-* CB-5397 Add a --cli option to bin/create that has ../../www/ ../../merges/ within the project
-* CB-5697 Fix location.reload() not firing deviceready.
-* CB-4330 Fix hash changes being treated as top-level navigations
-* CB-3359 Parse large JSON payloads on a background thread, and yield when executing multiple commands is taking too long.
-* CB-5134 Add location.hash based exec() bridge.
-* CB-5658 Fix whitelist crash when URL path has a space.
-* CB-5583 WebView doesn't properly initialize when instantiated from a xib
-* CB-5046 Adding a defaults.xml template
-* CB-5290 templates: Updated launch images sizes to include the status bar region
-* CB-5276 Add ability to load start page from a place other then the bundle folder
-* CB-5298 Have bin/create run bin/check_reqs.
-* CB-5328 Fix .gitignore from cordova-ios excludes `platforms/cordova/build` file
+* [CB-5397](https://issues.apache.org/jira/browse/CB-5397) Add a --cli option to bin/create that has ../../www/ ../../merges/ within the project
+* [CB-5697](https://issues.apache.org/jira/browse/CB-5697) Fix location.reload() not firing deviceready.
+* [CB-4330](https://issues.apache.org/jira/browse/CB-4330) Fix hash changes being treated as top-level navigations
+* [CB-3359](https://issues.apache.org/jira/browse/CB-3359) Parse large JSON payloads on a background thread, and yield when executing multiple commands is taking too long.
+* [CB-5134](https://issues.apache.org/jira/browse/CB-5134) Add location.hash based exec() bridge.
+* [CB-5658](https://issues.apache.org/jira/browse/CB-5658) Fix whitelist crash when URL path has a space.
+* [CB-5583](https://issues.apache.org/jira/browse/CB-5583) WebView doesn't properly initialize when instantiated from a xib
+* [CB-5046](https://issues.apache.org/jira/browse/CB-5046) Adding a defaults.xml template
+* [CB-5290](https://issues.apache.org/jira/browse/CB-5290) templates: Updated launch images sizes to include the status bar region
+* [CB-5276](https://issues.apache.org/jira/browse/CB-5276) Add ability to load start page from a place other then the bundle folder
+* [CB-5298](https://issues.apache.org/jira/browse/CB-5298) Have bin/create run bin/check_reqs.
+* [CB-5328](https://issues.apache.org/jira/browse/CB-5328) Fix .gitignore from cordova-ios excludes `platforms/cordova/build` file
 
 ### 3.3.0 (20131214) ###
 
@@ -397,119 +420,119 @@ Cordova is a static library that enables developers to include the Cordova API i
 
 ### 3.2.0 (20131120) ###
 
-* CB-5124 - Remove splashscreen config.xml values from iOS Configuration Docs, move to plugin docs
-* CB-5229 - cordova/emulate important improvements (stderr, check ios-sim before build)
-* CB-5058 - CordovaLib xcode project gets assigned problematic Build Active Architecture Only settings.
-* CB-5217 - cordova emulate ios doesn't exit
-* CB-4805 - Update cordova/run and cordova/lib/install-device to use latest ios-deploy for iOS 7
-* CB-5103 - Fix cordova/run: --emulate should be --emulator (fix CLI usage)
-* CB-4872 - added iOS sdk version scripts
-* CB-5099 - Add missing icons especially iOS 7 120x120 icon to default template
-* CB-5037 - Fix bridge sometimes not resetting properly during page transitions
-* CB-4990 - Can't run emulator from cordova cli
-* CB-4978 - iOS - Remove HideKeyboardFormAccessoryBar and KeyboardShrinksView preferences in config.xml
-* CB-4935 - iOS - Remove Keyboard preferences code into its own plugin
+* [CB-5124](https://issues.apache.org/jira/browse/CB-5124) - Remove splashscreen config.xml values from iOS Configuration Docs, move to plugin docs
+* [CB-5229](https://issues.apache.org/jira/browse/CB-5229) - cordova/emulate important improvements (stderr, check ios-sim before build)
+* [CB-5058](https://issues.apache.org/jira/browse/CB-5058) - CordovaLib xcode project gets assigned problematic Build Active Architecture Only settings.
+* [CB-5217](https://issues.apache.org/jira/browse/CB-5217) - cordova emulate ios doesn't exit
+* [CB-4805](https://issues.apache.org/jira/browse/CB-4805) - Update cordova/run and cordova/lib/install-device to use latest ios-deploy for iOS 7
+* [CB-5103](https://issues.apache.org/jira/browse/CB-5103) - Fix cordova/run: --emulate should be --emulator (fix CLI usage)
+* [CB-4872](https://issues.apache.org/jira/browse/CB-4872) - added iOS sdk version scripts
+* [CB-5099](https://issues.apache.org/jira/browse/CB-5099) - Add missing icons especially iOS 7 120x120 icon to default template
+* [CB-5037](https://issues.apache.org/jira/browse/CB-5037) - Fix bridge sometimes not resetting properly during page transitions
+* [CB-4990](https://issues.apache.org/jira/browse/CB-4990) - Can't run emulator from cordova cli
+* [CB-4978](https://issues.apache.org/jira/browse/CB-4978) - iOS - Remove HideKeyboardFormAccessoryBar and KeyboardShrinksView preferences in config.xml
+* [CB-4935](https://issues.apache.org/jira/browse/CB-4935) - iOS - Remove Keyboard preferences code into its own plugin
 * Make CDVWebViewDelegate able to load pages after a failed load.
 * Prevented automatic logging of whitelist failures.
 
 ### 3.1.0 (20131001) ###
 
-* [CB-3020] HideKeyboardFormAccessoryBar and KeyboardShrinksView show white bar instead of removing it
-* [CB-4799] Add update script for iOS.
-* [CB-4829] Xcode 5 simulated device names are different (and includes a new 64-bit device)
-* [CB-4827] iOS project/cordova/check\_reqs script should be used by all the scripts
-* [CB-4530] iOS bin/check\_reqs script should check for xcode 4.6 as minimum, and exit with code 2 if error occurs
-* [CB-4537] iOS bin/create script should copy check\_reqs script into project/cordova folder
-* [CB-4803] Set new iOS 7 preferences for the UIWebView in CDVViewController
-* [CB-4801] Add new iOS 7 properties for UIWebView in the config.xml &lt;preferences&gt;
-* [CB-4687] Fix Xcode 5 static analyzer issues
-* [CB-4469] Move copy-build-www-step.sh into scripts template
-* [CB-4539] Cannot create CDVViewController in Storyboard
-* [CB-4654] Wherein it is discovered that cp is too smart for its own good
-* [CB-4469] Move copy\_www.sh to cordova/lib/copy-www-build-step.sh
-* [CB-4654] Exclude platform scripts from template directory; copy those separately
-* [CB-4654] Allow default project template to be overridden on create
-* [CB-4706] Update compiler in CordovaLib.xcodeproj to "default compiler"
-* [CB-4707] Update compiler in default template xcodeproj to "default compiler"
-* [CB-4689] Update default template xcodeproj to Xcode 5 project settings
-* [CB-4688] CordovaLib.xcodeproj - update to Xcode 5 project settings
-* [CB-4691] Fix Xcode 5 warnings
-* [CB-4567] fix issue: "Benchmarks" ->"AutoBench" crashed on iOS
-* [CB-4469] Flip executable bit for copy_www.sh
-* [CB-4469] move copy resource script out of project file
-* [CB-4486] Give iOS plugins the ability to override URL loading
-* [CB-4408] Update cordova/emulate for new emulator build folder
+* [CB-3020](https://issues.apache.org/jira/browse/CB-3020) HideKeyboardFormAccessoryBar and KeyboardShrinksView show white bar instead of removing it
+* [CB-4799](https://issues.apache.org/jira/browse/CB-4799) Add update script for iOS.
+* [CB-4829](https://issues.apache.org/jira/browse/CB-4829) Xcode 5 simulated device names are different (and includes a new 64-bit device)
+* [CB-4827](https://issues.apache.org/jira/browse/CB-4827) iOS project/cordova/check\_reqs script should be used by all the scripts
+* [CB-4530](https://issues.apache.org/jira/browse/CB-4530) iOS bin/check\_reqs script should check for xcode 4.6 as minimum, and exit with code 2 if error occurs
+* [CB-4537](https://issues.apache.org/jira/browse/CB-4537) iOS bin/create script should copy check\_reqs script into project/cordova folder
+* [CB-4803](https://issues.apache.org/jira/browse/CB-4803) Set new iOS 7 preferences for the UIWebView in CDVViewController
+* [CB-4801](https://issues.apache.org/jira/browse/CB-4801) Add new iOS 7 properties for UIWebView in the config.xml &lt;preferences&gt;
+* [CB-4687](https://issues.apache.org/jira/browse/CB-4687) Fix Xcode 5 static analyzer issues
+* [CB-4469](https://issues.apache.org/jira/browse/CB-4469) Move copy-build-www-step.sh into scripts template
+* [CB-4539](https://issues.apache.org/jira/browse/CB-4539) Cannot create CDVViewController in Storyboard
+* [CB-4654](https://issues.apache.org/jira/browse/CB-4654) Wherein it is discovered that cp is too smart for its own good
+* [CB-4469](https://issues.apache.org/jira/browse/CB-4469) Move copy\_www.sh to cordova/lib/copy-www-build-step.sh
+* [CB-4654](https://issues.apache.org/jira/browse/CB-4654) Exclude platform scripts from template directory; copy those separately
+* [CB-4654](https://issues.apache.org/jira/browse/CB-4654) Allow default project template to be overridden on create
+* [CB-4706](https://issues.apache.org/jira/browse/CB-4706) Update compiler in CordovaLib.xcodeproj to "default compiler"
+* [CB-4707](https://issues.apache.org/jira/browse/CB-4707) Update compiler in default template xcodeproj to "default compiler"
+* [CB-4689](https://issues.apache.org/jira/browse/CB-4689) Update default template xcodeproj to Xcode 5 project settings
+* [CB-4688](https://issues.apache.org/jira/browse/CB-4688) CordovaLib.xcodeproj - update to Xcode 5 project settings
+* [CB-4691](https://issues.apache.org/jira/browse/CB-4691) Fix Xcode 5 warnings
+* [CB-4567](https://issues.apache.org/jira/browse/CB-4567) fix issue: "Benchmarks" ->"AutoBench" crashed on iOS
+* [CB-4469](https://issues.apache.org/jira/browse/CB-4469) Flip executable bit for copy_www.sh
+* [CB-4469](https://issues.apache.org/jira/browse/CB-4469) move copy resource script out of project file
+* [CB-4486](https://issues.apache.org/jira/browse/CB-4486) Give iOS plugins the ability to override URL loading
+* [CB-4408](https://issues.apache.org/jira/browse/CB-4408) Update cordova/emulate for new emulator build folder
 * [Cb-4336] modify cordova/run and cordova/install-device scripts to use ios-deploy (npm)
-* [CB-4408] Modify cordova/build script to build for device (armv7/armv7s)
-* [CB-4409] Remove build artifact folder on cordova/clean
-* [CB-4405] Increase Xcode minimum version to 4.6 in cordova/* scripts
-* [CB-4334] modify cordova/emulate and cordova/run scripts help text for ios-sim (available as npm module)
-* [CB-4331] require ios-sim version 1.7 in command line scripts
-* [CB-4355] Localstorage plugin handles options incorrectly (the settings key is specified with upper case chars)
-* [CB-4358] Trim amount of frameworks (18) in default template to minimum needed (4)
-* [CB-4095] Unify whitelist implementations
-* [CB-4281] Remove Echo files from Xcode project
-* [CB-4281] Moving echo to a plugin in MobileSpec
-* [CB-4277] Revert deleting of &lt;param name="onload" value="true" /&gt; support
-* [CB-3005] Add support for query parameters in StartPage url
+* [CB-4408](https://issues.apache.org/jira/browse/CB-4408) Modify cordova/build script to build for device (armv7/armv7s)
+* [CB-4409](https://issues.apache.org/jira/browse/CB-4409) Remove build artifact folder on cordova/clean
+* [CB-4405](https://issues.apache.org/jira/browse/CB-4405) Increase Xcode minimum version to 4.6 in cordova/* scripts
+* [CB-4334](https://issues.apache.org/jira/browse/CB-4334) modify cordova/emulate and cordova/run scripts help text for ios-sim (available as npm module)
+* [CB-4331](https://issues.apache.org/jira/browse/CB-4331) require ios-sim version 1.7 in command line scripts
+* [CB-4355](https://issues.apache.org/jira/browse/CB-4355) Localstorage plugin handles options incorrectly (the settings key is specified with upper case chars)
+* [CB-4358](https://issues.apache.org/jira/browse/CB-4358) Trim amount of frameworks (18) in default template to minimum needed (4)
+* [CB-4095](https://issues.apache.org/jira/browse/CB-4095) Unify whitelist implementations
+* [CB-4281](https://issues.apache.org/jira/browse/CB-4281) Remove Echo files from Xcode project
+* [CB-4281](https://issues.apache.org/jira/browse/CB-4281) Moving echo to a plugin in MobileSpec
+* [CB-4277](https://issues.apache.org/jira/browse/CB-4277) Revert deleting of &lt;param name="onload" value="true" /&gt; support
+* [CB-3005](https://issues.apache.org/jira/browse/CB-3005) Add support for query parameters in StartPage url
 * CordovaTests project was missing the CordovaLib dependency: added
 * Update iOS whitelist tests
 * Fix ARC issue in start page tests (critical for Xcode5)
 
 ### 3.0.0 (20130718) ###
 
-* [CB-3999] Video Capture ignores duration option [iOS]
-* [CB-4202] [CB-3681] Remove Contact plugin unit tests
-* [CB-4202] [CB-3653] Remove EXIF (Camera plugin) unit tests
-* [CB-4202] [CB-3726] Remove File Transfer plugin unit tests
-* [CB-4202] [CB-3973] Remove unit test dependency on Dialogs plugin
-* [CB-4202] [CB-1107] Remove unit tests for old plugin signature
-* [CB-4202] [CB-4145] Remove use of useSplashScreen property by unit tests
-* [CB-4095] Add some additional whitelist unit tests
-* [CB-2608] Remove deprecate EnableLocation key from the config.xml file
-* [CB-4104] Made config parameters case-insensitive.
-* [CB-3530] PhoneGap app crashes on iOS with error "CDVWebViewDelegate: Navigation started when state=1" (for navigation to an anchor on the same page)
-* [CB-3701] Removed Capture.bundle from default project template for 3.0.0
-* [CB-3530] Updated unit tests
-* [CB-4025] iOS emulate command broken when run inside the cordova folder
-* [CB-4037] Unable to Archive iOS projects for upload to App Store in 2.9
-* [CB-4088] `cordova emulate ios` replaces spaces in project name with underscores, conflicting with `cordova build ios` behavior
-* [CB-4145] Remove CDVViewController.useSplashScreen property
-* [CB-3175] Change <plugin> to <feature> in config.xml and remove deprecation notice in iOS
-* [CB-1107] Remove old plugin signature, update Plugin Dev Guide
-* [CB-2180] Convert iOS project template to use ARC
-* [CB-3448] bin/diagnose_project script fails if CORDOVALIB variable not in prefs plist
-* [CB-4199] iOS Platform Script `run --device` uses Simulator
-* [CB-3530] PhoneGap app crashes on iOS with error "CDVWebViewDelegate: Navigation started when state=1" (for navigation to an anchor on the same page)
-* [CB-3567] Redirect initiated in JavaScript fails the app from loading
+* [CB-3999](https://issues.apache.org/jira/browse/CB-3999) Video Capture ignores duration option [iOS]
+* [CB-4202](https://issues.apache.org/jira/browse/CB-4202) [CB-3681](https://issues.apache.org/jira/browse/CB-3681) Remove Contact plugin unit tests
+* [CB-4202](https://issues.apache.org/jira/browse/CB-4202) [CB-3653](https://issues.apache.org/jira/browse/CB-3653) Remove EXIF (Camera plugin) unit tests
+* [CB-4202](https://issues.apache.org/jira/browse/CB-4202) [CB-3726](https://issues.apache.org/jira/browse/CB-3726) Remove File Transfer plugin unit tests
+* [CB-4202](https://issues.apache.org/jira/browse/CB-4202) [CB-3973](https://issues.apache.org/jira/browse/CB-3973) Remove unit test dependency on Dialogs plugin
+* [CB-4202](https://issues.apache.org/jira/browse/CB-4202) [CB-1107](https://issues.apache.org/jira/browse/CB-1107) Remove unit tests for old plugin signature
+* [CB-4202](https://issues.apache.org/jira/browse/CB-4202) [CB-4145](https://issues.apache.org/jira/browse/CB-4145) Remove use of useSplashScreen property by unit tests
+* [CB-4095](https://issues.apache.org/jira/browse/CB-4095) Add some additional whitelist unit tests
+* [CB-2608](https://issues.apache.org/jira/browse/CB-2608) Remove deprecate EnableLocation key from the config.xml file
+* [CB-4104](https://issues.apache.org/jira/browse/CB-4104) Made config parameters case-insensitive.
+* [CB-3530](https://issues.apache.org/jira/browse/CB-3530) PhoneGap app crashes on iOS with error "CDVWebViewDelegate: Navigation started when state=1" (for navigation to an anchor on the same page)
+* [CB-3701](https://issues.apache.org/jira/browse/CB-3701) Removed Capture.bundle from default project template for 3.0.0
+* [CB-3530](https://issues.apache.org/jira/browse/CB-3530) Updated unit tests
+* [CB-4025](https://issues.apache.org/jira/browse/CB-4025) iOS emulate command broken when run inside the cordova folder
+* [CB-4037](https://issues.apache.org/jira/browse/CB-4037) Unable to Archive iOS projects for upload to App Store in 2.9
+* [CB-4088](https://issues.apache.org/jira/browse/CB-4088) `cordova emulate ios` replaces spaces in project name with underscores, conflicting with `cordova build ios` behavior
+* [CB-4145](https://issues.apache.org/jira/browse/CB-4145) Remove CDVViewController.useSplashScreen property
+* [CB-3175](https://issues.apache.org/jira/browse/CB-3175) Change <plugin> to <feature> in config.xml and remove deprecation notice in iOS
+* [CB-1107](https://issues.apache.org/jira/browse/CB-1107) Remove old plugin signature, update Plugin Dev Guide
+* [CB-2180](https://issues.apache.org/jira/browse/CB-2180) Convert iOS project template to use ARC
+* [CB-3448](https://issues.apache.org/jira/browse/CB-3448) bin/diagnose_project script fails if CORDOVALIB variable not in prefs plist
+* [CB-4199](https://issues.apache.org/jira/browse/CB-4199) iOS Platform Script `run --device` uses Simulator
+* [CB-3530](https://issues.apache.org/jira/browse/CB-3530) PhoneGap app crashes on iOS with error "CDVWebViewDelegate: Navigation started when state=1" (for navigation to an anchor on the same page)
+* [CB-3567](https://issues.apache.org/jira/browse/CB-3567) Redirect initiated in JavaScript fails the app from loading
 * Removed iphone/beep.wav since it is already contained in the dialogs core plugin
 * Have create script include .gitignore file.
 * Removed all core plugins (including console logger) to their own repos (install them using cordova-cli or plugman)
 
 ### 2.9.0 (201306XX) ###
 
-* [CB-3469] Add a version macro for 2.8.0.
-* [CB-3469] Adding missing license found by RAT
-* [CB-2200] Remove device.name (deprecated)
-* [CB-3031] Fix for emulate script when project name has a space
-* [CB-3420] add hidden option to InAppBrowser
-* [CB-2840] Nil checks to avoid crash when network disconnected
-* [CB-3514] Remove partially-downloaded files when FileTransfer fails
-* [CB-2406] Add ArrayBuffer support to FileWriter.write
-* [CB-3757] camera.getPicture from photolib fails on iOS
-* [CB-3524] cordova/emulate and cordova/run silently fails when ios-sim is not installed
-* [CB-3526] typo in cordova/lib/install-emulator - does not check for ios-sim
-* [CB-3490] Update CordovaLib iOS Deployment Target in Project Setting to 5.0
-* [CB-3528] Update Plugin Upgrade Guide for iOS
-* [CB-3530] PhoneGap app crashes on iOS with error "CDVWebViewDelegate: Navigation started when state=1"
-* [CB-3768] Build to phone failing on Xcode 5 DP1 (OS X Mavericks)
-* [CB-3833] Deprecation plugin tag upgrade step has malformed xml
-* [CB-3743] Remove compatibility headers folder
-* [CB-3619] ./cordova/run script does not always call ./cordova/build first
-* [CB-3463] bin/create should copy cordova.js into the project's CordovaLib
-* [CB-3530] PhoneGap app crashes on iOS with error "CDVWebViewDelegate: Navigation started when state=1" (for navigation to an anchor on the same page)
-* [CB-3507] Wrong Linker Flag for project template
-* [CB-3458] remove all_load dependency. Use force load instead
+* [CB-3469](https://issues.apache.org/jira/browse/CB-3469) Add a version macro for 2.8.0.
+* [CB-3469](https://issues.apache.org/jira/browse/CB-3469) Adding missing license found by RAT
+* [CB-2200](https://issues.apache.org/jira/browse/CB-2200) Remove device.name (deprecated)
+* [CB-3031](https://issues.apache.org/jira/browse/CB-3031) Fix for emulate script when project name has a space
+* [CB-3420](https://issues.apache.org/jira/browse/CB-3420) add hidden option to InAppBrowser
+* [CB-2840](https://issues.apache.org/jira/browse/CB-2840) Nil checks to avoid crash when network disconnected
+* [CB-3514](https://issues.apache.org/jira/browse/CB-3514) Remove partially-downloaded files when FileTransfer fails
+* [CB-2406](https://issues.apache.org/jira/browse/CB-2406) Add ArrayBuffer support to FileWriter.write
+* [CB-3757](https://issues.apache.org/jira/browse/CB-3757) camera.getPicture from photolib fails on iOS
+* [CB-3524](https://issues.apache.org/jira/browse/CB-3524) cordova/emulate and cordova/run silently fails when ios-sim is not installed
+* [CB-3526](https://issues.apache.org/jira/browse/CB-3526) typo in cordova/lib/install-emulator - does not check for ios-sim
+* [CB-3490](https://issues.apache.org/jira/browse/CB-3490) Update CordovaLib iOS Deployment Target in Project Setting to 5.0
+* [CB-3528](https://issues.apache.org/jira/browse/CB-3528) Update Plugin Upgrade Guide for iOS
+* [CB-3530](https://issues.apache.org/jira/browse/CB-3530) PhoneGap app crashes on iOS with error "CDVWebViewDelegate: Navigation started when state=1"
+* [CB-3768](https://issues.apache.org/jira/browse/CB-3768) Build to phone failing on Xcode 5 DP1 (OS X Mavericks)
+* [CB-3833](https://issues.apache.org/jira/browse/CB-3833) Deprecation plugin tag upgrade step has malformed xml
+* [CB-3743](https://issues.apache.org/jira/browse/CB-3743) Remove compatibility headers folder
+* [CB-3619](https://issues.apache.org/jira/browse/CB-3619) ./cordova/run script does not always call ./cordova/build first
+* [CB-3463](https://issues.apache.org/jira/browse/CB-3463) bin/create should copy cordova.js into the project's CordovaLib
+* [CB-3530](https://issues.apache.org/jira/browse/CB-3530) PhoneGap app crashes on iOS with error "CDVWebViewDelegate: Navigation started when state=1" (for navigation to an anchor on the same page)
+* [CB-3507](https://issues.apache.org/jira/browse/CB-3507) Wrong Linker Flag for project template
+* [CB-3458](https://issues.apache.org/jira/browse/CB-3458) remove all_load dependency. Use force load instead
 * Removing "build" from gitignore as one of our cli scripts is named build :)
 * Added/renamed CDVExifTests to test project.
 
@@ -517,121 +540,121 @@ Cordova is a static library that enables developers to include the Cordova API i
 
 ### 2.8.0 (201305XX) ###
 
-* [CB-2840] Nil checks to avoid crash when network disconnected
-* [CB-3416] adding empty <plugins> element during deprecation window.
-* [CB-3006] Customize InAppBrowser location bar
-* [CB-3405] InAppBrowser option to hide bottom bar with Done/History buttons
-* [CB-3394] Cordova iOS crashes when multiple access elements in config.xml
-* [CB-3166] Add deprecation notice for use of <plugin> in config.xml in iOS
-* [CB-2905] Exif geolocation meta data tag writing
-* [CB-3307] Rename cordova-ios.js -> cordova.js
-* [CB-1108] Convert <plugin> -> <feature> with <param>
-* [CB-3321] Fix bogus "failed whitelist" log messages
-* [CB-3311] add default textbox for notification prompt
-* [CB-2846] SplashScreen crashes app when image not available
-* [CB-2789] Remove CaptureOptions.mode support.
-* [CB-3295] Send InAppBrowser loadstart events when redirects occur
-* [CB-2896] added ImageIO and OpenAL system frameworks to support new exif functionality in CDVCamera
-* [CB-2896] writing data to object through CGImageDestinationRef, enables multipart exif tag writing
-* [CB-2958] simple fix, moved write to photealbum code and sourced from modified data. Photo data returned by cordova will match photo on cameraroll
-* [CB-3339] add version to command line scripts
-* [CB-3377] Remove cordova/release script
-* [CB-2974] Add a ./cordova/lib/list-devices project-level helper script to iOS
-* [CB-2951] Add a ./cordova/lib/list-emulator-images project-level helper script to iOS
-* [CB-2974] Add a ./cordova/lib/list-devices project-level helper script to iOS
-* [CB-2966] Add a ./cordova/lib/list-started-emulators as project-level helper script to iOS
-* [CB-2990] Add a ./cordova/lib/install-device project-level helper script to iOS
-* [CB-2982] Add a ./cordova/lib/install-emulator project-level helper script to iOS
-* [CB-2998] Add a ./cordova/lib/start-emulator project-level helper script to iOS
-* [CB-2916] Add a ./cordova/clean project-level script for iOS
-* [CB-2053] Update UIImagePickerController label to reflect video media type in CDVCamera
-* [CB-3530] PhoneGap app crashes on iOS with error "CDVWebViewDelegate: Navigation started when state=1"
+* [CB-2840](https://issues.apache.org/jira/browse/CB-2840) Nil checks to avoid crash when network disconnected
+* [CB-3416](https://issues.apache.org/jira/browse/CB-3416) adding empty <plugins> element during deprecation window.
+* [CB-3006](https://issues.apache.org/jira/browse/CB-3006) Customize InAppBrowser location bar
+* [CB-3405](https://issues.apache.org/jira/browse/CB-3405) InAppBrowser option to hide bottom bar with Done/History buttons
+* [CB-3394](https://issues.apache.org/jira/browse/CB-3394) Cordova iOS crashes when multiple access elements in config.xml
+* [CB-3166](https://issues.apache.org/jira/browse/CB-3166) Add deprecation notice for use of <plugin> in config.xml in iOS
+* [CB-2905](https://issues.apache.org/jira/browse/CB-2905) Exif geolocation meta data tag writing
+* [CB-3307](https://issues.apache.org/jira/browse/CB-3307) Rename cordova-ios.js -> cordova.js
+* [CB-1108](https://issues.apache.org/jira/browse/CB-1108) Convert <plugin> -> <feature> with <param>
+* [CB-3321](https://issues.apache.org/jira/browse/CB-3321) Fix bogus "failed whitelist" log messages
+* [CB-3311](https://issues.apache.org/jira/browse/CB-3311) add default textbox for notification prompt
+* [CB-2846](https://issues.apache.org/jira/browse/CB-2846) SplashScreen crashes app when image not available
+* [CB-2789](https://issues.apache.org/jira/browse/CB-2789) Remove CaptureOptions.mode support.
+* [CB-3295](https://issues.apache.org/jira/browse/CB-3295) Send InAppBrowser loadstart events when redirects occur
+* [CB-2896](https://issues.apache.org/jira/browse/CB-2896) added ImageIO and OpenAL system frameworks to support new exif functionality in CDVCamera
+* [CB-2896](https://issues.apache.org/jira/browse/CB-2896) writing data to object through CGImageDestinationRef, enables multipart exif tag writing
+* [CB-2958](https://issues.apache.org/jira/browse/CB-2958) simple fix, moved write to photealbum code and sourced from modified data. Photo data returned by cordova will match photo on cameraroll
+* [CB-3339](https://issues.apache.org/jira/browse/CB-3339) add version to command line scripts
+* [CB-3377](https://issues.apache.org/jira/browse/CB-3377) Remove cordova/release script
+* [CB-2974](https://issues.apache.org/jira/browse/CB-2974) Add a ./cordova/lib/list-devices project-level helper script to iOS
+* [CB-2951](https://issues.apache.org/jira/browse/CB-2951) Add a ./cordova/lib/list-emulator-images project-level helper script to iOS
+* [CB-2974](https://issues.apache.org/jira/browse/CB-2974) Add a ./cordova/lib/list-devices project-level helper script to iOS
+* [CB-2966](https://issues.apache.org/jira/browse/CB-2966) Add a ./cordova/lib/list-started-emulators as project-level helper script to iOS
+* [CB-2990](https://issues.apache.org/jira/browse/CB-2990) Add a ./cordova/lib/install-device project-level helper script to iOS
+* [CB-2982](https://issues.apache.org/jira/browse/CB-2982) Add a ./cordova/lib/install-emulator project-level helper script to iOS
+* [CB-2998](https://issues.apache.org/jira/browse/CB-2998) Add a ./cordova/lib/start-emulator project-level helper script to iOS
+* [CB-2916](https://issues.apache.org/jira/browse/CB-2916) Add a ./cordova/clean project-level script for iOS
+* [CB-2053](https://issues.apache.org/jira/browse/CB-2053) Update UIImagePickerController label to reflect video media type in CDVCamera
+* [CB-3530](https://issues.apache.org/jira/browse/CB-3530) PhoneGap app crashes on iOS with error "CDVWebViewDelegate: Navigation started when state=1"
 
 <br />
 
 ### 2.7.0 (201304XX) ###
 
 * Fix NPE in InAppBrowser's error callback.
-* [CB-2849] Fix bin/create when CordovaLib parent dir has a space
-* [CB-3069] Fix InAppBrowser load events (for non-redirecting pages)
+* [CB-2849](https://issues.apache.org/jira/browse/CB-2849) Fix bin/create when CordovaLib parent dir has a space
+* [CB-3069](https://issues.apache.org/jira/browse/CB-3069) Fix InAppBrowser load events (for non-redirecting pages)
 * InAppBrowser: Don't inject iframe bridge until necessary.
 * Fix FileTransfer unit test. HTTP Method was being set to null.
-* [CB-2305] Add InAppBrowser injectScriptCode command to support InAppBrowser.executeScript and InAppBrowser.insertCSS APIs
-* [CB-2653] Simplify InAppBrowser.injectScriptCode.
-* [CB-2537] Implement streaming downloads for FileTransfer
-* [CB-2190] Allow FileTransfer uploads to continue in background
-* [CB-1518] Request content length in parallel with download for gzipped content
-* [CB-2653] Delay executeScript/insertCSS callback until resources have loaded; pass JS results to callback
-* [CB-2824] Remove DebugConsole plugin
-* [CB-3066] Fire onNativeReady from JS, as bridge is available immediately
-* [CB-2725] Fix www deploy issues with symlinks
-* [CB-2725] follow links in www copy script
-* [CB-3039] iOS Exif date length mismatch
-* [CB-3052] iOS Exif SubIFD offsets incorrect
-* [CB-51] Added httpMethod for file transfer options (defaults to POST)
-* [CB-2732] Only set camera device when allowed.
-* [CB-2911] Updated resolveLocalFileSystemURI.
-* [CB-3032] Add whitelist support for custom schemes.
-* [CB-3048] Add --arc flag to create script, support arc in template.
+* [CB-2305](https://issues.apache.org/jira/browse/CB-2305) Add InAppBrowser injectScriptCode command to support InAppBrowser.executeScript and InAppBrowser.insertCSS APIs
+* [CB-2653](https://issues.apache.org/jira/browse/CB-2653) Simplify InAppBrowser.injectScriptCode.
+* [CB-2537](https://issues.apache.org/jira/browse/CB-2537) Implement streaming downloads for FileTransfer
+* [CB-2190](https://issues.apache.org/jira/browse/CB-2190) Allow FileTransfer uploads to continue in background
+* [CB-1518](https://issues.apache.org/jira/browse/CB-1518) Request content length in parallel with download for gzipped content
+* [CB-2653](https://issues.apache.org/jira/browse/CB-2653) Delay executeScript/insertCSS callback until resources have loaded; pass JS results to callback
+* [CB-2824](https://issues.apache.org/jira/browse/CB-2824) Remove DebugConsole plugin
+* [CB-3066](https://issues.apache.org/jira/browse/CB-3066) Fire onNativeReady from JS, as bridge is available immediately
+* [CB-2725](https://issues.apache.org/jira/browse/CB-2725) Fix www deploy issues with symlinks
+* [CB-2725](https://issues.apache.org/jira/browse/CB-2725) follow links in www copy script
+* [CB-3039](https://issues.apache.org/jira/browse/CB-3039) iOS Exif date length mismatch
+* [CB-3052](https://issues.apache.org/jira/browse/CB-3052) iOS Exif SubIFD offsets incorrect
+* [CB-51](https://issues.apache.org/jira/browse/CB-51) Added httpMethod for file transfer options (defaults to POST)
+* [CB-2732](https://issues.apache.org/jira/browse/CB-2732) Only set camera device when allowed.
+* [CB-2911](https://issues.apache.org/jira/browse/CB-2911) Updated resolveLocalFileSystemURI.
+* [CB-3032](https://issues.apache.org/jira/browse/CB-3032) Add whitelist support for custom schemes.
+* [CB-3048](https://issues.apache.org/jira/browse/CB-3048) Add --arc flag to create script, support arc in template.
 * [CB-3067]: fixing ios5 whitelist of file url
-* [CB-3067] Revert CDVURLProtocol to not whitelist file urls
-* [CB-2788] add ./bin/check_reqs script to iOS
-* [CB-2587] Added plugin timing for plugins that are loaded on startup (plugin 'onload' attribute)
-* [CB-2848] ShowSplashScreenSpinner not used
-* [CB-2960] Changing the volume of a sound already playing
-* [CB-3021] Can no longer import CDVPlugin.h from plugin Objective-C++ code
-* [CB-2790] added splice function to header writer: accepts jpeg as NSData, and splices in exif data specified by a string
-* [CB-2790] removed old splice code, replaced with JpegHeaderWriter api calls
-* [CB-2896] split writing of working tags off here, multipart tags not supported
-* [CB-2896] fixed error in exif subifd offset calculation for tag 8769
-* [CB-2902] re-added long/short tags to template dict, fixed subExifIFD offset
-* [CB-2698] Fix load detection when pages have redirects.
-* [CB-3295] Send InAppBrowser loadstart events when redirects occur
+* [CB-3067](https://issues.apache.org/jira/browse/CB-3067) Revert CDVURLProtocol to not whitelist file urls
+* [CB-2788](https://issues.apache.org/jira/browse/CB-2788) add ./bin/check_reqs script to iOS
+* [CB-2587](https://issues.apache.org/jira/browse/CB-2587) Added plugin timing for plugins that are loaded on startup (plugin 'onload' attribute)
+* [CB-2848](https://issues.apache.org/jira/browse/CB-2848)

<TRUNCATED>
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/41341763/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index 53fc35b..cb8ca46 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "cordova-ios",
-  "version": "4.2.0-dev",
+  "version": "4.2.0",
   "description": "cordova-ios release",
   "main": "bin/templates/scripts/cordova/Api.js",
   "repository": {


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


[03/32] ios commit: CB-11445 Updated checked-in node_modules

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/plist/dist/plist.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/plist/dist/plist.js b/node_modules/simple-plist/node_modules/plist/dist/plist.js
deleted file mode 100644
index aa862c2..0000000
--- a/node_modules/simple-plist/node_modules/plist/dist/plist.js
+++ /dev/null
@@ -1,14920 +0,0 @@
-!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof self&&(f=self),f.plist=e()}}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
-(function (Buffer){
-
-/**
- * Module dependencies.
- */
-
-var base64 = require('base64-js');
-var xmlbuilder = require('xmlbuilder');
-
-/**
- * Module exports.
- */
-
-exports.build = build;
-
-/**
- * Accepts a `Date` instance and returns an ISO date string.
- *
- * @param {Date} d - Date instance to serialize
- * @returns {String} ISO date string representation of `d`
- * @api private
- */
-
-function ISODateString(d){
-  function pad(n){
-    return n < 10 ? '0' + n : n;
-  }
-  return d.getUTCFullYear()+'-'
-    + pad(d.getUTCMonth()+1)+'-'
-    + pad(d.getUTCDate())+'T'
-    + pad(d.getUTCHours())+':'
-    + pad(d.getUTCMinutes())+':'
-    + pad(d.getUTCSeconds())+'Z';
-}
-
-/**
- * Returns the internal "type" of `obj` via the
- * `Object.prototype.toString()` trick.
- *
- * @param {Mixed} obj - any value
- * @returns {String} the internal "type" name
- * @api private
- */
-
-var toString = Object.prototype.toString;
-function type (obj) {
-  var m = toString.call(obj).match(/\[object (.*)\]/);
-  return m ? m[1] : m;
-}
-
-/**
- * Generate an XML plist string from the input object `obj`.
- *
- * @param {Object} obj - the object to convert
- * @param {Object} [opts] - optional options object
- * @returns {String} converted plist XML string
- * @api public
- */
-
-function build (obj, opts) {
-  var XMLHDR = {
-    version: '1.0',
-    encoding: 'UTF-8'
-  };
-
-  var XMLDTD = {
-    pubid: '-//Apple//DTD PLIST 1.0//EN',
-    sysid: 'http://www.apple.com/DTDs/PropertyList-1.0.dtd'
-  };
-
-  var doc = xmlbuilder.create('plist');
-
-  doc.dec(XMLHDR.version, XMLHDR.encoding, XMLHDR.standalone);
-  doc.dtd(XMLDTD.pubid, XMLDTD.sysid);
-  doc.att('version', '1.0');
-
-  walk_obj(obj, doc);
-
-  if (!opts) opts = {};
-  // default `pretty` to `true`
-  opts.pretty = opts.pretty !== false;
-  return doc.end(opts);
-}
-
-/**
- * depth first, recursive traversal of a javascript object. when complete,
- * next_child contains a reference to the build XML object.
- *
- * @api private
- */
-
-function walk_obj(next, next_child) {
-  var tag_type, i, prop;
-  var name = type(next);
-
-  if (Array.isArray(next)) {
-    next_child = next_child.ele('array');
-    for (i = 0; i < next.length; i++) {
-      walk_obj(next[i], next_child);
-    }
-
-  } else if (Buffer.isBuffer(next)) {
-    next_child.ele('data').raw(next.toString('base64'));
-
-  } else if ('Object' == name) {
-    next_child = next_child.ele('dict');
-    for (prop in next) {
-      if (next.hasOwnProperty(prop)) {
-        next_child.ele('key').txt(prop);
-        walk_obj(next[prop], next_child);
-      }
-    }
-
-  } else if ('Number' == name) {
-    // detect if this is an integer or real
-    // TODO: add an ability to force one way or another via a "cast"
-    tag_type = (next % 1 === 0) ? 'integer' : 'real';
-    next_child.ele(tag_type).txt(next.toString());
-
-  } else if ('Date' == name) {
-    next_child.ele('date').txt(ISODateString(new Date(next)));
-
-  } else if ('Boolean' == name) {
-    next_child.ele(next ? 'true' : 'false');
-
-  } else if ('String' == name) {
-    next_child.ele('string').txt(next);
-
-  } else if ('ArrayBuffer' == name) {
-    next_child.ele('data').raw(base64.fromByteArray(next));
-
-  } else if (next.buffer && 'ArrayBuffer' == type(next.buffer)) {
-    // a typed array
-    next_child.ele('data').raw(base64.fromByteArray(new Uint8Array(next.buffer), next_child));
-
-  }
-}
-
-}).call(this,require("buffer").Buffer)
-},{"base64-js":5,"buffer":7,"xmlbuilder":26}],2:[function(require,module,exports){
-/**
- * Module dependencies.
- */
-
-var fs = require('fs');
-var parse = require('./parse');
-var deprecate = require('util-deprecate');
-
-/**
- * Module exports.
- */
-
-exports.parseFile = deprecate(parseFile, '`parseFile()` is deprecated. ' +
-  'Use `parseString()` instead.');
-exports.parseFileSync = deprecate(parseFileSync, '`parseFileSync()` is deprecated. ' +
-  'Use `parseStringSync()` instead.');
-
-/**
- * Parses file `filename` as a .plist file.
- * Invokes `fn` callback function when done.
- *
- * @param {String} filename - name of the file to read
- * @param {Function} fn - callback function
- * @api public
- * @deprecated use parseString() instead
- */
-
-function parseFile (filename, fn) {
-  fs.readFile(filename, { encoding: 'utf8' }, onread);
-  function onread (err, inxml) {
-    if (err) return fn(err);
-    parse.parseString(inxml, fn);
-  }
-}
-
-/**
- * Parses file `filename` as a .plist file.
- * Returns a  when done.
- *
- * @param {String} filename - name of the file to read
- * @param {Function} fn - callback function
- * @api public
- * @deprecated use parseStringSync() instead
- */
-
-function parseFileSync (filename) {
-  var inxml = fs.readFileSync(filename, 'utf8');
-  return parse.parseStringSync(inxml);
-}
-
-},{"./parse":3,"fs":6,"util-deprecate":9}],3:[function(require,module,exports){
-(function (Buffer){
-
-/**
- * Module dependencies.
- */
-
-var deprecate = require('util-deprecate');
-var DOMParser = require('xmldom').DOMParser;
-
-/**
- * Module exports.
- */
-
-exports.parse = parse;
-exports.parseString = deprecate(parseString, '`parseString()` is deprecated. ' +
-  'It\'s not actually async. Use `parse()` instead.');
-exports.parseStringSync = deprecate(parseStringSync, '`parseStringSync()` is ' +
-  'deprecated. Use `parse()` instead.');
-
-/**
- * We ignore raw text (usually whitespace), <!-- xml comments -->,
- * and raw CDATA nodes.
- *
- * @param {Element} node
- * @returns {Boolean}
- * @api private
- */
-
-function shouldIgnoreNode (node) {
-  return node.nodeType === 3 // text
-    || node.nodeType === 8   // comment
-    || node.nodeType === 4;  // cdata
-}
-
-
-/**
- * Parses a Plist XML string. Returns an Object.
- *
- * @param {String} xml - the XML String to decode
- * @returns {Mixed} the decoded value from the Plist XML
- * @api public
- */
-
-function parse (xml) {
-  var doc = new DOMParser().parseFromString(xml);
-  if (doc.documentElement.nodeName !== 'plist') {
-    throw new Error('malformed document. First element should be <plist>');
-  }
-  var plist = parsePlistXML(doc.documentElement);
-
-  // the root <plist> node gets interpreted as an Array,
-  // so pull out the inner data first
-  if (plist.length == 1) plist = plist[0];
-
-  return plist;
-}
-
-/**
- * Parses a Plist XML string. Returns an Object. Takes a `callback` function.
- *
- * @param {String} xml - the XML String to decode
- * @param {Function} callback - callback function
- * @returns {Mixed} the decoded value from the Plist XML
- * @api public
- * @deprecated not actually async. use parse() instead
- */
-
-function parseString (xml, callback) {
-  var doc, error, plist;
-  try {
-    doc = new DOMParser().parseFromString(xml);
-    plist = parsePlistXML(doc.documentElement);
-  } catch(e) {
-    error = e;
-  }
-  callback(error, plist);
-}
-
-/**
- * Parses a Plist XML string. Returns an Object.
- *
- * @param {String} xml - the XML String to decode
- * @param {Function} callback - callback function
- * @returns {Mixed} the decoded value from the Plist XML
- * @api public
- * @deprecated use parse() instead
- */
-
-function parseStringSync (xml) {
-  var doc = new DOMParser().parseFromString(xml);
-  var plist;
-  if (doc.documentElement.nodeName !== 'plist') {
-    throw new Error('malformed document. First element should be <plist>');
-  }
-  plist = parsePlistXML(doc.documentElement);
-
-  // if the plist is an array with 1 element, pull it out of the array
-  if (plist.length == 1) {
-    plist = plist[0];
-  }
-  return plist;
-}
-
-/**
- * Convert an XML based plist document into a JSON representation.
- *
- * @param {Object} xml_node - current XML node in the plist
- * @returns {Mixed} built up JSON object
- * @api private
- */
-
-function parsePlistXML (node) {
-  var i, new_obj, key, val, new_arr, res, d;
-
-  if (!node)
-    return null;
-
-  if (node.nodeName === 'plist') {
-    new_arr = [];
-    for (i=0; i < node.childNodes.length; i++) {
-      // ignore comment nodes (text)
-      if (!shouldIgnoreNode(node.childNodes[i])) {
-        new_arr.push( parsePlistXML(node.childNodes[i]));
-      }
-    }
-    return new_arr;
-
-  } else if (node.nodeName === 'dict') {
-    new_obj = {};
-    key = null;
-    for (i=0; i < node.childNodes.length; i++) {
-      // ignore comment nodes (text)
-      if (!shouldIgnoreNode(node.childNodes[i])) {
-        if (key === null) {
-          key = parsePlistXML(node.childNodes[i]);
-        } else {
-          new_obj[key] = parsePlistXML(node.childNodes[i]);
-          key = null;
-        }
-      }
-    }
-    return new_obj;
-
-  } else if (node.nodeName === 'array') {
-    new_arr = [];
-    for (i=0; i < node.childNodes.length; i++) {
-      // ignore comment nodes (text)
-      if (!shouldIgnoreNode(node.childNodes[i])) {
-        res = parsePlistXML(node.childNodes[i]);
-        if (null != res) new_arr.push(res);
-      }
-    }
-    return new_arr;
-
-  } else if (node.nodeName === '#text') {
-    // TODO: what should we do with text types? (CDATA sections)
-
-  } else if (node.nodeName === 'key') {
-    return node.childNodes[0].nodeValue;
-
-  } else if (node.nodeName === 'string') {
-    res = '';
-    for (d=0; d < node.childNodes.length; d++) {
-      res += node.childNodes[d].nodeValue;
-    }
-    return res;
-
-  } else if (node.nodeName === 'integer') {
-    // parse as base 10 integer
-    return parseInt(node.childNodes[0].nodeValue, 10);
-
-  } else if (node.nodeName === 'real') {
-    res = '';
-    for (d=0; d < node.childNodes.length; d++) {
-      if (node.childNodes[d].nodeType === 3) {
-        res += node.childNodes[d].nodeValue;
-      }
-    }
-    return parseFloat(res);
-
-  } else if (node.nodeName === 'data') {
-    res = '';
-    for (d=0; d < node.childNodes.length; d++) {
-      if (node.childNodes[d].nodeType === 3) {
-        res += node.childNodes[d].nodeValue.replace(/\s+/g, '');
-      }
-    }
-
-    // decode base64 data to a Buffer instance
-    return new Buffer(res, 'base64');
-
-  } else if (node.nodeName === 'date') {
-    return new Date(node.childNodes[0].nodeValue);
-
-  } else if (node.nodeName === 'true') {
-    return true;
-
-  } else if (node.nodeName === 'false') {
-    return false;
-  }
-}
-
-}).call(this,require("buffer").Buffer)
-},{"buffer":7,"util-deprecate":9,"xmldom":202}],4:[function(require,module,exports){
-
-var i;
-
-/**
- * Parser functions.
- */
-
-var parserFunctions = require('./parse');
-for (i in parserFunctions) exports[i] = parserFunctions[i];
-
-/**
- * Builder functions.
- */
-
-var builderFunctions = require('./build');
-for (i in builderFunctions) exports[i] = builderFunctions[i];
-
-/**
- * Add Node.js-specific functions (they're deprecated\u2026).
- */
-
-var nodeFunctions = require('./node');
-for (i in nodeFunctions) exports[i] = nodeFunctions[i];
-
-},{"./build":1,"./node":2,"./parse":3}],5:[function(require,module,exports){
-var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
-
-;(function (exports) {
-	'use strict';
-
-  var Arr = (typeof Uint8Array !== 'undefined')
-    ? 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)
-
-	function decode (elt) {
-		var code = elt.charCodeAt(0)
-		if (code === PLUS)
-			return 62 // '+'
-		if (code === SLASH)
-			return 63 // '/'
-		if (code < NUMBER)
-			return -1 //no match
-		if (code < NUMBER + 10)
-			return code - NUMBER + 26 + 26
-		if (code < UPPER + 26)
-			return code - UPPER
-		if (code < LOWER + 26)
-			return code - LOWER + 26
-	}
-
-	function b64ToByteArray (b64) {
-		var i, j, l, tmp, placeHolders, arr
-
-		if (b64.length % 4 > 0) {
-			throw new Error('Invalid string. Length must be a multiple of 4')
-		}
-
-		// the number of equal signs (place holders)
-		// if there are two placeholders, than the two characters before it
-		// represent one byte
-		// if there is only one, then the three characters before it represent 2 bytes
-		// this is just a cheap hack to not do indexOf twice
-		var len = b64.length
-		placeHolders = '=' === b64.charAt(len - 2) ? 2 : '=' === b64.charAt(len - 1) ? 1 : 0
-
-		// base64 is 4/3 + up to two characters of the original data
-		arr = new Arr(b64.length * 3 / 4 - placeHolders)
-
-		// if there are placeholders, only get up to the last complete 4 chars
-		l = placeHolders > 0 ? b64.length - 4 : b64.length
-
-		var L = 0
-
-		function push (v) {
-			arr[L++] = v
-		}
-
-		for (i = 0, j = 0; i < l; i += 4, j += 3) {
-			tmp = (decode(b64.charAt(i)) << 18) | (decode(b64.charAt(i + 1)) << 12) | (decode(b64.charAt(i + 2)) << 6) | decode(b64.charAt(i + 3))
-			push((tmp & 0xFF0000) >> 16)
-			push((tmp & 0xFF00) >> 8)
-			push(tmp & 0xFF)
-		}
-
-		if (placeHolders === 2) {
-			tmp = (decode(b64.charAt(i)) << 2) | (decode(b64.charAt(i + 1)) >> 4)
-			push(tmp & 0xFF)
-		} else if (placeHolders === 1) {
-			tmp = (decode(b64.charAt(i)) << 10) | (decode(b64.charAt(i + 1)) << 4) | (decode(b64.charAt(i + 2)) >> 2)
-			push((tmp >> 8) & 0xFF)
-			push(tmp & 0xFF)
-		}
-
-		return arr
-	}
-
-	function uint8ToBase64 (uint8) {
-		var i,
-			extraBytes = uint8.length % 3, // if we have 1 byte left, pad 2 bytes
-			output = "",
-			temp, length
-
-		function encode (num) {
-			return lookup.charAt(num)
-		}
-
-		function tripletToBase64 (num) {
-			return encode(num >> 18 & 0x3F) + encode(num >> 12 & 0x3F) + encode(num >> 6 & 0x3F) + encode(num & 0x3F)
-		}
-
-		// go through the array every three bytes, we'll deal with trailing stuff later
-		for (i = 0, length = uint8.length - extraBytes; i < length; i += 3) {
-			temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])
-			output += tripletToBase64(temp)
-		}
-
-		// pad the end with zeros, but make sure to not forget the extra bytes
-		switch (extraBytes) {
-			case 1:
-				temp = uint8[uint8.length - 1]
-				output += encode(temp >> 2)
-				output += encode((temp << 4) & 0x3F)
-				output += '=='
-				break
-			case 2:
-				temp = (uint8[uint8.length - 2] << 8) + (uint8[uint8.length - 1])
-				output += encode(temp >> 10)
-				output += encode((temp >> 4) & 0x3F)
-				output += encode((temp << 2) & 0x3F)
-				output += '='
-				break
-		}
-
-		return output
-	}
-
-	module.exports.toByteArray = b64ToByteArray
-	module.exports.fromByteArray = uint8ToBase64
-}())
-
-},{}],6:[function(require,module,exports){
-
-},{}],7:[function(require,module,exports){
-/*!
- * The buffer module from node.js, for the browser.
- *
- * @author   Feross Aboukhadijeh <fe...@feross.org> <http://feross.org>
- * @license  MIT
- */
-
-var base64 = require('base64-js')
-var ieee754 = require('ieee754')
-
-exports.Buffer = Buffer
-exports.SlowBuffer = Buffer
-exports.INSPECT_MAX_BYTES = 50
-Buffer.poolSize = 8192
-
-/**
- * If `TYPED_ARRAY_SUPPORT`:
- *   === true    Use Uint8Array implementation (fastest)
- *   === false   Use Object implementation (most compatible, even IE6)
- *
- * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
- * Opera 11.6+, iOS 4.2+.
- *
- * Note:
- *
- * - Implementation must support adding new properties to `Uint8Array` instances.
- *   Firefox 4-29 lacked support, fixed in Firefox 30+.
- *   See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
- *
- *  - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
- *
- *  - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
- *    incorrect length in some situations.
- *
- * We detect these buggy browsers and set `TYPED_ARRAY_SUPPORT` to `false` so they will
- * get the Object implementation, which is slower but will work correctly.
- */
-var TYPED_ARRAY_SUPPORT = (function () {
-  try {
-    var buf = new ArrayBuffer(0)
-    var arr = new Uint8Array(buf)
-    arr.foo = function () { return 42 }
-    return 42 === arr.foo() && // typed array instances can be augmented
-        typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`
-        new Uint8Array(1).subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`
-  } catch (e) {
-    return false
-  }
-})()
-
-/**
- * Class: Buffer
- * =============
- *
- * The Buffer constructor returns instances of `Uint8Array` that are augmented
- * with function properties for all the node `Buffer` API functions. We use
- * `Uint8Array` so that square bracket notation works as expected -- it returns
- * a single octet.
- *
- * By augmenting the instances, we can avoid modifying the `Uint8Array`
- * prototype.
- */
-function Buffer (subject, encoding, noZero) {
-  if (!(this instanceof Buffer))
-    return new Buffer(subject, encoding, noZero)
-
-  var type = typeof subject
-
-  // Find the length
-  var length
-  if (type === 'number')
-    length = subject > 0 ? subject >>> 0 : 0
-  else if (type === 'string') {
-    if (encoding === 'base64')
-      subject = base64clean(subject)
-    length = Buffer.byteLength(subject, encoding)
-  } else if (type === 'object' && subject !== null) { // assume object is array-like
-    if (subject.type === 'Buffer' && isArray(subject.data))
-      subject = subject.data
-    length = +subject.length > 0 ? Math.floor(+subject.length) : 0
-  } else
-    throw new Error('First argument needs to be a number, array or string.')
-
-  var buf
-  if (TYPED_ARRAY_SUPPORT) {
-    // Preferred: Return an augmented `Uint8Array` instance for best performance
-    buf = Buffer._augment(new Uint8Array(length))
-  } else {
-    // Fallback: Return THIS instance of Buffer (created by `new`)
-    buf = this
-    buf.length = length
-    buf._isBuffer = true
-  }
-
-  var i
-  if (TYPED_ARRAY_SUPPORT && typeof subject.byteLength === 'number') {
-    // Speed optimization -- use set if we're copying from a typed array
-    buf._set(subject)
-  } else if (isArrayish(subject)) {
-    // Treat array-ish objects as a byte array
-    if (Buffer.isBuffer(subject)) {
-      for (i = 0; i < length; i++)
-        buf[i] = subject.readUInt8(i)
-    } else {
-      for (i = 0; i < length; i++)
-        buf[i] = ((subject[i] % 256) + 256) % 256
-    }
-  } else if (type === 'string') {
-    buf.write(subject, 0, encoding)
-  } else if (type === 'number' && !TYPED_ARRAY_SUPPORT && !noZero) {
-    for (i = 0; i < length; i++) {
-      buf[i] = 0
-    }
-  }
-
-  return buf
-}
-
-// STATIC METHODS
-// ==============
-
-Buffer.isEncoding = function (encoding) {
-  switch (String(encoding).toLowerCase()) {
-    case 'hex':
-    case 'utf8':
-    case 'utf-8':
-    case 'ascii':
-    case 'binary':
-    case 'base64':
-    case 'raw':
-    case 'ucs2':
-    case 'ucs-2':
-    case 'utf16le':
-    case 'utf-16le':
-      return true
-    default:
-      return false
-  }
-}
-
-Buffer.isBuffer = function (b) {
-  return !!(b != null && b._isBuffer)
-}
-
-Buffer.byteLength = function (str, encoding) {
-  var ret
-  str = str.toString()
-  switch (encoding || 'utf8') {
-    case 'hex':
-      ret = str.length / 2
-      break
-    case 'utf8':
-    case 'utf-8':
-      ret = utf8ToBytes(str).length
-      break
-    case 'ascii':
-    case 'binary':
-    case 'raw':
-      ret = str.length
-      break
-    case 'base64':
-      ret = base64ToBytes(str).length
-      break
-    case 'ucs2':
-    case 'ucs-2':
-    case 'utf16le':
-    case 'utf-16le':
-      ret = str.length * 2
-      break
-    default:
-      throw new Error('Unknown encoding')
-  }
-  return ret
-}
-
-Buffer.concat = function (list, totalLength) {
-  assert(isArray(list), 'Usage: Buffer.concat(list[, length])')
-
-  if (list.length === 0) {
-    return new Buffer(0)
-  } else if (list.length === 1) {
-    return list[0]
-  }
-
-  var i
-  if (totalLength === undefined) {
-    totalLength = 0
-    for (i = 0; i < list.length; i++) {
-      totalLength += list[i].length
-    }
-  }
-
-  var buf = new Buffer(totalLength)
-  var pos = 0
-  for (i = 0; i < list.length; i++) {
-    var item = list[i]
-    item.copy(buf, pos)
-    pos += item.length
-  }
-  return buf
-}
-
-Buffer.compare = function (a, b) {
-  assert(Buffer.isBuffer(a) && Buffer.isBuffer(b), 'Arguments must be Buffers')
-  var x = a.length
-  var y = b.length
-  for (var i = 0, len = Math.min(x, y); i < len && a[i] === b[i]; i++) {}
-  if (i !== len) {
-    x = a[i]
-    y = b[i]
-  }
-  if (x < y) {
-    return -1
-  }
-  if (y < x) {
-    return 1
-  }
-  return 0
-}
-
-// BUFFER INSTANCE METHODS
-// =======================
-
-function hexWrite (buf, string, offset, length) {
-  offset = Number(offset) || 0
-  var remaining = buf.length - offset
-  if (!length) {
-    length = remaining
-  } else {
-    length = Number(length)
-    if (length > remaining) {
-      length = remaining
-    }
-  }
-
-  // must be an even number of digits
-  var strLen = string.length
-  assert(strLen % 2 === 0, 'Invalid hex string')
-
-  if (length > strLen / 2) {
-    length = strLen / 2
-  }
-  for (var i = 0; i < length; i++) {
-    var byte = parseInt(string.substr(i * 2, 2), 16)
-    assert(!isNaN(byte), 'Invalid hex string')
-    buf[offset + i] = byte
-  }
-  return i
-}
-
-function utf8Write (buf, string, offset, length) {
-  var charsWritten = blitBuffer(utf8ToBytes(string), buf, offset, length)
-  return charsWritten
-}
-
-function asciiWrite (buf, string, offset, length) {
-  var charsWritten = blitBuffer(asciiToBytes(string), buf, offset, length)
-  return charsWritten
-}
-
-function binaryWrite (buf, string, offset, length) {
-  return asciiWrite(buf, string, offset, length)
-}
-
-function base64Write (buf, string, offset, length) {
-  var charsWritten = blitBuffer(base64ToBytes(string), buf, offset, length)
-  return charsWritten
-}
-
-function utf16leWrite (buf, string, offset, length) {
-  var charsWritten = blitBuffer(utf16leToBytes(string), buf, offset, length)
-  return charsWritten
-}
-
-Buffer.prototype.write = function (string, offset, length, encoding) {
-  // Support both (string, offset, length, encoding)
-  // and the legacy (string, encoding, offset, length)
-  if (isFinite(offset)) {
-    if (!isFinite(length)) {
-      encoding = length
-      length = undefined
-    }
-  } else {  // legacy
-    var swap = encoding
-    encoding = offset
-    offset = length
-    length = swap
-  }
-
-  offset = Number(offset) || 0
-  var remaining = this.length - offset
-  if (!length) {
-    length = remaining
-  } else {
-    length = Number(length)
-    if (length > remaining) {
-      length = remaining
-    }
-  }
-  encoding = String(encoding || 'utf8').toLowerCase()
-
-  var ret
-  switch (encoding) {
-    case 'hex':
-      ret = hexWrite(this, string, offset, length)
-      break
-    case 'utf8':
-    case 'utf-8':
-      ret = utf8Write(this, string, offset, length)
-      break
-    case 'ascii':
-      ret = asciiWrite(this, string, offset, length)
-      break
-    case 'binary':
-      ret = binaryWrite(this, string, offset, length)
-      break
-    case 'base64':
-      ret = base64Write(this, string, offset, length)
-      break
-    case 'ucs2':
-    case 'ucs-2':
-    case 'utf16le':
-    case 'utf-16le':
-      ret = utf16leWrite(this, string, offset, length)
-      break
-    default:
-      throw new Error('Unknown encoding')
-  }
-  return ret
-}
-
-Buffer.prototype.toString = function (encoding, start, end) {
-  var self = this
-
-  encoding = String(encoding || 'utf8').toLowerCase()
-  start = Number(start) || 0
-  end = (end === undefined) ? self.length : Number(end)
-
-  // Fastpath empty strings
-  if (end === start)
-    return ''
-
-  var ret
-  switch (encoding) {
-    case 'hex':
-      ret = hexSlice(self, start, end)
-      break
-    case 'utf8':
-    case 'utf-8':
-      ret = utf8Slice(self, start, end)
-      break
-    case 'ascii':
-      ret = asciiSlice(self, start, end)
-      break
-    case 'binary':
-      ret = binarySlice(self, start, end)
-      break
-    case 'base64':
-      ret = base64Slice(self, start, end)
-      break
-    case 'ucs2':
-    case 'ucs-2':
-    case 'utf16le':
-    case 'utf-16le':
-      ret = utf16leSlice(self, start, end)
-      break
-    default:
-      throw new Error('Unknown encoding')
-  }
-  return ret
-}
-
-Buffer.prototype.toJSON = function () {
-  return {
-    type: 'Buffer',
-    data: Array.prototype.slice.call(this._arr || this, 0)
-  }
-}
-
-Buffer.prototype.equals = function (b) {
-  assert(Buffer.isBuffer(b), 'Argument must be a Buffer')
-  return Buffer.compare(this, b) === 0
-}
-
-Buffer.prototype.compare = function (b) {
-  assert(Buffer.isBuffer(b), 'Argument must be a Buffer')
-  return Buffer.compare(this, b)
-}
-
-// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
-Buffer.prototype.copy = function (target, target_start, start, end) {
-  var source = this
-
-  if (!start) start = 0
-  if (!end && end !== 0) end = this.length
-  if (!target_start) target_start = 0
-
-  // Copy 0 bytes; we're done
-  if (end === start) return
-  if (target.length === 0 || source.length === 0) return
-
-  // Fatal error conditions
-  assert(end >= start, 'sourceEnd < sourceStart')
-  assert(target_start >= 0 && target_start < target.length,
-      'targetStart out of bounds')
-  assert(start >= 0 && start < source.length, 'sourceStart out of bounds')
-  assert(end >= 0 && end <= source.length, 'sourceEnd out of bounds')
-
-  // Are we oob?
-  if (end > this.length)
-    end = this.length
-  if (target.length - target_start < end - start)
-    end = target.length - target_start + start
-
-  var len = end - start
-
-  if (len < 100 || !TYPED_ARRAY_SUPPORT) {
-    for (var i = 0; i < len; i++) {
-      target[i + target_start] = this[i + start]
-    }
-  } else {
-    target._set(this.subarray(start, start + len), target_start)
-  }
-}
-
-function base64Slice (buf, start, end) {
-  if (start === 0 && end === buf.length) {
-    return base64.fromByteArray(buf)
-  } else {
-    return base64.fromByteArray(buf.slice(start, end))
-  }
-}
-
-function utf8Slice (buf, start, end) {
-  var res = ''
-  var tmp = ''
-  end = Math.min(buf.length, end)
-
-  for (var i = start; i < end; i++) {
-    if (buf[i] <= 0x7F) {
-      res += decodeUtf8Char(tmp) + String.fromCharCode(buf[i])
-      tmp = ''
-    } else {
-      tmp += '%' + buf[i].toString(16)
-    }
-  }
-
-  return res + decodeUtf8Char(tmp)
-}
-
-function asciiSlice (buf, start, end) {
-  var ret = ''
-  end = Math.min(buf.length, end)
-
-  for (var i = start; i < end; i++) {
-    ret += String.fromCharCode(buf[i])
-  }
-  return ret
-}
-
-function binarySlice (buf, start, end) {
-  return asciiSlice(buf, start, end)
-}
-
-function hexSlice (buf, start, end) {
-  var len = buf.length
-
-  if (!start || start < 0) start = 0
-  if (!end || end < 0 || end > len) end = len
-
-  var out = ''
-  for (var i = start; i < end; i++) {
-    out += toHex(buf[i])
-  }
-  return out
-}
-
-function utf16leSlice (buf, start, end) {
-  var bytes = buf.slice(start, end)
-  var res = ''
-  for (var i = 0; i < bytes.length; i += 2) {
-    res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
-  }
-  return res
-}
-
-Buffer.prototype.slice = function (start, end) {
-  var len = this.length
-  start = ~~start
-  end = end === undefined ? len : ~~end
-
-  if (start < 0) {
-    start += len;
-    if (start < 0)
-      start = 0
-  } else if (start > len) {
-    start = len
-  }
-
-  if (end < 0) {
-    end += len
-    if (end < 0)
-      end = 0
-  } else if (end > len) {
-    end = len
-  }
-
-  if (end < start)
-    end = start
-
-  if (TYPED_ARRAY_SUPPORT) {
-    return Buffer._augment(this.subarray(start, end))
-  } else {
-    var sliceLen = end - start
-    var newBuf = new Buffer(sliceLen, undefined, true)
-    for (var i = 0; i < sliceLen; i++) {
-      newBuf[i] = this[i + start]
-    }
-    return newBuf
-  }
-}
-
-// `get` will be removed in Node 0.13+
-Buffer.prototype.get = function (offset) {
-  console.log('.get() is deprecated. Access using array indexes instead.')
-  return this.readUInt8(offset)
-}
-
-// `set` will be removed in Node 0.13+
-Buffer.prototype.set = function (v, offset) {
-  console.log('.set() is deprecated. Access using array indexes instead.')
-  return this.writeUInt8(v, offset)
-}
-
-Buffer.prototype.readUInt8 = function (offset, noAssert) {
-  if (!noAssert) {
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset < this.length, 'Trying to read beyond buffer length')
-  }
-
-  if (offset >= this.length)
-    return
-
-  return this[offset]
-}
-
-function readUInt16 (buf, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 1 < buf.length, 'Trying to read beyond buffer length')
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  var val
-  if (littleEndian) {
-    val = buf[offset]
-    if (offset + 1 < len)
-      val |= buf[offset + 1] << 8
-  } else {
-    val = buf[offset] << 8
-    if (offset + 1 < len)
-      val |= buf[offset + 1]
-  }
-  return val
-}
-
-Buffer.prototype.readUInt16LE = function (offset, noAssert) {
-  return readUInt16(this, offset, true, noAssert)
-}
-
-Buffer.prototype.readUInt16BE = function (offset, noAssert) {
-  return readUInt16(this, offset, false, noAssert)
-}
-
-function readUInt32 (buf, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 3 < buf.length, 'Trying to read beyond buffer length')
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  var val
-  if (littleEndian) {
-    if (offset + 2 < len)
-      val = buf[offset + 2] << 16
-    if (offset + 1 < len)
-      val |= buf[offset + 1] << 8
-    val |= buf[offset]
-    if (offset + 3 < len)
-      val = val + (buf[offset + 3] << 24 >>> 0)
-  } else {
-    if (offset + 1 < len)
-      val = buf[offset + 1] << 16
-    if (offset + 2 < len)
-      val |= buf[offset + 2] << 8
-    if (offset + 3 < len)
-      val |= buf[offset + 3]
-    val = val + (buf[offset] << 24 >>> 0)
-  }
-  return val
-}
-
-Buffer.prototype.readUInt32LE = function (offset, noAssert) {
-  return readUInt32(this, offset, true, noAssert)
-}
-
-Buffer.prototype.readUInt32BE = function (offset, noAssert) {
-  return readUInt32(this, offset, false, noAssert)
-}
-
-Buffer.prototype.readInt8 = function (offset, noAssert) {
-  if (!noAssert) {
-    assert(offset !== undefined && offset !== null,
-        'missing offset')
-    assert(offset < this.length, 'Trying to read beyond buffer length')
-  }
-
-  if (offset >= this.length)
-    return
-
-  var neg = this[offset] & 0x80
-  if (neg)
-    return (0xff - this[offset] + 1) * -1
-  else
-    return this[offset]
-}
-
-function readInt16 (buf, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 1 < buf.length, 'Trying to read beyond buffer length')
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  var val = readUInt16(buf, offset, littleEndian, true)
-  var neg = val & 0x8000
-  if (neg)
-    return (0xffff - val + 1) * -1
-  else
-    return val
-}
-
-Buffer.prototype.readInt16LE = function (offset, noAssert) {
-  return readInt16(this, offset, true, noAssert)
-}
-
-Buffer.prototype.readInt16BE = function (offset, noAssert) {
-  return readInt16(this, offset, false, noAssert)
-}
-
-function readInt32 (buf, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 3 < buf.length, 'Trying to read beyond buffer length')
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  var val = readUInt32(buf, offset, littleEndian, true)
-  var neg = val & 0x80000000
-  if (neg)
-    return (0xffffffff - val + 1) * -1
-  else
-    return val
-}
-
-Buffer.prototype.readInt32LE = function (offset, noAssert) {
-  return readInt32(this, offset, true, noAssert)
-}
-
-Buffer.prototype.readInt32BE = function (offset, noAssert) {
-  return readInt32(this, offset, false, noAssert)
-}
-
-function readFloat (buf, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset + 3 < buf.length, 'Trying to read beyond buffer length')
-  }
-
-  return ieee754.read(buf, offset, littleEndian, 23, 4)
-}
-
-Buffer.prototype.readFloatLE = function (offset, noAssert) {
-  return readFloat(this, offset, true, noAssert)
-}
-
-Buffer.prototype.readFloatBE = function (offset, noAssert) {
-  return readFloat(this, offset, false, noAssert)
-}
-
-function readDouble (buf, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset + 7 < buf.length, 'Trying to read beyond buffer length')
-  }
-
-  return ieee754.read(buf, offset, littleEndian, 52, 8)
-}
-
-Buffer.prototype.readDoubleLE = function (offset, noAssert) {
-  return readDouble(this, offset, true, noAssert)
-}
-
-Buffer.prototype.readDoubleBE = function (offset, noAssert) {
-  return readDouble(this, offset, false, noAssert)
-}
-
-Buffer.prototype.writeUInt8 = function (value, offset, noAssert) {
-  if (!noAssert) {
-    assert(value !== undefined && value !== null, 'missing value')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset < this.length, 'trying to write beyond buffer length')
-    verifuint(value, 0xff)
-  }
-
-  if (offset >= this.length) return
-
-  this[offset] = value
-  return offset + 1
-}
-
-function writeUInt16 (buf, value, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(value !== undefined && value !== null, 'missing value')
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 1 < buf.length, 'trying to write beyond buffer length')
-    verifuint(value, 0xffff)
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  for (var i = 0, j = Math.min(len - offset, 2); i < j; i++) {
-    buf[offset + i] =
-        (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
-            (littleEndian ? i : 1 - i) * 8
-  }
-  return offset + 2
-}
-
-Buffer.prototype.writeUInt16LE = function (value, offset, noAssert) {
-  return writeUInt16(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeUInt16BE = function (value, offset, noAssert) {
-  return writeUInt16(this, value, offset, false, noAssert)
-}
-
-function writeUInt32 (buf, value, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(value !== undefined && value !== null, 'missing value')
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 3 < buf.length, 'trying to write beyond buffer length')
-    verifuint(value, 0xffffffff)
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  for (var i = 0, j = Math.min(len - offset, 4); i < j; i++) {
-    buf[offset + i] =
-        (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
-  }
-  return offset + 4
-}
-
-Buffer.prototype.writeUInt32LE = function (value, offset, noAssert) {
-  return writeUInt32(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeUInt32BE = function (value, offset, noAssert) {
-  return writeUInt32(this, value, offset, false, noAssert)
-}
-
-Buffer.prototype.writeInt8 = function (value, offset, noAssert) {
-  if (!noAssert) {
-    assert(value !== undefined && value !== null, 'missing value')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset < this.length, 'Trying to write beyond buffer length')
-    verifsint(value, 0x7f, -0x80)
-  }
-
-  if (offset >= this.length)
-    return
-
-  if (value >= 0)
-    this.writeUInt8(value, offset, noAssert)
-  else
-    this.writeUInt8(0xff + value + 1, offset, noAssert)
-  return offset + 1
-}
-
-function writeInt16 (buf, value, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(value !== undefined && value !== null, 'missing value')
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 1 < buf.length, 'Trying to write beyond buffer length')
-    verifsint(value, 0x7fff, -0x8000)
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  if (value >= 0)
-    writeUInt16(buf, value, offset, littleEndian, noAssert)
-  else
-    writeUInt16(buf, 0xffff + value + 1, offset, littleEndian, noAssert)
-  return offset + 2
-}
-
-Buffer.prototype.writeInt16LE = function (value, offset, noAssert) {
-  return writeInt16(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeInt16BE = function (value, offset, noAssert) {
-  return writeInt16(this, value, offset, false, noAssert)
-}
-
-function writeInt32 (buf, value, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(value !== undefined && value !== null, 'missing value')
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 3 < buf.length, 'Trying to write beyond buffer length')
-    verifsint(value, 0x7fffffff, -0x80000000)
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  if (value >= 0)
-    writeUInt32(buf, value, offset, littleEndian, noAssert)
-  else
-    writeUInt32(buf, 0xffffffff + value + 1, offset, littleEndian, noAssert)
-  return offset + 4
-}
-
-Buffer.prototype.writeInt32LE = function (value, offset, noAssert) {
-  return writeInt32(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeInt32BE = function (value, offset, noAssert) {
-  return writeInt32(this, value, offset, false, noAssert)
-}
-
-function writeFloat (buf, value, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(value !== undefined && value !== null, 'missing value')
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 3 < buf.length, 'Trying to write beyond buffer length')
-    verifIEEE754(value, 3.4028234663852886e+38, -3.4028234663852886e+38)
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  ieee754.write(buf, value, offset, littleEndian, 23, 4)
-  return offset + 4
-}
-
-Buffer.prototype.writeFloatLE = function (value, offset, noAssert) {
-  return writeFloat(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeFloatBE = function (value, offset, noAssert) {
-  return writeFloat(this, value, offset, false, noAssert)
-}
-
-function writeDouble (buf, value, offset, littleEndian, noAssert) {
-  if (!noAssert) {
-    assert(value !== undefined && value !== null, 'missing value')
-    assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
-    assert(offset !== undefined && offset !== null, 'missing offset')
-    assert(offset + 7 < buf.length,
-        'Trying to write beyond buffer length')
-    verifIEEE754(value, 1.7976931348623157E+308, -1.7976931348623157E+308)
-  }
-
-  var len = buf.length
-  if (offset >= len)
-    return
-
-  ieee754.write(buf, value, offset, littleEndian, 52, 8)
-  return offset + 8
-}
-
-Buffer.prototype.writeDoubleLE = function (value, offset, noAssert) {
-  return writeDouble(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeDoubleBE = function (value, offset, noAssert) {
-  return writeDouble(this, value, offset, false, noAssert)
-}
-
-// fill(value, start=0, end=buffer.length)
-Buffer.prototype.fill = function (value, start, end) {
-  if (!value) value = 0
-  if (!start) start = 0
-  if (!end) end = this.length
-
-  assert(end >= start, 'end < start')
-
-  // Fill 0 bytes; we're done
-  if (end === start) return
-  if (this.length === 0) return
-
-  assert(start >= 0 && start < this.length, 'start out of bounds')
-  assert(end >= 0 && end <= this.length, 'end out of bounds')
-
-  var i
-  if (typeof value === 'number') {
-    for (i = start; i < end; i++) {
-      this[i] = value
-    }
-  } else {
-    var bytes = utf8ToBytes(value.toString())
-    var len = bytes.length
-    for (i = start; i < end; i++) {
-      this[i] = bytes[i % len]
-    }
-  }
-
-  return this
-}
-
-Buffer.prototype.inspect = function () {
-  var out = []
-  var len = this.length
-  for (var i = 0; i < len; i++) {
-    out[i] = toHex(this[i])
-    if (i === exports.INSPECT_MAX_BYTES) {
-      out[i + 1] = '...'
-      break
-    }
-  }
-  return '<Buffer ' + out.join(' ') + '>'
-}
-
-/**
- * Creates a new `ArrayBuffer` with the *copied* memory of the buffer instance.
- * Added in Node 0.12. Only available in browsers that support ArrayBuffer.
- */
-Buffer.prototype.toArrayBuffer = function () {
-  if (typeof Uint8Array !== 'undefined') {
-    if (TYPED_ARRAY_SUPPORT) {
-      return (new Buffer(this)).buffer
-    } else {
-      var buf = new Uint8Array(this.length)
-      for (var i = 0, len = buf.length; i < len; i += 1) {
-        buf[i] = this[i]
-      }
-      return buf.buffer
-    }
-  } else {
-    throw new Error('Buffer.toArrayBuffer not supported in this browser')
-  }
-}
-
-// HELPER FUNCTIONS
-// ================
-
-var BP = Buffer.prototype
-
-/**
- * Augment a Uint8Array *instance* (not the Uint8Array class!) with Buffer methods
- */
-Buffer._augment = function (arr) {
-  arr._isBuffer = true
-
-  // save reference to original Uint8Array get/set methods before overwriting
-  arr._get = arr.get
-  arr._set = arr.set
-
-  // deprecated, will be removed in node 0.13+
-  arr.get = BP.get
-  arr.set = BP.set
-
-  arr.write = BP.write
-  arr.toString = BP.toString
-  arr.toLocaleString = BP.toString
-  arr.toJSON = BP.toJSON
-  arr.equals = BP.equals
-  arr.compare = BP.compare
-  arr.copy = BP.copy
-  arr.slice = BP.slice
-  arr.readUInt8 = BP.readUInt8
-  arr.readUInt16LE = BP.readUInt16LE
-  arr.readUInt16BE = BP.readUInt16BE
-  arr.readUInt32LE = BP.readUInt32LE
-  arr.readUInt32BE = BP.readUInt32BE
-  arr.readInt8 = BP.readInt8
-  arr.readInt16LE = BP.readInt16LE
-  arr.readInt16BE = BP.readInt16BE
-  arr.readInt32LE = BP.readInt32LE
-  arr.readInt32BE = BP.readInt32BE
-  arr.readFloatLE = BP.readFloatLE
-  arr.readFloatBE = BP.readFloatBE
-  arr.readDoubleLE = BP.readDoubleLE
-  arr.readDoubleBE = BP.readDoubleBE
-  arr.writeUInt8 = BP.writeUInt8
-  arr.writeUInt16LE = BP.writeUInt16LE
-  arr.writeUInt16BE = BP.writeUInt16BE
-  arr.writeUInt32LE = BP.writeUInt32LE
-  arr.writeUInt32BE = BP.writeUInt32BE
-  arr.writeInt8 = BP.writeInt8
-  arr.writeInt16LE = BP.writeInt16LE
-  arr.writeInt16BE = BP.writeInt16BE
-  arr.writeInt32LE = BP.writeInt32LE
-  arr.writeInt32BE = BP.writeInt32BE
-  arr.writeFloatLE = BP.writeFloatLE
-  arr.writeFloatBE = BP.writeFloatBE
-  arr.writeDoubleLE = BP.writeDoubleLE
-  arr.writeDoubleBE = BP.writeDoubleBE
-  arr.fill = BP.fill
-  arr.inspect = BP.inspect
-  arr.toArrayBuffer = BP.toArrayBuffer
-
-  return arr
-}
-
-var INVALID_BASE64_RE = /[^+\/0-9A-z]/g
-
-function base64clean (str) {
-  // Node strips out invalid characters like \n and \t from the string, base64-js does not
-  str = stringtrim(str).replace(INVALID_BASE64_RE, '')
-  // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
-  while (str.length % 4 !== 0) {
-    str = str + '='
-  }
-  return str
-}
-
-function stringtrim (str) {
-  if (str.trim) return str.trim()
-  return str.replace(/^\s+|\s+$/g, '')
-}
-
-function isArray (subject) {
-  return (Array.isArray || function (subject) {
-    return Object.prototype.toString.call(subject) === '[object Array]'
-  })(subject)
-}
-
-function isArrayish (subject) {
-  return isArray(subject) || Buffer.isBuffer(subject) ||
-      subject && typeof subject === 'object' &&
-      typeof subject.length === 'number'
-}
-
-function toHex (n) {
-  if (n < 16) return '0' + n.toString(16)
-  return n.toString(16)
-}
-
-function utf8ToBytes (str) {
-  var byteArray = []
-  for (var i = 0; i < str.length; i++) {
-    var b = str.charCodeAt(i)
-    if (b <= 0x7F) {
-      byteArray.push(b)
-    } else {
-      var start = i
-      if (b >= 0xD800 && b <= 0xDFFF) i++
-      var h = encodeURIComponent(str.slice(start, i+1)).substr(1).split('%')
-      for (var j = 0; j < h.length; j++) {
-        byteArray.push(parseInt(h[j], 16))
-      }
-    }
-  }
-  return byteArray
-}
-
-function asciiToBytes (str) {
-  var byteArray = []
-  for (var i = 0; i < str.length; i++) {
-    // Node's code seems to be doing this and not & 0x7F..
-    byteArray.push(str.charCodeAt(i) & 0xFF)
-  }
-  return byteArray
-}
-
-function utf16leToBytes (str) {
-  var c, hi, lo
-  var byteArray = []
-  for (var i = 0; i < str.length; i++) {
-    c = str.charCodeAt(i)
-    hi = c >> 8
-    lo = c % 256
-    byteArray.push(lo)
-    byteArray.push(hi)
-  }
-
-  return byteArray
-}
-
-function base64ToBytes (str) {
-  return base64.toByteArray(str)
-}
-
-function blitBuffer (src, dst, offset, length) {
-  for (var i = 0; i < length; i++) {
-    if ((i + offset >= dst.length) || (i >= src.length))
-      break
-    dst[i + offset] = src[i]
-  }
-  return i
-}
-
-function decodeUtf8Char (str) {
-  try {
-    return decodeURIComponent(str)
-  } catch (err) {
-    return String.fromCharCode(0xFFFD) // UTF 8 invalid char
-  }
-}
-
-/*
- * We have to make sure that the value is a valid integer. This means that it
- * is non-negative. It has no fractional component and that it does not
- * exceed the maximum allowed value.
- */
-function verifuint (value, max) {
-  assert(typeof value === 'number', 'cannot write a non-number as a number')
-  assert(value >= 0, 'specified a negative value for writing an unsigned value')
-  assert(value <= max, 'value is larger than maximum value for type')
-  assert(Math.floor(value) === value, 'value has a fractional component')
-}
-
-function verifsint (value, max, min) {
-  assert(typeof value === 'number', 'cannot write a non-number as a number')
-  assert(value <= max, 'value larger than maximum allowed value')
-  assert(value >= min, 'value smaller than minimum allowed value')
-  assert(Math.floor(value) === value, 'value has a fractional component')
-}
-
-function verifIEEE754 (value, max, min) {
-  assert(typeof value === 'number', 'cannot write a non-number as a number')
-  assert(value <= max, 'value larger than maximum allowed value')
-  assert(value >= min, 'value smaller than minimum allowed value')
-}
-
-function assert (test, message) {
-  if (!test) throw new Error(message || 'Failed assertion')
-}
-
-},{"base64-js":5,"ieee754":8}],8:[function(require,module,exports){
-exports.read = function(buffer, offset, isLE, mLen, nBytes) {
-  var e, m,
-      eLen = nBytes * 8 - mLen - 1,
-      eMax = (1 << eLen) - 1,
-      eBias = eMax >> 1,
-      nBits = -7,
-      i = isLE ? (nBytes - 1) : 0,
-      d = isLE ? -1 : 1,
-      s = buffer[offset + i];
-
-  i += d;
-
-  e = s & ((1 << (-nBits)) - 1);
-  s >>= (-nBits);
-  nBits += eLen;
-  for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8);
-
-  m = e & ((1 << (-nBits)) - 1);
-  e >>= (-nBits);
-  nBits += mLen;
-  for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8);
-
-  if (e === 0) {
-    e = 1 - eBias;
-  } else if (e === eMax) {
-    return m ? NaN : ((s ? -1 : 1) * Infinity);
-  } else {
-    m = m + Math.pow(2, mLen);
-    e = e - eBias;
-  }
-  return (s ? -1 : 1) * m * Math.pow(2, e - mLen);
-};
-
-exports.write = function(buffer, value, offset, isLE, mLen, nBytes) {
-  var e, m, c,
-      eLen = nBytes * 8 - mLen - 1,
-      eMax = (1 << eLen) - 1,
-      eBias = eMax >> 1,
-      rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0),
-      i = isLE ? 0 : (nBytes - 1),
-      d = isLE ? 1 : -1,
-      s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;
-
-  value = Math.abs(value);
-
-  if (isNaN(value) || value === Infinity) {
-    m = isNaN(value) ? 1 : 0;
-    e = eMax;
-  } else {
-    e = Math.floor(Math.log(value) / Math.LN2);
-    if (value * (c = Math.pow(2, -e)) < 1) {
-      e--;
-      c *= 2;
-    }
-    if (e + eBias >= 1) {
-      value += rt / c;
-    } else {
-      value += rt * Math.pow(2, 1 - eBias);
-    }
-    if (value * c >= 2) {
-      e++;
-      c /= 2;
-    }
-
-    if (e + eBias >= eMax) {
-      m = 0;
-      e = eMax;
-    } else if (e + eBias >= 1) {
-      m = (value * c - 1) * Math.pow(2, mLen);
-      e = e + eBias;
-    } else {
-      m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);
-      e = 0;
-    }
-  }
-
-  for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8);
-
-  e = (e << mLen) | m;
-  eLen += mLen;
-  for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8);
-
-  buffer[offset + i - d] |= s * 128;
-};
-
-},{}],9:[function(require,module,exports){
-(function (global){
-
-/**
- * Module exports.
- */
-
-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.
- *
- * @param {Function} fn - the function to deprecate
- * @param {String} msg - the string to print to the console when `fn` is invoked
- * @returns {Function} a new "deprecated" version of `fn`
- * @api public
- */
-
-function deprecate (fn, msg) {
-  if (config('noDeprecation')) {
-    return fn;
-  }
-
-  var warned = false;
-  function deprecated() {
-    if (!warned) {
-      if (config('throwDeprecation')) {
-        throw new Error(msg);
-      } else if (config('traceDeprecation')) {
-        console.trace(msg);
-      } else {
-        console.error(msg);
-      }
-      warned = true;
-    }
-    return fn.apply(this, arguments);
-  }
-
-  return deprecated;
-}
-
-/**
- * Checks `localStorage` for boolean values for the given `name`.
- *
- * @param {String} name
- * @returns {Boolean}
- * @api private
- */
-
-function config (name) {
-  if (!global.localStorage) return false;
-  var val = global.localStorage[name];
-  if (null == val) return false;
-  return String(val).toLowerCase() === 'true';
-}
-
-}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{}],10:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLAttribute, _;
-
-  _ = require('lodash-node');
-
-  module.exports = XMLAttribute = (function() {
-    function XMLAttribute(parent, name, value) {
-      this.stringify = parent.stringify;
-      if (name == null) {
-        throw new Error("Missing attribute name");
-      }
-      if (value == null) {
-        throw new Error("Missing attribute value");
-      }
-      this.name = this.stringify.attName(name);
-      this.value = this.stringify.attValue(value);
-    }
-
-    XMLAttribute.prototype.clone = function() {
-      return _.create(XMLAttribute.prototype, this);
-    };
-
-    XMLAttribute.prototype.toString = function(options, level) {
-      return ' ' + this.name + '="' + this.value + '"';
-    };
-
-    return XMLAttribute;
-
-  })();
-
-}).call(this);
-
-},{"lodash-node":100}],11:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLBuilder, XMLDeclaration, XMLDocType, XMLElement, XMLStringifier, _;
-
-  _ = require('lodash-node');
-
-  XMLStringifier = require('./XMLStringifier');
-
-  XMLDeclaration = require('./XMLDeclaration');
-
-  XMLDocType = require('./XMLDocType');
-
-  XMLElement = require('./XMLElement');
-
-  module.exports = XMLBuilder = (function() {
-    function XMLBuilder(name, options) {
-      var root, temp;
-      if (name == null) {
-        throw new Error("Root element needs a name");
-      }
-      if (options == null) {
-        options = {};
-      }
-      this.options = options;
-      this.stringify = new XMLStringifier(options);
-      temp = new XMLElement(this, 'doc');
-      root = temp.element(name);
-      root.isRoot = true;
-      root.documentObject = this;
-      this.rootObject = root;
-      if (!options.headless) {
-        root.declaration(options);
-        if ((options.pubID != null) || (options.sysID != null)) {
-          root.doctype(options);
-        }
-      }
-    }
-
-    XMLBuilder.prototype.root = function() {
-      return this.rootObject;
-    };
-
-    XMLBuilder.prototype.end = function(options) {
-      return toString(options);
-    };
-
-    XMLBuilder.prototype.toString = function(options) {
-      var indent, newline, pretty, r;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      r = '';
-      if (this.xmldec != null) {
-        r += this.xmldec.toString(options);
-      }
-      if (this.doctype != null) {
-        r += this.doctype.toString(options);
-      }
-      r += this.rootObject.toString(options);
-      if (pretty && r.slice(-newline.length) === newline) {
-        r = r.slice(0, -newline.length);
-      }
-      return r;
-    };
-
-    return XMLBuilder;
-
-  })();
-
-}).call(this);
-
-},{"./XMLDeclaration":18,"./XMLDocType":19,"./XMLElement":20,"./XMLStringifier":24,"lodash-node":100}],12:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(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; };
-
-  _ = require('lodash-node');
-
-  XMLNode = require('./XMLNode');
-
-  module.exports = XMLCData = (function(_super) {
-    __extends(XMLCData, _super);
-
-    function XMLCData(parent, text) {
-      XMLCData.__super__.constructor.call(this, parent);
-      if (text == null) {
-        throw new Error("Missing CDATA text");
-      }
-      this.text = this.stringify.cdata(text);
-    }
-
-    XMLCData.prototype.clone = function() {
-      return _.create(XMLCData.prototype, this);
-    };
-
-    XMLCData.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<![CDATA[' + this.text + ']]>';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLCData;
-
-  })(XMLNode);
-
-}).call(this);
-
-},{"./XMLNode":21,"lodash-node":100}],13:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(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; };
-
-  _ = require('lodash-node');
-
-  XMLNode = require('./XMLNode');
-
-  module.exports = XMLComment = (function(_super) {
-    __extends(XMLComment, _super);
-
-    function XMLComment(parent, text) {
-      XMLComment.__super__.constructor.call(this, parent);
-      if (text == null) {
-        throw new Error("Missing comment text");
-      }
-      this.text = this.stringify.comment(text);
-    }
-
-    XMLComment.prototype.clone = function() {
-      return _.create(XMLComment.prototype, this);
-    };
-
-    XMLComment.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<!-- ' + this.text + ' -->';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLComment;
-
-  })(XMLNode);
-
-}).call(this);
-
-},{"./XMLNode":21,"lodash-node":100}],14:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLDTDAttList, _;
-
-  _ = require('lodash-node');
-
-  module.exports = XMLDTDAttList = (function() {
-    function XMLDTDAttList(parent, elementName, attributeName, attributeType, defaultValueType, defaultValue) {
-      this.stringify = parent.stringify;
-      if (elementName == null) {
-        throw new Error("Missing DTD element name");
-      }
-      if (attributeName == null) {
-        throw new Error("Missing DTD attribute name");
-      }
-      if (!attributeType) {
-        throw new Error("Missing DTD attribute type");
-      }
-      if (!defaultValueType) {
-        throw new Error("Missing DTD attribute default");
-      }
-      if (defaultValueType.indexOf('#') !== 0) {
-        defaultValueType = '#' + defaultValueType;
-      }
-      if (!defaultValueType.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/)) {
-        throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT");
-      }
-      if (defaultValue && !defaultValueType.match(/^(#FIXED|#DEFAULT)$/)) {
-        throw new Error("Default value only applies to #FIXED or #DEFAULT");
-      }
-      this.elementName = this.stringify.eleName(elementName);
-      this.attributeName = this.stringify.attName(attributeName);
-      this.attributeType = this.stringify.dtdAttType(attributeType);
-      this.defaultValue = this.stringify.dtdAttDefault(defaultValue);
-      this.defaultValueType = defaultValueType;
-    }
-
-    XMLDTDAttList.prototype.clone = function() {
-      return _.create(XMLDTDAttList.prototype, this);
-    };
-
-    XMLDTDAttList.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<!ATTLIST ' + this.elementName + ' ' + this.attributeName + ' ' + this.attributeType;
-      if (this.defaultValueType !== '#DEFAULT') {
-        r += ' ' + this.defaultValueType;
-      }
-      if (this.defaultValue) {
-        r += ' "' + this.defaultValue + '"';
-      }
-      r += '>';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLDTDAttList;
-
-  })();
-
-}).call(this);
-
-},{"lodash-node":100}],15:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLDTDElement, _;
-
-  _ = require('lodash-node');
-
-  module.exports = XMLDTDElement = (function() {
-    function XMLDTDElement(parent, name, value) {
-      this.stringify = parent.stringify;
-      if (name == null) {
-        throw new Error("Missing DTD element name");
-      }
-      if (!value) {
-        value = '(#PCDATA)';
-      }
-      if (_.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;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<!ELEMENT ' + this.name + ' ' + this.value + '>';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLDTDElement;
-
-  })();
-
-}).call(this);
-
-},{"lodash-node":100}],16:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLDTDEntity, _;
-
-  _ = require('lodash-node');
-
-  module.exports = XMLDTDEntity = (function() {
-    function XMLDTDEntity(parent, pe, name, value) {
-      this.stringify = parent.stringify;
-      if (name == null) {
-        throw new Error("Missing entity name");
-      }
-      if (value == null) {
-        throw new Error("Missing entity value");
-      }
-      this.pe = !!pe;
-      this.name = this.stringify.eleName(name);
-      if (!_.isObject(value)) {
-        this.value = this.stringify.dtdEntityValue(value);
-      } else {
-        if (!value.pubID && !value.sysID) {
-          throw new Error("Public and/or system identifiers are required for an external entity");
-        }
-        if (value.pubID && !value.sysID) {
-          throw new Error("System identifier is required for a public external entity");
-        }
-        if (value.pubID != null) {
-          this.pubID = this.stringify.dtdPubID(value.pubID);
-        }
-        if (value.sysID != null) {
-          this.sysID = this.stringify.dtdSysID(value.sysID);
-        }
-        if (value.nData != null) {
-          this.nData = this.stringify.dtdNData(value.nData);
-        }
-        if (this.pe && this.nData) {
-          throw new Error("Notation declaration is not allowed in a parameter entity");
-        }
-      }
-    }
-
-    XMLDTDEntity.prototype.clone = function() {
-      return _.create(XMLDTDEntity.prototype, this);
-    };
-
-    XMLDTDEntity.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<!ENTITY';
-      if (this.pe) {
-        r += ' %';
-      }
-      r += ' ' + this.name;
-      if (this.value) {
-        r += ' "' + this.value + '"';
-      } else {
-        if (this.pubID && this.sysID) {
-          r += ' PUBLIC "' + this.pubID + '" "' + this.sysID + '"';
-        } else if (this.sysID) {
-          r += ' SYSTEM "' + this.sysID + '"';
-        }
-        if (this.nData) {
-          r += ' NDATA ' + this.nData;
-        }
-      }
-      r += '>';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLDTDEntity;
-
-  })();
-
-}).call(this);
-
-},{"lodash-node":100}],17:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLDTDNotation, _;
-
-  _ = require('lodash-node');
-
-  module.exports = XMLDTDNotation = (function() {
-    function XMLDTDNotation(parent, name, value) {
-      this.stringify = parent.stringify;
-      if (name == null) {
-        throw new Error("Missing notation name");
-      }
-      if (!value.pubID && !value.sysID) {
-        throw new Error("Public or system identifiers are required for an external entity");
-      }
-      this.name = this.stringify.eleName(name);
-      if (value.pubID != null) {
-        this.pubID = this.stringify.dtdPubID(value.pubID);
-      }
-      if (value.sysID != null) {
-        this.sysID = this.stringify.dtdSysID(value.sysID);
-      }
-    }
-
-    XMLDTDNotation.prototype.clone = function() {
-      return _.create(XMLDTDNotation.prototype, this);
-    };
-
-    XMLDTDNotation.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<!NOTATION ' + this.name;
-      if (this.pubID && this.sysID) {
-        r += ' PUBLIC "' + this.pubID + '" "' + this.sysID + '"';
-      } else if (this.pubID) {
-        r += ' PUBLIC "' + this.pubID + '"';
-      } else if (this.sysID) {
-        r += ' SYSTEM "' + this.sysID + '"';
-      }
-      r += '>';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLDTDNotation;
-
-  })();
-
-}).call(this);
-
-},{"lodash-node":100}],18:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(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; };
-
-  _ = require('lodash-node');
-
-  XMLNode = require('./XMLNode');
-
-  module.exports = XMLDeclaration = (function(_super) {
-    __extends(XMLDeclaration, _super);
-
-    function XMLDeclaration(parent, version, encoding, standalone) {
-      var _ref;
-      XMLDeclaration.__super__.constructor.call(this, parent);
-      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);
-      }
-      if (encoding != null) {
-        this.encoding = this.stringify.xmlEncoding(encoding);
-      }
-      if (standalone != null) {
-        this.standalone = this.stringify.xmlStandalone(standalone);
-      }
-    }
-
-    XMLDeclaration.prototype.clone = function() {
-      return _.create(XMLDeclaration.prototype, this);
-    };
-
-    XMLDeclaration.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<?xml';
-      if (this.version != null) {
-        r += ' version="' + this.version + '"';
-      }
-      if (this.encoding != null) {
-        r += ' encoding="' + this.encoding + '"';
-      }
-      if (this.standalone != null) {
-        r += ' standalone="' + this.standalone + '"';
-      }
-      r += '?>';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLDeclaration;
-
-  })(XMLNode);
-
-}).call(this);
-
-},{"./XMLNode":21,"lodash-node":100}],19:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLDocType, _;
-
-  _ = require('lodash-node');
-
-  module.exports = XMLDocType = (function() {
-    function XMLDocType(parent, pubID, sysID) {
-      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 (sysID == null) {
-        _ref1 = [pubID, sysID], sysID = _ref1[0], pubID = _ref1[1];
-      }
-      if (pubID != null) {
-        this.pubID = this.stringify.dtdPubID(pubID);
-      }
-      if (sysID != null) {
-        this.sysID = this.stringify.dtdSysID(sysID);
-      }
-    }
-
-    XMLDocType.prototype.clone = function() {
-      return _.create(XMLDocType.prototype, this);
-    };
-
-    XMLDocType.prototype.element = function(name, value) {
-      var XMLDTDElement, child;
-      XMLDTDElement = require('./XMLDTDElement');
-      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');
-      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');
-      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');
-      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');
-      child = new XMLDTDNotation(this, name, value);
-      this.children.push(child);
-      return this;
-    };
-
-    XMLDocType.prototype.cdata = function(value) {
-      var XMLCData, child;
-      XMLCData = require('./XMLCData');
-      child = new XMLCData(this, value);
-      this.children.push(child);
-      return this;
-    };
-
-    XMLDocType.prototype.comment = function(value) {
-      var XMLComment, child;
-      XMLComment = require('./XMLComment');
-      child = new XMLComment(this, value);
-      this.children.push(child);
-      return this;
-    };
-
-    XMLDocType.prototype.instruction = function(target, value) {
-      var XMLProcessingInstruction, child;
-      XMLProcessingInstruction = require('./XMLProcessingInstruction');
-      child = new XMLProcessingInstruction(this, target, value);
-      this.children.push(child);
-      return this;
-    };
-
-    XMLDocType.prototype.root = function() {
-      return this.documentObject.root();
-    };
-
-    XMLDocType.prototype.document = function() {
-      return this.documentObject;
-    };
-
-    XMLDocType.prototype.toString = function(options, level) {
-      var child, indent, newline, pretty, r, space, _i, _len, _ref;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<!DOCTYPE ' + this.root().name;
-      if (this.pubID && this.sysID) {
-        r += ' PUBLIC "' + this.pubID + '" "' + this.sysID + '"';
-      } else if (this.sysID) {
-        r += ' SYSTEM "' + this.sysID + '"';
-      }
-      if (this.children.length > 0) {
-        r += ' [';
-        if (pretty) {
-          r += newline;
-        }
-        _ref = this.children;
-        for (_i = 0, _len = _ref.length; _i < _len; _i++) {
-          child = _ref[_i];
-          r += child.toString(options, level + 1);
-        }
-        r += ']';
-      }
-      r += '>';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    XMLDocType.prototype.ele = function(name, value) {
-      return this.element(name, value);
-    };
-
-    XMLDocType.prototype.att = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) {
-      return this.attList(elementName, attributeName, attributeType, defaultValueType, defaultValue);
-    };
-
-    XMLDocType.prototype.ent = function(name, value) {
-      return this.entity(name, value);
-    };
-
-    XMLDocType.prototype.pent = function(name, value) {
-      return this.pEntity(name, value);
-    };
-
-    XMLDocType.prototype.not = function(name, value) {
-      return this.notation(name, value);
-    };
-
-    XMLDocType.prototype.dat = function(value) {
-      return this.cdata(value);
-    };
-
-    XMLDocType.prototype.com = function(value) {
-      return this.comment(value);
-    };
-
-    XMLDocType.prototype.ins = function(target, value) {
-      return this.instruction(target, value);
-    };
-
-    XMLDocType.prototype.up = function() {
-      return this.root();
-    };
-
-    XMLDocType.prototype.doc = function() {
-      return this.document();
-    };
-
-    return XMLDocType;
-
-  })();
-
-}).call(this);
-
-},{"./XMLCData":12,"./XMLComment":13,"./XMLDTDAttList":14,"./XMLDTDElement":15,"./XMLDTDEntity":16,"./XMLDTDNotation":17,"./XMLProcessingInstruction":22,"lodash-node":100}],20:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(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; };
-
-  _ = require('lodash-node');
-
-  XMLNode = require('./XMLNode');
-
-  XMLAttribute = require('./XMLAttribute');
-
-  XMLProcessingInstruction = require('./XMLProcessingInstruction');
-
-  module.exports = XMLElement = (function(_super) {
-    __extends(XMLElement, _super);
-
-    function XMLElement(parent, name, attributes) {
-      XMLElement.__super__.constructor.call(this, parent);
-      if (name == null) {
-        throw new Error("Missing element name");
-      }
-      this.name = this.stringify.eleName(name);
-      this.children = [];
-      this.instructions = [];
-      this.attributes = {};
-      if (attributes != null) {
-        this.attribute(attributes);
-      }
-    }
-
-    XMLElement.prototype.clone = function() {
-      var att, attName, clonedSelf, pi, _i, _len, _ref, _ref1;
-      clonedSelf = _.create(XMLElement.prototype, this);
-      clonedSelf.attributes = {};
-      _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];
-        clonedSelf.instructions.push(pi.clone());
-      }
-      clonedSelf.children = [];
-      this.children.forEach(function(child) {
-        var clonedChild;
-        clonedChild = child.clone();
-        clonedChild.parent = clonedSelf;
-        return clonedSelf.children.push(clonedChild);
-      });
-      return clonedSelf;
-    };
-
-    XMLElement.prototype.attribute = function(name, value) {
-      var attName, attValue;
-      if (_.isObject(name)) {
-        for (attName in name) {
-          if (!__hasProp.call(name, attName)) continue;
-          attValue = name[attName];
-          this.attribute(attName, attValue);
-        }
-      } else {
-        if (_.isFunction(value)) {
-          value = value.apply();
-        }
-        if (!this.options.skipNullAttributes || (value != null)) {
-          this.attributes[name] = new XMLAttribute(this, name, value);
-        }
-      }
-      return this;
-    };
-
-    XMLElement.prototype.removeAttribute = function(name) {
-      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];
-          delete this.attributes[attName];
-        }
-      } else {
-        delete this.attributes[name];
-      }
-      return this;
-    };
-
-    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];
-          this.instruction(insTarget);
-        }
-      } else if (_.isObject(target)) {
-        for (insTarget in target) {
-          if (!__hasProp.call(target, insTarget)) continue;
-          insValue = target[insTarget];
-          this.instruction(insTarget, insValue);
-        }
-      } else {
-        if (_.isFunction(value)) {
-          value = value.apply();
-        }
-        instruction = new XMLProcessingInstruction(this, target, value);
-        this.instructions.push(instruction);
-      }
-      return this;
-    };
-
-    XMLElement.prototype.toString = function(options, level) {
-      var att, child, indent, instruction, name, newline, pretty, r, space, _i, _j, _len, _len1, _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';
-      level || (level = 0);
-      space = new Array(level + 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);
-      }
-      if (pretty) {
-        r += space;
-      }
-      r += '<' + this.name;
-      _ref1 = this.attributes;
-      for (name in _ref1) {
-        if (!__hasProp.call(_ref1, name)) continue;
-        att = _ref1[name];
-        r += att.toString(options);
-      }
-      if (this.children.length === 0) {
-        r += '/>';
-        if (pretty) {
-          r += newline;
-        }
-      } else if (pretty && this.children.length === 1 && (this.children[0].value != null)) {
-        r += '>';
-        r += this.children[0].value;
-        r += '</' + this.name + '>';
-        r += newline;
-      } else {
-        r += '>';
-        if (pretty) {
-          r += newline;
-        }
-        _ref2 = this.children;
-        for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
-          child = _ref2[_j];
-          r += child.toString(options, level + 1);
-        }
-        if (pretty) {
-          r += space;
-        }
-        r += '</' + this.name + '>';
-        if (pretty) {
-          r += newline;
-        }
-      }
-      return r;
-    };
-
-    XMLElement.prototype.att = function(name, value) {
-      return this.attribute(name, value);
-    };
-
-    XMLElement.prototype.ins = function(target, value) {
-      return this.instruction(target, value);
-    };
-
-    XMLElement.prototype.a = function(name, value) {
-      return this.attribute(name, value);
-    };
-
-    XMLElement.prototype.i = function(target, value) {
-      return this.instruction(target, value);
-    };
-
-    return XMLElement;
-
-  })(XMLNode);
-
-}).call(this);
-
-},{"./XMLAttribute":10,"./XMLNode":21,"./XMLProcessingInstruction":22,"lodash-node":100}],21:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLNode, _,
-    __hasProp = {}.hasOwnProperty;
-
-  _ = require('lodash-node');
-
-  module.exports = XMLNode = (function() {
-    function XMLNode(parent) {
-      this.parent = parent;
-      this.options = this.parent.options;
-      this.stringify = this.parent.stringify;
-    }
-
-    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;
-      lastChild = null;
-      if (attributes == null) {
-        attributes = {};
-      }
-      if (!_.isObject(attributes)) {
-        _ref = [attributes, text], text = _ref[0], attributes = _ref[1];
-      }
-      if (_.isArray(name)) {
-        for (_i = 0, _len = name.length; _i < _len; _i++) {
-          item = name[_i];
-          lastChild = this.element(item);
-        }
-      } else if (_.isFunction(name)) {
-        lastChild = this.element(name.apply());
-      } else if (_.isObject(name)) {
-        for (key in name) {
-          if (!__hasProp.call(name, key)) continue;
-          val = name[key];
-          if (!(val != null)) {
-            continue;
-          }
-          if (_.isFunction(val)) {
-            val = val.apply();
-          }
-          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 {
-            lastChild = this.element(key, val);
-          }
-        }
-      } else {
-        if (!this.options.ignoreDecorators && this.stringify.convertTextKey && name.indexOf(this.stringify.convertTextKey) === 0) {
-          lastChild = this.text(text);
-        } else if (!this.options.ignoreDecorators && this.stringify.convertCDataKey && name.indexOf(this.stringify.convertCDataKey) === 0) {
-          lastChild = this.cdata(text);
-        } else if (!this.options.ignoreDecorators && this.stringify.convertCommentKey && name.indexOf(this.stringify.convertCommentKey) === 0) {
-          lastChild = this.comment(text);
-        } else if (!this.options.ignoreDecorators && this.stringify.convertRawKey && name.indexOf(this.stringify.convertRawKey) === 0) {
-          lastChild = this.raw(text);
-        } else {
-          lastChild = this.node(name, attributes, text);
-        }
-      }
-      if (lastChild == null) {
-        throw new Error("Could not create any elements with: " + name);
-      }
-      return lastChild;
-    };
-
-    XMLNode.prototype.insertBefore = function(name, attributes, text) {
-      var child, i, removed;
-      if (this.isRoot) {
-        throw new Error("Cannot insert elements at root level");
-      }
-      i = this.parent.children.indexOf(this);
-      removed = this.parent.children.splice(i);
-      child = this.parent.element(name, attributes, text);
-      Array.prototype.push.apply(this.parent.children, removed);
-      return child;
-    };
-
-    XMLNode.prototype.insertAfter = function(name, attributes, text) {
-      var child, i, removed;
-      if (this.isRoot) {
-        throw new Error("Cannot insert elements at root level");
-      }
-      i = this.parent.children.indexOf(this);
-      removed = this.parent.children.splice(i + 1);
-      child = this.parent.element(name, attributes, text);
-      Array.prototype.push.apply(this.parent.children, removed);
-      return child;
-    };
-
-    XMLNode.prototype.remove = function() {
-      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;
-      return this.parent;
-    };
-
-    XMLNode.prototype.node = function(name, attributes, text) {
-      var XMLElement, child, _ref;
-      if (attributes == null) {
-        attributes = {};
-      }
-      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);
-      }
-      this.children.push(child);
-      return child;
-    };
-
-    XMLNode.prototype.text = function(value) {
-      var XMLText, child;
-      XMLText = require('./XMLText');
-      child = new XMLText(this, value);
-      this.children.push(child);
-      return this;
-    };
-
-    XMLNode.prototype.cdata = function(value) {
-      var XMLCData, child;
-      XMLCData = require('./XMLCData');
-      child = new XMLCData(this, value);
-      this.children.push(child);
-      return this;
-    };
-
-    XMLNode.prototype.comment = function(value) {
-      var XMLComment, child;
-      XMLComment = require('./XMLComment');
-      child = new XMLComment(this, value);
-      this.children.push(child);
-      return this;
-    };
-
-    XMLNode.prototype.raw = function(value) {
-      var XMLRaw, child;
-      XMLRaw = require('./XMLRaw');
-      child = new XMLRaw(this, value);
-      this.children.push(child);
-      return this;
-    };
-
-    XMLNode.prototype.declaration = function(version, encoding, standalone) {
-      var XMLDeclaration, 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;
-      doc = this.document();
-      XMLDocType = require('./XMLDocType');
-      doctype = new XMLDocType(doc, pubID, sysID);
-      doc.doctype = doctype;
-      return doctype;
-    };
-
-    XMLNode.prototype.up = function() {
-      if (this.isRoot) {
-        throw new Error("The root node has no parent. Use doc() if you need to get the document object.");
-      }
-      return this.parent;
-    };
-
-    XMLNode.prototype.root = function() {
-      var child;
-      if (this.isRoot) {
-        return this;
-      }
-      child = this.parent;
-      while (!child.isRoot) {
-        child = child.parent;
-      }
-      return child;
-    };
-
-    XMLNode.prototype.document = function() {
-      return this.root().documentObject;
-    };
-
-    XMLNode.prototype.end = function(options) {
-      return this.document().toString(options);
-    };
-
-    XMLNode.prototype.prev = function() {
-      var i;
-      if (this.isRoot) {
-        throw new Error("Root node has no siblings");
-      }
-      i = this.parent.children.indexOf(this);
-      if (i < 1) {
-        throw new Error("Already at the first node");
-      }
-      return this.parent.children[i - 1];
-    };
-
-    XMLNode.prototype.next = function() {
-      var i;
-      if (this.isRoot) {
-        throw new Error("Root node has no siblings");
-      }
-      i = this.parent.children.indexOf(this);
-      

<TRUNCATED>

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


[15/32] ios commit: CB-11445 Updated checked-in node_modules

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/utilities/template.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/template.js b/node_modules/lodash-node/modern/utilities/template.js
deleted file mode 100644
index 85ab79d..0000000
--- a/node_modules/lodash-node/modern/utilities/template.js
+++ /dev/null
@@ -1,216 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 defaults = require('../objects/defaults'),
-    escape = require('./escape'),
-    escapeStringChar = require('../internals/escapeStringChar'),
-    keys = require('../objects/keys'),
-    reInterpolate = require('../internals/reInterpolate'),
-    templateSettings = require('./templateSettings'),
-    values = require('../objects/values');
-
-/** Used to match empty string literals in compiled template source */
-var reEmptyStringLeading = /\b__p \+= '';/g,
-    reEmptyStringMiddle = /\b(__p \+=) '' \+/g,
-    reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g;
-
-/**
- * Used to match ES6 template delimiters
- * http://people.mozilla.org/~jorendorff/es6-draft.html#sec-literals-string-literals
- */
-var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;
-
-/** Used to ensure capturing order of template delimiters */
-var reNoMatch = /($^)/;
-
-/** Used to match unescaped characters in compiled string literals */
-var reUnescapedString = /['\n\r\t\u2028\u2029\\]/g;
-
-/**
- * A micro-templating method that handles arbitrary delimiters, preserves
- * whitespace, and correctly escapes quotes within interpolated code.
- *
- * Note: In the development build, `_.template` utilizes sourceURLs for easier
- * debugging. See http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl
- *
- * For more information on precompiling templates see:
- * http://lodash.com/custom-builds
- *
- * For more information on Chrome extension sandboxes see:
- * http://developer.chrome.com/stable/extensions/sandboxingEval.html
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {string} text The template text.
- * @param {Object} data The data object used to populate the text.
- * @param {Object} [options] The options object.
- * @param {RegExp} [options.escape] The "escape" delimiter.
- * @param {RegExp} [options.evaluate] The "evaluate" delimiter.
- * @param {Object} [options.imports] An object to import into the template as local variables.
- * @param {RegExp} [options.interpolate] The "interpolate" delimiter.
- * @param {string} [sourceURL] The sourceURL of the template's compiled source.
- * @param {string} [variable] The data object variable name.
- * @returns {Function|string} Returns a compiled function when no `data` object
- *  is given, else it returns the interpolated text.
- * @example
- *
- * // using the "interpolate" delimiter to create a compiled template
- * var compiled = _.template('hello <%= name %>');
- * compiled({ 'name': 'fred' });
- * // => 'hello fred'
- *
- * // using the "escape" delimiter to escape HTML in data property values
- * _.template('<b><%- value %></b>', { 'value': '<script>' });
- * // => '<b>&lt;script&gt;</b>'
- *
- * // using the "evaluate" delimiter to generate HTML
- * var list = '<% _.forEach(people, function(name) { %><li><%- name %></li><% }); %>';
- * _.template(list, { 'people': ['fred', 'barney'] });
- * // => '<li>fred</li><li>barney</li>'
- *
- * // using the ES6 delimiter as an alternative to the default "interpolate" delimiter
- * _.template('hello ${ name }', { 'name': 'pebbles' });
- * // => 'hello pebbles'
- *
- * // using the internal `print` function in "evaluate" delimiters
- * _.template('<% print("hello " + name); %>!', { 'name': 'barney' });
- * // => 'hello barney!'
- *
- * // using a custom template delimiters
- * _.templateSettings = {
- *   'interpolate': /{{([\s\S]+?)}}/g
- * };
- *
- * _.template('hello {{ name }}!', { 'name': 'mustache' });
- * // => 'hello mustache!'
- *
- * // using the `imports` option to import jQuery
- * var list = '<% jq.each(people, function(name) { %><li><%- name %></li><% }); %>';
- * _.template(list, { 'people': ['fred', 'barney'] }, { 'imports': { 'jq': jQuery } });
- * // => '<li>fred</li><li>barney</li>'
- *
- * // using the `sourceURL` option to specify a custom sourceURL for the template
- * var compiled = _.template('hello <%= name %>', null, { 'sourceURL': '/basic/greeting.jst' });
- * compiled(data);
- * // => find the source of "greeting.jst" under the Sources tab or Resources panel of the web inspector
- *
- * // using the `variable` option to ensure a with-statement isn't used in the compiled template
- * var compiled = _.template('hi <%= data.name %>!', null, { 'variable': 'data' });
- * compiled.source;
- * // => function(data) {
- *   var __t, __p = '', __e = _.escape;
- *   __p += 'hi ' + ((__t = ( data.name )) == null ? '' : __t) + '!';
- *   return __p;
- * }
- *
- * // using the `source` property to inline compiled templates for meaningful
- * // line numbers in error messages and a stack trace
- * fs.writeFileSync(path.join(cwd, 'jst.js'), '\
- *   var JST = {\
- *     "main": ' + _.template(mainText).source + '\
- *   };\
- * ');
- */
-function template(text, data, options) {
-  // based on John Resig's `tmpl` implementation
-  // http://ejohn.org/blog/javascript-micro-templating/
-  // and Laura Doktorova's doT.js
-  // https://github.com/olado/doT
-  var settings = templateSettings.imports._.templateSettings || templateSettings;
-  text = String(text || '');
-
-  // avoid missing dependencies when `iteratorTemplate` is not defined
-  options = defaults({}, options, settings);
-
-  var imports = defaults({}, options.imports, settings.imports),
-      importsKeys = keys(imports),
-      importsValues = values(imports);
-
-  var isEvaluating,
-      index = 0,
-      interpolate = options.interpolate || reNoMatch,
-      source = "__p += '";
-
-  // compile the regexp to match each delimiter
-  var reDelimiters = RegExp(
-    (options.escape || reNoMatch).source + '|' +
-    interpolate.source + '|' +
-    (interpolate === reInterpolate ? reEsTemplate : reNoMatch).source + '|' +
-    (options.evaluate || reNoMatch).source + '|$'
-  , 'g');
-
-  text.replace(reDelimiters, function(match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) {
-    interpolateValue || (interpolateValue = esTemplateValue);
-
-    // escape characters that cannot be included in string literals
-    source += text.slice(index, offset).replace(reUnescapedString, escapeStringChar);
-
-    // replace delimiters with snippets
-    if (escapeValue) {
-      source += "' +\n__e(" + escapeValue + ") +\n'";
-    }
-    if (evaluateValue) {
-      isEvaluating = true;
-      source += "';\n" + evaluateValue + ";\n__p += '";
-    }
-    if (interpolateValue) {
-      source += "' +\n((__t = (" + interpolateValue + ")) == null ? '' : __t) +\n'";
-    }
-    index = offset + match.length;
-
-    // the JS engine embedded in Adobe products requires returning the `match`
-    // string in order to produce the correct `offset` value
-    return match;
-  });
-
-  source += "';\n";
-
-  // if `variable` is not specified, wrap a with-statement around the generated
-  // code to add the data object to the top of the scope chain
-  var variable = options.variable,
-      hasVariable = variable;
-
-  if (!hasVariable) {
-    variable = 'obj';
-    source = 'with (' + variable + ') {\n' + source + '\n}\n';
-  }
-  // cleanup code by stripping empty strings
-  source = (isEvaluating ? source.replace(reEmptyStringLeading, '') : source)
-    .replace(reEmptyStringMiddle, '$1')
-    .replace(reEmptyStringTrailing, '$1;');
-
-  // frame code as the function body
-  source = 'function(' + variable + ') {\n' +
-    (hasVariable ? '' : variable + ' || (' + variable + ' = {});\n') +
-    "var __t, __p = '', __e = _.escape" +
-    (isEvaluating
-      ? ', __j = Array.prototype.join;\n' +
-        "function print() { __p += __j.call(arguments, '') }\n"
-      : ';\n'
-    ) +
-    source +
-    'return __p\n}';
-
-  try {
-    var result = Function(importsKeys, 'return ' + source ).apply(undefined, importsValues);
-  } catch(e) {
-    e.source = source;
-    throw e;
-  }
-  if (data) {
-    return result(data);
-  }
-  // provide the compiled function's source by its `toString` method, in
-  // supported environments, or the `source` property as a convenience for
-  // inlining compiled templates during the build process
-  result.source = source;
-  return result;
-}
-
-module.exports = template;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/utilities/templateSettings.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/templateSettings.js b/node_modules/lodash-node/modern/utilities/templateSettings.js
deleted file mode 100644
index c4bbb05..0000000
--- a/node_modules/lodash-node/modern/utilities/templateSettings.js
+++ /dev/null
@@ -1,73 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 escape = require('./escape'),
-    reInterpolate = require('../internals/reInterpolate');
-
-/**
- * By default, the template delimiters used by Lo-Dash are similar to those in
- * embedded Ruby (ERB). Change the following template settings to use alternative
- * delimiters.
- *
- * @static
- * @memberOf _
- * @type Object
- */
-var templateSettings = {
-
-  /**
-   * Used to detect `data` property values to be HTML-escaped.
-   *
-   * @memberOf _.templateSettings
-   * @type RegExp
-   */
-  'escape': /<%-([\s\S]+?)%>/g,
-
-  /**
-   * Used to detect code to be evaluated.
-   *
-   * @memberOf _.templateSettings
-   * @type RegExp
-   */
-  'evaluate': /<%([\s\S]+?)%>/g,
-
-  /**
-   * Used to detect `data` property values to inject.
-   *
-   * @memberOf _.templateSettings
-   * @type RegExp
-   */
-  'interpolate': reInterpolate,
-
-  /**
-   * Used to reference the data object in the template text.
-   *
-   * @memberOf _.templateSettings
-   * @type string
-   */
-  'variable': '',
-
-  /**
-   * Used to import variables into the compiled template.
-   *
-   * @memberOf _.templateSettings
-   * @type Object
-   */
-  'imports': {
-
-    /**
-     * A reference to the `lodash` function.
-     *
-     * @memberOf _.templateSettings.imports
-     * @type Function
-     */
-    '_': { 'escape': escape }
-  }
-};
-
-module.exports = templateSettings;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/utilities/times.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/times.js b/node_modules/lodash-node/modern/utilities/times.js
deleted file mode 100644
index 8ac64ff..0000000
--- a/node_modules/lodash-node/modern/utilities/times.js
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseCreateCallback = require('../internals/baseCreateCallback');
-
-/**
- * Executes the callback `n` times, returning an array of the results
- * of each callback execution. The callback is bound to `thisArg` and invoked
- * with one argument; (index).
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {number} n The number of times to execute the callback.
- * @param {Function} callback The function called per iteration.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Array} Returns an array of the results of each `callback` execution.
- * @example
- *
- * var diceRolls = _.times(3, _.partial(_.random, 1, 6));
- * // => [3, 6, 4]
- *
- * _.times(3, function(n) { mage.castSpell(n); });
- * // => calls `mage.castSpell(n)` three times, passing `n` of `0`, `1`, and `2` respectively
- *
- * _.times(3, function(n) { this.cast(n); }, mage);
- * // => also calls `mage.castSpell(n)` three times
- */
-function times(n, callback, thisArg) {
-  n = (n = +n) > -1 ? n : 0;
-  var index = -1,
-      result = Array(n);
-
-  callback = baseCreateCallback(callback, thisArg, 1);
-  while (++index < n) {
-    result[index] = callback(index);
-  }
-  return result;
-}
-
-module.exports = times;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/utilities/unescape.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/unescape.js b/node_modules/lodash-node/modern/utilities/unescape.js
deleted file mode 100644
index 57403f4..0000000
--- a/node_modules/lodash-node/modern/utilities/unescape.js
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 keys = require('../objects/keys'),
-    reEscapedHtml = require('../internals/reEscapedHtml'),
-    unescapeHtmlChar = require('../internals/unescapeHtmlChar');
-
-/**
- * The inverse of `_.escape` this method converts the HTML entities
- * `&amp;`, `&lt;`, `&gt;`, `&quot;`, and `&#39;` in `string` to their
- * corresponding characters.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {string} string The string to unescape.
- * @returns {string} Returns the unescaped string.
- * @example
- *
- * _.unescape('Fred, Barney &amp; Pebbles');
- * // => 'Fred, Barney & Pebbles'
- */
-function unescape(string) {
-  return string == null ? '' : String(string).replace(reEscapedHtml, unescapeHtmlChar);
-}
-
-module.exports = unescape;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/utilities/uniqueId.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/uniqueId.js b/node_modules/lodash-node/modern/utilities/uniqueId.js
deleted file mode 100644
index cb4fd02..0000000
--- a/node_modules/lodash-node/modern/utilities/uniqueId.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/** Used to generate unique IDs */
-var idCounter = 0;
-
-/**
- * Generates a unique ID. If `prefix` is provided the ID will be appended to it.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {string} [prefix] The value to prefix the ID with.
- * @returns {string} Returns the unique ID.
- * @example
- *
- * _.uniqueId('contact_');
- * // => 'contact_104'
- *
- * _.uniqueId();
- * // => '105'
- */
-function uniqueId(prefix) {
-  var id = ++idCounter;
-  return String(prefix == null ? '' : prefix) + id;
-}
-
-module.exports = uniqueId;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/package.json
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/package.json b/node_modules/lodash-node/package.json
deleted file mode 100644
index 3226ff5..0000000
--- a/node_modules/lodash-node/package.json
+++ /dev/null
@@ -1,111 +0,0 @@
-{
-  "_args": [
-    [
-      "lodash-node@~2.4.1",
-      "D:\\Cordova\\cordova-ios\\node_modules\\simple-plist\\node_modules\\xmlbuilder"
-    ]
-  ],
-  "_from": "lodash-node@>=2.4.1 <2.5.0",
-  "_id": "lodash-node@2.4.1",
-  "_inCache": true,
-  "_installable": true,
-  "_location": "/lodash-node",
-  "_npmUser": {
-    "email": "john.david.dalton@gmail.com",
-    "name": "jdalton"
-  },
-  "_npmVersion": "1.3.14",
-  "_phantomChildren": {},
-  "_requested": {
-    "name": "lodash-node",
-    "raw": "lodash-node@~2.4.1",
-    "rawSpec": "~2.4.1",
-    "scope": null,
-    "spec": ">=2.4.1 <2.5.0",
-    "type": "range"
-  },
-  "_requiredBy": [
-    "/simple-plist/xmlbuilder"
-  ],
-  "_resolved": "https://registry.npmjs.org/lodash-node/-/lodash-node-2.4.1.tgz",
-  "_shasum": "ea82f7b100c733d1a42af76801e506105e2a80ec",
-  "_shrinkwrap": null,
-  "_spec": "lodash-node@~2.4.1",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\simple-plist\\node_modules\\xmlbuilder",
-  "author": {
-    "email": "john.david.dalton@gmail.com",
-    "name": "John-David Dalton",
-    "url": "http://allyoucanleet.com/"
-  },
-  "bugs": {
-    "url": "https://github.com/lodash/lodash-cli/issues"
-  },
-  "contributors": [
-    {
-      "email": "john.david.dalton@gmail.com",
-      "name": "John-David Dalton",
-      "url": "http://allyoucanleet.com/"
-    },
-    {
-      "email": "blaine@iceddev.com",
-      "name": "Blaine Bublitz",
-      "url": "http://www.iceddev.com/"
-    },
-    {
-      "email": "github@kitcambridge.be",
-      "name": "Kit Cambridge",
-      "url": "http://kitcambridge.be/"
-    },
-    {
-      "email": "mathias@qiwi.be",
-      "name": "Mathias Bynens",
-      "url": "http://mathiasbynens.be/"
-    }
-  ],
-  "dependencies": {},
-  "deprecated": "This package has been discontinued in favor of lodash@^4.0.0.",
-  "description": "A collection of Lo-Dash methods as Node.js modules generated by lodash-cli.",
-  "devDependencies": {},
-  "directories": {},
-  "dist": {
-    "shasum": "ea82f7b100c733d1a42af76801e506105e2a80ec",
-    "tarball": "https://registry.npmjs.org/lodash-node/-/lodash-node-2.4.1.tgz"
-  },
-  "homepage": "http://lodash.com/custom-builds",
-  "keywords": [
-    "customize",
-    "functional",
-    "lodash",
-    "modules",
-    "server",
-    "util"
-  ],
-  "license": "MIT",
-  "main": "modern/index.js",
-  "maintainers": [
-    {
-      "email": "john.david.dalton@gmail.com",
-      "name": "jdalton"
-    },
-    {
-      "email": "github@kitcambridge.be",
-      "name": "kitcambridge"
-    },
-    {
-      "email": "mathias@qiwi.be",
-      "name": "mathias"
-    },
-    {
-      "email": "blaine@iceddev.com",
-      "name": "phated"
-    }
-  ],
-  "name": "lodash-node",
-  "optionalDependencies": {},
-  "readme": "ERROR: No README data found!",
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/lodash/lodash-node.git"
-  },
-  "version": "2.4.1"
-}

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/arrays.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/arrays.js b/node_modules/lodash-node/underscore/arrays.js
deleted file mode 100644
index 4290b26..0000000
--- a/node_modules/lodash-node/underscore/arrays.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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'),
-  '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'),
-  'range': require('./arrays/range'),
-  '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'),
-  'zip': require('./arrays/zip'),
-  'zipObject': require('./arrays/zipObject')
-};

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/arrays/compact.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/arrays/compact.js b/node_modules/lodash-node/underscore/arrays/compact.js
deleted file mode 100644
index f82622b..0000000
--- a/node_modules/lodash-node/underscore/arrays/compact.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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-ios/blob/0d465c30/node_modules/lodash-node/underscore/arrays/difference.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/arrays/difference.js b/node_modules/lodash-node/underscore/arrays/difference.js
deleted file mode 100644
index c5d16e4..0000000
--- a/node_modules/lodash-node/underscore/arrays/difference.js
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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-ios/blob/0d465c30/node_modules/lodash-node/underscore/arrays/first.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/arrays/first.js b/node_modules/lodash-node/underscore/arrays/first.js
deleted file mode 100644
index 1afd4fd..0000000
--- a/node_modules/lodash-node/underscore/arrays/first.js
+++ /dev/null
@@ -1,86 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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'),
-    slice = require('../internals/slice');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max,
-    nativeMin = Math.min;
-
-/**
- * Gets the first element or first `n` elements of an array. If a callback
- * is provided elements at the beginning of the array are returned as long
- * as the callback returns truey. The callback is bound to `thisArg` and
- * invoked with three arguments; (value, index, array).
- *
- * 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 _
- * @alias head, take
- * @category Arrays
- * @param {Array} array The array to query.
- * @param {Function|Object|number|string} [callback] The function called
- *  per element or the number of elements to return. 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 {*} Returns the first element(s) of `array`.
- * @example
- *
- * _.first([1, 2, 3]);
- * // => 1
- *
- * _.first([1, 2, 3], 2);
- * // => [1, 2]
- *
- * _.first([1, 2, 3], function(num) {
- *   return num < 3;
- * });
- * // => [1, 2]
- *
- * var characters = [
- *   { 'name': 'barney',  'blocked': true,  'employer': 'slate' },
- *   { 'name': 'fred',    'blocked': false, 'employer': 'slate' },
- *   { 'name': 'pebbles', 'blocked': true,  'employer': 'na' }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.first(characters, 'blocked');
- * // => [{ 'name': 'barney', 'blocked': true, 'employer': 'slate' }]
- *
- * // using "_.where" callback shorthand
- * _.pluck(_.first(characters, { 'employer': 'slate' }), 'name');
- * // => ['barney', 'fred']
- */
-function first(array, callback, thisArg) {
-  var n = 0,
-      length = array ? array.length : 0;
-
-  if (typeof callback != 'number' && callback != null) {
-    var index = -1;
-    callback = createCallback(callback, thisArg, 3);
-    while (++index < length && callback(array[index], index, array)) {
-      n++;
-    }
-  } else {
-    n = callback;
-    if (n == null || thisArg) {
-      return array ? array[0] : undefined;
-    }
-  }
-  return slice(array, 0, nativeMin(nativeMax(0, n), length));
-}
-
-module.exports = first;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/arrays/flatten.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/arrays/flatten.js b/node_modules/lodash-node/underscore/arrays/flatten.js
deleted file mode 100644
index 03108f0..0000000
--- a/node_modules/lodash-node/underscore/arrays/flatten.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 baseFlatten = require('../internals/baseFlatten');
-
-/**
- * Flattens a nested array (the nesting can be to any depth). If `isShallow`
- * is truey, the array will only be flattened a single level. If a callback
- * is provided each element of the array is passed through the callback before
- * flattening. The callback is bound to `thisArg` and invoked with three
- * arguments; (value, index, array).
- *
- * 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 flatten.
- * @param {boolean} [isShallow=false] A flag to restrict flattening to a single level.
- * @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 {Array} Returns a new flattened array.
- * @example
- *
- * _.flatten([1, [2], [3, [[4]]]]);
- * // => [1, 2, 3, 4];
- *
- * _.flatten([1, [2], [3, [[4]]]], true);
- * // => [1, 2, 3, [[4]]];
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 30, 'pets': ['hoppy'] },
- *   { 'name': 'fred',   'age': 40, 'pets': ['baby puss', 'dino'] }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.flatten(characters, 'pets');
- * // => ['hoppy', 'baby puss', 'dino']
- */
-function flatten(array, isShallow) {
-  return baseFlatten(array, isShallow);
-}
-
-module.exports = flatten;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/arrays/indexOf.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/arrays/indexOf.js b/node_modules/lodash-node/underscore/arrays/indexOf.js
deleted file mode 100644
index 8a8948d..0000000
--- a/node_modules/lodash-node/underscore/arrays/indexOf.js
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 baseIndexOf = require('../internals/baseIndexOf'),
-    sortedIndex = require('./sortedIndex');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max;
-
-/**
- * Gets the index at which the first occurrence of `value` is found using
- * strict equality for comparisons, i.e. `===`. If the array is already sorted
- * providing `true` for `fromIndex` will run a faster binary search.
- *
- * @static
- * @memberOf _
- * @category Arrays
- * @param {Array} array The array to search.
- * @param {*} value The value to search for.
- * @param {boolean|number} [fromIndex=0] The index to search from or `true`
- *  to perform a binary search on a sorted array.
- * @returns {number} Returns the index of the matched value or `-1`.
- * @example
- *
- * _.indexOf([1, 2, 3, 1, 2, 3], 2);
- * // => 1
- *
- * _.indexOf([1, 2, 3, 1, 2, 3], 2, 3);
- * // => 4
- *
- * _.indexOf([1, 1, 2, 2, 3, 3], 2, true);
- * // => 2
- */
-function indexOf(array, value, fromIndex) {
-  if (typeof fromIndex == 'number') {
-    var length = array ? array.length : 0;
-    fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex || 0);
-  } else if (fromIndex) {
-    var index = sortedIndex(array, value);
-    return array[index] === value ? index : -1;
-  }
-  return baseIndexOf(array, value, fromIndex);
-}
-
-module.exports = indexOf;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/arrays/initial.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/arrays/initial.js b/node_modules/lodash-node/underscore/arrays/initial.js
deleted file mode 100644
index f36f4c1..0000000
--- a/node_modules/lodash-node/underscore/arrays/initial.js
+++ /dev/null
@@ -1,82 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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'),
-    slice = require('../internals/slice');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max,
-    nativeMin = Math.min;
-
-/**
- * Gets all but the last element or last `n` elements of an array. If a
- * callback is provided elements at the end of the array are excluded from
- * the result as long as the callback returns truey. The callback is bound
- * to `thisArg` and invoked with three arguments; (value, index, array).
- *
- * 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 query.
- * @param {Function|Object|number|string} [callback=1] The function called
- *  per element or the number of elements to exclude. 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 {Array} Returns a slice of `array`.
- * @example
- *
- * _.initial([1, 2, 3]);
- * // => [1, 2]
- *
- * _.initial([1, 2, 3], 2);
- * // => [1]
- *
- * _.initial([1, 2, 3], function(num) {
- *   return num > 1;
- * });
- * // => [1]
- *
- * var characters = [
- *   { 'name': 'barney',  'blocked': false, 'employer': 'slate' },
- *   { 'name': 'fred',    'blocked': true,  'employer': 'slate' },
- *   { 'name': 'pebbles', 'blocked': true,  'employer': 'na' }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.initial(characters, 'blocked');
- * // => [{ 'name': 'barney',  'blocked': false, 'employer': 'slate' }]
- *
- * // using "_.where" callback shorthand
- * _.pluck(_.initial(characters, { 'employer': 'na' }), 'name');
- * // => ['barney', 'fred']
- */
-function initial(array, callback, thisArg) {
-  var n = 0,
-      length = array ? array.length : 0;
-
-  if (typeof callback != 'number' && callback != null) {
-    var index = length;
-    callback = createCallback(callback, thisArg, 3);
-    while (index-- && callback(array[index], index, array)) {
-      n++;
-    }
-  } else {
-    n = (callback == null || thisArg) ? 1 : callback || n;
-  }
-  return slice(array, 0, nativeMin(nativeMax(0, length - n), length));
-}
-
-module.exports = initial;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/arrays/intersection.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/arrays/intersection.js b/node_modules/lodash-node/underscore/arrays/intersection.js
deleted file mode 100644
index 71a01d1..0000000
--- a/node_modules/lodash-node/underscore/arrays/intersection.js
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 baseIndexOf = require('../internals/baseIndexOf'),
-    isArguments = require('../objects/isArguments'),
-    isArray = require('../objects/isArray');
-
-/**
- * Creates an array of unique values present in all provided arrays using
- * strict equality for comparisons, i.e. `===`.
- *
- * @static
- * @memberOf _
- * @category Arrays
- * @param {...Array} [array] The arrays to inspect.
- * @returns {Array} Returns an array of shared values.
- * @example
- *
- * _.intersection([1, 2, 3], [5, 2, 1, 4], [2, 1]);
- * // => [1, 2]
- */
-function intersection() {
-  var args = [],
-      argsIndex = -1,
-      argsLength = arguments.length;
-
-  while (++argsIndex < argsLength) {
-    var value = arguments[argsIndex];
-     if (isArray(value) || isArguments(value)) {
-       args.push(value);
-     }
-  }
-  var array = args[0],
-      index = -1,
-      indexOf = baseIndexOf,
-      length = array ? array.length : 0,
-      result = [];
-
-  outer:
-  while (++index < length) {
-    value = array[index];
-    if (indexOf(result, value) < 0) {
-      var argsIndex = argsLength;
-      while (--argsIndex) {
-        if (indexOf(args[argsIndex], value) < 0) {
-          continue outer;
-        }
-      }
-      result.push(value);
-    }
-  }
-  return result;
-}
-
-module.exports = intersection;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/arrays/last.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/arrays/last.js b/node_modules/lodash-node/underscore/arrays/last.js
deleted file mode 100644
index ba418b7..0000000
--- a/node_modules/lodash-node/underscore/arrays/last.js
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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'),
-    slice = require('../internals/slice');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max;
-
-/**
- * Gets the last element or last `n` elements of an array. If a callback is
- * provided elements at the end of the array are returned as long as the
- * callback returns truey. The callback is bound to `thisArg` and invoked
- * with three arguments; (value, index, array).
- *
- * 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 query.
- * @param {Function|Object|number|string} [callback] The function called
- *  per element or the number of elements to return. 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 {*} Returns the last element(s) of `array`.
- * @example
- *
- * _.last([1, 2, 3]);
- * // => 3
- *
- * _.last([1, 2, 3], 2);
- * // => [2, 3]
- *
- * _.last([1, 2, 3], function(num) {
- *   return num > 1;
- * });
- * // => [2, 3]
- *
- * var characters = [
- *   { 'name': 'barney',  'blocked': false, 'employer': 'slate' },
- *   { 'name': 'fred',    'blocked': true,  'employer': 'slate' },
- *   { 'name': 'pebbles', 'blocked': true,  'employer': 'na' }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.pluck(_.last(characters, 'blocked'), 'name');
- * // => ['fred', 'pebbles']
- *
- * // using "_.where" callback shorthand
- * _.last(characters, { 'employer': 'na' });
- * // => [{ 'name': 'pebbles', 'blocked': true, 'employer': 'na' }]
- */
-function last(array, callback, thisArg) {
-  var n = 0,
-      length = array ? array.length : 0;
-
-  if (typeof callback != 'number' && callback != null) {
-    var index = length;
-    callback = createCallback(callback, thisArg, 3);
-    while (index-- && callback(array[index], index, array)) {
-      n++;
-    }
-  } else {
-    n = callback;
-    if (n == null || thisArg) {
-      return array ? array[length - 1] : undefined;
-    }
-  }
-  return slice(array, nativeMax(0, length - n));
-}
-
-module.exports = last;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/arrays/lastIndexOf.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/arrays/lastIndexOf.js b/node_modules/lodash-node/underscore/arrays/lastIndexOf.js
deleted file mode 100644
index e791147..0000000
--- a/node_modules/lodash-node/underscore/arrays/lastIndexOf.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max,
-    nativeMin = Math.min;
-
-/**
- * Gets the index at which the last occurrence of `value` is found using strict
- * equality for comparisons, i.e. `===`. If `fromIndex` is negative, it is used
- * as the offset from the end of the collection.
- *
- * 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 {*} value The value to search for.
- * @param {number} [fromIndex=array.length-1] The index to search from.
- * @returns {number} Returns the index of the matched value or `-1`.
- * @example
- *
- * _.lastIndexOf([1, 2, 3, 1, 2, 3], 2);
- * // => 4
- *
- * _.lastIndexOf([1, 2, 3, 1, 2, 3], 2, 3);
- * // => 1
- */
-function lastIndexOf(array, value, fromIndex) {
-  var index = array ? array.length : 0;
-  if (typeof fromIndex == 'number') {
-    index = (fromIndex < 0 ? nativeMax(0, index + fromIndex) : nativeMin(fromIndex, index - 1)) + 1;
-  }
-  while (index--) {
-    if (array[index] === value) {
-      return index;
-    }
-  }
-  return -1;
-}
-
-module.exports = lastIndexOf;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/arrays/range.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/arrays/range.js b/node_modules/lodash-node/underscore/arrays/range.js
deleted file mode 100644
index 0075159..0000000
--- a/node_modules/lodash-node/underscore/arrays/range.js
+++ /dev/null
@@ -1,69 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/** Native method shortcuts */
-var ceil = Math.ceil;
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max;
-
-/**
- * Creates an array of numbers (positive and/or negative) progressing from
- * `start` up to but not including `end`. If `start` is less than `stop` a
- * zero-length range is created unless a negative `step` is specified.
- *
- * @static
- * @memberOf _
- * @category Arrays
- * @param {number} [start=0] The start of the range.
- * @param {number} end The end of the range.
- * @param {number} [step=1] The value to increment or decrement by.
- * @returns {Array} Returns a new range array.
- * @example
- *
- * _.range(4);
- * // => [0, 1, 2, 3]
- *
- * _.range(1, 5);
- * // => [1, 2, 3, 4]
- *
- * _.range(0, 20, 5);
- * // => [0, 5, 10, 15]
- *
- * _.range(0, -4, -1);
- * // => [0, -1, -2, -3]
- *
- * _.range(1, 4, 0);
- * // => [1, 1, 1]
- *
- * _.range(0);
- * // => []
- */
-function range(start, end, step) {
-  start = +start || 0;
-  step =  (+step || 1);
-
-  if (end == null) {
-    end = start;
-    start = 0;
-  }
-  // use `Array(length)` so engines like Chakra and V8 avoid slower modes
-  // http://youtu.be/XAqIpGU8ZZk#t=17m25s
-  var index = -1,
-      length = nativeMax(0, ceil((end - start) / step)),
-      result = Array(length);
-
-  while (++index < length) {
-    result[index] = start;
-    start += step;
-  }
-  return result;
-}
-
-module.exports = range;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/arrays/rest.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/arrays/rest.js b/node_modules/lodash-node/underscore/arrays/rest.js
deleted file mode 100644
index 284608c..0000000
--- a/node_modules/lodash-node/underscore/arrays/rest.js
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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'),
-    slice = require('../internals/slice');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max;
-
-/**
- * The opposite of `_.initial` this method gets all but the first element or
- * first `n` elements of an array. If a callback function is provided elements
- * at the beginning of the array are excluded from the result as long as the
- * callback returns truey. The callback is bound to `thisArg` and invoked
- * with three arguments; (value, index, array).
- *
- * 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 _
- * @alias drop, tail
- * @category Arrays
- * @param {Array} array The array to query.
- * @param {Function|Object|number|string} [callback=1] The function called
- *  per element or the number of elements to exclude. 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 {Array} Returns a slice of `array`.
- * @example
- *
- * _.rest([1, 2, 3]);
- * // => [2, 3]
- *
- * _.rest([1, 2, 3], 2);
- * // => [3]
- *
- * _.rest([1, 2, 3], function(num) {
- *   return num < 3;
- * });
- * // => [3]
- *
- * var characters = [
- *   { 'name': 'barney',  'blocked': true,  'employer': 'slate' },
- *   { 'name': 'fred',    'blocked': false,  'employer': 'slate' },
- *   { 'name': 'pebbles', 'blocked': true, 'employer': 'na' }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.pluck(_.rest(characters, 'blocked'), 'name');
- * // => ['fred', 'pebbles']
- *
- * // using "_.where" callback shorthand
- * _.rest(characters, { 'employer': 'slate' });
- * // => [{ 'name': 'pebbles', 'blocked': true, 'employer': 'na' }]
- */
-function rest(array, callback, thisArg) {
-  if (typeof callback != 'number' && callback != null) {
-    var n = 0,
-        index = -1,
-        length = array ? array.length : 0;
-
-    callback = createCallback(callback, thisArg, 3);
-    while (++index < length && callback(array[index], index, array)) {
-      n++;
-    }
-  } else {
-    n = (callback == null || thisArg) ? 1 : nativeMax(0, callback);
-  }
-  return slice(array, n);
-}
-
-module.exports = rest;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/arrays/sortedIndex.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/arrays/sortedIndex.js b/node_modules/lodash-node/underscore/arrays/sortedIndex.js
deleted file mode 100644
index 2358d08..0000000
--- a/node_modules/lodash-node/underscore/arrays/sortedIndex.js
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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'),
-    identity = require('../utilities/identity');
-
-/**
- * Uses a binary search to determine the smallest index at which a value
- * should be inserted into a given sorted array in order to maintain the sort
- * order of the array. If a callback is provided it will be executed for
- * `value` and each element of `array` to compute their sort ranking. The
- * callback is bound to `thisArg` and invoked with one argument; (value).
- *
- * 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 inspect.
- * @param {*} value The value to evaluate.
- * @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 at which `value` should be inserted
- *  into `array`.
- * @example
- *
- * _.sortedIndex([20, 30, 50], 40);
- * // => 2
- *
- * // using "_.pluck" callback shorthand
- * _.sortedIndex([{ 'x': 20 }, { 'x': 30 }, { 'x': 50 }], { 'x': 40 }, 'x');
- * // => 2
- *
- * var dict = {
- *   'wordToNumber': { 'twenty': 20, 'thirty': 30, 'fourty': 40, 'fifty': 50 }
- * };
- *
- * _.sortedIndex(['twenty', 'thirty', 'fifty'], 'fourty', function(word) {
- *   return dict.wordToNumber[word];
- * });
- * // => 2
- *
- * _.sortedIndex(['twenty', 'thirty', 'fifty'], 'fourty', function(word) {
- *   return this.wordToNumber[word];
- * }, dict);
- * // => 2
- */
-function sortedIndex(array, value, callback, thisArg) {
-  var low = 0,
-      high = array ? array.length : low;
-
-  // explicitly reference `identity` for better inlining in Firefox
-  callback = callback ? createCallback(callback, thisArg, 1) : identity;
-  value = callback(value);
-
-  while (low < high) {
-    var mid = (low + high) >>> 1;
-    (callback(array[mid]) < value)
-      ? low = mid + 1
-      : high = mid;
-  }
-  return low;
-}
-
-module.exports = sortedIndex;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/arrays/union.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/arrays/union.js b/node_modules/lodash-node/underscore/arrays/union.js
deleted file mode 100644
index 5fe15c6..0000000
--- a/node_modules/lodash-node/underscore/arrays/union.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 baseFlatten = require('../internals/baseFlatten'),
-    baseUniq = require('../internals/baseUniq');
-
-/**
- * Creates an array of unique values, in order, of the provided arrays using
- * strict equality for comparisons, i.e. `===`.
- *
- * @static
- * @memberOf _
- * @category Arrays
- * @param {...Array} [array] The arrays to inspect.
- * @returns {Array} Returns an array of combined values.
- * @example
- *
- * _.union([1, 2, 3], [5, 2, 1, 4], [2, 1]);
- * // => [1, 2, 3, 5, 4]
- */
-function union() {
-  return baseUniq(baseFlatten(arguments, true, true));
-}
-
-module.exports = union;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/arrays/uniq.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/arrays/uniq.js b/node_modules/lodash-node/underscore/arrays/uniq.js
deleted file mode 100644
index e403ea1..0000000
--- a/node_modules/lodash-node/underscore/arrays/uniq.js
+++ /dev/null
@@ -1,69 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 baseUniq = require('../internals/baseUniq'),
-    createCallback = require('../functions/createCallback');
-
-/**
- * Creates a duplicate-value-free version of an array using strict equality
- * for comparisons, i.e. `===`. If the array is sorted, providing
- * `true` for `isSorted` will use a faster algorithm. If a callback is provided
- * each element of `array` is passed through the callback before uniqueness
- * is computed. The callback is bound to `thisArg` and invoked with three
- * arguments; (value, index, array).
- *
- * 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 _
- * @alias unique
- * @category Arrays
- * @param {Array} array The array to process.
- * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.
- * @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 {Array} Returns a duplicate-value-free array.
- * @example
- *
- * _.uniq([1, 2, 1, 3, 1]);
- * // => [1, 2, 3]
- *
- * _.uniq([1, 1, 2, 2, 3], true);
- * // => [1, 2, 3]
- *
- * _.uniq(['A', 'b', 'C', 'a', 'B', 'c'], function(letter) { return letter.toLowerCase(); });
- * // => ['A', 'b', 'C']
- *
- * _.uniq([1, 2.5, 3, 1.5, 2, 3.5], function(num) { return this.floor(num); }, Math);
- * // => [1, 2.5, 3]
- *
- * // using "_.pluck" callback shorthand
- * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
- * // => [{ 'x': 1 }, { 'x': 2 }]
- */
-function uniq(array, isSorted, callback, thisArg) {
-  // juggle arguments
-  if (typeof isSorted != 'boolean' && isSorted != null) {
-    thisArg = callback;
-    callback = (typeof isSorted != 'function' && thisArg && thisArg[isSorted] === array) ? null : isSorted;
-    isSorted = false;
-  }
-  if (callback != null) {
-    callback = createCallback(callback, thisArg, 3);
-  }
-  return baseUniq(array, isSorted, callback);
-}
-
-module.exports = uniq;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/arrays/without.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/arrays/without.js b/node_modules/lodash-node/underscore/arrays/without.js
deleted file mode 100644
index b42b19d..0000000
--- a/node_modules/lodash-node/underscore/arrays/without.js
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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'),
-    slice = require('../internals/slice');
-
-/**
- * Creates an array excluding all provided values using strict equality for
- * comparisons, i.e. `===`.
- *
- * @static
- * @memberOf _
- * @category Arrays
- * @param {Array} array The array to filter.
- * @param {...*} [value] The values to exclude.
- * @returns {Array} Returns a new array of filtered values.
- * @example
- *
- * _.without([1, 2, 1, 0, 3, 1, 4], 0, 1);
- * // => [2, 3, 4]
- */
-function without(array) {
-  return baseDifference(array, slice(arguments, 1));
-}
-
-module.exports = without;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/arrays/zip.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/arrays/zip.js b/node_modules/lodash-node/underscore/arrays/zip.js
deleted file mode 100644
index 080e7b6..0000000
--- a/node_modules/lodash-node/underscore/arrays/zip.js
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 max = require('../collections/max'),
-    pluck = require('../collections/pluck');
-
-/**
- * Creates an array of grouped elements, the first of which contains the first
- * elements of the given arrays, the second of which contains the second
- * elements of the given arrays, and so on.
- *
- * @static
- * @memberOf _
- * @alias unzip
- * @category Arrays
- * @param {...Array} [array] Arrays to process.
- * @returns {Array} Returns a new array of grouped elements.
- * @example
- *
- * _.zip(['fred', 'barney'], [30, 40], [true, false]);
- * // => [['fred', 30, true], ['barney', 40, false]]
- */
-function zip() {
-  var index = -1,
-      length = max(pluck(arguments, 'length')),
-      result = Array(length < 0 ? 0 : length);
-
-  while (++index < length) {
-    result[index] = pluck(arguments, index);
-  }
-  return result;
-}
-
-module.exports = zip;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/arrays/zipObject.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/arrays/zipObject.js b/node_modules/lodash-node/underscore/arrays/zipObject.js
deleted file mode 100644
index 6fbcdef..0000000
--- a/node_modules/lodash-node/underscore/arrays/zipObject.js
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 isArray = require('../objects/isArray');
-
-/**
- * Creates an object composed from arrays of `keys` and `values`. Provide
- * either a single two dimensional array, i.e. `[[key1, value1], [key2, value2]]`
- * or two arrays, one of `keys` and one of corresponding `values`.
- *
- * @static
- * @memberOf _
- * @alias object
- * @category Arrays
- * @param {Array} keys The array of keys.
- * @param {Array} [values=[]] The array of values.
- * @returns {Object} Returns an object composed of the given keys and
- *  corresponding values.
- * @example
- *
- * _.zipObject(['fred', 'barney'], [30, 40]);
- * // => { 'fred': 30, 'barney': 40 }
- */
-function zipObject(keys, values) {
-  var index = -1,
-      length = keys ? keys.length : 0,
-      result = {};
-
-  if (!values && length && !isArray(keys[0])) {
-    values = [];
-  }
-  while (++index < length) {
-    var key = keys[index];
-    if (values) {
-      result[key] = values[index];
-    } else if (key) {
-      result[key[0]] = key[1];
-    }
-  }
-  return result;
-}
-
-module.exports = zipObject;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/chaining.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/chaining.js b/node_modules/lodash-node/underscore/chaining.js
deleted file mode 100644
index 00bb0d7..0000000
--- a/node_modules/lodash-node/underscore/chaining.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 = {
-  'chain': require('./chaining/chain'),
-  'tap': require('./chaining/tap'),
-  'value': require('./chaining/wrapperValueOf'),
-  'wrapperChain': require('./chaining/wrapperChain'),
-  'wrapperValueOf': require('./chaining/wrapperValueOf')
-};

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/chaining/chain.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/chaining/chain.js b/node_modules/lodash-node/underscore/chaining/chain.js
deleted file mode 100644
index bce59d9..0000000
--- a/node_modules/lodash-node/underscore/chaining/chain.js
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 lodashWrapper = require('../internals/lodashWrapper');
-
-/**
- * Creates a `lodash` object that wraps the given value with explicit
- * method chaining enabled.
- *
- * @static
- * @memberOf _
- * @category Chaining
- * @param {*} value The value to wrap.
- * @returns {Object} Returns the wrapper object.
- * @example
- *
- * var characters = [
- *   { 'name': 'barney',  'age': 36 },
- *   { 'name': 'fred',    'age': 40 },
- *   { 'name': 'pebbles', 'age': 1 }
- * ];
- *
- * var youngest = _.chain(characters)
- *     .sortBy('age')
- *     .map(function(chr) { return chr.name + ' is ' + chr.age; })
- *     .first()
- *     .value();
- * // => 'pebbles is 1'
- */
-function chain(value) {
-  value = new lodashWrapper(value);
-  value.__chain__ = true;
-  return value;
-}
-
-module.exports = chain;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/chaining/tap.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/chaining/tap.js b/node_modules/lodash-node/underscore/chaining/tap.js
deleted file mode 100644
index 4f46c86..0000000
--- a/node_modules/lodash-node/underscore/chaining/tap.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/**
- * Invokes `interceptor` with the `value` as the first argument and then
- * returns `value`. The purpose of this method is to "tap into" a method
- * chain in order to perform operations on intermediate results within
- * the chain.
- *
- * @static
- * @memberOf _
- * @category Chaining
- * @param {*} value The value to provide to `interceptor`.
- * @param {Function} interceptor The function to invoke.
- * @returns {*} Returns `value`.
- * @example
- *
- * _([1, 2, 3, 4])
- *  .tap(function(array) { array.pop(); })
- *  .reverse()
- *  .value();
- * // => [3, 2, 1]
- */
-function tap(value, interceptor) {
-  interceptor(value);
-  return value;
-}
-
-module.exports = tap;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/chaining/wrapperChain.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/chaining/wrapperChain.js b/node_modules/lodash-node/underscore/chaining/wrapperChain.js
deleted file mode 100644
index 7a88080..0000000
--- a/node_modules/lodash-node/underscore/chaining/wrapperChain.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/**
- * Enables explicit method chaining on the wrapper object.
- *
- * @name chain
- * @memberOf _
- * @category Chaining
- * @returns {*} Returns the wrapper object.
- * @example
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * // without explicit chaining
- * _(characters).first();
- * // => { 'name': 'barney', 'age': 36 }
- *
- * // with explicit chaining
- * _(characters).chain()
- *   .first()
- *   .pick('age')
- *   .value();
- * // => { 'age': 36 }
- */
-function wrapperChain() {
-  this.__chain__ = true;
-  return this;
-}
-
-module.exports = wrapperChain;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/chaining/wrapperValueOf.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/chaining/wrapperValueOf.js b/node_modules/lodash-node/underscore/chaining/wrapperValueOf.js
deleted file mode 100644
index 541a489..0000000
--- a/node_modules/lodash-node/underscore/chaining/wrapperValueOf.js
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 forEach = require('../collections/forEach'),
-    support = require('../support');
-
-/**
- * Extracts the wrapped value.
- *
- * @name valueOf
- * @memberOf _
- * @alias value
- * @category Chaining
- * @returns {*} Returns the wrapped value.
- * @example
- *
- * _([1, 2, 3]).valueOf();
- * // => [1, 2, 3]
- */
-function wrapperValueOf() {
-  return this.__wrapped__;
-}
-
-module.exports = wrapperValueOf;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections.js b/node_modules/lodash-node/underscore/collections.js
deleted file mode 100644
index 83220bc..0000000
--- a/node_modules/lodash-node/underscore/collections.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 = {
-  'all': require('./collections/every'),
-  'any': require('./collections/some'),
-  'collect': require('./collections/map'),
-  'contains': require('./collections/contains'),
-  'countBy': require('./collections/countBy'),
-  'detect': require('./collections/find'),
-  'each': require('./collections/forEach'),
-  'eachRight': require('./collections/forEachRight'),
-  'every': require('./collections/every'),
-  'filter': require('./collections/filter'),
-  'find': require('./collections/find'),
-  'findWhere': require('./collections/findWhere'),
-  'foldl': require('./collections/reduce'),
-  'foldr': require('./collections/reduceRight'),
-  'forEach': require('./collections/forEach'),
-  'forEachRight': require('./collections/forEachRight'),
-  'groupBy': require('./collections/groupBy'),
-  'include': require('./collections/contains'),
-  'indexBy': require('./collections/indexBy'),
-  'inject': require('./collections/reduce'),
-  'invoke': require('./collections/invoke'),
-  'map': require('./collections/map'),
-  'max': require('./collections/max'),
-  'min': require('./collections/min'),
-  'pluck': require('./collections/pluck'),
-  'reduce': require('./collections/reduce'),
-  'reduceRight': require('./collections/reduceRight'),
-  'reject': require('./collections/reject'),
-  'sample': require('./collections/sample'),
-  'select': require('./collections/filter'),
-  'shuffle': require('./collections/shuffle'),
-  'size': require('./collections/size'),
-  'some': require('./collections/some'),
-  'sortBy': require('./collections/sortBy'),
-  'toArray': require('./collections/toArray'),
-  'where': require('./collections/where')
-};

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections/contains.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections/contains.js b/node_modules/lodash-node/underscore/collections/contains.js
deleted file mode 100644
index 72a78b6..0000000
--- a/node_modules/lodash-node/underscore/collections/contains.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 baseIndexOf = require('../internals/baseIndexOf'),
-    forOwn = require('../objects/forOwn'),
-    indicatorObject = require('../internals/indicatorObject');
-
-/**
- * Checks if a given value is present in a collection using strict equality
- * for comparisons, i.e. `===`. If `fromIndex` is negative, it is used as the
- * offset from the end of the collection.
- *
- * @static
- * @memberOf _
- * @alias include
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {*} target The value to check for.
- * @param {number} [fromIndex=0] The index to search from.
- * @returns {boolean} Returns `true` if the `target` element is found, else `false`.
- * @example
- *
- * _.contains([1, 2, 3], 1);
- * // => true
- *
- * _.contains([1, 2, 3], 1, 2);
- * // => false
- *
- * _.contains({ 'name': 'fred', 'age': 40 }, 'fred');
- * // => true
- *
- * _.contains('pebbles', 'eb');
- * // => true
- */
-function contains(collection, target) {
-  var indexOf = baseIndexOf,
-      length = collection ? collection.length : 0,
-      result = false;
-  if (length && typeof length == 'number') {
-    result = indexOf(collection, target) > -1;
-  } else {
-    forOwn(collection, function(value) {
-      return (result = value === target) && indicatorObject;
-    });
-  }
-  return result;
-}
-
-module.exports = contains;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections/countBy.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections/countBy.js b/node_modules/lodash-node/underscore/collections/countBy.js
deleted file mode 100644
index 6791bd2..0000000
--- a/node_modules/lodash-node/underscore/collections/countBy.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 createAggregator = require('../internals/createAggregator');
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/**
- * Creates an object composed of keys generated from the results of running
- * each element of `collection` through the callback. The corresponding value
- * of each key is the number of times the key was returned by the callback.
- * The callback is bound to `thisArg` and invoked with three arguments;
- * (value, index|key, collection).
- *
- * 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 Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {Object} Returns the composed aggregate object.
- * @example
- *
- * _.countBy([4.3, 6.1, 6.4], function(num) { return Math.floor(num); });
- * // => { '4': 1, '6': 2 }
- *
- * _.countBy([4.3, 6.1, 6.4], function(num) { return this.floor(num); }, Math);
- * // => { '4': 1, '6': 2 }
- *
- * _.countBy(['one', 'two', 'three'], 'length');
- * // => { '3': 2, '5': 1 }
- */
-var countBy = createAggregator(function(result, value, key) {
-  (hasOwnProperty.call(result, key) ? result[key]++ : result[key] = 1);
-});
-
-module.exports = countBy;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections/every.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections/every.js b/node_modules/lodash-node/underscore/collections/every.js
deleted file mode 100644
index aa09512..0000000
--- a/node_modules/lodash-node/underscore/collections/every.js
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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'),
-    forOwn = require('../objects/forOwn'),
-    indicatorObject = require('../internals/indicatorObject');
-
-/**
- * Checks if the given callback returns truey value for **all** elements of
- * a collection. The callback is bound to `thisArg` and invoked with three
- * arguments; (value, index|key, collection).
- *
- * 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 _
- * @alias all
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {boolean} Returns `true` if all elements passed the callback check,
- *  else `false`.
- * @example
- *
- * _.every([true, 1, null, 'yes']);
- * // => false
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.every(characters, 'age');
- * // => true
- *
- * // using "_.where" callback shorthand
- * _.every(characters, { 'age': 36 });
- * // => false
- */
-function every(collection, callback, thisArg) {
-  var result = true;
-  callback = createCallback(callback, thisArg, 3);
-
-  var index = -1,
-      length = collection ? collection.length : 0;
-
-  if (typeof length == 'number') {
-    while (++index < length) {
-      if (!(result = !!callback(collection[index], index, collection))) {
-        break;
-      }
-    }
-  } else {
-    forOwn(collection, function(value, index, collection) {
-      return !(result = !!callback(value, index, collection)) && indicatorObject;
-    });
-  }
-  return result;
-}
-
-module.exports = every;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections/filter.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections/filter.js b/node_modules/lodash-node/underscore/collections/filter.js
deleted file mode 100644
index 5b96f19..0000000
--- a/node_modules/lodash-node/underscore/collections/filter.js
+++ /dev/null
@@ -1,76 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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'),
-    forOwn = require('../objects/forOwn');
-
-/**
- * Iterates over elements of a collection, returning an array of all elements
- * the callback returns truey for. The callback is bound to `thisArg` and
- * invoked with three arguments; (value, index|key, collection).
- *
- * 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 _
- * @alias select
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {Array} Returns a new array of elements that passed the callback check.
- * @example
- *
- * var evens = _.filter([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; });
- * // => [2, 4, 6]
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36, 'blocked': false },
- *   { 'name': 'fred',   'age': 40, 'blocked': true }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.filter(characters, 'blocked');
- * // => [{ 'name': 'fred', 'age': 40, 'blocked': true }]
- *
- * // using "_.where" callback shorthand
- * _.filter(characters, { 'age': 36 });
- * // => [{ 'name': 'barney', 'age': 36, 'blocked': false }]
- */
-function filter(collection, callback, thisArg) {
-  var result = [];
-  callback = createCallback(callback, thisArg, 3);
-
-  var index = -1,
-      length = collection ? collection.length : 0;
-
-  if (typeof length == 'number') {
-    while (++index < length) {
-      var value = collection[index];
-      if (callback(value, index, collection)) {
-        result.push(value);
-      }
-    }
-  } else {
-    forOwn(collection, function(value, index, collection) {
-      if (callback(value, index, collection)) {
-        result.push(value);
-      }
-    });
-  }
-  return result;
-}
-
-module.exports = filter;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/collections/find.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/collections/find.js b/node_modules/lodash-node/underscore/collections/find.js
deleted file mode 100644
index beae5be..0000000
--- a/node_modules/lodash-node/underscore/collections/find.js
+++ /dev/null
@@ -1,81 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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'),
-    forOwn = require('../objects/forOwn'),
-    indicatorObject = require('../internals/indicatorObject');
-
-/**
- * Iterates over elements of a collection, returning the first element that
- * the callback returns truey for. The callback is bound to `thisArg` and
- * invoked with three arguments; (value, index|key, collection).
- *
- * 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 _
- * @alias detect, findWhere
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {*} Returns the found element, else `undefined`.
- * @example
- *
- * var characters = [
- *   { 'name': 'barney',  'age': 36, 'blocked': false },
- *   { 'name': 'fred',    'age': 40, 'blocked': true },
- *   { 'name': 'pebbles', 'age': 1,  'blocked': false }
- * ];
- *
- * _.find(characters, function(chr) {
- *   return chr.age < 40;
- * });
- * // => { 'name': 'barney', 'age': 36, 'blocked': false }
- *
- * // using "_.where" callback shorthand
- * _.find(characters, { 'age': 1 });
- * // =>  { 'name': 'pebbles', 'age': 1, 'blocked': false }
- *
- * // using "_.pluck" callback shorthand
- * _.find(characters, 'blocked');
- * // => { 'name': 'fred', 'age': 40, 'blocked': true }
- */
-function find(collection, callback, thisArg) {
-  callback = createCallback(callback, thisArg, 3);
-
-  var index = -1,
-      length = collection ? collection.length : 0;
-
-  if (typeof length == 'number') {
-    while (++index < length) {
-      var value = collection[index];
-      if (callback(value, index, collection)) {
-        return value;
-      }
-    }
-  } else {
-    var result;
-    forOwn(collection, function(value, index, collection) {
-      if (callback(value, index, collection)) {
-        result = value;
-        return indicatorObject;
-      }
-    });
-    return result;
-  }
-}
-
-module.exports = find;


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


[02/32] ios commit: CB-11445 Updated checked-in node_modules

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/plist/examples/browser/index.html
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/plist/examples/browser/index.html b/node_modules/simple-plist/node_modules/plist/examples/browser/index.html
deleted file mode 100644
index 8ce7d92..0000000
--- a/node_modules/simple-plist/node_modules/plist/examples/browser/index.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <title>plist.js browser example</title>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-  </head>
-  <body>
-    <script src="../../dist/plist.js"></script>
-    <script>
-      // TODO: add <input type=file> drag and drop example
-      console.log(plist);
-    </script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/plist/lib/build.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/plist/lib/build.js b/node_modules/simple-plist/node_modules/plist/lib/build.js
deleted file mode 100644
index 9437ed6..0000000
--- a/node_modules/simple-plist/node_modules/plist/lib/build.js
+++ /dev/null
@@ -1,136 +0,0 @@
-
-/**
- * Module dependencies.
- */
-
-var base64 = require('base64-js');
-var xmlbuilder = require('xmlbuilder');
-
-/**
- * Module exports.
- */
-
-exports.build = build;
-
-/**
- * Accepts a `Date` instance and returns an ISO date string.
- *
- * @param {Date} d - Date instance to serialize
- * @returns {String} ISO date string representation of `d`
- * @api private
- */
-
-function ISODateString(d){
-  function pad(n){
-    return n < 10 ? '0' + n : n;
-  }
-  return d.getUTCFullYear()+'-'
-    + pad(d.getUTCMonth()+1)+'-'
-    + pad(d.getUTCDate())+'T'
-    + pad(d.getUTCHours())+':'
-    + pad(d.getUTCMinutes())+':'
-    + pad(d.getUTCSeconds())+'Z';
-}
-
-/**
- * Returns the internal "type" of `obj` via the
- * `Object.prototype.toString()` trick.
- *
- * @param {Mixed} obj - any value
- * @returns {String} the internal "type" name
- * @api private
- */
-
-var toString = Object.prototype.toString;
-function type (obj) {
-  var m = toString.call(obj).match(/\[object (.*)\]/);
-  return m ? m[1] : m;
-}
-
-/**
- * Generate an XML plist string from the input object `obj`.
- *
- * @param {Object} obj - the object to convert
- * @param {Object} [opts] - optional options object
- * @returns {String} converted plist XML string
- * @api public
- */
-
-function build (obj, opts) {
-  var XMLHDR = {
-    version: '1.0',
-    encoding: 'UTF-8'
-  };
-
-  var XMLDTD = {
-    pubid: '-//Apple//DTD PLIST 1.0//EN',
-    sysid: 'http://www.apple.com/DTDs/PropertyList-1.0.dtd'
-  };
-
-  var doc = xmlbuilder.create('plist');
-
-  doc.dec(XMLHDR.version, XMLHDR.encoding, XMLHDR.standalone);
-  doc.dtd(XMLDTD.pubid, XMLDTD.sysid);
-  doc.att('version', '1.0');
-
-  walk_obj(obj, doc);
-
-  if (!opts) opts = {};
-  // default `pretty` to `true`
-  opts.pretty = opts.pretty !== false;
-  return doc.end(opts);
-}
-
-/**
- * depth first, recursive traversal of a javascript object. when complete,
- * next_child contains a reference to the build XML object.
- *
- * @api private
- */
-
-function walk_obj(next, next_child) {
-  var tag_type, i, prop;
-  var name = type(next);
-
-  if (Array.isArray(next)) {
-    next_child = next_child.ele('array');
-    for (i = 0; i < next.length; i++) {
-      walk_obj(next[i], next_child);
-    }
-
-  } else if (Buffer.isBuffer(next)) {
-    next_child.ele('data').raw(next.toString('base64'));
-
-  } else if ('Object' == name) {
-    next_child = next_child.ele('dict');
-    for (prop in next) {
-      if (next.hasOwnProperty(prop)) {
-        next_child.ele('key').txt(prop);
-        walk_obj(next[prop], next_child);
-      }
-    }
-
-  } else if ('Number' == name) {
-    // detect if this is an integer or real
-    // TODO: add an ability to force one way or another via a "cast"
-    tag_type = (next % 1 === 0) ? 'integer' : 'real';
-    next_child.ele(tag_type).txt(next.toString());
-
-  } else if ('Date' == name) {
-    next_child.ele('date').txt(ISODateString(new Date(next)));
-
-  } else if ('Boolean' == name) {
-    next_child.ele(next ? 'true' : 'false');
-
-  } else if ('String' == name) {
-    next_child.ele('string').txt(next);
-
-  } else if ('ArrayBuffer' == name) {
-    next_child.ele('data').raw(base64.fromByteArray(next));
-
-  } else if (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-ios/blob/0d465c30/node_modules/simple-plist/node_modules/plist/lib/node.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/plist/lib/node.js b/node_modules/simple-plist/node_modules/plist/lib/node.js
deleted file mode 100644
index ac18e32..0000000
--- a/node_modules/simple-plist/node_modules/plist/lib/node.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * Module dependencies.
- */
-
-var fs = require('fs');
-var parse = require('./parse');
-var deprecate = require('util-deprecate');
-
-/**
- * Module exports.
- */
-
-exports.parseFile = deprecate(parseFile, '`parseFile()` is deprecated. ' +
-  'Use `parseString()` instead.');
-exports.parseFileSync = deprecate(parseFileSync, '`parseFileSync()` is deprecated. ' +
-  'Use `parseStringSync()` instead.');
-
-/**
- * Parses file `filename` as a .plist file.
- * Invokes `fn` callback function when done.
- *
- * @param {String} filename - name of the file to read
- * @param {Function} fn - callback function
- * @api public
- * @deprecated use parseString() instead
- */
-
-function parseFile (filename, fn) {
-  fs.readFile(filename, { encoding: 'utf8' }, onread);
-  function onread (err, inxml) {
-    if (err) return fn(err);
-    parse.parseString(inxml, fn);
-  }
-}
-
-/**
- * Parses file `filename` as a .plist file.
- * Returns a  when done.
- *
- * @param {String} filename - name of the file to read
- * @param {Function} fn - callback function
- * @api public
- * @deprecated use parseStringSync() instead
- */
-
-function parseFileSync (filename) {
-  var inxml = fs.readFileSync(filename, 'utf8');
-  return parse.parseStringSync(inxml);
-}

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/plist/lib/parse.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/plist/lib/parse.js b/node_modules/simple-plist/node_modules/plist/lib/parse.js
deleted file mode 100644
index c154384..0000000
--- a/node_modules/simple-plist/node_modules/plist/lib/parse.js
+++ /dev/null
@@ -1,200 +0,0 @@
-
-/**
- * Module dependencies.
- */
-
-var deprecate = require('util-deprecate');
-var DOMParser = require('xmldom').DOMParser;
-
-/**
- * Module exports.
- */
-
-exports.parse = parse;
-exports.parseString = deprecate(parseString, '`parseString()` is deprecated. ' +
-  'It\'s not actually async. Use `parse()` instead.');
-exports.parseStringSync = deprecate(parseStringSync, '`parseStringSync()` is ' +
-  'deprecated. Use `parse()` instead.');
-
-/**
- * We ignore raw text (usually whitespace), <!-- xml comments -->,
- * and raw CDATA nodes.
- *
- * @param {Element} node
- * @returns {Boolean}
- * @api private
- */
-
-function shouldIgnoreNode (node) {
-  return node.nodeType === 3 // text
-    || node.nodeType === 8   // comment
-    || node.nodeType === 4;  // cdata
-}
-
-
-/**
- * Parses a Plist XML string. Returns an Object.
- *
- * @param {String} xml - the XML String to decode
- * @returns {Mixed} the decoded value from the Plist XML
- * @api public
- */
-
-function parse (xml) {
-  var doc = new DOMParser().parseFromString(xml);
-  if (doc.documentElement.nodeName !== 'plist') {
-    throw new Error('malformed document. First element should be <plist>');
-  }
-  var plist = parsePlistXML(doc.documentElement);
-
-  // the root <plist> node gets interpreted as an Array,
-  // so pull out the inner data first
-  if (plist.length == 1) plist = plist[0];
-
-  return plist;
-}
-
-/**
- * Parses a Plist XML string. Returns an Object. Takes a `callback` function.
- *
- * @param {String} xml - the XML String to decode
- * @param {Function} callback - callback function
- * @returns {Mixed} the decoded value from the Plist XML
- * @api public
- * @deprecated not actually async. use parse() instead
- */
-
-function parseString (xml, callback) {
-  var doc, error, plist;
-  try {
-    doc = new DOMParser().parseFromString(xml);
-    plist = parsePlistXML(doc.documentElement);
-  } catch(e) {
-    error = e;
-  }
-  callback(error, plist);
-}
-
-/**
- * Parses a Plist XML string. Returns an Object.
- *
- * @param {String} xml - the XML String to decode
- * @param {Function} callback - callback function
- * @returns {Mixed} the decoded value from the Plist XML
- * @api public
- * @deprecated use parse() instead
- */
-
-function parseStringSync (xml) {
-  var doc = new DOMParser().parseFromString(xml);
-  var plist;
-  if (doc.documentElement.nodeName !== 'plist') {
-    throw new Error('malformed document. First element should be <plist>');
-  }
-  plist = parsePlistXML(doc.documentElement);
-
-  // if the plist is an array with 1 element, pull it out of the array
-  if (plist.length == 1) {
-    plist = plist[0];
-  }
-  return plist;
-}
-
-/**
- * Convert an XML based plist document into a JSON representation.
- *
- * @param {Object} xml_node - current XML node in the plist
- * @returns {Mixed} built up JSON object
- * @api private
- */
-
-function parsePlistXML (node) {
-  var i, new_obj, key, val, new_arr, res, d;
-
-  if (!node)
-    return null;
-
-  if (node.nodeName === 'plist') {
-    new_arr = [];
-    for (i=0; i < node.childNodes.length; i++) {
-      // ignore comment nodes (text)
-      if (!shouldIgnoreNode(node.childNodes[i])) {
-        new_arr.push( parsePlistXML(node.childNodes[i]));
-      }
-    }
-    return new_arr;
-
-  } else if (node.nodeName === 'dict') {
-    new_obj = {};
-    key = null;
-    for (i=0; i < node.childNodes.length; i++) {
-      // ignore comment nodes (text)
-      if (!shouldIgnoreNode(node.childNodes[i])) {
-        if (key === null) {
-          key = parsePlistXML(node.childNodes[i]);
-        } else {
-          new_obj[key] = parsePlistXML(node.childNodes[i]);
-          key = null;
-        }
-      }
-    }
-    return new_obj;
-
-  } else if (node.nodeName === 'array') {
-    new_arr = [];
-    for (i=0; i < node.childNodes.length; i++) {
-      // ignore comment nodes (text)
-      if (!shouldIgnoreNode(node.childNodes[i])) {
-        res = parsePlistXML(node.childNodes[i]);
-        if (null != res) new_arr.push(res);
-      }
-    }
-    return new_arr;
-
-  } else if (node.nodeName === '#text') {
-    // TODO: what should we do with text types? (CDATA sections)
-
-  } else if (node.nodeName === 'key') {
-    return node.childNodes[0].nodeValue;
-
-  } else if (node.nodeName === 'string') {
-    res = '';
-    for (d=0; d < node.childNodes.length; d++) {
-      res += node.childNodes[d].nodeValue;
-    }
-    return res;
-
-  } else if (node.nodeName === 'integer') {
-    // parse as base 10 integer
-    return parseInt(node.childNodes[0].nodeValue, 10);
-
-  } else if (node.nodeName === 'real') {
-    res = '';
-    for (d=0; d < node.childNodes.length; d++) {
-      if (node.childNodes[d].nodeType === 3) {
-        res += node.childNodes[d].nodeValue;
-      }
-    }
-    return parseFloat(res);
-
-  } else if (node.nodeName === 'data') {
-    res = '';
-    for (d=0; d < node.childNodes.length; d++) {
-      if (node.childNodes[d].nodeType === 3) {
-        res += node.childNodes[d].nodeValue.replace(/\s+/g, '');
-      }
-    }
-
-    // decode base64 data to a Buffer instance
-    return new Buffer(res, 'base64');
-
-  } else if (node.nodeName === 'date') {
-    return new Date(node.childNodes[0].nodeValue);
-
-  } else if (node.nodeName === 'true') {
-    return true;
-
-  } else if (node.nodeName === 'false') {
-    return false;
-  }
-}

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/plist/lib/plist.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/plist/lib/plist.js b/node_modules/simple-plist/node_modules/plist/lib/plist.js
deleted file mode 100644
index 00a4167..0000000
--- a/node_modules/simple-plist/node_modules/plist/lib/plist.js
+++ /dev/null
@@ -1,23 +0,0 @@
-
-var i;
-
-/**
- * Parser functions.
- */
-
-var parserFunctions = require('./parse');
-for (i in parserFunctions) exports[i] = parserFunctions[i];
-
-/**
- * Builder functions.
- */
-
-var builderFunctions = require('./build');
-for (i in builderFunctions) exports[i] = builderFunctions[i];
-
-/**
- * Add Node.js-specific functions (they're deprecated\u2026).
- */
-
-var nodeFunctions = require('./node');
-for (i in nodeFunctions) exports[i] = nodeFunctions[i];

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/plist/package.json
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/plist/package.json b/node_modules/simple-plist/node_modules/plist/package.json
deleted file mode 100644
index e132e8c..0000000
--- a/node_modules/simple-plist/node_modules/plist/package.json
+++ /dev/null
@@ -1,115 +0,0 @@
-{
-  "_args": [
-    [
-      "plist@1.1.0",
-      "D:\\Cordova\\cordova-ios\\node_modules\\simple-plist"
-    ]
-  ],
-  "_from": "plist@1.1.0",
-  "_id": "plist@1.1.0",
-  "_inCache": true,
-  "_installable": true,
-  "_location": "/simple-plist/plist",
-  "_npmUser": {
-    "email": "nathan@tootallnate.net",
-    "name": "tootallnate"
-  },
-  "_npmVersion": "1.4.21",
-  "_phantomChildren": {},
-  "_requested": {
-    "name": "plist",
-    "raw": "plist@1.1.0",
-    "rawSpec": "1.1.0",
-    "scope": null,
-    "spec": "1.1.0",
-    "type": "version"
-  },
-  "_requiredBy": [
-    "/simple-plist"
-  ],
-  "_resolved": "https://registry.npmjs.org/plist/-/plist-1.1.0.tgz",
-  "_shasum": "ff6708590c97cc438e7bc45de5251bd725f3f89d",
-  "_shrinkwrap": null,
-  "_spec": "plist@1.1.0",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\simple-plist",
-  "author": {
-    "email": "nathan@tootallnate.net",
-    "name": "Nathan Rajlich"
-  },
-  "bugs": {
-    "url": "https://github.com/TooTallNate/node-plist/issues"
-  },
-  "contributors": [
-    {
-      "email": "hans.huebner@gmail.com",
-      "name": "Hans Huebner"
-    },
-    {
-      "name": "Pierre Metrailler"
-    },
-    {
-      "email": "reinstein.mike@gmail.com",
-      "name": "Mike Reinstein"
-    },
-    {
-      "name": "Vladimir Tsvang"
-    },
-    {
-      "name": "Mathieu D'Amours"
-    }
-  ],
-  "dependencies": {
-    "base64-js": "0.0.6",
-    "util-deprecate": "1.0.0",
-    "xmlbuilder": "2.2.1",
-    "xmldom": "0.1.x"
-  },
-  "description": "Mac OS X Plist parser/builder for Node.js and browsers",
-  "devDependencies": {
-    "browserify": "5.10.1",
-    "mocha": "1.18.2",
-    "multiline": "0.3.4",
-    "zuul": "1.10.2"
-  },
-  "directories": {},
-  "dist": {
-    "shasum": "ff6708590c97cc438e7bc45de5251bd725f3f89d",
-    "tarball": "https://registry.npmjs.org/plist/-/plist-1.1.0.tgz"
-  },
-  "gitHead": "806c35e79ad1326da22ced98bc9c721ff570af84",
-  "homepage": "https://github.com/TooTallNate/node-plist",
-  "keywords": [
-    "apple",
-    "browser",
-    "mac",
-    "plist",
-    "parser",
-    "xml"
-  ],
-  "main": "lib/plist.js",
-  "maintainers": [
-    {
-      "email": "nathan@tootallnate.net",
-      "name": "TooTallNate"
-    },
-    {
-      "email": "nathan@tootallnate.net",
-      "name": "tootallnate"
-    },
-    {
-      "email": "reinstein.mike@gmail.com",
-      "name": "mreinstein"
-    }
-  ],
-  "name": "plist",
-  "optionalDependencies": {},
-  "readme": "ERROR: No README data found!",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/TooTallNate/node-plist.git"
-  },
-  "scripts": {
-    "test": "make test"
-  },
-  "version": "1.1.0"
-}

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/plist/test/build.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/plist/test/build.js b/node_modules/simple-plist/node_modules/plist/test/build.js
deleted file mode 100644
index c396c55..0000000
--- a/node_modules/simple-plist/node_modules/plist/test/build.js
+++ /dev/null
@@ -1,133 +0,0 @@
-
-var assert = require('assert');
-var build = require('../').build;
-var multiline = require('multiline');
-
-describe('plist', function () {
-
-  describe('build()', function () {
-
-    it('should create a plist XML string from a String', function () {
-      var xml = build('test');
-      assert.strictEqual(xml, multiline(function () {/*
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-  <string>test</string>
-</plist>
-*/}));
-    });
-
-    it('should create a plist XML integer from a whole Number', function () {
-      var xml = build(3);
-      assert.strictEqual(xml, multiline(function () {/*
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-  <integer>3</integer>
-</plist>
-*/}));
-    });
-
-    it('should create a plist XML real from a fractional Number', function () {
-      var xml = build(Math.PI);
-      assert.strictEqual(xml, multiline(function () {/*
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-  <real>3.141592653589793</real>
-</plist>
-*/}));
-    });
-
-    it('should create a plist XML date from a Date', function () {
-      var xml = build(new Date('2010-02-08T21:41:23Z'));
-      assert.strictEqual(xml, multiline(function () {/*
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-  <date>2010-02-08T21:41:23Z</date>
-</plist>
-*/}));
-    });
-
-    it('should create a plist XML date from a Buffer', function () {
-      var xml = build(new Buffer('\u2603'));
-      assert.strictEqual(xml, multiline(function () {/*
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-  <data>4piD</data>
-</plist>
-*/}));
-    });
-
-    it('should create a plist XML true from a `true` Boolean', function () {
-      var xml = build(true);
-      assert.strictEqual(xml, multiline(function () {/*
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-  <true/>
-</plist>
-*/}));
-    });
-
-    it('should create a plist XML false from a `false` Boolean', function () {
-      var xml = build(false);
-      assert.strictEqual(xml, multiline(function () {/*
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-  <false/>
-</plist>
-*/}));
-    });
-
-    it('should create a plist XML dict from an Object', function () {
-      var xml = build({ foo: 'bar' });
-      assert.strictEqual(xml, multiline(function () {/*
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-  <dict>
-    <key>foo</key>
-    <string>bar</string>
-  </dict>
-</plist>
-*/}));
-    });
-
-    it('should create a plist XML array from an Array', function () {
-      var xml = build([ 1, 'foo', false, new Date(1234) ]);
-      assert.strictEqual(xml, multiline(function () {/*
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-  <array>
-    <integer>1</integer>
-    <string>foo</string>
-    <false/>
-    <date>1970-01-01T00:00:01Z</date>
-  </array>
-</plist>
-*/}));
-    });
-
-    it('should properly encode an empty string', function () {
-      var xml = build({ a: '' });
-      assert.strictEqual(xml, multiline(function () {/*
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-  <dict>
-    <key>a</key>
-    <string></string>
-  </dict>
-</plist>
-*/}));
-    });
-
-  });
-
-});

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/plist/test/parse.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/plist/test/parse.js b/node_modules/simple-plist/node_modules/plist/test/parse.js
deleted file mode 100644
index 67a9257..0000000
--- a/node_modules/simple-plist/node_modules/plist/test/parse.js
+++ /dev/null
@@ -1,448 +0,0 @@
-
-var assert = require('assert');
-var parse = require('../').parse;
-var multiline = require('multiline');
-
-describe('plist', function () {
-
-  describe('parse()', function () {
-
-    it('should parse a minimal <string> node into a String', function () {
-      var parsed = parse('<plist><string>Hello World!</string></plist>');
-      assert.strictEqual(parsed, 'Hello World!');
-    });
-
-    it('should parse a full XML <string> node into a String', function () {
-      var xml = multiline(function () {/*
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<string>gray</string>
-</plist>
-*/});
-      var parsed = parse(xml);
-      assert.strictEqual(parsed, 'gray');
-    });
-
-    it('should parse an <integer> node into a Number', function () {
-      var xml = multiline(function () {/*
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-  <integer>14</integer>
-</plist>
-*/});
-      var parsed = parse(xml);
-      assert.strictEqual(parsed, 14);
-    });
-
-    it('should parse a <real> node into a Number', function () {
-      var xml = multiline(function () {/*
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-  <real>3.14</real>
-</plist>
-*/});
-      var parsed = parse(xml);
-      assert.strictEqual(parsed, 3.14);
-    });
-
-    it('should parse a <date> node into a Date', function () {
-      var xml = multiline(function () {/*
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-  <date>2010-02-08T21:41:23Z</date>
-</plist>
-*/});
-      var parsed = parse(xml);
-      assert(parsed instanceof Date);
-      assert.strictEqual(parsed.getTime(), 1265665283000);
-    });
-
-    it('should parse a <data> node into a Buffer', function () {
-      var xml = multiline(function () {/*
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-  <data>4pyTIMOgIGxhIG1vZGU=</data>
-</plist>
-*/});
-      var parsed = parse(xml);
-      assert(Buffer.isBuffer(parsed));
-      assert.strictEqual(parsed.toString('utf8'), '\u2713 � la mode');
-    });
-
-    it('should parse a <data> node with newlines into a Buffer', function () {
-      var xml = multiline(function () {/*
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-  <data>4pyTIMOgIGxhIG
-  
-  
-  1v
-  
-  ZG
-  U=</data>
-</plist>
-*/});
-      var parsed = parse(xml);
-      assert(Buffer.isBuffer(parsed));
-      assert.strictEqual(parsed.toString('utf8'), '\u2713 � la mode');
-    });
-
-    it('should parse a <true> node into a Boolean `true` value', function () {
-      var xml = multiline(function () {/*
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-  <true/>
-</plist>
-*/});
-      var parsed = parse(xml);
-      assert.strictEqual(parsed, true);
-    });
-
-    it('should parse a <false> node into a Boolean `false` value', function () {
-      var xml = multiline(function () {/*
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-  <false/>
-</plist>
-*/});
-      var parsed = parse(xml);
-      assert.strictEqual(parsed, false);
-    });
-
-    it('should parse an <array> node into an Array', function () {
-      var xml = multiline(function () {/*
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-  <array>
-    <dict>
-      <key>duration</key>
-      <real>5555.0495000000001</real>
-      <key>start</key>
-      <real>0.0</real>
-    </dict>
-  </array>
-</plist>
-*/});
-      var parsed = parse(xml);
-      assert.deepEqual(parsed, [
-        {
-          duration: 5555.0495,
-          start: 0
-        }
-      ]);
-    });
-
-    it('should parse a plist file with XML comments', function () {
-      var xml = multiline(function () {/*
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-  <dict>
-    <key>CFBundleName</key>
-    <string>Emacs</string>
-
-    <key>CFBundlePackageType</key>
-    <string>APPL</string>
-
-    <!-- This should be the emacs version number. -->
-
-    <key>CFBundleShortVersionString</key>
-    <string>24.3</string>
-
-    <key>CFBundleSignature</key>
-    <string>EMAx</string>
-
-    <!-- This SHOULD be a build number. -->
-
-    <key>CFBundleVersion</key>
-    <string>9.0</string>
-  </dict>
-</plist>
-*/});
-      var parsed = parse(xml);
-      assert.deepEqual(parsed, {
-        CFBundleName: 'Emacs',
-        CFBundlePackageType: 'APPL',
-        CFBundleShortVersionString: '24.3',
-        CFBundleSignature: 'EMAx',
-        CFBundleVersion: '9.0'
-      });
-    });
-
-    it('should parse a plist file with CDATA content', function () {
-      var xml = multiline(function () {/*
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>OptionsLabel</key>
-	<string>Product</string>
-	<key>PopupMenu</key>
-	<array>
-		<dict>
-			<key>Key</key>
-			<string>iPhone</string>
-			<key>Title</key>
-			<string>iPhone</string>
-		</dict>
-		<dict>
-			<key>Key</key>
-			<string>iPad</string>
-			<key>Title</key>
-			<string>iPad</string>
-		</dict>
-		<dict>
-			<key>Key</key>
-      <string>
-        <![CDATA[
-        #import &lt;Cocoa/Cocoa.h&gt;
-
-#import &lt;MacRuby/MacRuby.h&gt;
-
-int main(int argc, char *argv[])
-{
-  return macruby_main("rb_main.rb", argc, argv);
-}
-]]>
-</string>
-		</dict>
-	</array>
-	<key>TemplateSelection</key>
-	<dict>
-		<key>iPhone</key>
-		<string>Tab Bar iPhone Application</string>
-		<key>iPad</key>
-		<string>Tab Bar iPad Application</string>
-	</dict>
-</dict>
-</plist>
-*/});
-      var parsed = parse(xml);
-      assert.deepEqual(parsed, { OptionsLabel: 'Product',
-        PopupMenu:
-         [ { Key: 'iPhone', Title: 'iPhone' },
-           { Key: 'iPad', Title: 'iPad' },
-           { Key: '\n        \n        #import &lt;Cocoa/Cocoa.h&gt;\n\n#import &lt;MacRuby/MacRuby.h&gt;\n\nint main(int argc, char *argv[])\n{\n  return macruby_main("rb_main.rb", argc, argv);\n}\n\n' } ],
-        TemplateSelection:
-         { iPhone: 'Tab Bar iPhone Application',
-           iPad: 'Tab Bar iPad Application' }
-      });
-    });
-
-    it('should parse an example "Cordova.plist" file', function () {
-      var xml = multiline(function () {/*
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<!--
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-# 
-# http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#  KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
--->
-<plist version="1.0">
-<dict>
-  <key>UIWebViewBounce</key>
-  <true/>
-  <key>TopActivityIndicator</key>
-  <string>gray</string>
-  <key>EnableLocation</key>
-  <false/>
-  <key>EnableViewportScale</key>
-  <false/>
-  <key>AutoHideSplashScreen</key>
-  <true/>
-  <key>ShowSplashScreenSpinner</key>
-  <true/>
-  <key>MediaPlaybackRequiresUserAction</key>
-  <false/>
-  <key>AllowInlineMediaPlayback</key>
-  <false/>
-  <key>OpenAllWhitelistURLsInWebView</key>
-  <false/>
-  <key>BackupWebStorage</key>
-  <true/>
-  <key>ExternalHosts</key>
-  <array>
-      <string>*</string>
-  </array>
-  <key>Plugins</key>
-  <dict>
-    <key>Device</key>
-    <string>CDVDevice</string>
-    <key>Logger</key>
-    <string>CDVLogger</string>
-    <key>Compass</key>
-    <string>CDVLocation</string>
-    <key>Accelerometer</key>
-    <string>CDVAccelerometer</string>
-    <key>Camera</key>
-    <string>CDVCamera</string>
-    <key>NetworkStatus</key>
-    <string>CDVConnection</string>
-    <key>Contacts</key>
-    <string>CDVContacts</string>
-    <key>Debug Console</key>
-    <string>CDVDebugConsole</string>
-    <key>Echo</key>
-    <string>CDVEcho</string>
-    <key>File</key>
-    <string>CDVFile</string>
-    <key>FileTransfer</key>
-    <string>CDVFileTransfer</string>
-    <key>Geolocation</key>
-    <string>CDVLocation</string>
-    <key>Notification</key>
-    <string>CDVNotification</string>
-    <key>Media</key>
-    <string>CDVSound</string>
-    <key>Capture</key>
-    <string>CDVCapture</string>
-    <key>SplashScreen</key>
-    <string>CDVSplashScreen</string>
-    <key>Battery</key>
-    <string>CDVBattery</string>
-  </dict>
-</dict>
-</plist>
-*/});
-      var parsed = parse(xml);
-      assert.deepEqual(parsed, {
-        UIWebViewBounce: true,
-        TopActivityIndicator: 'gray',
-        EnableLocation: false,
-        EnableViewportScale: false,
-        AutoHideSplashScreen: true,
-        ShowSplashScreenSpinner: true,
-        MediaPlaybackRequiresUserAction: false,
-        AllowInlineMediaPlayback: false,
-        OpenAllWhitelistURLsInWebView: false,
-        BackupWebStorage: true,
-        ExternalHosts: [ '*' ],
-        Plugins: {
-          Device: 'CDVDevice',
-          Logger: 'CDVLogger',
-          Compass: 'CDVLocation',
-          Accelerometer: 'CDVAccelerometer',
-          Camera: 'CDVCamera',
-          NetworkStatus: 'CDVConnection',
-          Contacts: 'CDVContacts',
-          'Debug Console': 'CDVDebugConsole',
-          Echo: 'CDVEcho',
-          File: 'CDVFile',
-          FileTransfer: 'CDVFileTransfer',
-          Geolocation: 'CDVLocation',
-          Notification: 'CDVNotification',
-          Media: 'CDVSound',
-          Capture: 'CDVCapture',
-          SplashScreen: 'CDVSplashScreen',
-          Battery: 'CDVBattery'
-        }
-      });
-    });
-
-    it('should parse an example "Xcode-Info.plist" file', function () {
-      var xml = multiline(function () {/*
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleDevelopmentRegion</key>
-	<string>en</string>
-	<key>CFBundleDisplayName</key>
-	<string>${PRODUCT_NAME}</string>
-	<key>CFBundleExecutable</key>
-	<string>${EXECUTABLE_NAME}</string>
-	<key>CFBundleIconFiles</key>
-	<array/>
-	<key>CFBundleIdentifier</key>
-	<string>com.joshfire.ads</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>${PRODUCT_NAME}</string>
-	<key>CFBundlePackageType</key>
-	<string>APPL</string>
-	<key>CFBundleShortVersionString</key>
-	<string>1.0</string>
-	<key>CFBundleSignature</key>
-	<string>????</string>
-	<key>CFBundleVersion</key>
-	<string>1.0</string>
-	<key>LSRequiresIPhoneOS</key>
-	<true/>
-	<key>UIRequiredDeviceCapabilities</key>
-	<array>
-		<string>armv7</string>
-	</array>
-	<key>UISupportedInterfaceOrientations</key>
-	<array>
-		<string>UIInterfaceOrientationPortrait</string>
-		<string>UIInterfaceOrientationLandscapeLeft</string>
-		<string>UIInterfaceOrientationLandscapeRight</string>
-	</array>
-	<key>UISupportedInterfaceOrientations~ipad</key>
-	<array>
-		<string>UIInterfaceOrientationPortrait</string>
-		<string>UIInterfaceOrientationPortraitUpsideDown</string>
-		<string>UIInterfaceOrientationLandscapeLeft</string>
-		<string>UIInterfaceOrientationLandscapeRight</string>
-	</array>
-	<key>CFBundleAllowMixedLocalizations</key>
-	<true/>
-</dict>
-</plist>
-*/});
-      var parsed = parse(xml);
-      assert.deepEqual(parsed, {
-        CFBundleDevelopmentRegion: 'en',
-        CFBundleDisplayName: '${PRODUCT_NAME}',
-        CFBundleExecutable: '${EXECUTABLE_NAME}',
-        CFBundleIconFiles: [],
-        CFBundleIdentifier: 'com.joshfire.ads',
-        CFBundleInfoDictionaryVersion: '6.0',
-        CFBundleName: '${PRODUCT_NAME}',
-        CFBundlePackageType: 'APPL',
-        CFBundleShortVersionString: '1.0',
-        CFBundleSignature: '????',
-        CFBundleVersion: '1.0',
-        LSRequiresIPhoneOS: true,
-        UIRequiredDeviceCapabilities: [ 'armv7' ],
-        UISupportedInterfaceOrientations:
-         [ 'UIInterfaceOrientationPortrait',
-           'UIInterfaceOrientationLandscapeLeft',
-           'UIInterfaceOrientationLandscapeRight' ],
-        'UISupportedInterfaceOrientations~ipad':
-         [ 'UIInterfaceOrientationPortrait',
-           'UIInterfaceOrientationPortraitUpsideDown',
-           'UIInterfaceOrientationLandscapeLeft',
-           'UIInterfaceOrientationLandscapeRight' ],
-        CFBundleAllowMixedLocalizations: true
-      });
-    });
-
-  });
-
-});

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/util-deprecate/History.md
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/util-deprecate/History.md b/node_modules/simple-plist/node_modules/util-deprecate/History.md
deleted file mode 100644
index 149b6d3..0000000
--- a/node_modules/simple-plist/node_modules/util-deprecate/History.md
+++ /dev/null
@@ -1,5 +0,0 @@
-
-1.0.0 / 2014-04-30
-==================
-
-  * initial commit

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/util-deprecate/LICENSE
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/util-deprecate/LICENSE b/node_modules/simple-plist/node_modules/util-deprecate/LICENSE
deleted file mode 100644
index 6a60e8c..0000000
--- a/node_modules/simple-plist/node_modules/util-deprecate/LICENSE
+++ /dev/null
@@ -1,24 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2014 Nathan Rajlich <na...@tootallnate.net>
-
-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.

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/util-deprecate/README.md
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/util-deprecate/README.md b/node_modules/simple-plist/node_modules/util-deprecate/README.md
deleted file mode 100644
index 75622fa..0000000
--- a/node_modules/simple-plist/node_modules/util-deprecate/README.md
+++ /dev/null
@@ -1,53 +0,0 @@
-util-deprecate
-==============
-### The Node.js `util.deprecate()` function with browser support
-
-In Node.js, this module simply re-exports the `util.deprecate()` function.
-
-In the web browser (i.e. via browserify), a browser-specific implementation
-of the `util.deprecate()` function is used.
-
-
-## API
-
-A `deprecate()` function is the only thing exposed by this module.
-
-``` javascript
-// setup:
-exports.foo = deprecate(foo, 'foo() is deprecated, use bar() instead');
-
-
-// users see:
-foo();
-// foo() is deprecated, use bar() instead
-foo();
-foo();
-```
-
-
-## License
-
-(The MIT License)
-
-Copyright (c) 2014 Nathan Rajlich <na...@tootallnate.net>
-
-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.

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/util-deprecate/browser.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/util-deprecate/browser.js b/node_modules/simple-plist/node_modules/util-deprecate/browser.js
deleted file mode 100644
index 9112c54..0000000
--- a/node_modules/simple-plist/node_modules/util-deprecate/browser.js
+++ /dev/null
@@ -1,55 +0,0 @@
-
-/**
- * Module exports.
- */
-
-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.
- *
- * @param {Function} fn - the function to deprecate
- * @param {String} msg - the string to print to the console when `fn` is invoked
- * @returns {Function} a new "deprecated" version of `fn`
- * @api public
- */
-
-function deprecate (fn, msg) {
-  if (config('noDeprecation')) {
-    return fn;
-  }
-
-  var warned = false;
-  function deprecated() {
-    if (!warned) {
-      if (config('throwDeprecation')) {
-        throw new Error(msg);
-      } else if (config('traceDeprecation')) {
-        console.trace(msg);
-      } else {
-        console.error(msg);
-      }
-      warned = true;
-    }
-    return fn.apply(this, arguments);
-  }
-
-  return deprecated;
-}
-
-/**
- * Checks `localStorage` for boolean values for the given `name`.
- *
- * @param {String} name
- * @returns {Boolean}
- * @api private
- */
-
-function config (name) {
-  if (!global.localStorage) 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-ios/blob/0d465c30/node_modules/simple-plist/node_modules/util-deprecate/node.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/util-deprecate/node.js b/node_modules/simple-plist/node_modules/util-deprecate/node.js
deleted file mode 100644
index 5e6fcff..0000000
--- a/node_modules/simple-plist/node_modules/util-deprecate/node.js
+++ /dev/null
@@ -1,6 +0,0 @@
-
-/**
- * For Node.js, simply re-export the core `util.deprecate` function.
- */
-
-module.exports = require('util').deprecate;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/util-deprecate/package.json
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/util-deprecate/package.json b/node_modules/simple-plist/node_modules/util-deprecate/package.json
deleted file mode 100644
index de353b4..0000000
--- a/node_modules/simple-plist/node_modules/util-deprecate/package.json
+++ /dev/null
@@ -1,79 +0,0 @@
-{
-  "_args": [
-    [
-      "util-deprecate@1.0.0",
-      "D:\\Cordova\\cordova-ios\\node_modules\\simple-plist\\node_modules\\plist"
-    ]
-  ],
-  "_from": "util-deprecate@1.0.0",
-  "_id": "util-deprecate@1.0.0",
-  "_inCache": true,
-  "_installable": true,
-  "_location": "/simple-plist/util-deprecate",
-  "_npmUser": {
-    "email": "nathan@tootallnate.net",
-    "name": "tootallnate"
-  },
-  "_npmVersion": "1.4.3",
-  "_phantomChildren": {},
-  "_requested": {
-    "name": "util-deprecate",
-    "raw": "util-deprecate@1.0.0",
-    "rawSpec": "1.0.0",
-    "scope": null,
-    "spec": "1.0.0",
-    "type": "version"
-  },
-  "_requiredBy": [
-    "/simple-plist/plist"
-  ],
-  "_resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.0.tgz",
-  "_shasum": "3007af012c140eae26de05576ec22785cac3abf2",
-  "_shrinkwrap": null,
-  "_spec": "util-deprecate@1.0.0",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\simple-plist\\node_modules\\plist",
-  "author": {
-    "email": "nathan@tootallnate.net",
-    "name": "Nathan Rajlich",
-    "url": "http://n8.io/"
-  },
-  "browser": "browser.js",
-  "bugs": {
-    "url": "https://github.com/TooTallNate/util-deprecate/issues"
-  },
-  "dependencies": {},
-  "description": "The Node.js `util.deprecate()` function with browser support",
-  "devDependencies": {},
-  "directories": {},
-  "dist": {
-    "shasum": "3007af012c140eae26de05576ec22785cac3abf2",
-    "tarball": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.0.tgz"
-  },
-  "homepage": "https://github.com/TooTallNate/util-deprecate",
-  "keywords": [
-    "util",
-    "deprecate",
-    "browserify",
-    "browser",
-    "node"
-  ],
-  "license": "MIT",
-  "main": "node.js",
-  "maintainers": [
-    {
-      "email": "nathan@tootallnate.net",
-      "name": "tootallnate"
-    }
-  ],
-  "name": "util-deprecate",
-  "optionalDependencies": {},
-  "readme": "ERROR: No README data found!",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/TooTallNate/util-deprecate.git"
-  },
-  "scripts": {
-    "test": "echo \"Error: no test specified\" && exit 1"
-  },
-  "version": "1.0.0"
-}

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/xmlbuilder/.npmignore
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/xmlbuilder/.npmignore b/node_modules/simple-plist/node_modules/xmlbuilder/.npmignore
deleted file mode 100644
index 3ca4980..0000000
--- a/node_modules/simple-plist/node_modules/xmlbuilder/.npmignore
+++ /dev/null
@@ -1,4 +0,0 @@
-.travis.yml
-src
-test
-perf

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/xmlbuilder/LICENSE
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/xmlbuilder/LICENSE b/node_modules/simple-plist/node_modules/xmlbuilder/LICENSE
deleted file mode 100644
index e7cbac9..0000000
--- a/node_modules/simple-plist/node_modules/xmlbuilder/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2013 Ozgur Ozcitak
-
-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.

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/xmlbuilder/README.md
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/xmlbuilder/README.md b/node_modules/simple-plist/node_modules/xmlbuilder/README.md
deleted file mode 100644
index 4883757..0000000
--- a/node_modules/simple-plist/node_modules/xmlbuilder/README.md
+++ /dev/null
@@ -1,82 +0,0 @@
-# xmlbuilder-js
-
-An XML builder for [node.js](http://nodejs.org/) similar to 
-[java-xmlbuilder](http://code.google.com/p/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)
-
-### Installation:
-
-``` sh
-npm install xmlbuilder
-```
-
-### Usage:
-
-``` js
-var builder = require('xmlbuilder');
-var xml = builder.create('root')
-  .ele('xmlbuilder', {'for': 'node-js'})
-    .ele('repo', {'type': 'git'}, 'git://github.com/oozcitak/xmlbuilder-js.git')
-  .end({ pretty: true});
-    
-console.log(xml);
-```
-
-will result in:
-
-``` xml
-<?xml version="1.0"?>
-<root>
-  <xmlbuilder for="node-js">
-    <repo type="git">git://github.com/oozcitak/xmlbuilder-js.git</repo>
-  </xmlbuilder>
-</root>
-```
-
-It is also possible to convert objects into nodes:
-
-``` js
-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
-      }
-    }
-  }
-});
-```
-
-If you need to do some processing:
-
-``` js
-var root = builder.create('squares');
-root.com('f(x) = x^2');
-for(var i = 1; i <= 5; i++)
-{
-  var item = root.ele('data');
-  item.att('x', i);
-  item.att('y', i * i);
-}
-```
-
-This will result in:
-
-``` xml
-<?xml version="1.0"?>
-<squares>
-  <!-- f(x) = x^2 -->
-  <data x="1" y="1"/>
-  <data x="2" y="4"/>
-  <data x="3" y="9"/>
-  <data x="4" y="16"/>
-  <data x="5" y="25"/>
-</squares>
-```
-
-See the [wiki](https://github.com/oozcitak/xmlbuilder-js/wiki) for details.

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLAttribute.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLAttribute.js b/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLAttribute.js
deleted file mode 100644
index a83ffec..0000000
--- a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLAttribute.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLAttribute, _;
-
-  _ = require('lodash-node');
-
-  module.exports = XMLAttribute = (function() {
-    function XMLAttribute(parent, name, value) {
-      this.stringify = parent.stringify;
-      if (name == null) {
-        throw new Error("Missing attribute name");
-      }
-      if (value == null) {
-        throw new Error("Missing attribute value");
-      }
-      this.name = this.stringify.attName(name);
-      this.value = this.stringify.attValue(value);
-    }
-
-    XMLAttribute.prototype.clone = function() {
-      return _.create(XMLAttribute.prototype, this);
-    };
-
-    XMLAttribute.prototype.toString = function(options, level) {
-      return ' ' + this.name + '="' + this.value + '"';
-    };
-
-    return XMLAttribute;
-
-  })();
-
-}).call(this);

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLBuilder.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLBuilder.js b/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLBuilder.js
deleted file mode 100644
index 063d6db..0000000
--- a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLBuilder.js
+++ /dev/null
@@ -1,70 +0,0 @@
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLBuilder, XMLDeclaration, XMLDocType, XMLElement, XMLStringifier, _;
-
-  _ = require('lodash-node');
-
-  XMLStringifier = require('./XMLStringifier');
-
-  XMLDeclaration = require('./XMLDeclaration');
-
-  XMLDocType = require('./XMLDocType');
-
-  XMLElement = require('./XMLElement');
-
-  module.exports = XMLBuilder = (function() {
-    function XMLBuilder(name, options) {
-      var root, temp;
-      if (name == null) {
-        throw new Error("Root element needs a name");
-      }
-      if (options == null) {
-        options = {};
-      }
-      this.options = options;
-      this.stringify = new XMLStringifier(options);
-      temp = new XMLElement(this, 'doc');
-      root = temp.element(name);
-      root.isRoot = true;
-      root.documentObject = this;
-      this.rootObject = root;
-      if (!options.headless) {
-        root.declaration(options);
-        if ((options.pubID != null) || (options.sysID != null)) {
-          root.doctype(options);
-        }
-      }
-    }
-
-    XMLBuilder.prototype.root = function() {
-      return this.rootObject;
-    };
-
-    XMLBuilder.prototype.end = function(options) {
-      return toString(options);
-    };
-
-    XMLBuilder.prototype.toString = function(options) {
-      var indent, newline, pretty, r;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      r = '';
-      if (this.xmldec != null) {
-        r += this.xmldec.toString(options);
-      }
-      if (this.doctype != null) {
-        r += this.doctype.toString(options);
-      }
-      r += this.rootObject.toString(options);
-      if (pretty && r.slice(-newline.length) === newline) {
-        r = r.slice(0, -newline.length);
-      }
-      return r;
-    };
-
-    return XMLBuilder;
-
-  })();
-
-}).call(this);

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLCData.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLCData.js b/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLCData.js
deleted file mode 100644
index c729a3f..0000000
--- a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLCData.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Generated by CoffeeScript 1.6.3
-(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; };
-
-  _ = require('lodash-node');
-
-  XMLNode = require('./XMLNode');
-
-  module.exports = XMLCData = (function(_super) {
-    __extends(XMLCData, _super);
-
-    function XMLCData(parent, text) {
-      XMLCData.__super__.constructor.call(this, parent);
-      if (text == null) {
-        throw new Error("Missing CDATA text");
-      }
-      this.text = this.stringify.cdata(text);
-    }
-
-    XMLCData.prototype.clone = function() {
-      return _.create(XMLCData.prototype, this);
-    };
-
-    XMLCData.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<![CDATA[' + this.text + ']]>';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLCData;
-
-  })(XMLNode);
-
-}).call(this);

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLComment.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLComment.js b/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLComment.js
deleted file mode 100644
index d89cc8f..0000000
--- a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLComment.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Generated by CoffeeScript 1.6.3
-(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; };
-
-  _ = require('lodash-node');
-
-  XMLNode = require('./XMLNode');
-
-  module.exports = XMLComment = (function(_super) {
-    __extends(XMLComment, _super);
-
-    function XMLComment(parent, text) {
-      XMLComment.__super__.constructor.call(this, parent);
-      if (text == null) {
-        throw new Error("Missing comment text");
-      }
-      this.text = this.stringify.comment(text);
-    }
-
-    XMLComment.prototype.clone = function() {
-      return _.create(XMLComment.prototype, this);
-    };
-
-    XMLComment.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<!-- ' + this.text + ' -->';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLComment;
-
-  })(XMLNode);
-
-}).call(this);

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDTDAttList.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDTDAttList.js b/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDTDAttList.js
deleted file mode 100644
index 37e2fa7..0000000
--- a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDTDAttList.js
+++ /dev/null
@@ -1,71 +0,0 @@
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLDTDAttList, _;
-
-  _ = require('lodash-node');
-
-  module.exports = XMLDTDAttList = (function() {
-    function XMLDTDAttList(parent, elementName, attributeName, attributeType, defaultValueType, defaultValue) {
-      this.stringify = parent.stringify;
-      if (elementName == null) {
-        throw new Error("Missing DTD element name");
-      }
-      if (attributeName == null) {
-        throw new Error("Missing DTD attribute name");
-      }
-      if (!attributeType) {
-        throw new Error("Missing DTD attribute type");
-      }
-      if (!defaultValueType) {
-        throw new Error("Missing DTD attribute default");
-      }
-      if (defaultValueType.indexOf('#') !== 0) {
-        defaultValueType = '#' + defaultValueType;
-      }
-      if (!defaultValueType.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/)) {
-        throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT");
-      }
-      if (defaultValue && !defaultValueType.match(/^(#FIXED|#DEFAULT)$/)) {
-        throw new Error("Default value only applies to #FIXED or #DEFAULT");
-      }
-      this.elementName = this.stringify.eleName(elementName);
-      this.attributeName = this.stringify.attName(attributeName);
-      this.attributeType = this.stringify.dtdAttType(attributeType);
-      this.defaultValue = this.stringify.dtdAttDefault(defaultValue);
-      this.defaultValueType = defaultValueType;
-    }
-
-    XMLDTDAttList.prototype.clone = function() {
-      return _.create(XMLDTDAttList.prototype, this);
-    };
-
-    XMLDTDAttList.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<!ATTLIST ' + this.elementName + ' ' + this.attributeName + ' ' + this.attributeType;
-      if (this.defaultValueType !== '#DEFAULT') {
-        r += ' ' + this.defaultValueType;
-      }
-      if (this.defaultValue) {
-        r += ' "' + this.defaultValue + '"';
-      }
-      r += '>';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLDTDAttList;
-
-  })();
-
-}).call(this);

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDTDElement.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDTDElement.js b/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDTDElement.js
deleted file mode 100644
index 548eed4..0000000
--- a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDTDElement.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLDTDElement, _;
-
-  _ = require('lodash-node');
-
-  module.exports = XMLDTDElement = (function() {
-    function XMLDTDElement(parent, name, value) {
-      this.stringify = parent.stringify;
-      if (name == null) {
-        throw new Error("Missing DTD element name");
-      }
-      if (!value) {
-        value = '(#PCDATA)';
-      }
-      if (_.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;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<!ELEMENT ' + this.name + ' ' + this.value + '>';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLDTDElement;
-
-  })();
-
-}).call(this);

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDTDEntity.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDTDEntity.js b/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDTDEntity.js
deleted file mode 100644
index 205c948..0000000
--- a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDTDEntity.js
+++ /dev/null
@@ -1,85 +0,0 @@
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLDTDEntity, _;
-
-  _ = require('lodash-node');
-
-  module.exports = XMLDTDEntity = (function() {
-    function XMLDTDEntity(parent, pe, name, value) {
-      this.stringify = parent.stringify;
-      if (name == null) {
-        throw new Error("Missing entity name");
-      }
-      if (value == null) {
-        throw new Error("Missing entity value");
-      }
-      this.pe = !!pe;
-      this.name = this.stringify.eleName(name);
-      if (!_.isObject(value)) {
-        this.value = this.stringify.dtdEntityValue(value);
-      } else {
-        if (!value.pubID && !value.sysID) {
-          throw new Error("Public and/or system identifiers are required for an external entity");
-        }
-        if (value.pubID && !value.sysID) {
-          throw new Error("System identifier is required for a public external entity");
-        }
-        if (value.pubID != null) {
-          this.pubID = this.stringify.dtdPubID(value.pubID);
-        }
-        if (value.sysID != null) {
-          this.sysID = this.stringify.dtdSysID(value.sysID);
-        }
-        if (value.nData != null) {
-          this.nData = this.stringify.dtdNData(value.nData);
-        }
-        if (this.pe && this.nData) {
-          throw new Error("Notation declaration is not allowed in a parameter entity");
-        }
-      }
-    }
-
-    XMLDTDEntity.prototype.clone = function() {
-      return _.create(XMLDTDEntity.prototype, this);
-    };
-
-    XMLDTDEntity.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<!ENTITY';
-      if (this.pe) {
-        r += ' %';
-      }
-      r += ' ' + this.name;
-      if (this.value) {
-        r += ' "' + this.value + '"';
-      } else {
-        if (this.pubID && this.sysID) {
-          r += ' PUBLIC "' + this.pubID + '" "' + this.sysID + '"';
-        } else if (this.sysID) {
-          r += ' SYSTEM "' + this.sysID + '"';
-        }
-        if (this.nData) {
-          r += ' NDATA ' + this.nData;
-        }
-      }
-      r += '>';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLDTDEntity;
-
-  })();
-
-}).call(this);

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDTDNotation.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDTDNotation.js b/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDTDNotation.js
deleted file mode 100644
index 94b0cb6..0000000
--- a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDTDNotation.js
+++ /dev/null
@@ -1,59 +0,0 @@
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLDTDNotation, _;
-
-  _ = require('lodash-node');
-
-  module.exports = XMLDTDNotation = (function() {
-    function XMLDTDNotation(parent, name, value) {
-      this.stringify = parent.stringify;
-      if (name == null) {
-        throw new Error("Missing notation name");
-      }
-      if (!value.pubID && !value.sysID) {
-        throw new Error("Public or system identifiers are required for an external entity");
-      }
-      this.name = this.stringify.eleName(name);
-      if (value.pubID != null) {
-        this.pubID = this.stringify.dtdPubID(value.pubID);
-      }
-      if (value.sysID != null) {
-        this.sysID = this.stringify.dtdSysID(value.sysID);
-      }
-    }
-
-    XMLDTDNotation.prototype.clone = function() {
-      return _.create(XMLDTDNotation.prototype, this);
-    };
-
-    XMLDTDNotation.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<!NOTATION ' + this.name;
-      if (this.pubID && this.sysID) {
-        r += ' PUBLIC "' + this.pubID + '" "' + this.sysID + '"';
-      } else if (this.pubID) {
-        r += ' PUBLIC "' + this.pubID + '"';
-      } else if (this.sysID) {
-        r += ' SYSTEM "' + this.sysID + '"';
-      }
-      r += '>';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLDTDNotation;
-
-  })();
-
-}).call(this);

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDeclaration.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDeclaration.js b/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDeclaration.js
deleted file mode 100644
index a8ea575..0000000
--- a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDeclaration.js
+++ /dev/null
@@ -1,70 +0,0 @@
-// Generated by CoffeeScript 1.6.3
-(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; };
-
-  _ = require('lodash-node');
-
-  XMLNode = require('./XMLNode');
-
-  module.exports = XMLDeclaration = (function(_super) {
-    __extends(XMLDeclaration, _super);
-
-    function XMLDeclaration(parent, version, encoding, standalone) {
-      var _ref;
-      XMLDeclaration.__super__.constructor.call(this, parent);
-      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);
-      }
-      if (encoding != null) {
-        this.encoding = this.stringify.xmlEncoding(encoding);
-      }
-      if (standalone != null) {
-        this.standalone = this.stringify.xmlStandalone(standalone);
-      }
-    }
-
-    XMLDeclaration.prototype.clone = function() {
-      return _.create(XMLDeclaration.prototype, this);
-    };
-
-    XMLDeclaration.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<?xml';
-      if (this.version != null) {
-        r += ' version="' + this.version + '"';
-      }
-      if (this.encoding != null) {
-        r += ' encoding="' + this.encoding + '"';
-      }
-      if (this.standalone != null) {
-        r += ' standalone="' + this.standalone + '"';
-      }
-      r += '?>';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    return XMLDeclaration;
-
-  })(XMLNode);
-
-}).call(this);

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDocType.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDocType.js b/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDocType.js
deleted file mode 100644
index d360353..0000000
--- a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDocType.js
+++ /dev/null
@@ -1,183 +0,0 @@
-// Generated by CoffeeScript 1.6.3
-(function() {
-  var XMLDocType, _;
-
-  _ = require('lodash-node');
-
-  module.exports = XMLDocType = (function() {
-    function XMLDocType(parent, pubID, sysID) {
-      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 (sysID == null) {
-        _ref1 = [pubID, sysID], sysID = _ref1[0], pubID = _ref1[1];
-      }
-      if (pubID != null) {
-        this.pubID = this.stringify.dtdPubID(pubID);
-      }
-      if (sysID != null) {
-        this.sysID = this.stringify.dtdSysID(sysID);
-      }
-    }
-
-    XMLDocType.prototype.clone = function() {
-      return _.create(XMLDocType.prototype, this);
-    };
-
-    XMLDocType.prototype.element = function(name, value) {
-      var XMLDTDElement, child;
-      XMLDTDElement = require('./XMLDTDElement');
-      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');
-      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');
-      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');
-      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');
-      child = new XMLDTDNotation(this, name, value);
-      this.children.push(child);
-      return this;
-    };
-
-    XMLDocType.prototype.cdata = function(value) {
-      var XMLCData, child;
-      XMLCData = require('./XMLCData');
-      child = new XMLCData(this, value);
-      this.children.push(child);
-      return this;
-    };
-
-    XMLDocType.prototype.comment = function(value) {
-      var XMLComment, child;
-      XMLComment = require('./XMLComment');
-      child = new XMLComment(this, value);
-      this.children.push(child);
-      return this;
-    };
-
-    XMLDocType.prototype.instruction = function(target, value) {
-      var XMLProcessingInstruction, child;
-      XMLProcessingInstruction = require('./XMLProcessingInstruction');
-      child = new XMLProcessingInstruction(this, target, value);
-      this.children.push(child);
-      return this;
-    };
-
-    XMLDocType.prototype.root = function() {
-      return this.documentObject.root();
-    };
-
-    XMLDocType.prototype.document = function() {
-      return this.documentObject;
-    };
-
-    XMLDocType.prototype.toString = function(options, level) {
-      var child, indent, newline, pretty, r, space, _i, _len, _ref;
-      pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
-      level || (level = 0);
-      space = new Array(level + 1).join(indent);
-      r = '';
-      if (pretty) {
-        r += space;
-      }
-      r += '<!DOCTYPE ' + this.root().name;
-      if (this.pubID && this.sysID) {
-        r += ' PUBLIC "' + this.pubID + '" "' + this.sysID + '"';
-      } else if (this.sysID) {
-        r += ' SYSTEM "' + this.sysID + '"';
-      }
-      if (this.children.length > 0) {
-        r += ' [';
-        if (pretty) {
-          r += newline;
-        }
-        _ref = this.children;
-        for (_i = 0, _len = _ref.length; _i < _len; _i++) {
-          child = _ref[_i];
-          r += child.toString(options, level + 1);
-        }
-        r += ']';
-      }
-      r += '>';
-      if (pretty) {
-        r += newline;
-      }
-      return r;
-    };
-
-    XMLDocType.prototype.ele = function(name, value) {
-      return this.element(name, value);
-    };
-
-    XMLDocType.prototype.att = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) {
-      return this.attList(elementName, attributeName, attributeType, defaultValueType, defaultValue);
-    };
-
-    XMLDocType.prototype.ent = function(name, value) {
-      return this.entity(name, value);
-    };
-
-    XMLDocType.prototype.pent = function(name, value) {
-      return this.pEntity(name, value);
-    };
-
-    XMLDocType.prototype.not = function(name, value) {
-      return this.notation(name, value);
-    };
-
-    XMLDocType.prototype.dat = function(value) {
-      return this.cdata(value);
-    };
-
-    XMLDocType.prototype.com = function(value) {
-      return this.comment(value);
-    };
-
-    XMLDocType.prototype.ins = function(target, value) {
-      return this.instruction(target, value);
-    };
-
-    XMLDocType.prototype.up = function() {
-      return this.root();
-    };
-
-    XMLDocType.prototype.doc = function() {
-      return this.document();
-    };
-
-    return XMLDocType;
-
-  })();
-
-}).call(this);

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLElement.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLElement.js b/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLElement.js
deleted file mode 100644
index 28a5c81..0000000
--- a/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLElement.js
+++ /dev/null
@@ -1,190 +0,0 @@
-// Generated by CoffeeScript 1.6.3
-(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; };
-
-  _ = require('lodash-node');
-
-  XMLNode = require('./XMLNode');
-
-  XMLAttribute = require('./XMLAttribute');
-
-  XMLProcessingInstruction = require('./XMLProcessingInstruction');
-
-  module.exports = XMLElement = (function(_super) {
-    __extends(XMLElement, _super);
-
-    function XMLElement(parent, name, attributes) {
-      XMLElement.__super__.constructor.call(this, parent);
-      if (name == null) {
-        throw new Error("Missing element name");
-      }
-      this.name = this.stringify.eleName(name);
-      this.children = [];
-      this.instructions = [];
-      this.attributes = {};
-      if (attributes != null) {
-        this.attribute(attributes);
-      }
-    }
-
-    XMLElement.prototype.clone = function() {
-      var att, attName, clonedSelf, pi, _i, _len, _ref, _ref1;
-      clonedSelf = _.create(XMLElement.prototype, this);
-      clonedSelf.attributes = {};
-      _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];
-        clonedSelf.instructions.push(pi.clone());
-      }
-      clonedSelf.children = [];
-      this.children.forEach(function(child) {
-        var clonedChild;
-        clonedChild = child.clone();
-        clonedChild.parent = clonedSelf;
-        return clonedSelf.children.push(clonedChild);
-      });
-      return clonedSelf;
-    };
-
-    XMLElement.prototype.attribute = function(name, value) {
-      var attName, attValue;
-      if (_.isObject(name)) {
-        for (attName in name) {
-          if (!__hasProp.call(name, attName)) continue;
-          attValue = name[attName];
-          this.attribute(attName, attValue);
-        }
-      } else {
-        if (_.isFunction(value)) {
-          value = value.apply();
-        }
-        if (!this.options.skipNullAttributes || (value != null)) {
-          this.attributes[name] = new XMLAttribute(this, name, value);
-        }
-      }
-      return this;
-    };
-
-    XMLElement.prototype.removeAttribute = function(name) {
-      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];
-          delete this.attributes[attName];
-        }
-      } else {
-        delete this.attributes[name];
-      }
-      return this;
-    };
-
-    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];
-          this.instruction(insTarget);
-        }
-      } else if (_.isObject(target)) {
-        for (insTarget in target) {
-          if (!__hasProp.call(target, insTarget)) continue;
-          insValue = target[insTarget];
-          this.instruction(insTarget, insValue);
-        }
-      } else {
-        if (_.isFunction(value)) {
-          value = value.apply();
-        }
-        instruction = new XMLProcessingInstruction(this, target, value);
-        this.instructions.push(instruction);
-      }
-      return this;
-    };
-
-    XMLElement.prototype.toString = function(options, level) {
-      var att, child, indent, instruction, name, newline, pretty, r, space, _i, _j, _len, _len1, _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';
-      level || (level = 0);
-      space = new Array(level + 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);
-      }
-      if (pretty) {
-        r += space;
-      }
-      r += '<' + this.name;
-      _ref1 = this.attributes;
-      for (name in _ref1) {
-        if (!__hasProp.call(_ref1, name)) continue;
-        att = _ref1[name];
-        r += att.toString(options);
-      }
-      if (this.children.length === 0) {
-        r += '/>';
-        if (pretty) {
-          r += newline;
-        }
-      } else if (pretty && this.children.length === 1 && (this.children[0].value != null)) {
-        r += '>';
-        r += this.children[0].value;
-        r += '</' + this.name + '>';
-        r += newline;
-      } else {
-        r += '>';
-        if (pretty) {
-          r += newline;
-        }
-        _ref2 = this.children;
-        for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
-          child = _ref2[_j];
-          r += child.toString(options, level + 1);
-        }
-        if (pretty) {
-          r += space;
-        }
-        r += '</' + this.name + '>';
-        if (pretty) {
-          r += newline;
-        }
-      }
-      return r;
-    };
-
-    XMLElement.prototype.att = function(name, value) {
-      return this.attribute(name, value);
-    };
-
-    XMLElement.prototype.ins = function(target, value) {
-      return this.instruction(target, value);
-    };
-
-    XMLElement.prototype.a = function(name, value) {
-      return this.attribute(name, value);
-    };
-
-    XMLElement.prototype.i = function(target, value) {
-      return this.instruction(target, value);
-    };
-
-    return XMLElement;
-
-  })(XMLNode);
-
-}).call(this);


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


[08/32] ios commit: CB-11445 Updated checked-in node_modules

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/lib/parser.js
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/lib/parser.js b/node_modules/pegjs/lib/parser.js
new file mode 100644
index 0000000..cda8fad
--- /dev/null
+++ b/node_modules/pegjs/lib/parser.js
@@ -0,0 +1,4974 @@
+module.exports = (function() {
+  "use strict";
+
+  /*
+   * Generated by PEG.js 0.9.0.
+   *
+   * http://pegjs.org/
+   */
+
+  function peg$subclass(child, parent) {
+    function ctor() { this.constructor = child; }
+    ctor.prototype = parent.prototype;
+    child.prototype = new ctor();
+  }
+
+  function peg$SyntaxError(message, expected, found, location) {
+    this.message  = message;
+    this.expected = expected;
+    this.found    = found;
+    this.location = location;
+    this.name     = "SyntaxError";
+
+    if (typeof Error.captureStackTrace === "function") {
+      Error.captureStackTrace(this, peg$SyntaxError);
+    }
+  }
+
+  peg$subclass(peg$SyntaxError, Error);
+
+  function peg$parse(input) {
+    var options = arguments.length > 1 ? arguments[1] : {},
+        parser  = this,
+
+        peg$FAILED = {},
+
+        peg$startRuleFunctions = { Grammar: peg$parseGrammar },
+        peg$startRuleFunction  = peg$parseGrammar,
+
+        peg$c0 = function(initializer, rules) {
+              return {
+                type:        "grammar",
+                initializer: extractOptional(initializer, 0),
+                rules:       extractList(rules, 0),
+                location:    location()
+              };
+            },
+        peg$c1 = function(code) {
+              return { type: "initializer", code: code, location: location() };
+            },
+        peg$c2 = "=",
+        peg$c3 = { type: "literal", value: "=", description: "\"=\"" },
+        peg$c4 = function(name, displayName, expression) {
+              return {
+                type:        "rule",
+                name:        name,
+                expression:  displayName !== null
+                  ? {
+                      type:       "named",
+                      name:       displayName[0],
+                      expression: expression,
+                      location:   location()
+                    }
+                  : expression,
+                location:    location()
+              };
+            },
+        peg$c5 = "/",
+        peg$c6 = { type: "literal", value: "/", description: "\"/\"" },
+        peg$c7 = function(first, rest) {
+              return rest.length > 0
+                ? {
+                    type:         "choice",
+                    alternatives: buildList(first, rest, 3),
+                    location:     location()
+                  }
+                : first;
+            },
+        peg$c8 = function(expression, code) {
+              return code !== null
+                ? {
+                    type:       "action",
+                    expression: expression,
+                    code:       code[1],
+                    location:   location()
+                  }
+                : expression;
+            },
+        peg$c9 = function(first, rest) {
+              return rest.length > 0
+                ? {
+                    type:     "sequence",
+                    elements: buildList(first, rest, 1),
+                    location: location()
+                  }
+                : first;
+            },
+        peg$c10 = ":",
+        peg$c11 = { type: "literal", value: ":", description: "\":\"" },
+        peg$c12 = function(label, expression) {
+              return {
+                type:       "labeled",
+                label:      label,
+                expression: expression,
+                location:   location()
+              };
+            },
+        peg$c13 = function(operator, expression) {
+              return {
+                type:       OPS_TO_PREFIXED_TYPES[operator],
+                expression: expression,
+                location:   location()
+              };
+            },
+        peg$c14 = "$",
+        peg$c15 = { type: "literal", value: "$", description: "\"$\"" },
+        peg$c16 = "&",
+        peg$c17 = { type: "literal", value: "&", description: "\"&\"" },
+        peg$c18 = "!",
+        peg$c19 = { type: "literal", value: "!", description: "\"!\"" },
+        peg$c20 = function(expression, operator) {
+              return {
+                type:       OPS_TO_SUFFIXED_TYPES[operator],
+                expression: expression,
+                location:   location()
+              };
+            },
+        peg$c21 = "?",
+        peg$c22 = { type: "literal", value: "?", description: "\"?\"" },
+        peg$c23 = "*",
+        peg$c24 = { type: "literal", value: "*", description: "\"*\"" },
+        peg$c25 = "+",
+        peg$c26 = { type: "literal", value: "+", description: "\"+\"" },
+        peg$c27 = "(",
+        peg$c28 = { type: "literal", value: "(", description: "\"(\"" },
+        peg$c29 = ")",
+        peg$c30 = { type: "literal", value: ")", description: "\")\"" },
+        peg$c31 = function(expression) { return expression; },
+        peg$c32 = function(name) {
+              return { type: "rule_ref", name: name, location: location() };
+            },
+        peg$c33 = function(operator, code) {
+              return {
+                type:     OPS_TO_SEMANTIC_PREDICATE_TYPES[operator],
+                code:     code,
+                location: location()
+              };
+            },
+        peg$c34 = { type: "any", description: "any character" },
+        peg$c35 = { type: "other", description: "whitespace" },
+        peg$c36 = "\t",
+        peg$c37 = { type: "literal", value: "\t", description: "\"\\t\"" },
+        peg$c38 = "\x0B",
+        peg$c39 = { type: "literal", value: "\x0B", description: "\"\\x0B\"" },
+        peg$c40 = "\f",
+        peg$c41 = { type: "literal", value: "\f", description: "\"\\f\"" },
+        peg$c42 = " ",
+        peg$c43 = { type: "literal", value: " ", description: "\" \"" },
+        peg$c44 = "\xA0",
+        peg$c45 = { type: "literal", value: "\xA0", description: "\"\\xA0\"" },
+        peg$c46 = "\uFEFF",
+        peg$c47 = { type: "literal", value: "\uFEFF", description: "\"\\uFEFF\"" },
+        peg$c48 = /^[\n\r\u2028\u2029]/,
+        peg$c49 = { type: "class", value: "[\\n\\r\\u2028\\u2029]", description: "[\\n\\r\\u2028\\u2029]" },
+        peg$c50 = { type: "other", description: "end of line" },
+        peg$c51 = "\n",
+        peg$c52 = { type: "literal", value: "\n", description: "\"\\n\"" },
+        peg$c53 = "\r\n",
+        peg$c54 = { type: "literal", value: "\r\n", description: "\"\\r\\n\"" },
+        peg$c55 = "\r",
+        peg$c56 = { type: "literal", value: "\r", description: "\"\\r\"" },
+        peg$c57 = "\u2028",
+        peg$c58 = { type: "literal", value: "\u2028", description: "\"\\u2028\"" },
+        peg$c59 = "\u2029",
+        peg$c60 = { type: "literal", value: "\u2029", description: "\"\\u2029\"" },
+        peg$c61 = { type: "other", description: "comment" },
+        peg$c62 = "/*",
+        peg$c63 = { type: "literal", value: "/*", description: "\"/*\"" },
+        peg$c64 = "*/",
+        peg$c65 = { type: "literal", value: "*/", description: "\"*/\"" },
+        peg$c66 = "//",
+        peg$c67 = { type: "literal", value: "//", description: "\"//\"" },
+        peg$c68 = function(name) { return name; },
+        peg$c69 = { type: "other", description: "identifier" },
+        peg$c70 = function(first, rest) { return first + rest.join(""); },
+        peg$c71 = "_",
+        peg$c72 = { type: "literal", value: "_", description: "\"_\"" },
+        peg$c73 = "\\",
+        peg$c74 = { type: "literal", value: "\\", description: "\"\\\\\"" },
+        peg$c75 = function(sequence) { return sequence; },
+        peg$c76 = "\u200C",
+        peg$c77 = { type: "literal", value: "\u200C", description: "\"\\u200C\"" },
+        peg$c78 = "\u200D",
+        peg$c79 = { type: "literal", value: "\u200D", description: "\"\\u200D\"" },
+        peg$c80 = { type: "other", description: "literal" },
+        peg$c81 = "i",
+        peg$c82 = { type: "literal", value: "i", description: "\"i\"" },
+        peg$c83 = function(value, ignoreCase) {
+              return {
+                type:       "literal",
+                value:      value,
+                ignoreCase: ignoreCase !== null,
+                location:   location()
+              };
+            },
+        peg$c84 = { type: "other", description: "string" },
+        peg$c85 = "\"",
+        peg$c86 = { type: "literal", value: "\"", description: "\"\\\"\"" },
+        peg$c87 = function(chars) { return chars.join(""); },
+        peg$c88 = "'",
+        peg$c89 = { type: "literal", value: "'", description: "\"'\"" },
+        peg$c90 = function() { return text(); },
+        peg$c91 = { type: "other", description: "character class" },
+        peg$c92 = "[",
+        peg$c93 = { type: "literal", value: "[", description: "\"[\"" },
+        peg$c94 = "^",
+        peg$c95 = { type: "literal", value: "^", description: "\"^\"" },
+        peg$c96 = "]",
+        peg$c97 = { type: "literal", value: "]", description: "\"]\"" },
+        peg$c98 = function(inverted, parts, ignoreCase) {
+              return {
+                type:       "class",
+                parts:      filterEmptyStrings(parts),
+                inverted:   inverted !== null,
+                ignoreCase: ignoreCase !== null,
+                rawText:    text(),
+                location:   location()
+              };
+            },
+        peg$c99 = "-",
+        peg$c100 = { type: "literal", value: "-", description: "\"-\"" },
+        peg$c101 = function(begin, end) {
+              if (begin.charCodeAt(0) > end.charCodeAt(0)) {
+                error(
+                  "Invalid character range: " + text() + "."
+                );
+              }
+
+              return [begin, end];
+            },
+        peg$c102 = function() { return ""; },
+        peg$c103 = "0",
+        peg$c104 = { type: "literal", value: "0", description: "\"0\"" },
+        peg$c105 = function() { return "\0"; },
+        peg$c106 = "b",
+        peg$c107 = { type: "literal", value: "b", description: "\"b\"" },
+        peg$c108 = function() { return "\b";   },
+        peg$c109 = "f",
+        peg$c110 = { type: "literal", value: "f", description: "\"f\"" },
+        peg$c111 = function() { return "\f";   },
+        peg$c112 = "n",
+        peg$c113 = { type: "literal", value: "n", description: "\"n\"" },
+        peg$c114 = function() { return "\n";   },
+        peg$c115 = "r",
+        peg$c116 = { type: "literal", value: "r", description: "\"r\"" },
+        peg$c117 = function() { return "\r";   },
+        peg$c118 = "t",
+        peg$c119 = { type: "literal", value: "t", description: "\"t\"" },
+        peg$c120 = function() { return "\t";   },
+        peg$c121 = "v",
+        peg$c122 = { type: "literal", value: "v", description: "\"v\"" },
+        peg$c123 = function() { return "\x0B"; },
+        peg$c124 = "x",
+        peg$c125 = { type: "literal", value: "x", description: "\"x\"" },
+        peg$c126 = "u",
+        peg$c127 = { type: "literal", value: "u", description: "\"u\"" },
+        peg$c128 = function(digits) {
+              return String.fromCharCode(parseInt(digits, 16));
+            },
+        peg$c129 = /^[0-9]/,
+        peg$c130 = { type: "class", value: "[0-9]", description: "[0-9]" },
+        peg$c131 = /^[0-9a-f]/i,
+        peg$c132 = { type: "class", value: "[0-9a-f]i", description: "[0-9a-f]i" },
+        peg$c133 = ".",
+        peg$c134 = { type: "literal", value: ".", description: "\".\"" },
+        peg$c135 = function() { return { type: "any", location: location() }; },
+        peg$c136 = { type: "other", description: "code block" },
+        peg$c137 = "{",
+        peg$c138 = { type: "literal", value: "{", description: "\"{\"" },
+        peg$c139 = "}",
+        peg$c140 = { type: "literal", value: "}", description: "\"}\"" },
+        peg$c141 = function(code) { return code; },
+        peg$c142 = /^[{}]/,
+        peg$c143 = { type: "class", value: "[{}]", description: "[{}]" },
+        peg$c144 = /^[a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137-\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148-\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C-\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA-\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9-\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC-\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF-\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F-\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF
 \u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0-\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB-\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE-\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0561-\u0587\u13F8-\u13FD\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D
 \u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6-\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FC7\u1FD0-\u1FD3\u1FD6-\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6-\u1FF7\u210A\u210E-\u210F\u2113\u212F\u2134\u2139\u213C-\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5E\u2C61\u2C65-\u2C66\u2C68\u2C6
 A\u2C6C\u2C71\u2C73-\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3-\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7B
 5\uA7B7\uA7FA\uAB30-\uAB5A\uAB60-\uAB65\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A]/,
+        peg$c145 = { type: "class", value: "[\\u0061-\\u007A\\u00B5\\u00DF-\\u00F6\\u00F8-\\u00FF\\u0101\\u0103\\u0105\\u0107\\u0109\\u010B\\u010D\\u010F\\u0111\\u0113\\u0115\\u0117\\u0119\\u011B\\u011D\\u011F\\u0121\\u0123\\u0125\\u0127\\u0129\\u012B\\u012D\\u012F\\u0131\\u0133\\u0135\\u0137-\\u0138\\u013A\\u013C\\u013E\\u0140\\u0142\\u0144\\u0146\\u0148-\\u0149\\u014B\\u014D\\u014F\\u0151\\u0153\\u0155\\u0157\\u0159\\u015B\\u015D\\u015F\\u0161\\u0163\\u0165\\u0167\\u0169\\u016B\\u016D\\u016F\\u0171\\u0173\\u0175\\u0177\\u017A\\u017C\\u017E-\\u0180\\u0183\\u0185\\u0188\\u018C-\\u018D\\u0192\\u0195\\u0199-\\u019B\\u019E\\u01A1\\u01A3\\u01A5\\u01A8\\u01AA-\\u01AB\\u01AD\\u01B0\\u01B4\\u01B6\\u01B9-\\u01BA\\u01BD-\\u01BF\\u01C6\\u01C9\\u01CC\\u01CE\\u01D0\\u01D2\\u01D4\\u01D6\\u01D8\\u01DA\\u01DC-\\u01DD\\u01DF\\u01E1\\u01E3\\u01E5\\u01E7\\u01E9\\u01EB\\u01ED\\u01EF-\\u01F0\\u01F3\\u01F5\\u01F9\\u01FB\\u01FD\\u01FF\\u0201\\u0203\\u0205\\u0207\\u0209\\u020B\\u020D\\u020F\\u0211\\u0213\
 \u0215\\u0217\\u0219\\u021B\\u021D\\u021F\\u0221\\u0223\\u0225\\u0227\\u0229\\u022B\\u022D\\u022F\\u0231\\u0233-\\u0239\\u023C\\u023F-\\u0240\\u0242\\u0247\\u0249\\u024B\\u024D\\u024F-\\u0293\\u0295-\\u02AF\\u0371\\u0373\\u0377\\u037B-\\u037D\\u0390\\u03AC-\\u03CE\\u03D0-\\u03D1\\u03D5-\\u03D7\\u03D9\\u03DB\\u03DD\\u03DF\\u03E1\\u03E3\\u03E5\\u03E7\\u03E9\\u03EB\\u03ED\\u03EF-\\u03F3\\u03F5\\u03F8\\u03FB-\\u03FC\\u0430-\\u045F\\u0461\\u0463\\u0465\\u0467\\u0469\\u046B\\u046D\\u046F\\u0471\\u0473\\u0475\\u0477\\u0479\\u047B\\u047D\\u047F\\u0481\\u048B\\u048D\\u048F\\u0491\\u0493\\u0495\\u0497\\u0499\\u049B\\u049D\\u049F\\u04A1\\u04A3\\u04A5\\u04A7\\u04A9\\u04AB\\u04AD\\u04AF\\u04B1\\u04B3\\u04B5\\u04B7\\u04B9\\u04BB\\u04BD\\u04BF\\u04C2\\u04C4\\u04C6\\u04C8\\u04CA\\u04CC\\u04CE-\\u04CF\\u04D1\\u04D3\\u04D5\\u04D7\\u04D9\\u04DB\\u04DD\\u04DF\\u04E1\\u04E3\\u04E5\\u04E7\\u04E9\\u04EB\\u04ED\\u04EF\\u04F1\\u04F3\\u04F5\\u04F7\\u04F9\\u04FB\\u04FD\\u04FF\\u0501\\u0503\\u0505\\u0507\\u050
 9\\u050B\\u050D\\u050F\\u0511\\u0513\\u0515\\u0517\\u0519\\u051B\\u051D\\u051F\\u0521\\u0523\\u0525\\u0527\\u0529\\u052B\\u052D\\u052F\\u0561-\\u0587\\u13F8-\\u13FD\\u1D00-\\u1D2B\\u1D6B-\\u1D77\\u1D79-\\u1D9A\\u1E01\\u1E03\\u1E05\\u1E07\\u1E09\\u1E0B\\u1E0D\\u1E0F\\u1E11\\u1E13\\u1E15\\u1E17\\u1E19\\u1E1B\\u1E1D\\u1E1F\\u1E21\\u1E23\\u1E25\\u1E27\\u1E29\\u1E2B\\u1E2D\\u1E2F\\u1E31\\u1E33\\u1E35\\u1E37\\u1E39\\u1E3B\\u1E3D\\u1E3F\\u1E41\\u1E43\\u1E45\\u1E47\\u1E49\\u1E4B\\u1E4D\\u1E4F\\u1E51\\u1E53\\u1E55\\u1E57\\u1E59\\u1E5B\\u1E5D\\u1E5F\\u1E61\\u1E63\\u1E65\\u1E67\\u1E69\\u1E6B\\u1E6D\\u1E6F\\u1E71\\u1E73\\u1E75\\u1E77\\u1E79\\u1E7B\\u1E7D\\u1E7F\\u1E81\\u1E83\\u1E85\\u1E87\\u1E89\\u1E8B\\u1E8D\\u1E8F\\u1E91\\u1E93\\u1E95-\\u1E9D\\u1E9F\\u1EA1\\u1EA3\\u1EA5\\u1EA7\\u1EA9\\u1EAB\\u1EAD\\u1EAF\\u1EB1\\u1EB3\\u1EB5\\u1EB7\\u1EB9\\u1EBB\\u1EBD\\u1EBF\\u1EC1\\u1EC3\\u1EC5\\u1EC7\\u1EC9\\u1ECB\\u1ECD\\u1ECF\\u1ED1\\u1ED3\\u1ED5\\u1ED7\\u1ED9\\u1EDB\\u1EDD\\u1EDF\\u1EE1\\u1EE3\\u1EE5\\u
 1EE7\\u1EE9\\u1EEB\\u1EED\\u1EEF\\u1EF1\\u1EF3\\u1EF5\\u1EF7\\u1EF9\\u1EFB\\u1EFD\\u1EFF-\\u1F07\\u1F10-\\u1F15\\u1F20-\\u1F27\\u1F30-\\u1F37\\u1F40-\\u1F45\\u1F50-\\u1F57\\u1F60-\\u1F67\\u1F70-\\u1F7D\\u1F80-\\u1F87\\u1F90-\\u1F97\\u1FA0-\\u1FA7\\u1FB0-\\u1FB4\\u1FB6-\\u1FB7\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FC7\\u1FD0-\\u1FD3\\u1FD6-\\u1FD7\\u1FE0-\\u1FE7\\u1FF2-\\u1FF4\\u1FF6-\\u1FF7\\u210A\\u210E-\\u210F\\u2113\\u212F\\u2134\\u2139\\u213C-\\u213D\\u2146-\\u2149\\u214E\\u2184\\u2C30-\\u2C5E\\u2C61\\u2C65-\\u2C66\\u2C68\\u2C6A\\u2C6C\\u2C71\\u2C73-\\u2C74\\u2C76-\\u2C7B\\u2C81\\u2C83\\u2C85\\u2C87\\u2C89\\u2C8B\\u2C8D\\u2C8F\\u2C91\\u2C93\\u2C95\\u2C97\\u2C99\\u2C9B\\u2C9D\\u2C9F\\u2CA1\\u2CA3\\u2CA5\\u2CA7\\u2CA9\\u2CAB\\u2CAD\\u2CAF\\u2CB1\\u2CB3\\u2CB5\\u2CB7\\u2CB9\\u2CBB\\u2CBD\\u2CBF\\u2CC1\\u2CC3\\u2CC5\\u2CC7\\u2CC9\\u2CCB\\u2CCD\\u2CCF\\u2CD1\\u2CD3\\u2CD5\\u2CD7\\u2CD9\\u2CDB\\u2CDD\\u2CDF\\u2CE1\\u2CE3-\\u2CE4\\u2CEC\\u2CEE\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\uA641\\uA6
 43\\uA645\\uA647\\uA649\\uA64B\\uA64D\\uA64F\\uA651\\uA653\\uA655\\uA657\\uA659\\uA65B\\uA65D\\uA65F\\uA661\\uA663\\uA665\\uA667\\uA669\\uA66B\\uA66D\\uA681\\uA683\\uA685\\uA687\\uA689\\uA68B\\uA68D\\uA68F\\uA691\\uA693\\uA695\\uA697\\uA699\\uA69B\\uA723\\uA725\\uA727\\uA729\\uA72B\\uA72D\\uA72F-\\uA731\\uA733\\uA735\\uA737\\uA739\\uA73B\\uA73D\\uA73F\\uA741\\uA743\\uA745\\uA747\\uA749\\uA74B\\uA74D\\uA74F\\uA751\\uA753\\uA755\\uA757\\uA759\\uA75B\\uA75D\\uA75F\\uA761\\uA763\\uA765\\uA767\\uA769\\uA76B\\uA76D\\uA76F\\uA771-\\uA778\\uA77A\\uA77C\\uA77F\\uA781\\uA783\\uA785\\uA787\\uA78C\\uA78E\\uA791\\uA793-\\uA795\\uA797\\uA799\\uA79B\\uA79D\\uA79F\\uA7A1\\uA7A3\\uA7A5\\uA7A7\\uA7A9\\uA7B5\\uA7B7\\uA7FA\\uAB30-\\uAB5A\\uAB60-\\uAB65\\uAB70-\\uABBF\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF41-\\uFF5A]", description: "[\\u0061-\\u007A\\u00B5\\u00DF-\\u00F6\\u00F8-\\u00FF\\u0101\\u0103\\u0105\\u0107\\u0109\\u010B\\u010D\\u010F\\u0111\\u0113\\u0115\\u0117\\u0119\\u011B\\u011D\\u011F\\u0121\\u01
 23\\u0125\\u0127\\u0129\\u012B\\u012D\\u012F\\u0131\\u0133\\u0135\\u0137-\\u0138\\u013A\\u013C\\u013E\\u0140\\u0142\\u0144\\u0146\\u0148-\\u0149\\u014B\\u014D\\u014F\\u0151\\u0153\\u0155\\u0157\\u0159\\u015B\\u015D\\u015F\\u0161\\u0163\\u0165\\u0167\\u0169\\u016B\\u016D\\u016F\\u0171\\u0173\\u0175\\u0177\\u017A\\u017C\\u017E-\\u0180\\u0183\\u0185\\u0188\\u018C-\\u018D\\u0192\\u0195\\u0199-\\u019B\\u019E\\u01A1\\u01A3\\u01A5\\u01A8\\u01AA-\\u01AB\\u01AD\\u01B0\\u01B4\\u01B6\\u01B9-\\u01BA\\u01BD-\\u01BF\\u01C6\\u01C9\\u01CC\\u01CE\\u01D0\\u01D2\\u01D4\\u01D6\\u01D8\\u01DA\\u01DC-\\u01DD\\u01DF\\u01E1\\u01E3\\u01E5\\u01E7\\u01E9\\u01EB\\u01ED\\u01EF-\\u01F0\\u01F3\\u01F5\\u01F9\\u01FB\\u01FD\\u01FF\\u0201\\u0203\\u0205\\u0207\\u0209\\u020B\\u020D\\u020F\\u0211\\u0213\\u0215\\u0217\\u0219\\u021B\\u021D\\u021F\\u0221\\u0223\\u0225\\u0227\\u0229\\u022B\\u022D\\u022F\\u0231\\u0233-\\u0239\\u023C\\u023F-\\u0240\\u0242\\u0247\\u0249\\u024B\\u024D\\u024F-\\u0293\\u0295-\\u02AF\\u0371\\u0373\
 \u0377\\u037B-\\u037D\\u0390\\u03AC-\\u03CE\\u03D0-\\u03D1\\u03D5-\\u03D7\\u03D9\\u03DB\\u03DD\\u03DF\\u03E1\\u03E3\\u03E5\\u03E7\\u03E9\\u03EB\\u03ED\\u03EF-\\u03F3\\u03F5\\u03F8\\u03FB-\\u03FC\\u0430-\\u045F\\u0461\\u0463\\u0465\\u0467\\u0469\\u046B\\u046D\\u046F\\u0471\\u0473\\u0475\\u0477\\u0479\\u047B\\u047D\\u047F\\u0481\\u048B\\u048D\\u048F\\u0491\\u0493\\u0495\\u0497\\u0499\\u049B\\u049D\\u049F\\u04A1\\u04A3\\u04A5\\u04A7\\u04A9\\u04AB\\u04AD\\u04AF\\u04B1\\u04B3\\u04B5\\u04B7\\u04B9\\u04BB\\u04BD\\u04BF\\u04C2\\u04C4\\u04C6\\u04C8\\u04CA\\u04CC\\u04CE-\\u04CF\\u04D1\\u04D3\\u04D5\\u04D7\\u04D9\\u04DB\\u04DD\\u04DF\\u04E1\\u04E3\\u04E5\\u04E7\\u04E9\\u04EB\\u04ED\\u04EF\\u04F1\\u04F3\\u04F5\\u04F7\\u04F9\\u04FB\\u04FD\\u04FF\\u0501\\u0503\\u0505\\u0507\\u0509\\u050B\\u050D\\u050F\\u0511\\u0513\\u0515\\u0517\\u0519\\u051B\\u051D\\u051F\\u0521\\u0523\\u0525\\u0527\\u0529\\u052B\\u052D\\u052F\\u0561-\\u0587\\u13F8-\\u13FD\\u1D00-\\u1D2B\\u1D6B-\\u1D77\\u1D79-\\u1D9A\\u1E01\\u1E
 03\\u1E05\\u1E07\\u1E09\\u1E0B\\u1E0D\\u1E0F\\u1E11\\u1E13\\u1E15\\u1E17\\u1E19\\u1E1B\\u1E1D\\u1E1F\\u1E21\\u1E23\\u1E25\\u1E27\\u1E29\\u1E2B\\u1E2D\\u1E2F\\u1E31\\u1E33\\u1E35\\u1E37\\u1E39\\u1E3B\\u1E3D\\u1E3F\\u1E41\\u1E43\\u1E45\\u1E47\\u1E49\\u1E4B\\u1E4D\\u1E4F\\u1E51\\u1E53\\u1E55\\u1E57\\u1E59\\u1E5B\\u1E5D\\u1E5F\\u1E61\\u1E63\\u1E65\\u1E67\\u1E69\\u1E6B\\u1E6D\\u1E6F\\u1E71\\u1E73\\u1E75\\u1E77\\u1E79\\u1E7B\\u1E7D\\u1E7F\\u1E81\\u1E83\\u1E85\\u1E87\\u1E89\\u1E8B\\u1E8D\\u1E8F\\u1E91\\u1E93\\u1E95-\\u1E9D\\u1E9F\\u1EA1\\u1EA3\\u1EA5\\u1EA7\\u1EA9\\u1EAB\\u1EAD\\u1EAF\\u1EB1\\u1EB3\\u1EB5\\u1EB7\\u1EB9\\u1EBB\\u1EBD\\u1EBF\\u1EC1\\u1EC3\\u1EC5\\u1EC7\\u1EC9\\u1ECB\\u1ECD\\u1ECF\\u1ED1\\u1ED3\\u1ED5\\u1ED7\\u1ED9\\u1EDB\\u1EDD\\u1EDF\\u1EE1\\u1EE3\\u1EE5\\u1EE7\\u1EE9\\u1EEB\\u1EED\\u1EEF\\u1EF1\\u1EF3\\u1EF5\\u1EF7\\u1EF9\\u1EFB\\u1EFD\\u1EFF-\\u1F07\\u1F10-\\u1F15\\u1F20-\\u1F27\\u1F30-\\u1F37\\u1F40-\\u1F45\\u1F50-\\u1F57\\u1F60-\\u1F67\\u1F70-\\u1F7D\\u1F80-\\u1F87\\u1F
 90-\\u1F97\\u1FA0-\\u1FA7\\u1FB0-\\u1FB4\\u1FB6-\\u1FB7\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FC7\\u1FD0-\\u1FD3\\u1FD6-\\u1FD7\\u1FE0-\\u1FE7\\u1FF2-\\u1FF4\\u1FF6-\\u1FF7\\u210A\\u210E-\\u210F\\u2113\\u212F\\u2134\\u2139\\u213C-\\u213D\\u2146-\\u2149\\u214E\\u2184\\u2C30-\\u2C5E\\u2C61\\u2C65-\\u2C66\\u2C68\\u2C6A\\u2C6C\\u2C71\\u2C73-\\u2C74\\u2C76-\\u2C7B\\u2C81\\u2C83\\u2C85\\u2C87\\u2C89\\u2C8B\\u2C8D\\u2C8F\\u2C91\\u2C93\\u2C95\\u2C97\\u2C99\\u2C9B\\u2C9D\\u2C9F\\u2CA1\\u2CA3\\u2CA5\\u2CA7\\u2CA9\\u2CAB\\u2CAD\\u2CAF\\u2CB1\\u2CB3\\u2CB5\\u2CB7\\u2CB9\\u2CBB\\u2CBD\\u2CBF\\u2CC1\\u2CC3\\u2CC5\\u2CC7\\u2CC9\\u2CCB\\u2CCD\\u2CCF\\u2CD1\\u2CD3\\u2CD5\\u2CD7\\u2CD9\\u2CDB\\u2CDD\\u2CDF\\u2CE1\\u2CE3-\\u2CE4\\u2CEC\\u2CEE\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\uA641\\uA643\\uA645\\uA647\\uA649\\uA64B\\uA64D\\uA64F\\uA651\\uA653\\uA655\\uA657\\uA659\\uA65B\\uA65D\\uA65F\\uA661\\uA663\\uA665\\uA667\\uA669\\uA66B\\uA66D\\uA681\\uA683\\uA685\\uA687\\uA689\\uA68B\\uA68D\\uA68F\\uA691\\uA693\\
 uA695\\uA697\\uA699\\uA69B\\uA723\\uA725\\uA727\\uA729\\uA72B\\uA72D\\uA72F-\\uA731\\uA733\\uA735\\uA737\\uA739\\uA73B\\uA73D\\uA73F\\uA741\\uA743\\uA745\\uA747\\uA749\\uA74B\\uA74D\\uA74F\\uA751\\uA753\\uA755\\uA757\\uA759\\uA75B\\uA75D\\uA75F\\uA761\\uA763\\uA765\\uA767\\uA769\\uA76B\\uA76D\\uA76F\\uA771-\\uA778\\uA77A\\uA77C\\uA77F\\uA781\\uA783\\uA785\\uA787\\uA78C\\uA78E\\uA791\\uA793-\\uA795\\uA797\\uA799\\uA79B\\uA79D\\uA79F\\uA7A1\\uA7A3\\uA7A5\\uA7A7\\uA7A9\\uA7B5\\uA7B7\\uA7FA\\uAB30-\\uAB5A\\uAB60-\\uAB65\\uAB70-\\uABBF\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF41-\\uFF5A]" },
+        peg$c146 = /^[\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5-\u06E6\u07F4-\u07F5\u07FA\u081A\u0824\u0828\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C-\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D-\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA69C-\uA69D\uA717-\uA71F\uA770\uA788\uA7F8-\uA7F9\uA9CF\uA9E6\uAA70\uAADD\uAAF3-\uAAF4\uAB5C-\uAB5F\uFF70\uFF9E-\uFF9F]/,
+        peg$c147 = { type: "class", value: "[\\u02B0-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0374\\u037A\\u0559\\u0640\\u06E5-\\u06E6\\u07F4-\\u07F5\\u07FA\\u081A\\u0824\\u0828\\u0971\\u0E46\\u0EC6\\u10FC\\u17D7\\u1843\\u1AA7\\u1C78-\\u1C7D\\u1D2C-\\u1D6A\\u1D78\\u1D9B-\\u1DBF\\u2071\\u207F\\u2090-\\u209C\\u2C7C-\\u2C7D\\u2D6F\\u2E2F\\u3005\\u3031-\\u3035\\u303B\\u309D-\\u309E\\u30FC-\\u30FE\\uA015\\uA4F8-\\uA4FD\\uA60C\\uA67F\\uA69C-\\uA69D\\uA717-\\uA71F\\uA770\\uA788\\uA7F8-\\uA7F9\\uA9CF\\uA9E6\\uAA70\\uAADD\\uAAF3-\\uAAF4\\uAB5C-\\uAB5F\\uFF70\\uFF9E-\\uFF9F]", description: "[\\u02B0-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0374\\u037A\\u0559\\u0640\\u06E5-\\u06E6\\u07F4-\\u07F5\\u07FA\\u081A\\u0824\\u0828\\u0971\\u0E46\\u0EC6\\u10FC\\u17D7\\u1843\\u1AA7\\u1C78-\\u1C7D\\u1D2C-\\u1D6A\\u1D78\\u1D9B-\\u1DBF\\u2071\\u207F\\u2090-\\u209C\\u2C7C-\\u2C7D\\u2D6F\\u2E2F\\u3005\\u3031-\\u3035\\u303B\\u309D-\\u309E\\u30FC-\\u30FE\\uA015\\uA4F8-\\uA4FD\\uA60C\\u
 A67F\\uA69C-\\uA69D\\uA717-\\uA71F\\uA770\\uA788\\uA7F8-\\uA7F9\\uA9CF\\uA9E6\\uAA70\\uAADD\\uAAF3-\\uAAF4\\uAB5C-\\uAB5F\\uFF70\\uFF9E-\\uFF9F]" },
+        peg$c148 = /^[\xAA\xBA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05F0-\u05F2\u0620-\u063F\u0641-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C85-\u
 0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E45\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10D0-\u10FA\u10FD-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1877\u1880-\u18A8\
 u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A-\uA62B\uA66E\uA6A0-\uA6E5\uA78F\uA7F7\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9E0-\uA9E4\uA9E7-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB
 06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,
+        peg$c149 = { type: "class", value: "[\\u00AA\\u00BA\\u01BB\\u01C0-\\u01C3\\u0294\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u063F\\u0641-\\u064A\\u066E-\\u066F\\u0671-\\u06D3\\u06D5\\u06EE-\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u0800-\\u0815\\u0840-\\u0858\\u08A0-\\u08B4\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0972-\\u0980\\u0985-\\u098C\\u098F-\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC-\\u09DD\\u09DF-\\u09E1\\u09F0-\\u09F1\\u0A05-\\u0A0A\\u0A0F-\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32-\\u0A33\\u0A35-\\u0A36\\u0A38-\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2-\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0-\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F-\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32-\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C-\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99-\\u0B9A\\
 u0B9C\\u0B9E-\\u0B9F\\u0BA3-\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60-\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0-\\u0CE1\\u0CF1-\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32-\\u0E33\\u0E40-\\u0E45\\u0E81-\\u0E82\\u0E84\\u0E87-\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA-\\u0EAB\\u0EAD-\\u0EB0\\u0EB2-\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065-\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10D0-\\u10FA\\u10FD-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u
 12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17DC\\u1820-\\u1842\\u1844-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE-\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C77\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5-\\u1CF6\\u2135-\\u2138\\u2D30-\\u2D67\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3006\\u303C\\u3041-\\u3096\\u309F\\u30A1-\\u30FA\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA014\\uA016-\\uA48C\\uA4D0-\\uA4F7\\uA500-\\uA60
 B\\uA610-\\uA61F\\uA62A-\\uA62B\\uA66E\\uA6A0-\\uA6E5\\uA78F\\uA7F7\\uA7FB-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9E0-\\uA9E4\\uA9E7-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA6F\\uAA71-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5-\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADC\\uAAE0-\\uAAEA\\uAAF2\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40-\\uFB41\\uFB43-\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF66-\\uFF6F\\uFF71-\\uFF9D\\uFFA0-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]", description: "[\\u00AA\\u00BA\\u01BB\\u01C0-\\u01C3\\
 u0294\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u063F\\u0641-\\u064A\\u066E-\\u066F\\u0671-\\u06D3\\u06D5\\u06EE-\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u0800-\\u0815\\u0840-\\u0858\\u08A0-\\u08B4\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0972-\\u0980\\u0985-\\u098C\\u098F-\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC-\\u09DD\\u09DF-\\u09E1\\u09F0-\\u09F1\\u0A05-\\u0A0A\\u0A0F-\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32-\\u0A33\\u0A35-\\u0A36\\u0A38-\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2-\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0-\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F-\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32-\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C-\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99-\\u0B9A\\u0B9C\\u0B9E-\\u0B9F\\u0BA3-\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u
 0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60-\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0-\\u0CE1\\u0CF1-\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32-\\u0E33\\u0E40-\\u0E45\\u0E81-\\u0E82\\u0E84\\u0E87-\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA-\\u0EAB\\u0EAD-\\u0EB0\\u0EB2-\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065-\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10D0-\\u10FA\\u10FD-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u1
 35A\\u1380-\\u138F\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17DC\\u1820-\\u1842\\u1844-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE-\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C77\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5-\\u1CF6\\u2135-\\u2138\\u2D30-\\u2D67\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3006\\u303C\\u3041-\\u3096\\u309F\\u30A1-\\u30FA\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA014\\uA016-\\uA48C\\uA4D0-\\uA4F7\\uA500-\\uA60B\\uA610-\\uA61F\\uA62A-\\uA62B\\uA66E\\uA6A0-\\uA6E5\\uA78F\\uA7F7\\uA7FB-\\uA801\
 \uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9E0-\\uA9E4\\uA9E7-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA6F\\uAA71-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5-\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADC\\uAAE0-\\uAAEA\\uAAF2\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40-\\uFB41\\uFB43-\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF66-\\uFF6F\\uFF71-\\uFF9D\\uFFA0-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]" },
+        peg$c150 = /^[\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC]/,
+        peg$c151 = { type: "class", value: "[\\u01C5\\u01C8\\u01CB\\u01F2\\u1F88-\\u1F8F\\u1F98-\\u1F9F\\u1FA8-\\u1FAF\\u1FBC\\u1FCC\\u1FFC]", description: "[\\u01C5\\u01C8\\u01CB\\u01F2\\u1F88-\\u1F8F\\u1F98-\\u1F9F\\u1FA8-\\u1FAF\\u1FBC\\u1FCC\\u1FFC]" },
+        peg$c152 = /^[A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178-\u0179\u017B\u017D\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018B\u018E-\u0191\u0193-\u0194\u0196-\u0198\u019C-\u019D\u019F-\u01A0\u01A2\u01A4\u01A6-\u01A7\u01A9\u01AC\u01AE-\u01AF\u01B1-\u01B3\u01B5\u01B7-\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A-\u023B\u023D-\u023E\u0241\u0243-\u0246\u0248\u024A\
 u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E-\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9-\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0-\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1
 E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E-\u213F\u2145\u2183\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u
 2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D-\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AD\uA7B0-\uA7B4\uA7B6\uFF21-\uFF3A]/,
+        peg$c153 = { type: "class", value: "[\\u0041-\\u005A\\u00C0-\\u00D6\\u00D8-\\u00DE\\u0100\\u0102\\u0104\\u0106\\u0108\\u010A\\u010C\\u010E\\u0110\\u0112\\u0114\\u0116\\u0118\\u011A\\u011C\\u011E\\u0120\\u0122\\u0124\\u0126\\u0128\\u012A\\u012C\\u012E\\u0130\\u0132\\u0134\\u0136\\u0139\\u013B\\u013D\\u013F\\u0141\\u0143\\u0145\\u0147\\u014A\\u014C\\u014E\\u0150\\u0152\\u0154\\u0156\\u0158\\u015A\\u015C\\u015E\\u0160\\u0162\\u0164\\u0166\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172\\u0174\\u0176\\u0178-\\u0179\\u017B\\u017D\\u0181-\\u0182\\u0184\\u0186-\\u0187\\u0189-\\u018B\\u018E-\\u0191\\u0193-\\u0194\\u0196-\\u0198\\u019C-\\u019D\\u019F-\\u01A0\\u01A2\\u01A4\\u01A6-\\u01A7\\u01A9\\u01AC\\u01AE-\\u01AF\\u01B1-\\u01B3\\u01B5\\u01B7-\\u01B8\\u01BC\\u01C4\\u01C7\\u01CA\\u01CD\\u01CF\\u01D1\\u01D3\\u01D5\\u01D7\\u01D9\\u01DB\\u01DE\\u01E0\\u01E2\\u01E4\\u01E6\\u01E8\\u01EA\\u01EC\\u01EE\\u01F1\\u01F4\\u01F6-\\u01F8\\u01FA\\u01FC\\u01FE\\u0200\\u0202\\u0204\\u0206\\u0208\\u020A\\u0
 20C\\u020E\\u0210\\u0212\\u0214\\u0216\\u0218\\u021A\\u021C\\u021E\\u0220\\u0222\\u0224\\u0226\\u0228\\u022A\\u022C\\u022E\\u0230\\u0232\\u023A-\\u023B\\u023D-\\u023E\\u0241\\u0243-\\u0246\\u0248\\u024A\\u024C\\u024E\\u0370\\u0372\\u0376\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u038F\\u0391-\\u03A1\\u03A3-\\u03AB\\u03CF\\u03D2-\\u03D4\\u03D8\\u03DA\\u03DC\\u03DE\\u03E0\\u03E2\\u03E4\\u03E6\\u03E8\\u03EA\\u03EC\\u03EE\\u03F4\\u03F7\\u03F9-\\u03FA\\u03FD-\\u042F\\u0460\\u0462\\u0464\\u0466\\u0468\\u046A\\u046C\\u046E\\u0470\\u0472\\u0474\\u0476\\u0478\\u047A\\u047C\\u047E\\u0480\\u048A\\u048C\\u048E\\u0490\\u0492\\u0494\\u0496\\u0498\\u049A\\u049C\\u049E\\u04A0\\u04A2\\u04A4\\u04A6\\u04A8\\u04AA\\u04AC\\u04AE\\u04B0\\u04B2\\u04B4\\u04B6\\u04B8\\u04BA\\u04BC\\u04BE\\u04C0-\\u04C1\\u04C3\\u04C5\\u04C7\\u04C9\\u04CB\\u04CD\\u04D0\\u04D2\\u04D4\\u04D6\\u04D8\\u04DA\\u04DC\\u04DE\\u04E0\\u04E2\\u04E4\\u04E6\\u04E8\\u04EA\\u04EC\\u04EE\\u04F0\\u04F2\\u04F4\\u04F6\\u04F8\\u04FA\\u04FC\\u
 04FE\\u0500\\u0502\\u0504\\u0506\\u0508\\u050A\\u050C\\u050E\\u0510\\u0512\\u0514\\u0516\\u0518\\u051A\\u051C\\u051E\\u0520\\u0522\\u0524\\u0526\\u0528\\u052A\\u052C\\u052E\\u0531-\\u0556\\u10A0-\\u10C5\\u10C7\\u10CD\\u13A0-\\u13F5\\u1E00\\u1E02\\u1E04\\u1E06\\u1E08\\u1E0A\\u1E0C\\u1E0E\\u1E10\\u1E12\\u1E14\\u1E16\\u1E18\\u1E1A\\u1E1C\\u1E1E\\u1E20\\u1E22\\u1E24\\u1E26\\u1E28\\u1E2A\\u1E2C\\u1E2E\\u1E30\\u1E32\\u1E34\\u1E36\\u1E38\\u1E3A\\u1E3C\\u1E3E\\u1E40\\u1E42\\u1E44\\u1E46\\u1E48\\u1E4A\\u1E4C\\u1E4E\\u1E50\\u1E52\\u1E54\\u1E56\\u1E58\\u1E5A\\u1E5C\\u1E5E\\u1E60\\u1E62\\u1E64\\u1E66\\u1E68\\u1E6A\\u1E6C\\u1E6E\\u1E70\\u1E72\\u1E74\\u1E76\\u1E78\\u1E7A\\u1E7C\\u1E7E\\u1E80\\u1E82\\u1E84\\u1E86\\u1E88\\u1E8A\\u1E8C\\u1E8E\\u1E90\\u1E92\\u1E94\\u1E9E\\u1EA0\\u1EA2\\u1EA4\\u1EA6\\u1EA8\\u1EAA\\u1EAC\\u1EAE\\u1EB0\\u1EB2\\u1EB4\\u1EB6\\u1EB8\\u1EBA\\u1EBC\\u1EBE\\u1EC0\\u1EC2\\u1EC4\\u1EC6\\u1EC8\\u1ECA\\u1ECC\\u1ECE\\u1ED0\\u1ED2\\u1ED4\\u1ED6\\u1ED8\\u1EDA\\u1EDC\\u1EDE\\u1EE0\\u
 1EE2\\u1EE4\\u1EE6\\u1EE8\\u1EEA\\u1EEC\\u1EEE\\u1EF0\\u1EF2\\u1EF4\\u1EF6\\u1EF8\\u1EFA\\u1EFC\\u1EFE\\u1F08-\\u1F0F\\u1F18-\\u1F1D\\u1F28-\\u1F2F\\u1F38-\\u1F3F\\u1F48-\\u1F4D\\u1F59\\u1F5B\\u1F5D\\u1F5F\\u1F68-\\u1F6F\\u1FB8-\\u1FBB\\u1FC8-\\u1FCB\\u1FD8-\\u1FDB\\u1FE8-\\u1FEC\\u1FF8-\\u1FFB\\u2102\\u2107\\u210B-\\u210D\\u2110-\\u2112\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u2130-\\u2133\\u213E-\\u213F\\u2145\\u2183\\u2C00-\\u2C2E\\u2C60\\u2C62-\\u2C64\\u2C67\\u2C69\\u2C6B\\u2C6D-\\u2C70\\u2C72\\u2C75\\u2C7E-\\u2C80\\u2C82\\u2C84\\u2C86\\u2C88\\u2C8A\\u2C8C\\u2C8E\\u2C90\\u2C92\\u2C94\\u2C96\\u2C98\\u2C9A\\u2C9C\\u2C9E\\u2CA0\\u2CA2\\u2CA4\\u2CA6\\u2CA8\\u2CAA\\u2CAC\\u2CAE\\u2CB0\\u2CB2\\u2CB4\\u2CB6\\u2CB8\\u2CBA\\u2CBC\\u2CBE\\u2CC0\\u2CC2\\u2CC4\\u2CC6\\u2CC8\\u2CCA\\u2CCC\\u2CCE\\u2CD0\\u2CD2\\u2CD4\\u2CD6\\u2CD8\\u2CDA\\u2CDC\\u2CDE\\u2CE0\\u2CE2\\u2CEB\\u2CED\\u2CF2\\uA640\\uA642\\uA644\\uA646\\uA648\\uA64A\\uA64C\\uA64E\\uA650\\uA652\\uA654\\uA656\\uA65
 8\\uA65A\\uA65C\\uA65E\\uA660\\uA662\\uA664\\uA666\\uA668\\uA66A\\uA66C\\uA680\\uA682\\uA684\\uA686\\uA688\\uA68A\\uA68C\\uA68E\\uA690\\uA692\\uA694\\uA696\\uA698\\uA69A\\uA722\\uA724\\uA726\\uA728\\uA72A\\uA72C\\uA72E\\uA732\\uA734\\uA736\\uA738\\uA73A\\uA73C\\uA73E\\uA740\\uA742\\uA744\\uA746\\uA748\\uA74A\\uA74C\\uA74E\\uA750\\uA752\\uA754\\uA756\\uA758\\uA75A\\uA75C\\uA75E\\uA760\\uA762\\uA764\\uA766\\uA768\\uA76A\\uA76C\\uA76E\\uA779\\uA77B\\uA77D-\\uA77E\\uA780\\uA782\\uA784\\uA786\\uA78B\\uA78D\\uA790\\uA792\\uA796\\uA798\\uA79A\\uA79C\\uA79E\\uA7A0\\uA7A2\\uA7A4\\uA7A6\\uA7A8\\uA7AA-\\uA7AD\\uA7B0-\\uA7B4\\uA7B6\\uFF21-\\uFF3A]", description: "[\\u0041-\\u005A\\u00C0-\\u00D6\\u00D8-\\u00DE\\u0100\\u0102\\u0104\\u0106\\u0108\\u010A\\u010C\\u010E\\u0110\\u0112\\u0114\\u0116\\u0118\\u011A\\u011C\\u011E\\u0120\\u0122\\u0124\\u0126\\u0128\\u012A\\u012C\\u012E\\u0130\\u0132\\u0134\\u0136\\u0139\\u013B\\u013D\\u013F\\u0141\\u0143\\u0145\\u0147\\u014A\\u014C\\u014E\\u0150\\u0152\\u0
 154\\u0156\\u0158\\u015A\\u015C\\u015E\\u0160\\u0162\\u0164\\u0166\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172\\u0174\\u0176\\u0178-\\u0179\\u017B\\u017D\\u0181-\\u0182\\u0184\\u0186-\\u0187\\u0189-\\u018B\\u018E-\\u0191\\u0193-\\u0194\\u0196-\\u0198\\u019C-\\u019D\\u019F-\\u01A0\\u01A2\\u01A4\\u01A6-\\u01A7\\u01A9\\u01AC\\u01AE-\\u01AF\\u01B1-\\u01B3\\u01B5\\u01B7-\\u01B8\\u01BC\\u01C4\\u01C7\\u01CA\\u01CD\\u01CF\\u01D1\\u01D3\\u01D5\\u01D7\\u01D9\\u01DB\\u01DE\\u01E0\\u01E2\\u01E4\\u01E6\\u01E8\\u01EA\\u01EC\\u01EE\\u01F1\\u01F4\\u01F6-\\u01F8\\u01FA\\u01FC\\u01FE\\u0200\\u0202\\u0204\\u0206\\u0208\\u020A\\u020C\\u020E\\u0210\\u0212\\u0214\\u0216\\u0218\\u021A\\u021C\\u021E\\u0220\\u0222\\u0224\\u0226\\u0228\\u022A\\u022C\\u022E\\u0230\\u0232\\u023A-\\u023B\\u023D-\\u023E\\u0241\\u0243-\\u0246\\u0248\\u024A\\u024C\\u024E\\u0370\\u0372\\u0376\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u038F\\u0391-\\u03A1\\u03A3-\\u03AB\\u03CF\\u03D2-\\u03D4\\u03D8\\u03DA\\u03DC\\u03DE\\u03E0\\u03E
 2\\u03E4\\u03E6\\u03E8\\u03EA\\u03EC\\u03EE\\u03F4\\u03F7\\u03F9-\\u03FA\\u03FD-\\u042F\\u0460\\u0462\\u0464\\u0466\\u0468\\u046A\\u046C\\u046E\\u0470\\u0472\\u0474\\u0476\\u0478\\u047A\\u047C\\u047E\\u0480\\u048A\\u048C\\u048E\\u0490\\u0492\\u0494\\u0496\\u0498\\u049A\\u049C\\u049E\\u04A0\\u04A2\\u04A4\\u04A6\\u04A8\\u04AA\\u04AC\\u04AE\\u04B0\\u04B2\\u04B4\\u04B6\\u04B8\\u04BA\\u04BC\\u04BE\\u04C0-\\u04C1\\u04C3\\u04C5\\u04C7\\u04C9\\u04CB\\u04CD\\u04D0\\u04D2\\u04D4\\u04D6\\u04D8\\u04DA\\u04DC\\u04DE\\u04E0\\u04E2\\u04E4\\u04E6\\u04E8\\u04EA\\u04EC\\u04EE\\u04F0\\u04F2\\u04F4\\u04F6\\u04F8\\u04FA\\u04FC\\u04FE\\u0500\\u0502\\u0504\\u0506\\u0508\\u050A\\u050C\\u050E\\u0510\\u0512\\u0514\\u0516\\u0518\\u051A\\u051C\\u051E\\u0520\\u0522\\u0524\\u0526\\u0528\\u052A\\u052C\\u052E\\u0531-\\u0556\\u10A0-\\u10C5\\u10C7\\u10CD\\u13A0-\\u13F5\\u1E00\\u1E02\\u1E04\\u1E06\\u1E08\\u1E0A\\u1E0C\\u1E0E\\u1E10\\u1E12\\u1E14\\u1E16\\u1E18\\u1E1A\\u1E1C\\u1E1E\\u1E20\\u1E22\\u1E24\\u1E26\\u1E28\\u
 1E2A\\u1E2C\\u1E2E\\u1E30\\u1E32\\u1E34\\u1E36\\u1E38\\u1E3A\\u1E3C\\u1E3E\\u1E40\\u1E42\\u1E44\\u1E46\\u1E48\\u1E4A\\u1E4C\\u1E4E\\u1E50\\u1E52\\u1E54\\u1E56\\u1E58\\u1E5A\\u1E5C\\u1E5E\\u1E60\\u1E62\\u1E64\\u1E66\\u1E68\\u1E6A\\u1E6C\\u1E6E\\u1E70\\u1E72\\u1E74\\u1E76\\u1E78\\u1E7A\\u1E7C\\u1E7E\\u1E80\\u1E82\\u1E84\\u1E86\\u1E88\\u1E8A\\u1E8C\\u1E8E\\u1E90\\u1E92\\u1E94\\u1E9E\\u1EA0\\u1EA2\\u1EA4\\u1EA6\\u1EA8\\u1EAA\\u1EAC\\u1EAE\\u1EB0\\u1EB2\\u1EB4\\u1EB6\\u1EB8\\u1EBA\\u1EBC\\u1EBE\\u1EC0\\u1EC2\\u1EC4\\u1EC6\\u1EC8\\u1ECA\\u1ECC\\u1ECE\\u1ED0\\u1ED2\\u1ED4\\u1ED6\\u1ED8\\u1EDA\\u1EDC\\u1EDE\\u1EE0\\u1EE2\\u1EE4\\u1EE6\\u1EE8\\u1EEA\\u1EEC\\u1EEE\\u1EF0\\u1EF2\\u1EF4\\u1EF6\\u1EF8\\u1EFA\\u1EFC\\u1EFE\\u1F08-\\u1F0F\\u1F18-\\u1F1D\\u1F28-\\u1F2F\\u1F38-\\u1F3F\\u1F48-\\u1F4D\\u1F59\\u1F5B\\u1F5D\\u1F5F\\u1F68-\\u1F6F\\u1FB8-\\u1FBB\\u1FC8-\\u1FCB\\u1FD8-\\u1FDB\\u1FE8-\\u1FEC\\u1FF8-\\u1FFB\\u2102\\u2107\\u210B-\\u210D\\u2110-\\u2112\\u2115\\u2119-\\u211D\\u2124\\u2126\\u212
 8\\u212A-\\u212D\\u2130-\\u2133\\u213E-\\u213F\\u2145\\u2183\\u2C00-\\u2C2E\\u2C60\\u2C62-\\u2C64\\u2C67\\u2C69\\u2C6B\\u2C6D-\\u2C70\\u2C72\\u2C75\\u2C7E-\\u2C80\\u2C82\\u2C84\\u2C86\\u2C88\\u2C8A\\u2C8C\\u2C8E\\u2C90\\u2C92\\u2C94\\u2C96\\u2C98\\u2C9A\\u2C9C\\u2C9E\\u2CA0\\u2CA2\\u2CA4\\u2CA6\\u2CA8\\u2CAA\\u2CAC\\u2CAE\\u2CB0\\u2CB2\\u2CB4\\u2CB6\\u2CB8\\u2CBA\\u2CBC\\u2CBE\\u2CC0\\u2CC2\\u2CC4\\u2CC6\\u2CC8\\u2CCA\\u2CCC\\u2CCE\\u2CD0\\u2CD2\\u2CD4\\u2CD6\\u2CD8\\u2CDA\\u2CDC\\u2CDE\\u2CE0\\u2CE2\\u2CEB\\u2CED\\u2CF2\\uA640\\uA642\\uA644\\uA646\\uA648\\uA64A\\uA64C\\uA64E\\uA650\\uA652\\uA654\\uA656\\uA658\\uA65A\\uA65C\\uA65E\\uA660\\uA662\\uA664\\uA666\\uA668\\uA66A\\uA66C\\uA680\\uA682\\uA684\\uA686\\uA688\\uA68A\\uA68C\\uA68E\\uA690\\uA692\\uA694\\uA696\\uA698\\uA69A\\uA722\\uA724\\uA726\\uA728\\uA72A\\uA72C\\uA72E\\uA732\\uA734\\uA736\\uA738\\uA73A\\uA73C\\uA73E\\uA740\\uA742\\uA744\\uA746\\uA748\\uA74A\\uA74C\\uA74E\\uA750\\uA752\\uA754\\uA756\\uA758\\uA75A\\uA75C\\uA75E\\
 uA760\\uA762\\uA764\\uA766\\uA768\\uA76A\\uA76C\\uA76E\\uA779\\uA77B\\uA77D-\\uA77E\\uA780\\uA782\\uA784\\uA786\\uA78B\\uA78D\\uA790\\uA792\\uA796\\uA798\\uA79A\\uA79C\\uA79E\\uA7A0\\uA7A2\\uA7A4\\uA7A6\\uA7A8\\uA7AA-\\uA7AD\\uA7B0-\\uA7B4\\uA7B6\\uFF21-\\uFF3A]" },
+        peg$c154 = /^[\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E-\u094F\u0982-\u0983\u09BE-\u09C0\u09C7-\u09C8\u09CB-\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB-\u0ACC\u0B02-\u0B03\u0B3E\u0B40\u0B47-\u0B48\u0B4B-\u0B4C\u0B57\u0BBE-\u0BBF\u0BC1-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03\u0C41-\u0C44\u0C82-\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7-\u0CC8\u0CCA-\u0CCB\u0CD5-\u0CD6\u0D02-\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57\u0D82-\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2-\u0DF3\u0F3E-\u0F3F\u0F7F\u102B-\u102C\u1031\u1038\u103B-\u103C\u1056-\u1057\u1062-\u1064\u1067-\u106D\u1083-\u1084\u1087-\u108C\u108F\u109A-\u109C\u17B6\u17BE-\u17C5\u17C7-\u17C8\u1923-\u1926\u1929-\u192B\u1930-\u1931\u1933-\u1938\u1A19-\u1A1A\u1A55\u1A57\u1A61\u1A63-\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43-\u1B44\u1B82\u1BA1\u1BA6-\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2-\u1BF3\u1C24-\u1C2B\u1C34-\u1C35\u1CE1\u1CF2-\u1CF3\u302E-\u302F\uA823-\uA824\uA827\uA880-\uA881\u
 A8B4-\uA8C3\uA952-\uA953\uA983\uA9B4-\uA9B5\uA9BA-\uA9BB\uA9BD-\uA9C0\uAA2F-\uAA30\uAA33-\uAA34\uAA4D\uAA7B\uAA7D\uAAEB\uAAEE-\uAAEF\uAAF5\uABE3-\uABE4\uABE6-\uABE7\uABE9-\uABEA\uABEC]/,
+        peg$c155 = { type: "class", value: "[\\u0903\\u093B\\u093E-\\u0940\\u0949-\\u094C\\u094E-\\u094F\\u0982-\\u0983\\u09BE-\\u09C0\\u09C7-\\u09C8\\u09CB-\\u09CC\\u09D7\\u0A03\\u0A3E-\\u0A40\\u0A83\\u0ABE-\\u0AC0\\u0AC9\\u0ACB-\\u0ACC\\u0B02-\\u0B03\\u0B3E\\u0B40\\u0B47-\\u0B48\\u0B4B-\\u0B4C\\u0B57\\u0BBE-\\u0BBF\\u0BC1-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCC\\u0BD7\\u0C01-\\u0C03\\u0C41-\\u0C44\\u0C82-\\u0C83\\u0CBE\\u0CC0-\\u0CC4\\u0CC7-\\u0CC8\\u0CCA-\\u0CCB\\u0CD5-\\u0CD6\\u0D02-\\u0D03\\u0D3E-\\u0D40\\u0D46-\\u0D48\\u0D4A-\\u0D4C\\u0D57\\u0D82-\\u0D83\\u0DCF-\\u0DD1\\u0DD8-\\u0DDF\\u0DF2-\\u0DF3\\u0F3E-\\u0F3F\\u0F7F\\u102B-\\u102C\\u1031\\u1038\\u103B-\\u103C\\u1056-\\u1057\\u1062-\\u1064\\u1067-\\u106D\\u1083-\\u1084\\u1087-\\u108C\\u108F\\u109A-\\u109C\\u17B6\\u17BE-\\u17C5\\u17C7-\\u17C8\\u1923-\\u1926\\u1929-\\u192B\\u1930-\\u1931\\u1933-\\u1938\\u1A19-\\u1A1A\\u1A55\\u1A57\\u1A61\\u1A63-\\u1A64\\u1A6D-\\u1A72\\u1B04\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43-\\u1B44\\u1B82\\u1
 BA1\\u1BA6-\\u1BA7\\u1BAA\\u1BE7\\u1BEA-\\u1BEC\\u1BEE\\u1BF2-\\u1BF3\\u1C24-\\u1C2B\\u1C34-\\u1C35\\u1CE1\\u1CF2-\\u1CF3\\u302E-\\u302F\\uA823-\\uA824\\uA827\\uA880-\\uA881\\uA8B4-\\uA8C3\\uA952-\\uA953\\uA983\\uA9B4-\\uA9B5\\uA9BA-\\uA9BB\\uA9BD-\\uA9C0\\uAA2F-\\uAA30\\uAA33-\\uAA34\\uAA4D\\uAA7B\\uAA7D\\uAAEB\\uAAEE-\\uAAEF\\uAAF5\\uABE3-\\uABE4\\uABE6-\\uABE7\\uABE9-\\uABEA\\uABEC]", description: "[\\u0903\\u093B\\u093E-\\u0940\\u0949-\\u094C\\u094E-\\u094F\\u0982-\\u0983\\u09BE-\\u09C0\\u09C7-\\u09C8\\u09CB-\\u09CC\\u09D7\\u0A03\\u0A3E-\\u0A40\\u0A83\\u0ABE-\\u0AC0\\u0AC9\\u0ACB-\\u0ACC\\u0B02-\\u0B03\\u0B3E\\u0B40\\u0B47-\\u0B48\\u0B4B-\\u0B4C\\u0B57\\u0BBE-\\u0BBF\\u0BC1-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCC\\u0BD7\\u0C01-\\u0C03\\u0C41-\\u0C44\\u0C82-\\u0C83\\u0CBE\\u0CC0-\\u0CC4\\u0CC7-\\u0CC8\\u0CCA-\\u0CCB\\u0CD5-\\u0CD6\\u0D02-\\u0D03\\u0D3E-\\u0D40\\u0D46-\\u0D48\\u0D4A-\\u0D4C\\u0D57\\u0D82-\\u0D83\\u0DCF-\\u0DD1\\u0DD8-\\u0DDF\\u0DF2-\\u0DF3\\u0F3E-\\u0F3F\\u0F7F\\u10
 2B-\\u102C\\u1031\\u1038\\u103B-\\u103C\\u1056-\\u1057\\u1062-\\u1064\\u1067-\\u106D\\u1083-\\u1084\\u1087-\\u108C\\u108F\\u109A-\\u109C\\u17B6\\u17BE-\\u17C5\\u17C7-\\u17C8\\u1923-\\u1926\\u1929-\\u192B\\u1930-\\u1931\\u1933-\\u1938\\u1A19-\\u1A1A\\u1A55\\u1A57\\u1A61\\u1A63-\\u1A64\\u1A6D-\\u1A72\\u1B04\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43-\\u1B44\\u1B82\\u1BA1\\u1BA6-\\u1BA7\\u1BAA\\u1BE7\\u1BEA-\\u1BEC\\u1BEE\\u1BF2-\\u1BF3\\u1C24-\\u1C2B\\u1C34-\\u1C35\\u1CE1\\u1CF2-\\u1CF3\\u302E-\\u302F\\uA823-\\uA824\\uA827\\uA880-\\uA881\\uA8B4-\\uA8C3\\uA952-\\uA953\\uA983\\uA9B4-\\uA9B5\\uA9BA-\\uA9BB\\uA9BD-\\uA9C0\\uAA2F-\\uAA30\\uAA33-\\uAA34\\uAA4D\\uAA7B\\uAA7D\\uAAEB\\uAAEE-\\uAAEF\\uAAF5\\uABE3-\\uABE4\\uABE6-\\uABE7\\uABE9-\\uABEA\\uABEC]" },
+        peg$c156 = /^[\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962-\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2-\u09E3\u0A01-\u0A02\u0A3C\u0A41-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A70-\u0A71\u0A75\u0A81-\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7-\u0AC8\u0ACD\u0AE2-\u0AE3\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B56\u0B62-\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC-\u0CCD\u0CE2-\u0CE3\u0D01\u0D41-\u0D44\u0D4D\u0D62-\u0D63\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0F18-\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D
 -\u1030\u1032-\u1037\u1039-\u103A\u103D-\u103E\u1058-\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085-\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u1922\u1927-\u1928\u1932\u1939-\u193B\u1A17-\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ABD\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80-\u1B81\u1BA2-\u1BA5\u1BA8-\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8-\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099-\u309A\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA825-\uA826\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9E5\uAA29-\uAA2E\uAA31-\uAA32\uAA35-\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB
 8\uAABE-\uAABF\uAAC1\uAAEC-\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/,
+        peg$c157 = { type: "class", value: "[\\u0300-\\u036F\\u0483-\\u0487\\u0591-\\u05BD\\u05BF\\u05C1-\\u05C2\\u05C4-\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7-\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08E3-\\u0902\\u093A\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0957\\u0962-\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2-\\u09E3\\u0A01-\\u0A02\\u0A3C\\u0A41-\\u0A42\\u0A47-\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70-\\u0A71\\u0A75\\u0A81-\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7-\\u0AC8\\u0ACD\\u0AE2-\\u0AE3\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B56\\u0B62-\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C00\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55-\\u0C56\\u0C62-\\u0C63\\u0C81\\u0CBC\\u0CBF\\u0CC6\\u0CCC-\\u0CCD\\u0CE2-\\u0CE3\\u0D01\\u0D41-\\u0D44\\u0D4D\\u0D62-\\u0D63\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\
 \u0EB1\\u0EB4-\\u0EB9\\u0EBB-\\u0EBC\\u0EC8-\\u0ECD\\u0F18-\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86-\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039-\\u103A\\u103D-\\u103E\\u1058-\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085-\\u1086\\u108D\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752-\\u1753\\u1772-\\u1773\\u17B4-\\u17B5\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u1922\\u1927-\\u1928\\u1932\\u1939-\\u193B\\u1A17-\\u1A18\\u1A1B\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1AB0-\\u1ABD\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80-\\u1B81\\u1BA2-\\u1BA5\\u1BA8-\\u1BA9\\u1BAB-\\u1BAD\\u1BE6\\u1BE8-\\u1BE9\\u1BED\\u1BEF-\\u1BF1\\u1C2C-\\u1C33\\u1C36-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1CF4\\u1CF8-\\u1CF9\\u1DC0-\\u1DF5\\u1DFC-\\u1DFF\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE
 0-\\u2DFF\\u302A-\\u302D\\u3099-\\u309A\\uA66F\\uA674-\\uA67D\\uA69E-\\uA69F\\uA6F0-\\uA6F1\\uA802\\uA806\\uA80B\\uA825-\\uA826\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uA9E5\\uAA29-\\uAA2E\\uAA31-\\uAA32\\uAA35-\\uAA36\\uAA43\\uAA4C\\uAA7C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7-\\uAAB8\\uAABE-\\uAABF\\uAAC1\\uAAEC-\\uAAED\\uAAF6\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F]", description: "[\\u0300-\\u036F\\u0483-\\u0487\\u0591-\\u05BD\\u05BF\\u05C1-\\u05C2\\u05C4-\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7-\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08E3-\\u0902\\u093A\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0957\\u0962-\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2-\\u09E3\\u0A01-\\u0A02\\u0A3C\\u0A41-\\u0A42\\u0A47-\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70-\\u0A71\\u0A75\\
 u0A81-\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7-\\u0AC8\\u0ACD\\u0AE2-\\u0AE3\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B56\\u0B62-\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C00\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55-\\u0C56\\u0C62-\\u0C63\\u0C81\\u0CBC\\u0CBF\\u0CC6\\u0CCC-\\u0CCD\\u0CE2-\\u0CE3\\u0D01\\u0D41-\\u0D44\\u0D4D\\u0D62-\\u0D63\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB-\\u0EBC\\u0EC8-\\u0ECD\\u0F18-\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86-\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039-\\u103A\\u103D-\\u103E\\u1058-\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085-\\u1086\\u108D\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752-\\u1753\\u1772-\\u1773\\u17B4-\\u17B5\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u1922\\u1927-\\u1928\\u1932\\u1939-\\u193B\\u1A17-\\u1A18\\u1A1B\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1
 A6C\\u1A73-\\u1A7C\\u1A7F\\u1AB0-\\u1ABD\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80-\\u1B81\\u1BA2-\\u1BA5\\u1BA8-\\u1BA9\\u1BAB-\\u1BAD\\u1BE6\\u1BE8-\\u1BE9\\u1BED\\u1BEF-\\u1BF1\\u1C2C-\\u1C33\\u1C36-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1CF4\\u1CF8-\\u1CF9\\u1DC0-\\u1DF5\\u1DFC-\\u1DFF\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302D\\u3099-\\u309A\\uA66F\\uA674-\\uA67D\\uA69E-\\uA69F\\uA6F0-\\uA6F1\\uA802\\uA806\\uA80B\\uA825-\\uA826\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uA9E5\\uAA29-\\uAA2E\\uAA31-\\uAA32\\uAA35-\\uAA36\\uAA43\\uAA4C\\uAA7C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7-\\uAAB8\\uAABE-\\uAABF\\uAAC1\\uAAEC-\\uAAED\\uAAF6\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F]" },
+        peg$c158 = /^[0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]/,
+        peg$c159 = { type: "class", value: "[\\u0030-\\u0039\\u0660-\\u0669\\u06F0-\\u06F9\\u07C0-\\u07C9\\u0966-\\u096F\\u09E6-\\u09EF\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0BE6-\\u0BEF\\u0C66-\\u0C6F\\u0CE6-\\u0CEF\\u0D66-\\u0D6F\\u0DE6-\\u0DEF\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F29\\u1040-\\u1049\\u1090-\\u1099\\u17E0-\\u17E9\\u1810-\\u1819\\u1946-\\u194F\\u19D0-\\u19D9\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1B50-\\u1B59\\u1BB0-\\u1BB9\\u1C40-\\u1C49\\u1C50-\\u1C59\\uA620-\\uA629\\uA8D0-\\uA8D9\\uA900-\\uA909\\uA9D0-\\uA9D9\\uA9F0-\\uA9F9\\uAA50-\\uAA59\\uABF0-\\uABF9\\uFF10-\\uFF19]", description: "[\\u0030-\\u0039\\u0660-\\u0669\\u06F0-\\u06F9\\u07C0-\\u07C9\\u0966-\\u096F\\u09E6-\\u09EF\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0BE6-\\u0BEF\\u0C66-\\u0C6F\\u0CE6-\\u0CEF\\u0D66-\\u0D6F\\u0DE6-\\u0DEF\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F29\\u1040-\\u1049\\u1090-\\u1099\\u17E0-\\u17E9\\u1810-\\u1819\\u1946-\\u194F\\u19D0-\\u19D9\\u1A80-\\u1A89\\u1A90-\\u1A99\\u
 1B50-\\u1B59\\u1BB0-\\u1BB9\\u1C40-\\u1C49\\u1C50-\\u1C59\\uA620-\\uA629\\uA8D0-\\uA8D9\\uA900-\\uA909\\uA9D0-\\uA9D9\\uA9F0-\\uA9F9\\uAA50-\\uAA59\\uABF0-\\uABF9\\uFF10-\\uFF19]" },
+        peg$c160 = /^[\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF]/,
+        peg$c161 = { type: "class", value: "[\\u16EE-\\u16F0\\u2160-\\u2182\\u2185-\\u2188\\u3007\\u3021-\\u3029\\u3038-\\u303A\\uA6E6-\\uA6EF]", description: "[\\u16EE-\\u16F0\\u2160-\\u2182\\u2185-\\u2188\\u3007\\u3021-\\u3029\\u3038-\\u303A\\uA6E6-\\uA6EF]" },
+        peg$c162 = /^[_\u203F-\u2040\u2054\uFE33-\uFE34\uFE4D-\uFE4F\uFF3F]/,
+        peg$c163 = { type: "class", value: "[\\u005F\\u203F-\\u2040\\u2054\\uFE33-\\uFE34\\uFE4D-\\uFE4F\\uFF3F]", description: "[\\u005F\\u203F-\\u2040\\u2054\\uFE33-\\uFE34\\uFE4D-\\uFE4F\\uFF3F]" },
+        peg$c164 = /^[ \xA0\u1680\u2000-\u200A\u202F\u205F\u3000]/,
+        peg$c165 = { type: "class", value: "[\\u0020\\u00A0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]", description: "[\\u0020\\u00A0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]" },
+        peg$c166 = "break",
+        peg$c167 = { type: "literal", value: "break", description: "\"break\"" },
+        peg$c168 = "case",
+        peg$c169 = { type: "literal", value: "case", description: "\"case\"" },
+        peg$c170 = "catch",
+        peg$c171 = { type: "literal", value: "catch", description: "\"catch\"" },
+        peg$c172 = "class",
+        peg$c173 = { type: "literal", value: "class", description: "\"class\"" },
+        peg$c174 = "const",
+        peg$c175 = { type: "literal", value: "const", description: "\"const\"" },
+        peg$c176 = "continue",
+        peg$c177 = { type: "literal", value: "continue", description: "\"continue\"" },
+        peg$c178 = "debugger",
+        peg$c179 = { type: "literal", value: "debugger", description: "\"debugger\"" },
+        peg$c180 = "default",
+        peg$c181 = { type: "literal", value: "default", description: "\"default\"" },
+        peg$c182 = "delete",
+        peg$c183 = { type: "literal", value: "delete", description: "\"delete\"" },
+        peg$c184 = "do",
+        peg$c185 = { type: "literal", value: "do", description: "\"do\"" },
+        peg$c186 = "else",
+        peg$c187 = { type: "literal", value: "else", description: "\"else\"" },
+        peg$c188 = "enum",
+        peg$c189 = { type: "literal", value: "enum", description: "\"enum\"" },
+        peg$c190 = "export",
+        peg$c191 = { type: "literal", value: "export", description: "\"export\"" },
+        peg$c192 = "extends",
+        peg$c193 = { type: "literal", value: "extends", description: "\"extends\"" },
+        peg$c194 = "false",
+        peg$c195 = { type: "literal", value: "false", description: "\"false\"" },
+        peg$c196 = "finally",
+        peg$c197 = { type: "literal", value: "finally", description: "\"finally\"" },
+        peg$c198 = "for",
+        peg$c199 = { type: "literal", value: "for", description: "\"for\"" },
+        peg$c200 = "function",
+        peg$c201 = { type: "literal", value: "function", description: "\"function\"" },
+        peg$c202 = "if",
+        peg$c203 = { type: "literal", value: "if", description: "\"if\"" },
+        peg$c204 = "import",
+        peg$c205 = { type: "literal", value: "import", description: "\"import\"" },
+        peg$c206 = "instanceof",
+        peg$c207 = { type: "literal", value: "instanceof", description: "\"instanceof\"" },
+        peg$c208 = "in",
+        peg$c209 = { type: "literal", value: "in", description: "\"in\"" },
+        peg$c210 = "new",
+        peg$c211 = { type: "literal", value: "new", description: "\"new\"" },
+        peg$c212 = "null",
+        peg$c213 = { type: "literal", value: "null", description: "\"null\"" },
+        peg$c214 = "return",
+        peg$c215 = { type: "literal", value: "return", description: "\"return\"" },
+        peg$c216 = "super",
+        peg$c217 = { type: "literal", value: "super", description: "\"super\"" },
+        peg$c218 = "switch",
+        peg$c219 = { type: "literal", value: "switch", description: "\"switch\"" },
+        peg$c220 = "this",
+        peg$c221 = { type: "literal", value: "this", description: "\"this\"" },
+        peg$c222 = "throw",
+        peg$c223 = { type: "literal", value: "throw", description: "\"throw\"" },
+        peg$c224 = "true",
+        peg$c225 = { type: "literal", value: "true", description: "\"true\"" },
+        peg$c226 = "try",
+        peg$c227 = { type: "literal", value: "try", description: "\"try\"" },
+        peg$c228 = "typeof",
+        peg$c229 = { type: "literal", value: "typeof", description: "\"typeof\"" },
+        peg$c230 = "var",
+        peg$c231 = { type: "literal", value: "var", description: "\"var\"" },
+        peg$c232 = "void",
+        peg$c233 = { type: "literal", value: "void", description: "\"void\"" },
+        peg$c234 = "while",
+        peg$c235 = { type: "literal", value: "while", description: "\"while\"" },
+        peg$c236 = "with",
+        peg$c237 = { type: "literal", value: "with", description: "\"with\"" },
+        peg$c238 = ";",
+        peg$c239 = { type: "literal", value: ";", description: "\";\"" },
+
+        peg$currPos          = 0,
+        peg$savedPos         = 0,
+        peg$posDetailsCache  = [{ line: 1, column: 1, seenCR: false }],
+        peg$maxFailPos       = 0,
+        peg$maxFailExpected  = [],
+        peg$silentFails      = 0,
+
+        peg$result;
+
+    if ("startRule" in options) {
+      if (!(options.startRule in peg$startRuleFunctions)) {
+        throw new Error("Can't start parsing from rule \"" + options.startRule + "\".");
+      }
+
+      peg$startRuleFunction = peg$startRuleFunctions[options.startRule];
+    }
+
+    function text() {
+      return input.substring(peg$savedPos, peg$currPos);
+    }
+
+    function location() {
+      return peg$computeLocation(peg$savedPos, peg$currPos);
+    }
+
+    function expected(description) {
+      throw peg$buildException(
+        null,
+        [{ type: "other", description: description }],
+        input.substring(peg$savedPos, peg$currPos),
+        peg$computeLocation(peg$savedPos, peg$currPos)
+      );
+    }
+
+    function error(message) {
+      throw peg$buildException(
+        message,
+        null,
+        input.substring(peg$savedPos, peg$currPos),
+        peg$computeLocation(peg$savedPos, peg$currPos)
+      );
+    }
+
+    function peg$computePosDetails(pos) {
+      var details = peg$posDetailsCache[pos],
+          p, ch;
+
+      if (details) {
+        return details;
+      } else {
+        p = pos - 1;
+        while (!peg$posDetailsCache[p]) {
+          p--;
+        }
+
+        details = peg$posDetailsCache[p];
+        details = {
+          line:   details.line,
+          column: details.column,
+          seenCR: details.seenCR
+        };
+
+        while (p < pos) {
+          ch = input.charAt(p);
+          if (ch === "\n") {
+            if (!details.seenCR) { details.line++; }
+            details.column = 1;
+            details.seenCR = false;
+          } else if (ch === "\r" || ch === "\u2028" || ch === "\u2029") {
+            details.line++;
+            details.column = 1;
+            details.seenCR = true;
+          } else {
+            details.column++;
+            details.seenCR = false;
+          }
+
+          p++;
+        }
+
+        peg$posDetailsCache[pos] = details;
+        return details;
+      }
+    }
+
+    function peg$computeLocation(startPos, endPos) {
+      var startPosDetails = peg$computePosDetails(startPos),
+          endPosDetails   = peg$computePosDetails(endPos);
+
+      return {
+        start: {
+          offset: startPos,
+          line:   startPosDetails.line,
+          column: startPosDetails.column
+        },
+        end: {
+          offset: endPos,
+          line:   endPosDetails.line,
+          column: endPosDetails.column
+        }
+      };
+    }
+
+    function peg$fail(expected) {
+      if (peg$currPos < peg$maxFailPos) { return; }
+
+      if (peg$currPos > peg$maxFailPos) {
+        peg$maxFailPos = peg$currPos;
+        peg$maxFailExpected = [];
+      }
+
+      peg$maxFailExpected.push(expected);
+    }
+
+    function peg$buildException(message, expected, found, location) {
+      function cleanupExpected(expected) {
+        var i = 1;
+
+        expected.sort(function(a, b) {
+          if (a.description < b.description) {
+            return -1;
+          } else if (a.description > b.description) {
+            return 1;
+          } else {
+            return 0;
+          }
+        });
+
+        while (i < expected.length) {
+          if (expected[i - 1] === expected[i]) {
+            expected.splice(i, 1);
+          } else {
+            i++;
+          }
+        }
+      }
+
+      function buildMessage(expected, found) {
+        function stringEscape(s) {
+          function hex(ch) { return ch.charCodeAt(0).toString(16).toUpperCase(); }
+
+          return s
+            .replace(/\\/g,   '\\\\')
+            .replace(/"/g,    '\\"')
+            .replace(/\x08/g, '\\b')
+            .replace(/\t/g,   '\\t')
+            .replace(/\n/g,   '\\n')
+            .replace(/\f/g,   '\\f')
+            .replace(/\r/g,   '\\r')
+            .replace(/[\x00-\x07\x0B\x0E\x0F]/g, function(ch) { return '\\x0' + hex(ch); })
+            .replace(/[\x10-\x1F\x80-\xFF]/g,    function(ch) { return '\\x'  + hex(ch); })
+            .replace(/[\u0100-\u0FFF]/g,         function(ch) { return '\\u0' + hex(ch); })
+            .replace(/[\u1000-\uFFFF]/g,         function(ch) { return '\\u'  + hex(ch); });
+        }
+
+        var expectedDescs = new Array(expected.length),
+            expectedDesc, foundDesc, i;
+
+        for (i = 0; i < expected.length; i++) {
+          expectedDescs[i] = expected[i].description;
+        }
+
+        expectedDesc = expected.length > 1
+          ? expectedDescs.slice(0, -1).join(", ")
+              + " or "
+              + expectedDescs[expected.length - 1]
+          : expectedDescs[0];
+
+        foundDesc = found ? "\"" + stringEscape(found) + "\"" : "end of input";
+
+        return "Expected " + expectedDesc + " but " + foundDesc + " found.";
+      }
+
+      if (expected !== null) {
+        cleanupExpected(expected);
+      }
+
+      return new peg$SyntaxError(
+        message !== null ? message : buildMessage(expected, found),
+        expected,
+        found,
+        location
+      );
+    }
+
+    function peg$parseGrammar() {
+      var s0, s1, s2, s3, s4, s5, s6;
+
+      s0 = peg$currPos;
+      s1 = peg$parse__();
+      if (s1 !== peg$FAILED) {
+        s2 = peg$currPos;
+        s3 = peg$parseInitializer();
+        if (s3 !== peg$FAILED) {
+          s4 = peg$parse__();
+          if (s4 !== peg$FAILED) {
+            s3 = [s3, s4];
+            s2 = s3;
+          } else {
+            peg$currPos = s2;
+            s2 = peg$FAILED;
+          }
+        } else {
+          peg$currPos = s2;
+          s2 = peg$FAILED;
+        }
+        if (s2 === peg$FAILED) {
+          s2 = null;
+        }
+        if (s2 !== peg$FAILED) {
+          s3 = [];
+          s4 = peg$currPos;
+          s5 = peg$parseRule();
+          if (s5 !== peg$FAILED) {
+            s6 = peg$parse__();
+            if (s6 !== peg$FAILED) {
+              s5 = [s5, s6];
+              s4 = s5;
+            } else {
+              peg$currPos = s4;
+              s4 = peg$FAILED;
+            }
+          } else {
+            peg$currPos = s4;
+            s4 = peg$FAILED;
+          }
+          if (s4 !== peg$FAILED) {
+            while (s4 !== peg$FAILED) {
+              s3.push(s4);
+              s4 = peg$currPos;
+              s5 = peg$parseRule();
+              if (s5 !== peg$FAILED) {
+                s6 = peg$parse__();
+                if (s6 !== peg$FAILED) {
+                  s5 = [s5, s6];
+                  s4 = s5;
+                } else {
+                  peg$currPos = s4;
+                  s4 = peg$FAILED;
+                }
+              } else {
+                peg$currPos = s4;
+                s4 = peg$FAILED;
+              }
+            }
+          } else {
+            s3 = peg$FAILED;
+          }
+          if (s3 !== peg$FAILED) {
+            peg$savedPos = s0;
+            s1 = peg$c0(s2, s3);
+            s0 = s1;
+          } else {
+            peg$currPos = s0;
+            s0 = peg$FAILED;
+          }
+        } else {
+          peg$currPos = s0;
+          s0 = peg$FAILED;
+        }
+      } else {
+        peg$currPos = s0;
+        s0 = peg$FAILED;
+      }
+
+      return s0;
+    }
+
+    function peg$parseInitializer() {
+      var s0, s1, s2;
+
+      s0 = peg$currPos;
+      s1 = peg$parseCodeBlock();
+      if (s1 !== peg$FAILED) {
+        s2 = peg$parseEOS();
+        if (s2 !== peg$FAILED) {
+          peg$savedPos = s0;
+          s1 = peg$c1(s1);
+          s0 = s1;
+        } else {
+          peg$currPos = s0;
+          s0 = peg$FAILED;
+        }
+      } else {
+        peg$currPos = s0;
+        s0 = peg$FAILED;
+      }
+
+      return s0;
+    }
+
+    function peg$parseRule() {
+      var s0, s1, s2, s3, s4, s5, s6, s7;
+
+      s0 = peg$currPos;
+      s1 = peg$parseIdentifierName();
+      if (s1 !== peg$FAILED) {
+        s2 = peg$parse__();
+        if (s2 !== peg$FAILED) {
+          s3 = peg$currPos;
+          s4 = peg$parseStringLiteral();
+          if (s4 !== peg$FAILED) {
+            s5 = peg$parse__();
+            if (s5 !== peg$FAILED) {
+              s4 = [s4, s5];
+              s3 = s4;
+            } else {
+              peg$currPos = s3;
+              s3 = peg$FAILED;
+            }
+          } else {
+            peg$currPos = s3;
+            s3 = peg$FAILED;
+          }
+          if (s3 === peg$FAILED) {
+            s3 = null;
+          }
+          if (s3 !== peg$FAILED) {
+            if (input.charCodeAt(peg$currPos) === 61) {
+              s4 = peg$c2;
+              peg$currPos++;
+            } else {
+              s4 = peg$FAILED;
+              if (peg$silentFails === 0) { peg$fail(peg$c3); }
+            }
+            if (s4 !== peg$FAILED) {
+              s5 = peg$parse__();
+              if (s5 !== peg$FAILED) {
+                s6 = peg$parseChoiceExpression();
+                if (s6 !== peg$FAILED) {
+                  s7 = peg$parseEOS();
+                  if (s7 !== peg$FAILED) {
+                    peg$savedPos = s0;
+                    s1 = peg$c4(s1, s3, s6);
+                    s0 = s1;
+                  } else {
+                    peg$currPos = s0;
+                    s0 = peg$FAILED;
+                  }
+                } else {
+                  peg$currPos = s0;
+                  s0 = peg$FAILED;
+                }
+              } else {
+                peg$currPos = s0;
+                s0 = peg$FAILED;
+              }
+            } else {
+              peg$currPos = s0;
+              s0 = peg$FAILED;
+            }
+          } else {
+            peg$currPos = s0;
+            s0 = peg$FAILED;
+          }
+        } else {
+          peg$currPos = s0;
+          s0 = peg$FAILED;
+        }
+      } else {
+        peg$currPos = s0;
+        s0 = peg$FAILED;
+      }
+
+      return s0;
+    }
+
+    function peg$parseChoiceExpression() {
+      var s0, s1, s2, s3, s4, s5, s6, s7;
+
+      s0 = peg$currPos;
+      s1 = peg$parseActionExpression();
+      if (s1 !== peg$FAILED) {
+        s2 = [];
+        s3 = peg$currPos;
+        s4 = peg$parse__();
+        if (s4 !== peg$FAILED) {
+          if (input.charCodeAt(peg$currPos) === 47) {
+            s5 = peg$c5;
+            peg$currPos++;
+          } else {
+            s5 = peg$FAILED;
+            if (peg$silentFails === 0) { peg$fail(peg$c6); }
+          }
+          if (s5 !== peg$FAILED) {
+            s6 = peg$parse__();
+            if (s6 !== peg$FAILED) {
+              s7 = peg$parseActionExpression();
+              if (s7 !== peg$FAILED) {
+                s4 = [s4, s5, s6, s7];
+                s3 = s4;
+              } else {
+                peg$currPos = s3;
+                s3 = peg$FAILED;
+              }
+            } else {
+              peg$currPos = s3;
+              s3 = peg$FAILED;
+            }
+          } else {
+            peg$currPos = s3;
+            s3 = peg$FAILED;
+          }
+        } else {
+          peg$currPos = s3;
+          s3 = peg$FAILED;
+        }
+        while (s3 !== peg$FAILED) {
+          s2.push(s3);
+          s3 = peg$currPos;
+          s4 = peg$parse__();
+          if (s4 !== peg$FAILED) {
+            if (input.charCodeAt(peg$currPos) === 47) {
+              s5 = peg$c5;
+              peg$currPos++;
+            } else {
+              s5 = peg$FAILED;
+              if (peg$silentFails === 0) { peg$fail(peg$c6); }
+            }
+            if (s5 !== peg$FAILED) {
+              s6 = peg$parse__();
+              if (s6 !== peg$FAILED) {
+                s7 = peg$parseActionExpression();
+                if (s7 !== peg$FAILED) {
+                  s4 = [s4, s5, s6, s7];
+                  s3 = s4;
+                } else {
+                  peg$currPos = s3;
+                  s3 = peg$FAILED;
+                }
+              } else {
+                peg$currPos = s3;
+                s3 = peg$FAILED;
+              }
+            } else {
+              peg$currPos = s3;
+              s3 = peg$FAILED;
+            }
+          } else {
+            peg$currPos = s3;
+            s3 = peg$FAILED;
+          }
+        }
+        if (s2 !== peg$FAILED) {
+          peg$savedPos = s0;
+          s1 = peg$c7(s1, s2);
+          s0 = s1;
+        } else {
+          peg$currPos = s0;
+          s0 = peg$FAILED;
+        }
+      } else {
+        peg$currPos = s0;
+        s0 = peg$FAILED;
+      }
+
+      return s0;
+    }
+
+    function peg$parseActionExpression() {
+      var s0, s1, s2, s3, s4;
+
+      s0 = peg$currPos;
+      s1 = peg$parseSequenceExpression();
+      if (s1 !== peg$FAILED) {
+        s2 = peg$currPos;
+        s3 = peg$parse__();
+        if (s3 !== peg$FAILED) {
+          s4 = peg$parseCodeBlock();
+          if (s4 !== peg$FAILED) {
+            s3 = [s3, s4];
+            s2 = s3;
+          } else {
+            peg$currPos = s2;
+            s2 = peg$FAILED;
+          }
+        } else {
+          peg$currPos = s2;
+          s2 = peg$FAILED;
+        }
+        if (s2 === peg$FAILED) {
+          s2 = null;
+        }
+        if (s2 !== peg$FAILED) {
+          peg$savedPos = s0;
+          s1 = peg$c8(s1, s2);
+          s0 = s1;
+        } else {
+          peg$currPos = s0;
+          s0 = peg$FAILED;
+        }
+      } else {
+        peg$currPos = s0;
+        s0 = peg$FAILED;
+      }
+
+      return s0;
+    }
+
+    function peg$parseSequenceExpression() {
+      var s0, s1, s2, s3, s4, s5;
+
+      s0 = peg$currPos;
+      s1 = peg$parseLabeledExpression();
+      if (s1 !== peg$FAILED) {
+        s2 = [];
+        s3 = peg$currPos;
+        s4 = peg$parse__();
+        if (s4 !== peg$FAILED) {
+          s5 = peg$parseLabeledExpression();
+          if (s5 !== peg$FAILED) {
+            s4 = [s4, s5];
+            s3 = s4;
+          } else {
+            peg$currPos = s3;
+            s3 = peg$FAILED;
+          }
+        } else {
+          peg$currPos = s3;
+          s3 = peg$FAILED;
+        }
+        while (s3 !== peg$FAILED) {
+          s2.push(s3);
+          s3 = peg$currPos;
+          s4 = peg$parse__();
+          if (s4 !== peg$FAILED) {
+            s5 = peg$parseLabeledExpression();
+            if (s5 !== peg$FAILED) {
+              s4 = [s4, s5];
+              s3 = s4;
+            } else {
+              peg$currPos = s3;
+              s3 = peg$FAILED;
+            }
+          } else {
+            peg$currPos = s3;
+            s3 = peg$FAILED;
+          }
+        }
+        if (s2 !== peg$FAILED) {
+          peg$savedPos = s0;
+          s1 = peg$c9(s1, s2);
+          s0 = s1;
+        } else {
+          peg$currPos = s0;
+          s0 = peg$FAILED;
+        }
+      } else {
+        peg$currPos = s0;
+        s0 = peg$FAILED;
+      }
+
+      return s0;
+    }
+
+    function peg$parseLabeledExpression() {
+      var s0, s1, s2, s3, s4, s5;
+
+      s0 = peg$currPos;
+      s1 = peg$parseIdentifier();
+      if (s1 !== peg$FAILED) {
+        s2 = peg$parse__();
+        if (s2 !== peg$FAILED) {
+          if (input.charCodeAt(peg$currPos) === 58) {
+            s3 = peg$c10;
+            peg$currPos++;
+          } else {
+            s3 = peg$FAILED;
+            if (peg$silentFails === 0) { peg$fail(peg$c11); }
+          }
+          if (s3 !== peg$FAILED) {
+            s4 = peg$parse__();
+            if (s4 !== peg$FAILED) {
+              s5 = peg$parsePrefixedExpression();
+              if (s5 !== peg$FAILED) {
+                peg$savedPos = s0;
+                s1 = peg$c12(s1, s5);
+                s0 = s1;
+              } else {
+                peg$currPos = s0;
+                s0 = peg$FAILED;
+              }
+            } else {
+              peg$currPos = s0;
+              s0 = peg$FAILED;
+            }
+          } else {
+            peg$currPos = s0;
+            s0 = peg$FAILED;
+          }
+        } else {
+          peg$currPos = s0;
+          s0 = peg$FAILED;
+        }
+      } else {
+        peg$currPos = s0;
+        s0 = peg$FAILED;
+      }
+      if (s0 === peg$FAILED) {
+        s0 = peg$parsePrefixedExpression();
+      }
+
+      return s0;
+    }
+
+    function peg$parsePrefixedExpression() {
+      var s0, s1, s2, s3;
+
+      s0 = peg$currPos;
+      s1 = peg$parsePrefixedOperator();
+      if (s1 !== peg$FAILED) {
+        s2 = peg$parse__();
+        if (s2 !== peg$FAILED) {
+          s3 = peg$parseSuffixedExpression();
+          if (s3 !== peg$FAILED) {
+            peg$savedPos = s0;
+            s1 = peg$c13(s1, s3);
+            s0 = s1;
+          } else {
+            peg$currPos = s0;
+            s0 = peg$FAILED;
+          }
+        } else {
+          peg$currPos = s0;
+          s0 = peg$FAILED;
+        }
+      } else {
+        peg$currPos = s0;
+        s0 = peg$FAILED;
+      }
+      if (s0 === peg$FAILED) {
+        s0 = peg$parseSuffixedExpression();
+      }
+
+      return s0;
+    }
+
+    function peg$parsePrefixedOperator() {
+      var s0;
+
+      if (input.charCodeAt(peg$currPos) === 36) {
+        s0 = peg$c14;
+        peg$currPos++;
+      } else {
+        s0 = peg$FAILED;
+        if (peg$silentFails === 0) { peg$fail(peg$c15); }
+      }
+      if (s0 === peg$FAILED) {
+        if (input.charCodeAt(peg$currPos) === 38) {
+          s0 = peg$c16;
+          peg$currPos++;
+        } else {
+          s0 = peg$FAILED;
+          if (peg$silentFails === 0) { peg$fail(peg$c17); }
+        }
+        if (s0 === peg$FAILED) {
+          if (input.charCodeAt(peg$currPos) === 33) {
+            s0 = peg$c18;
+            peg$currPos++;
+          } else {
+            s0 = peg$FAILED;
+            if (peg$silentFails === 0) { peg$fail(peg$c19); }
+          }
+        }
+      }
+
+      return s0;
+    }
+
+    function peg$parseSuffixedExpression() {
+      var s0, s1, s2, s3;
+
+      s0 = peg$currPos;
+      s1 = peg$parsePrimaryExpression();
+      if (s1 !== peg$FAILED) {
+        s2 = peg$parse__();
+        if (s2 !== peg$FAILED) {
+          s3 = peg$parseSuffixedOperator();
+          if (s3 !== peg$FAILED) {
+            peg$savedPos = s0;
+            s1 = peg$c20(s1, s3);
+            s0 = s1;
+          } else {
+            peg$currPos = s0;
+            s0 = peg$FAILED;
+          }
+        } else {
+          peg$currPos = s0;
+          s0 = peg$FAILED;
+        }
+      } else {
+        peg$currPos = s0;
+        s0 = peg$FAILED;
+      }
+      if (s0 === peg$FAILED) {
+        s0 = peg$parsePrimaryExpression();
+      }
+
+      return s0;
+    }
+
+    function peg$parseSuffixedOperator() {
+      var s0;
+
+      if (input.charCodeAt(peg$currPos) === 63) {
+        s0 = peg$c21;
+        peg$currPos++;
+      } else {
+        s0 = peg$FAILED;
+        if (peg$silentFails === 0) { peg$fail(peg$c22); }
+      }
+      if (s0 === peg$FAILED) {
+        if (input.charCodeAt(peg$currPos) === 42) {
+          s0 = peg$c23;
+          peg$currPos++;
+        } else {
+          s0 = peg$FAILED;
+          if (peg$silentFails === 0) { peg$fail(peg$c24); }
+        }
+        if (s0 === peg$FAILED) {
+          if (input.charCodeAt(peg$currPos) ===

<TRUNCATED>

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


[09/32] ios commit: CB-11445 Updated checked-in node_modules

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/examples/json.pegjs
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/examples/json.pegjs b/node_modules/pegjs/examples/json.pegjs
index f2a34b1..946589e 100644
--- a/node_modules/pegjs/examples/json.pegjs
+++ b/node_modules/pegjs/examples/json.pegjs
@@ -1,120 +1,132 @@
-/* JSON parser based on the grammar described at http://json.org/. */
+/*
+ * JSON Grammar
+ * ============
+ *
+ * Based on the grammar from RFC 7159 [1].
+ *
+ * Note that JSON is also specified in ECMA-262 [2], ECMA-404 [3], and on the
+ * JSON website [4] (somewhat informally). The RFC seems the most authoritative
+ * source, which is confirmed e.g. by [5].
+ *
+ * [1] http://tools.ietf.org/html/rfc7159
+ * [2] http://www.ecma-international.org/publications/standards/Ecma-262.htm
+ * [3] http://www.ecma-international.org/publications/standards/Ecma-404.htm
+ * [4] http://json.org/
+ * [5] https://www.tbray.org/ongoing/When/201x/2014/03/05/RFC7159-JSON
+ */
 
-/* ===== Syntactical Elements ===== */
+/* ----- 2. JSON Grammar ----- */
 
-start
-  = _ object:object { return object; }
+JSON_text
+  = ws value:value ws { return value; }
 
-object
-  = "{" _ "}" _                 { return {};      }
-  / "{" _ members:members "}" _ { return members; }
-
-members
-  = head:pair tail:("," _ pair)* {
-      var result = {};
-      result[head[0]] = head[1];
-      for (var i = 0; i < tail.length; i++) {
-        result[tail[i][2][0]] = tail[i][2][1];
-      }
-      return result;
-    }
+begin_array     = ws "[" ws
+begin_object    = ws "{" ws
+end_array       = ws "]" ws
+end_object      = ws "}" ws
+name_separator  = ws ":" ws
+value_separator = ws "," ws
 
-pair
-  = name:string ":" _ value:value { return [name, value]; }
+ws "whitespace" = [ \t\n\r]*
 
-array
-  = "[" _ "]" _                   { return [];       }
-  / "[" _ elements:elements "]" _ { return elements; }
-
-elements
-  = head:value tail:("," _ value)* {
-      var result = [head];
-      for (var i = 0; i < tail.length; i++) {
-        result.push(tail[i][2]);
-      }
-      return result;
-    }
+/* ----- 3. Values ----- */
 
 value
-  = string
-  / number
+  = false
+  / null
+  / true
   / object
   / array
-  / "true" _  { return true;   }
-  / "false" _ { return false;  }
-  // FIXME: We can't return null here because that would mean parse failure.
-  / "null" _  { return "null"; }
-
-/* ===== Lexical Elements ===== */
-
-string "string"
-  = '"' '"' _             { return "";    }
-  / '"' chars:chars '"' _ { return chars; }
+  / number
+  / string
 
-chars
-  = chars:char+ { return chars.join(""); }
+false = "false" { return false; }
+null  = "null"  { return null;  }
+true  = "true"  { return true;  }
 
-char
-  // In the original JSON grammar: "any-Unicode-character-except-"-or-\-or-control-character"
-  = [^"\\\0-\x1F\x7f]
-  / '\\"'  { return '"';  }
-  / "\\\\" { return "\\"; }
-  / "\\/"  { return "/";  }
-  / "\\b"  { return "\b"; }
-  / "\\f"  { return "\f"; }
-  / "\\n"  { return "\n"; }
-  / "\\r"  { return "\r"; }
-  / "\\t"  { return "\t"; }
-  / "\\u" h1:hexDigit h2:hexDigit h3:hexDigit h4:hexDigit {
-      return String.fromCharCode(parseInt("0x" + h1 + h2 + h3 + h4));
-    }
+/* ----- 4. Objects ----- */
 
-number "number"
-  = int_:int frac:frac exp:exp _ { return parseFloat(int_ + frac + exp); }
-  / int_:int frac:frac _         { return parseFloat(int_ + frac);       }
-  / int_:int exp:exp _           { return parseFloat(int_ + exp);        }
-  / int_:int _                   { return parseFloat(int_);              }
+object
+  = begin_object
+    members:(
+      first:member
+      rest:(value_separator m:member { return m; })*
+      {
+        var result = {}, i;
 
-int
-  = digit19:digit19 digits:digits     { return digit19 + digits;       }
-  / digit:digit
-  / "-" digit19:digit19 digits:digits { return "-" + digit19 + digits; }
-  / "-" digit:digit                   { return "-" + digit;            }
+        result[first.name] = first.value;
 
-frac
-  = "." digits:digits { return "." + digits; }
+        for (i = 0; i < rest.length; i++) {
+          result[rest[i].name] = rest[i].value;
+        }
 
-exp
-  = e:e digits:digits { return e + digits; }
+        return result;
+      }
+    )?
+    end_object
+    { return members !== null ? members: {}; }
 
-digits
-  = digits:digit+ { return digits.join(""); }
+member
+  = name:string name_separator value:value {
+      return { name: name, value: value };
+    }
 
-e
-  = e:[eE] sign:[+-]? { return e + sign; }
+/* ----- 5. Arrays ----- */
 
-/*
- * The following rules are not present in the original JSON gramar, but they are
- * assumed to exist implicitly.
- *
- * FIXME: Define them according to ECMA-262, 5th ed.
- */
+array
+  = begin_array
+    values:(
+      first:value
+      rest:(value_separator v:value { return v; })*
+      { return [first].concat(rest); }
+    )?
+    end_array
+    { return values !== null ? values : []; }
 
-digit
-  = [0-9]
+/* ----- 6. Numbers ----- */
 
-digit19
-  = [1-9]
+number "number"
+  = minus? int frac? exp? { return parseFloat(text()); }
 
-hexDigit
-  = [0-9a-fA-F]
+decimal_point = "."
+digit1_9      = [1-9]
+e             = [eE]
+exp           = e (minus / plus)? DIGIT+
+frac          = decimal_point DIGIT+
+int           = zero / (digit1_9 DIGIT*)
+minus         = "-"
+plus          = "+"
+zero          = "0"
 
-/* ===== Whitespace ===== */
+/* ----- 7. Strings ----- */
 
-_ "whitespace"
-  = whitespace*
+string "string"
+  = quotation_mark chars:char* quotation_mark { return chars.join(""); }
 
-// Whitespace is undefined in the original JSON grammar, so I assume a simple
-// conventional definition consistent with ECMA-262, 5th ed.
-whitespace
-  = [ \t\n\r]
+char
+  = unescaped
+  / escape
+    sequence:(
+        '"'
+      / "\\"
+      / "/"
+      / "b" { return "\b"; }
+      / "f" { return "\f"; }
+      / "n" { return "\n"; }
+      / "r" { return "\r"; }
+      / "t" { return "\t"; }
+      / "u" digits:$(HEXDIG HEXDIG HEXDIG HEXDIG) {
+          return String.fromCharCode(parseInt(digits, 16));
+        }
+    )
+    { return sequence; }
+
+escape         = "\\"
+quotation_mark = '"'
+unescaped      = [\x20-\x21\x23-\x5B\x5D-\u10FFFF]
+
+/* ----- Core ABNF Rules ----- */
+
+/* See RFC 4234, Appendix B (http://tools.ietf.org/html/rfc4627). */
+DIGIT  = [0-9]
+HEXDIG = [0-9a-f]i

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/lib/compiler.js
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/lib/compiler.js b/node_modules/pegjs/lib/compiler.js
new file mode 100644
index 0000000..4ea66eb
--- /dev/null
+++ b/node_modules/pegjs/lib/compiler.js
@@ -0,0 +1,60 @@
+"use strict";
+
+var arrays  = require("./utils/arrays"),
+    objects = require("./utils/objects");
+
+var compiler = {
+  /*
+   * Compiler passes.
+   *
+   * Each pass is a function that is passed the AST. It can perform checks on it
+   * or modify it as needed. If the pass encounters a semantic error, it throws
+   * |PEG.GrammarError|.
+   */
+  passes: {
+    check: {
+      reportMissingRules:  require("./compiler/passes/report-missing-rules"),
+      reportLeftRecursion: require("./compiler/passes/report-left-recursion"),
+      reportInfiniteLoops: require("./compiler/passes/report-infinite-loops")
+    },
+    transform: {
+      removeProxyRules:    require("./compiler/passes/remove-proxy-rules")
+    },
+    generate: {
+      generateBytecode:    require("./compiler/passes/generate-bytecode"),
+      generateJavascript:  require("./compiler/passes/generate-javascript")
+    }
+  },
+
+  /*
+   * Generates a parser from a specified grammar AST. Throws |PEG.GrammarError|
+   * if the AST contains a semantic error. Note that not all errors are detected
+   * during the generation and some may protrude to the generated parser and
+   * cause its malfunction.
+   */
+  compile: function(ast, passes) {
+    var options = arguments.length > 2 ? objects.clone(arguments[2]) : {},
+        stage;
+
+    objects.defaults(options, {
+      allowedStartRules:  [ast.rules[0].name],
+      cache:              false,
+      trace:              false,
+      optimize:           "speed",
+      output:             "parser"
+    });
+
+    for (stage in passes) {
+      if (passes.hasOwnProperty(stage)) {
+        arrays.each(passes[stage], function(p) { p(ast, options); });
+      }
+    }
+
+    switch (options.output) {
+      case "parser": return eval(ast.code);
+      case "source": return ast.code;
+    }
+  }
+};
+
+module.exports = compiler;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/lib/compiler/asts.js
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/lib/compiler/asts.js b/node_modules/pegjs/lib/compiler/asts.js
new file mode 100644
index 0000000..aad50a6
--- /dev/null
+++ b/node_modules/pegjs/lib/compiler/asts.js
@@ -0,0 +1,64 @@
+"use strict";
+
+var arrays  = require("../utils/arrays"),
+    visitor = require("./visitor");
+
+/* AST utilities. */
+var asts = {
+  findRule: function(ast, name) {
+    return arrays.find(ast.rules, function(r) { return r.name === name; });
+  },
+
+  indexOfRule: function(ast, name) {
+    return arrays.indexOf(ast.rules, function(r) { return r.name === name; });
+  },
+
+  alwaysAdvancesOnSuccess: function(ast, node) {
+    function advancesTrue()  { return true;  }
+    function advancesFalse() { return false; }
+
+    function advancesExpression(node) {
+      return advances(node.expression);
+    }
+
+    var advances = visitor.build({
+      rule:  advancesExpression,
+      named: advancesExpression,
+
+      choice: function(node) {
+        return arrays.every(node.alternatives, advances);
+      },
+
+      action: advancesExpression,
+
+      sequence: function(node) {
+        return arrays.some(node.elements, advances);
+      },
+
+      labeled:      advancesExpression,
+      text:         advancesExpression,
+      simple_and:   advancesFalse,
+      simple_not:   advancesFalse,
+      optional:     advancesFalse,
+      zero_or_more: advancesFalse,
+      one_or_more:  advancesExpression,
+      semantic_and: advancesFalse,
+      semantic_not: advancesFalse,
+
+      rule_ref: function(node) {
+        return advances(asts.findRule(ast, node.name));
+      },
+
+      literal: function(node) {
+        return node.value !== "";
+      },
+
+      "class": advancesTrue,
+      any:     advancesTrue
+    });
+
+    return advances(node);
+  }
+};
+
+module.exports = asts;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/lib/compiler/javascript.js
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/lib/compiler/javascript.js b/node_modules/pegjs/lib/compiler/javascript.js
new file mode 100644
index 0000000..bc2ce95
--- /dev/null
+++ b/node_modules/pegjs/lib/compiler/javascript.js
@@ -0,0 +1,57 @@
+"use strict";
+
+function hex(ch) { return ch.charCodeAt(0).toString(16).toUpperCase(); }
+
+/* JavaScript code generation helpers. */
+var javascript = {
+  stringEscape: function(s) {
+    /*
+     * ECMA-262, 5th ed., 7.8.4: All characters may appear literally in a string
+     * literal except for the closing quote character, backslash, carriage
+     * return, line separator, paragraph separator, and line feed. Any character
+     * may appear in the form of an escape sequence.
+     *
+     * For portability, we also escape all control and non-ASCII characters.
+     * Note that "\0" and "\v" escape sequences are not used because JSHint does
+     * not like the first and IE the second.
+     */
+    return s
+      .replace(/\\/g,   '\\\\')   // backslash
+      .replace(/"/g,    '\\"')    // closing double quote
+      .replace(/\x08/g, '\\b')    // backspace
+      .replace(/\t/g,   '\\t')    // horizontal tab
+      .replace(/\n/g,   '\\n')    // line feed
+      .replace(/\f/g,   '\\f')    // form feed
+      .replace(/\r/g,   '\\r')    // carriage return
+      .replace(/[\x00-\x07\x0B\x0E\x0F]/g, function(ch) { return '\\x0' + hex(ch); })
+      .replace(/[\x10-\x1F\x80-\xFF]/g,    function(ch) { return '\\x'  + hex(ch); })
+      .replace(/[\u0100-\u0FFF]/g,         function(ch) { return '\\u0' + hex(ch); })
+      .replace(/[\u1000-\uFFFF]/g,         function(ch) { return '\\u'  + hex(ch); });
+  },
+
+  regexpClassEscape: function(s) {
+    /*
+     * Based on ECMA-262, 5th ed., 7.8.5 & 15.10.1.
+     *
+     * For portability, we also escape all control and non-ASCII characters.
+     */
+    return s
+      .replace(/\\/g, '\\\\')    // backslash
+      .replace(/\//g, '\\/')     // closing slash
+      .replace(/\]/g, '\\]')     // closing bracket
+      .replace(/\^/g, '\\^')     // caret
+      .replace(/-/g,  '\\-')     // dash
+      .replace(/\0/g, '\\0')     // null
+      .replace(/\t/g, '\\t')     // horizontal tab
+      .replace(/\n/g, '\\n')     // line feed
+      .replace(/\v/g, '\\x0B')   // vertical tab
+      .replace(/\f/g, '\\f')     // form feed
+      .replace(/\r/g, '\\r')     // carriage return
+      .replace(/[\x00-\x08\x0E\x0F]/g,  function(ch) { return '\\x0' + hex(ch); })
+      .replace(/[\x10-\x1F\x80-\xFF]/g, function(ch) { return '\\x'  + hex(ch); })
+      .replace(/[\u0100-\u0FFF]/g,      function(ch) { return '\\u0' + hex(ch); })
+      .replace(/[\u1000-\uFFFF]/g,      function(ch) { return '\\u'  + hex(ch); });
+  }
+};
+
+module.exports = javascript;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/lib/compiler/opcodes.js
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/lib/compiler/opcodes.js b/node_modules/pegjs/lib/compiler/opcodes.js
new file mode 100644
index 0000000..4c52008
--- /dev/null
+++ b/node_modules/pegjs/lib/compiler/opcodes.js
@@ -0,0 +1,54 @@
+"use strict";
+
+/* Bytecode instruction opcodes. */
+var opcodes = {
+  /* Stack Manipulation */
+
+  PUSH:             0,    // PUSH c
+  PUSH_UNDEFINED:   1,    // PUSH_UNDEFINED
+  PUSH_NULL:        2,    // PUSH_NULL
+  PUSH_FAILED:      3,    // PUSH_FAILED
+  PUSH_EMPTY_ARRAY: 4,    // PUSH_EMPTY_ARRAY
+  PUSH_CURR_POS:    5,    // PUSH_CURR_POS
+  POP:              6,    // POP
+  POP_CURR_POS:     7,    // POP_CURR_POS
+  POP_N:            8,    // POP_N n
+  NIP:              9,    // NIP
+  APPEND:           10,   // APPEND
+  WRAP:             11,   // WRAP n
+  TEXT:             12,   // TEXT
+
+  /* Conditions and Loops */
+
+  IF:               13,   // IF t, f
+  IF_ERROR:         14,   // IF_ERROR t, f
+  IF_NOT_ERROR:     15,   // IF_NOT_ERROR t, f
+  WHILE_NOT_ERROR:  16,   // WHILE_NOT_ERROR b
+
+  /* Matching */
+
+  MATCH_ANY:        17,   // MATCH_ANY a, f, ...
+  MATCH_STRING:     18,   // MATCH_STRING s, a, f, ...
+  MATCH_STRING_IC:  19,   // MATCH_STRING_IC s, a, f, ...
+  MATCH_REGEXP:     20,   // MATCH_REGEXP r, a, f, ...
+  ACCEPT_N:         21,   // ACCEPT_N n
+  ACCEPT_STRING:    22,   // ACCEPT_STRING s
+  FAIL:             23,   // FAIL e
+
+  /* Calls */
+
+  LOAD_SAVED_POS:   24,   // LOAD_SAVED_POS p
+  UPDATE_SAVED_POS: 25,   // UPDATE_SAVED_POS
+  CALL:             26,   // CALL f, n, pc, p1, p2, ..., pN
+
+  /* Rules */
+
+  RULE:             27,   // RULE r
+
+  /* Failure Reporting */
+
+  SILENT_FAILS_ON:  28,   // SILENT_FAILS_ON
+  SILENT_FAILS_OFF: 29    // SILENT_FAILS_OFF
+};
+
+module.exports = opcodes;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/lib/compiler/passes/generate-bytecode.js
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/lib/compiler/passes/generate-bytecode.js b/node_modules/pegjs/lib/compiler/passes/generate-bytecode.js
new file mode 100644
index 0000000..4aa401f
--- /dev/null
+++ b/node_modules/pegjs/lib/compiler/passes/generate-bytecode.js
@@ -0,0 +1,618 @@
+"use strict";
+
+var arrays  = require("../../utils/arrays"),
+    objects = require("../../utils/objects"),
+    asts    = require("../asts"),
+    visitor = require("../visitor"),
+    op      = require("../opcodes"),
+    js      = require("../javascript");
+
+/* Generates bytecode.
+ *
+ * Instructions
+ * ============
+ *
+ * Stack Manipulation
+ * ------------------
+ *
+ *  [0] PUSH c
+ *
+ *        stack.push(consts[c]);
+ *
+ *  [1] PUSH_UNDEFINED
+ *
+ *        stack.push(undefined);
+ *
+ *  [2] PUSH_NULL
+ *
+ *        stack.push(null);
+ *
+ *  [3] PUSH_FAILED
+ *
+ *        stack.push(FAILED);
+ *
+ *  [4] PUSH_EMPTY_ARRAY
+ *
+ *        stack.push([]);
+ *
+ *  [5] PUSH_CURR_POS
+ *
+ *        stack.push(currPos);
+ *
+ *  [6] POP
+ *
+ *        stack.pop();
+ *
+ *  [7] POP_CURR_POS
+ *
+ *        currPos = stack.pop();
+ *
+ *  [8] POP_N n
+ *
+ *        stack.pop(n);
+ *
+ *  [9] NIP
+ *
+ *        value = stack.pop();
+ *        stack.pop();
+ *        stack.push(value);
+ *
+ * [10] APPEND
+ *
+ *        value = stack.pop();
+ *        array = stack.pop();
+ *        array.push(value);
+ *        stack.push(array);
+ *
+ * [11] WRAP n
+ *
+ *        stack.push(stack.pop(n));
+ *
+ * [12] TEXT
+ *
+ *        stack.push(input.substring(stack.pop(), currPos));
+ *
+ * Conditions and Loops
+ * --------------------
+ *
+ * [13] IF t, f
+ *
+ *        if (stack.top()) {
+ *          interpret(ip + 3, ip + 3 + t);
+ *        } else {
+ *          interpret(ip + 3 + t, ip + 3 + t + f);
+ *        }
+ *
+ * [14] IF_ERROR t, f
+ *
+ *        if (stack.top() === FAILED) {
+ *          interpret(ip + 3, ip + 3 + t);
+ *        } else {
+ *          interpret(ip + 3 + t, ip + 3 + t + f);
+ *        }
+ *
+ * [15] IF_NOT_ERROR t, f
+ *
+ *        if (stack.top() !== FAILED) {
+ *          interpret(ip + 3, ip + 3 + t);
+ *        } else {
+ *          interpret(ip + 3 + t, ip + 3 + t + f);
+ *        }
+ *
+ * [16] WHILE_NOT_ERROR b
+ *
+ *        while(stack.top() !== FAILED) {
+ *          interpret(ip + 2, ip + 2 + b);
+ *        }
+ *
+ * Matching
+ * --------
+ *
+ * [17] MATCH_ANY a, f, ...
+ *
+ *        if (input.length > currPos) {
+ *          interpret(ip + 3, ip + 3 + a);
+ *        } else {
+ *          interpret(ip + 3 + a, ip + 3 + a + f);
+ *        }
+ *
+ * [18] MATCH_STRING s, a, f, ...
+ *
+ *        if (input.substr(currPos, consts[s].length) === consts[s]) {
+ *          interpret(ip + 4, ip + 4 + a);
+ *        } else {
+ *          interpret(ip + 4 + a, ip + 4 + a + f);
+ *        }
+ *
+ * [19] MATCH_STRING_IC s, a, f, ...
+ *
+ *        if (input.substr(currPos, consts[s].length).toLowerCase() === consts[s]) {
+ *          interpret(ip + 4, ip + 4 + a);
+ *        } else {
+ *          interpret(ip + 4 + a, ip + 4 + a + f);
+ *        }
+ *
+ * [20] MATCH_REGEXP r, a, f, ...
+ *
+ *        if (consts[r].test(input.charAt(currPos))) {
+ *          interpret(ip + 4, ip + 4 + a);
+ *        } else {
+ *          interpret(ip + 4 + a, ip + 4 + a + f);
+ *        }
+ *
+ * [21] ACCEPT_N n
+ *
+ *        stack.push(input.substring(currPos, n));
+ *        currPos += n;
+ *
+ * [22] ACCEPT_STRING s
+ *
+ *        stack.push(consts[s]);
+ *        currPos += consts[s].length;
+ *
+ * [23] FAIL e
+ *
+ *        stack.push(FAILED);
+ *        fail(consts[e]);
+ *
+ * Calls
+ * -----
+ *
+ * [24] LOAD_SAVED_POS p
+ *
+ *        savedPos = stack[p];
+ *
+ * [25] UPDATE_SAVED_POS
+ *
+ *        savedPos = currPos;
+ *
+ * [26] CALL f, n, pc, p1, p2, ..., pN
+ *
+ *        value = consts[f](stack[p1], ..., stack[pN]);
+ *        stack.pop(n);
+ *        stack.push(value);
+ *
+ * Rules
+ * -----
+ *
+ * [27] RULE r
+ *
+ *        stack.push(parseRule(r));
+ *
+ * Failure Reporting
+ * -----------------
+ *
+ * [28] SILENT_FAILS_ON
+ *
+ *        silentFails++;
+ *
+ * [29] SILENT_FAILS_OFF
+ *
+ *        silentFails--;
+ */
+function generateBytecode(ast) {
+  var consts = [];
+
+  function addConst(value) {
+    var index = arrays.indexOf(consts, value);
+
+    return index === -1 ? consts.push(value) - 1 : index;
+  }
+
+  function addFunctionConst(params, code) {
+    return addConst(
+      "function(" + params.join(", ") + ") {" + code + "}"
+    );
+  }
+
+  function buildSequence() {
+    return Array.prototype.concat.apply([], arguments);
+  }
+
+  function buildCondition(condCode, thenCode, elseCode) {
+    return condCode.concat(
+      [thenCode.length, elseCode.length],
+      thenCode,
+      elseCode
+    );
+  }
+
+  function buildLoop(condCode, bodyCode) {
+    return condCode.concat([bodyCode.length], bodyCode);
+  }
+
+  function buildCall(functionIndex, delta, env, sp) {
+    var params = arrays.map(objects.values(env), function(p) { return sp - p; });
+
+    return [op.CALL, functionIndex, delta, params.length].concat(params);
+  }
+
+  function buildSimplePredicate(expression, negative, context) {
+    return buildSequence(
+      [op.PUSH_CURR_POS],
+      [op.SILENT_FAILS_ON],
+      generate(expression, {
+        sp:     context.sp + 1,
+        env:    objects.clone(context.env),
+        action: null
+      }),
+      [op.SILENT_FAILS_OFF],
+      buildCondition(
+        [negative ? op.IF_ERROR : op.IF_NOT_ERROR],
+        buildSequence(
+          [op.POP],
+          [negative ? op.POP : op.POP_CURR_POS],
+          [op.PUSH_UNDEFINED]
+        ),
+        buildSequence(
+          [op.POP],
+          [negative ? op.POP_CURR_POS : op.POP],
+          [op.PUSH_FAILED]
+        )
+      )
+    );
+  }
+
+  function buildSemanticPredicate(code, negative, context) {
+    var functionIndex = addFunctionConst(objects.keys(context.env), code);
+
+    return buildSequence(
+      [op.UPDATE_SAVED_POS],
+      buildCall(functionIndex, 0, context.env, context.sp),
+      buildCondition(
+        [op.IF],
+        buildSequence(
+          [op.POP],
+          negative ? [op.PUSH_FAILED] : [op.PUSH_UNDEFINED]
+        ),
+        buildSequence(
+          [op.POP],
+          negative ? [op.PUSH_UNDEFINED] : [op.PUSH_FAILED]
+        )
+      )
+    );
+  }
+
+  function buildAppendLoop(expressionCode) {
+    return buildLoop(
+      [op.WHILE_NOT_ERROR],
+      buildSequence([op.APPEND], expressionCode)
+    );
+  }
+
+  var generate = visitor.build({
+    grammar: function(node) {
+      arrays.each(node.rules, generate);
+
+      node.consts = consts;
+    },
+
+    rule: function(node) {
+      node.bytecode = generate(node.expression, {
+        sp:     -1,    // stack pointer
+        env:    { },   // mapping of label names to stack positions
+        action: null   // action nodes pass themselves to children here
+      });
+    },
+
+    named: function(node, context) {
+      var nameIndex = addConst(
+        '{ type: "other", description: "' + js.stringEscape(node.name) + '" }'
+      );
+
+      /*
+       * The code generated below is slightly suboptimal because |FAIL| pushes
+       * to the stack, so we need to stick a |POP| in front of it. We lack a
+       * dedicated instruction that would just report the failure and not touch
+       * the stack.
+       */
+      return buildSequence(
+        [op.SILENT_FAILS_ON],
+        generate(node.expression, context),
+        [op.SILENT_FAILS_OFF],
+        buildCondition([op.IF_ERROR], [op.FAIL, nameIndex], [])
+      );
+    },
+
+    choice: function(node, context) {
+      function buildAlternativesCode(alternatives, context) {
+        return buildSequence(
+          generate(alternatives[0], {
+            sp:     context.sp,
+            env:    objects.clone(context.env),
+            action: null
+          }),
+          alternatives.length > 1
+            ? buildCondition(
+                [op.IF_ERROR],
+                buildSequence(
+                  [op.POP],
+                  buildAlternativesCode(alternatives.slice(1), context)
+                ),
+                []
+              )
+            : []
+        );
+      }
+
+      return buildAlternativesCode(node.alternatives, context);
+    },
+
+    action: function(node, context) {
+      var env            = objects.clone(context.env),
+          emitCall       = node.expression.type !== "sequence"
+                        || node.expression.elements.length === 0,
+          expressionCode = generate(node.expression, {
+            sp:     context.sp + (emitCall ? 1 : 0),
+            env:    env,
+            action: node
+          }),
+          functionIndex  = addFunctionConst(objects.keys(env), node.code);
+
+      return emitCall
+        ? buildSequence(
+            [op.PUSH_CURR_POS],
+            expressionCode,
+            buildCondition(
+              [op.IF_NOT_ERROR],
+              buildSequence(
+                [op.LOAD_SAVED_POS, 1],
+                buildCall(functionIndex, 1, env, context.sp + 2)
+              ),
+              []
+            ),
+            [op.NIP]
+          )
+        : expressionCode;
+    },
+
+    sequence: function(node, context) {
+      function buildElementsCode(elements, context) {
+        var processedCount, functionIndex;
+
+        if (elements.length > 0) {
+          processedCount = node.elements.length - elements.slice(1).length;
+
+          return buildSequence(
+            generate(elements[0], {
+              sp:     context.sp,
+              env:    context.env,
+              action: null
+            }),
+            buildCondition(
+              [op.IF_NOT_ERROR],
+              buildElementsCode(elements.slice(1), {
+                sp:     context.sp + 1,
+                env:    context.env,
+                action: context.action
+              }),
+              buildSequence(
+                processedCount > 1 ? [op.POP_N, processedCount] : [op.POP],
+                [op.POP_CURR_POS],
+                [op.PUSH_FAILED]
+              )
+            )
+          );
+        } else {
+          if (context.action) {
+            functionIndex = addFunctionConst(
+              objects.keys(context.env),
+              context.action.code
+            );
+
+            return buildSequence(
+              [op.LOAD_SAVED_POS, node.elements.length],
+              buildCall(
+                functionIndex,
+                node.elements.length,
+                context.env,
+                context.sp
+              ),
+              [op.NIP]
+            );
+          } else {
+            return buildSequence([op.WRAP, node.elements.length], [op.NIP]);
+          }
+        }
+      }
+
+      return buildSequence(
+        [op.PUSH_CURR_POS],
+        buildElementsCode(node.elements, {
+          sp:     context.sp + 1,
+          env:    context.env,
+          action: context.action
+        })
+      );
+    },
+
+    labeled: function(node, context) {
+      var env = objects.clone(context.env);
+
+      context.env[node.label] = context.sp + 1;
+
+      return generate(node.expression, {
+        sp:     context.sp,
+        env:    env,
+        action: null
+      });
+    },
+
+    text: function(node, context) {
+      return buildSequence(
+        [op.PUSH_CURR_POS],
+        generate(node.expression, {
+          sp:     context.sp + 1,
+          env:    objects.clone(context.env),
+          action: null
+        }),
+        buildCondition(
+          [op.IF_NOT_ERROR],
+          buildSequence([op.POP], [op.TEXT]),
+          [op.NIP]
+        )
+      );
+    },
+
+    simple_and: function(node, context) {
+      return buildSimplePredicate(node.expression, false, context);
+    },
+
+    simple_not: function(node, context) {
+      return buildSimplePredicate(node.expression, true, context);
+    },
+
+    optional: function(node, context) {
+      return buildSequence(
+        generate(node.expression, {
+          sp:     context.sp,
+          env:    objects.clone(context.env),
+          action: null
+        }),
+        buildCondition(
+          [op.IF_ERROR],
+          buildSequence([op.POP], [op.PUSH_NULL]),
+          []
+        )
+      );
+    },
+
+    zero_or_more: function(node, context) {
+      var expressionCode = generate(node.expression, {
+            sp:     context.sp + 1,
+            env:    objects.clone(context.env),
+            action: null
+          });
+
+      return buildSequence(
+        [op.PUSH_EMPTY_ARRAY],
+        expressionCode,
+        buildAppendLoop(expressionCode),
+        [op.POP]
+      );
+    },
+
+    one_or_more: function(node, context) {
+      var expressionCode = generate(node.expression, {
+            sp:     context.sp + 1,
+            env:    objects.clone(context.env),
+            action: null
+          });
+
+      return buildSequence(
+        [op.PUSH_EMPTY_ARRAY],
+        expressionCode,
+        buildCondition(
+          [op.IF_NOT_ERROR],
+          buildSequence(buildAppendLoop(expressionCode), [op.POP]),
+          buildSequence([op.POP], [op.POP], [op.PUSH_FAILED])
+        )
+      );
+    },
+
+    semantic_and: function(node, context) {
+      return buildSemanticPredicate(node.code, false, context);
+    },
+
+    semantic_not: function(node, context) {
+      return buildSemanticPredicate(node.code, true, context);
+    },
+
+    rule_ref: function(node) {
+      return [op.RULE, asts.indexOfRule(ast, node.name)];
+    },
+
+    literal: function(node) {
+      var stringIndex, expectedIndex;
+
+      if (node.value.length > 0) {
+        stringIndex = addConst('"'
+          + js.stringEscape(
+              node.ignoreCase ? node.value.toLowerCase() : node.value
+            )
+          + '"'
+        );
+        expectedIndex = addConst([
+          '{',
+          'type: "literal",',
+          'value: "' + js.stringEscape(node.value) + '",',
+          'description: "'
+             + js.stringEscape('"' + js.stringEscape(node.value) + '"')
+             + '"',
+          '}'
+        ].join(' '));
+
+        /*
+         * For case-sensitive strings the value must match the beginning of the
+         * remaining input exactly. As a result, we can use |ACCEPT_STRING| and
+         * save one |substr| call that would be needed if we used |ACCEPT_N|.
+         */
+        return buildCondition(
+          node.ignoreCase
+            ? [op.MATCH_STRING_IC, stringIndex]
+            : [op.MATCH_STRING, stringIndex],
+          node.ignoreCase
+            ? [op.ACCEPT_N, node.value.length]
+            : [op.ACCEPT_STRING, stringIndex],
+          [op.FAIL, expectedIndex]
+        );
+      } else {
+        stringIndex = addConst('""');
+
+        return [op.PUSH, stringIndex];
+      }
+    },
+
+    "class": function(node) {
+      var regexp, regexpIndex, expectedIndex;
+
+      if (node.parts.length > 0) {
+        regexp = '/^['
+          + (node.inverted ? '^' : '')
+          + arrays.map(node.parts, function(part) {
+              return part instanceof Array
+                ? js.regexpClassEscape(part[0])
+                  + '-'
+                  + js.regexpClassEscape(part[1])
+                : js.regexpClassEscape(part);
+            }).join('')
+          + ']/' + (node.ignoreCase ? 'i' : '');
+      } else {
+        /*
+         * IE considers regexps /[]/ and /[^]/ as syntactically invalid, so we
+         * translate them into euqivalents it can handle.
+         */
+        regexp = node.inverted ? '/^[\\S\\s]/' : '/^(?!)/';
+      }
+
+      regexpIndex   = addConst(regexp);
+      expectedIndex = addConst([
+        '{',
+        'type: "class",',
+        'value: "' + js.stringEscape(node.rawText) + '",',
+        'description: "' + js.stringEscape(node.rawText) + '"',
+        '}'
+      ].join(' '));
+
+      return buildCondition(
+        [op.MATCH_REGEXP, regexpIndex],
+        [op.ACCEPT_N, 1],
+        [op.FAIL, expectedIndex]
+      );
+    },
+
+    any: function() {
+      var expectedIndex = addConst('{ type: "any", description: "any character" }');
+
+      return buildCondition(
+        [op.MATCH_ANY],
+        [op.ACCEPT_N, 1],
+        [op.FAIL, expectedIndex]
+      );
+    }
+  });
+
+  generate(ast);
+}
+
+module.exports = generateBytecode;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/lib/compiler/passes/generate-javascript.js
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/lib/compiler/passes/generate-javascript.js b/node_modules/pegjs/lib/compiler/passes/generate-javascript.js
new file mode 100644
index 0000000..c4843f3
--- /dev/null
+++ b/node_modules/pegjs/lib/compiler/passes/generate-javascript.js
@@ -0,0 +1,1213 @@
+"use strict";
+
+var arrays = require("../../utils/arrays"),
+    asts   = require("../asts"),
+    op     = require("../opcodes"),
+    js     = require("../javascript");
+
+/* Generates parser JavaScript code. */
+function generateJavascript(ast, options) {
+  /* These only indent non-empty lines to avoid trailing whitespace. */
+  function indent2(code)  { return code.replace(/^(.+)$/gm, '  $1');         }
+  function indent4(code)  { return code.replace(/^(.+)$/gm, '    $1');       }
+  function indent8(code)  { return code.replace(/^(.+)$/gm, '        $1');   }
+  function indent10(code) { return code.replace(/^(.+)$/gm, '          $1'); }
+
+  function generateTables() {
+    if (options.optimize === "size") {
+      return [
+        'peg$consts = [',
+           indent2(ast.consts.join(',\n')),
+        '],',
+        '',
+        'peg$bytecode = [',
+           indent2(arrays.map(ast.rules, function(rule) {
+             return 'peg$decode("'
+                   + js.stringEscape(arrays.map(
+                       rule.bytecode,
+                       function(b) { return String.fromCharCode(b + 32); }
+                     ).join(''))
+                   + '")';
+           }).join(',\n')),
+        '],'
+      ].join('\n');
+    } else {
+      return arrays.map(
+        ast.consts,
+        function(c, i) { return 'peg$c' + i + ' = ' + c + ','; }
+      ).join('\n');
+    }
+  }
+
+  function generateRuleHeader(ruleNameCode, ruleIndexCode) {
+    var parts = [];
+
+    parts.push('');
+
+    if (options.trace) {
+      parts.push([
+        'peg$tracer.trace({',
+        '  type:     "rule.enter",',
+        '  rule:     ' + ruleNameCode + ',',
+        '  location: peg$computeLocation(startPos, startPos)',
+        '});',
+        ''
+      ].join('\n'));
+    }
+
+    if (options.cache) {
+      parts.push([
+        'var key    = peg$currPos * ' + ast.rules.length + ' + ' + ruleIndexCode + ',',
+        '    cached = peg$resultsCache[key];',
+        '',
+        'if (cached) {',
+        '  peg$currPos = cached.nextPos;',
+        '',
+      ].join('\n'));
+
+      if (options.trace) {
+        parts.push([
+          'if (cached.result !== peg$FAILED) {',
+          '  peg$tracer.trace({',
+          '    type:   "rule.match",',
+          '    rule:   ' + ruleNameCode + ',',
+          '    result: cached.result,',
+          '    location: peg$computeLocation(startPos, peg$currPos)',
+          '  });',
+          '} else {',
+          '  peg$tracer.trace({',
+          '    type: "rule.fail",',
+          '    rule: ' + ruleNameCode + ',',
+          '    location: peg$computeLocation(startPos, startPos)',
+          '  });',
+          '}',
+          ''
+        ].join('\n'));
+      }
+
+      parts.push([
+        '  return cached.result;',
+        '}',
+        ''
+      ].join('\n'));
+    }
+
+    return parts.join('\n');
+  }
+
+  function generateRuleFooter(ruleNameCode, resultCode) {
+    var parts = [];
+
+    if (options.cache) {
+      parts.push([
+        '',
+        'peg$resultsCache[key] = { nextPos: peg$currPos, result: ' + resultCode + ' };'
+      ].join('\n'));
+    }
+
+    if (options.trace) {
+      parts.push([
+          '',
+          'if (' + resultCode + ' !== peg$FAILED) {',
+          '  peg$tracer.trace({',
+          '    type:   "rule.match",',
+          '    rule:   ' + ruleNameCode + ',',
+          '    result: ' + resultCode + ',',
+          '    location: peg$computeLocation(startPos, peg$currPos)',
+          '  });',
+          '} else {',
+          '  peg$tracer.trace({',
+          '    type: "rule.fail",',
+          '    rule: ' + ruleNameCode + ',',
+          '    location: peg$computeLocation(startPos, startPos)',
+          '  });',
+          '}'
+      ].join('\n'));
+    }
+
+    parts.push([
+      '',
+      'return ' + resultCode + ';'
+    ].join('\n'));
+
+    return parts.join('\n');
+  }
+
+  function generateInterpreter() {
+    var parts = [];
+
+    function generateCondition(cond, argsLength) {
+      var baseLength      = argsLength + 3,
+          thenLengthCode = 'bc[ip + ' + (baseLength - 2) + ']',
+          elseLengthCode = 'bc[ip + ' + (baseLength - 1) + ']';
+
+      return [
+        'ends.push(end);',
+        'ips.push(ip + ' + baseLength + ' + ' + thenLengthCode + ' + ' + elseLengthCode + ');',
+        '',
+        'if (' + cond + ') {',
+        '  end = ip + ' + baseLength + ' + ' + thenLengthCode + ';',
+        '  ip += ' + baseLength + ';',
+        '} else {',
+        '  end = ip + ' + baseLength + ' + ' + thenLengthCode + ' + ' + elseLengthCode + ';',
+        '  ip += ' + baseLength + ' + ' + thenLengthCode + ';',
+        '}',
+        '',
+        'break;'
+      ].join('\n');
+    }
+
+    function generateLoop(cond) {
+      var baseLength     = 2,
+          bodyLengthCode = 'bc[ip + ' + (baseLength - 1) + ']';
+
+      return [
+        'if (' + cond + ') {',
+        '  ends.push(end);',
+        '  ips.push(ip);',
+        '',
+        '  end = ip + ' + baseLength + ' + ' + bodyLengthCode + ';',
+        '  ip += ' + baseLength + ';',
+        '} else {',
+        '  ip += ' + baseLength + ' + ' + bodyLengthCode + ';',
+        '}',
+        '',
+        'break;'
+      ].join('\n');
+    }
+
+    function generateCall() {
+      var baseLength       = 4,
+          paramsLengthCode = 'bc[ip + ' + (baseLength - 1) + ']';
+
+      return [
+        'params = bc.slice(ip + ' + baseLength + ', ip + ' + baseLength + ' + ' + paramsLengthCode + ');',
+        'for (i = 0; i < ' + paramsLengthCode + '; i++) {',
+        '  params[i] = stack[stack.length - 1 - params[i]];',
+        '}',
+        '',
+        'stack.splice(',
+        '  stack.length - bc[ip + 2],',
+        '  bc[ip + 2],',
+        '  peg$consts[bc[ip + 1]].apply(null, params)',
+        ');',
+        '',
+        'ip += ' + baseLength + ' + ' + paramsLengthCode + ';',
+        'break;'
+      ].join('\n');
+    }
+
+    parts.push([
+      'function peg$decode(s) {',
+      '  var bc = new Array(s.length), i;',
+      '',
+      '  for (i = 0; i < s.length; i++) {',
+      '    bc[i] = s.charCodeAt(i) - 32;',
+      '  }',
+      '',
+      '  return bc;',
+      '}',
+      '',
+      'function peg$parseRule(index) {',
+    ].join('\n'));
+
+    if (options.trace) {
+      parts.push([
+        '  var bc       = peg$bytecode[index],',
+        '      ip       = 0,',
+        '      ips      = [],',
+        '      end      = bc.length,',
+        '      ends     = [],',
+        '      stack    = [],',
+        '      startPos = peg$currPos,',
+        '      params, i;',
+      ].join('\n'));
+    } else {
+      parts.push([
+        '  var bc    = peg$bytecode[index],',
+        '      ip    = 0,',
+        '      ips   = [],',
+        '      end   = bc.length,',
+        '      ends  = [],',
+        '      stack = [],',
+        '      params, i;',
+      ].join('\n'));
+    }
+
+    parts.push(indent2(generateRuleHeader('peg$ruleNames[index]', 'index')));
+
+    parts.push([
+      /*
+       * The point of the outer loop and the |ips| & |ends| stacks is to avoid
+       * recursive calls for interpreting parts of bytecode. In other words, we
+       * implement the |interpret| operation of the abstract machine without
+       * function calls. Such calls would likely slow the parser down and more
+       * importantly cause stack overflows for complex grammars.
+       */
+      '  while (true) {',
+      '    while (ip < end) {',
+      '      switch (bc[ip]) {',
+      '        case ' + op.PUSH + ':',               // PUSH c
+      '          stack.push(peg$consts[bc[ip + 1]]);',
+      '          ip += 2;',
+      '          break;',
+      '',
+      '        case ' + op.PUSH_UNDEFINED + ':',     // PUSH_UNDEFINED
+      '          stack.push(void 0);',
+      '          ip++;',
+      '          break;',
+      '',
+      '        case ' + op.PUSH_NULL + ':',          // PUSH_NULL
+      '          stack.push(null);',
+      '          ip++;',
+      '          break;',
+      '',
+      '        case ' + op.PUSH_FAILED + ':',        // PUSH_FAILED
+      '          stack.push(peg$FAILED);',
+      '          ip++;',
+      '          break;',
+      '',
+      '        case ' + op.PUSH_EMPTY_ARRAY + ':',   // PUSH_EMPTY_ARRAY
+      '          stack.push([]);',
+      '          ip++;',
+      '          break;',
+      '',
+      '        case ' + op.PUSH_CURR_POS + ':',      // PUSH_CURR_POS
+      '          stack.push(peg$currPos);',
+      '          ip++;',
+      '          break;',
+      '',
+      '        case ' + op.POP + ':',                // POP
+      '          stack.pop();',
+      '          ip++;',
+      '          break;',
+      '',
+      '        case ' + op.POP_CURR_POS + ':',       // POP_CURR_POS
+      '          peg$currPos = stack.pop();',
+      '          ip++;',
+      '          break;',
+      '',
+      '        case ' + op.POP_N + ':',              // POP_N n
+      '          stack.length -= bc[ip + 1];',
+      '          ip += 2;',
+      '          break;',
+      '',
+      '        case ' + op.NIP + ':',                // NIP
+      '          stack.splice(-2, 1);',
+      '          ip++;',
+      '          break;',
+      '',
+      '        case ' + op.APPEND + ':',             // APPEND
+      '          stack[stack.length - 2].push(stack.pop());',
+      '          ip++;',
+      '          break;',
+      '',
+      '        case ' + op.WRAP + ':',               // WRAP n
+      '          stack.push(stack.splice(stack.length - bc[ip + 1], bc[ip + 1]));',
+      '          ip += 2;',
+      '          break;',
+      '',
+      '        case ' + op.TEXT + ':',               // TEXT
+      '          stack.push(input.substring(stack.pop(), peg$currPos));',
+      '          ip++;',
+      '          break;',
+      '',
+      '        case ' + op.IF + ':',                 // IF t, f
+                 indent10(generateCondition('stack[stack.length - 1]', 0)),
+      '',
+      '        case ' + op.IF_ERROR + ':',           // IF_ERROR t, f
+                 indent10(generateCondition(
+                   'stack[stack.length - 1] === peg$FAILED',
+                   0
+                 )),
+      '',
+      '        case ' + op.IF_NOT_ERROR + ':',       // IF_NOT_ERROR t, f
+                 indent10(
+                   generateCondition('stack[stack.length - 1] !== peg$FAILED',
+                   0
+                 )),
+      '',
+      '        case ' + op.WHILE_NOT_ERROR + ':',    // WHILE_NOT_ERROR b
+                 indent10(generateLoop('stack[stack.length - 1] !== peg$FAILED')),
+      '',
+      '        case ' + op.MATCH_ANY + ':',          // MATCH_ANY a, f, ...
+                 indent10(generateCondition('input.length > peg$currPos', 0)),
+      '',
+      '        case ' + op.MATCH_STRING + ':',       // MATCH_STRING s, a, f, ...
+                 indent10(generateCondition(
+                   'input.substr(peg$currPos, peg$consts[bc[ip + 1]].length) === peg$consts[bc[ip + 1]]',
+                   1
+                 )),
+      '',
+      '        case ' + op.MATCH_STRING_IC + ':',    // MATCH_STRING_IC s, a, f, ...
+                 indent10(generateCondition(
+                   'input.substr(peg$currPos, peg$consts[bc[ip + 1]].length).toLowerCase() === peg$consts[bc[ip + 1]]',
+                   1
+                 )),
+      '',
+      '        case ' + op.MATCH_REGEXP + ':',       // MATCH_REGEXP r, a, f, ...
+                 indent10(generateCondition(
+                   'peg$consts[bc[ip + 1]].test(input.charAt(peg$currPos))',
+                   1
+                 )),
+      '',
+      '        case ' + op.ACCEPT_N + ':',           // ACCEPT_N n
+      '          stack.push(input.substr(peg$currPos, bc[ip + 1]));',
+      '          peg$currPos += bc[ip + 1];',
+      '          ip += 2;',
+      '          break;',
+      '',
+      '        case ' + op.ACCEPT_STRING + ':',      // ACCEPT_STRING s
+      '          stack.push(peg$consts[bc[ip + 1]]);',
+      '          peg$currPos += peg$consts[bc[ip + 1]].length;',
+      '          ip += 2;',
+      '          break;',
+      '',
+      '        case ' + op.FAIL + ':',               // FAIL e
+      '          stack.push(peg$FAILED);',
+      '          if (peg$silentFails === 0) {',
+      '            peg$fail(peg$consts[bc[ip + 1]]);',
+      '          }',
+      '          ip += 2;',
+      '          break;',
+      '',
+      '        case ' + op.LOAD_SAVED_POS + ':',     // LOAD_SAVED_POS p
+      '          peg$savedPos = stack[stack.length - 1 - bc[ip + 1]];',
+      '          ip += 2;',
+      '          break;',
+      '',
+      '        case ' + op.UPDATE_SAVED_POS + ':',   // UPDATE_SAVED_POS
+      '          peg$savedPos = peg$currPos;',
+      '          ip++;',
+      '          break;',
+      '',
+      '        case ' + op.CALL + ':',               // CALL f, n, pc, p1, p2, ..., pN
+                 indent10(generateCall()),
+      '',
+      '        case ' + op.RULE + ':',               // RULE r
+      '          stack.push(peg$parseRule(bc[ip + 1]));',
+      '          ip += 2;',
+      '          break;',
+      '',
+      '        case ' + op.SILENT_FAILS_ON + ':',    // SILENT_FAILS_ON
+      '          peg$silentFails++;',
+      '          ip++;',
+      '          break;',
+      '',
+      '        case ' + op.SILENT_FAILS_OFF + ':',   // SILENT_FAILS_OFF
+      '          peg$silentFails--;',
+      '          ip++;',
+      '          break;',
+      '',
+      '        default:',
+      '          throw new Error("Invalid opcode: " + bc[ip] + ".");',
+      '      }',
+      '    }',
+      '',
+      '    if (ends.length > 0) {',
+      '      end = ends.pop();',
+      '      ip = ips.pop();',
+      '    } else {',
+      '      break;',
+      '    }',
+      '  }'
+    ].join('\n'));
+
+    parts.push(indent2(generateRuleFooter('peg$ruleNames[index]', 'stack[0]')));
+    parts.push('}');
+
+    return parts.join('\n');
+  }
+
+  function generateRuleFunction(rule) {
+    var parts = [], code;
+
+    function c(i) { return "peg$c" + i; } // |consts[i]| of the abstract machine
+    function s(i) { return "s"     + i; } // |stack[i]| of the abstract machine
+
+    var stack = {
+          sp:    -1,
+          maxSp: -1,
+
+          push: function(exprCode) {
+            var code = s(++this.sp) + ' = ' + exprCode + ';';
+
+            if (this.sp > this.maxSp) { this.maxSp = this.sp; }
+
+            return code;
+          },
+
+          pop: function() {
+            var n, values;
+
+            if (arguments.length === 0) {
+              return s(this.sp--);
+            } else {
+              n = arguments[0];
+              values = arrays.map(arrays.range(this.sp - n + 1, this.sp + 1), s);
+              this.sp -= n;
+
+              return values;
+            }
+          },
+
+          top: function() {
+            return s(this.sp);
+          },
+
+          index: function(i) {
+            return s(this.sp - i);
+          }
+        };
+
+    function compile(bc) {
+      var ip    = 0,
+          end   = bc.length,
+          parts = [],
+          value;
+
+      function compileCondition(cond, argCount) {
+        var baseLength = argCount + 3,
+            thenLength = bc[ip + baseLength - 2],
+            elseLength = bc[ip + baseLength - 1],
+            baseSp     = stack.sp,
+            thenCode, elseCode, thenSp, elseSp;
+
+        ip += baseLength;
+        thenCode = compile(bc.slice(ip, ip + thenLength));
+        thenSp = stack.sp;
+        ip += thenLength;
+
+        if (elseLength > 0) {
+          stack.sp = baseSp;
+          elseCode = compile(bc.slice(ip, ip + elseLength));
+          elseSp = stack.sp;
+          ip += elseLength;
+
+          if (thenSp !== elseSp) {
+            throw new Error(
+              "Branches of a condition must move the stack pointer in the same way."
+            );
+          }
+        }
+
+        parts.push('if (' + cond + ') {');
+        parts.push(indent2(thenCode));
+        if (elseLength > 0) {
+          parts.push('} else {');
+          parts.push(indent2(elseCode));
+        }
+        parts.push('}');
+      }
+
+      function compileLoop(cond) {
+        var baseLength = 2,
+            bodyLength = bc[ip + baseLength - 1],
+            baseSp     = stack.sp,
+            bodyCode, bodySp;
+
+        ip += baseLength;
+        bodyCode = compile(bc.slice(ip, ip + bodyLength));
+        bodySp = stack.sp;
+        ip += bodyLength;
+
+        if (bodySp !== baseSp) {
+          throw new Error("Body of a loop can't move the stack pointer.");
+        }
+
+        parts.push('while (' + cond + ') {');
+        parts.push(indent2(bodyCode));
+        parts.push('}');
+      }
+
+      function compileCall() {
+        var baseLength   = 4,
+            paramsLength = bc[ip + baseLength - 1];
+
+        var value = c(bc[ip + 1]) + '('
+              + arrays.map(
+                  bc.slice(ip + baseLength, ip + baseLength + paramsLength),
+                  function(p) { return stack.index(p); }
+                ).join(', ')
+              + ')';
+        stack.pop(bc[ip + 2]);
+        parts.push(stack.push(value));
+        ip += baseLength + paramsLength;
+      }
+
+      while (ip < end) {
+        switch (bc[ip]) {
+          case op.PUSH:               // PUSH c
+            parts.push(stack.push(c(bc[ip + 1])));
+            ip += 2;
+            break;
+
+          case op.PUSH_CURR_POS:      // PUSH_CURR_POS
+            parts.push(stack.push('peg$currPos'));
+            ip++;
+            break;
+
+          case op.PUSH_UNDEFINED:      // PUSH_UNDEFINED
+            parts.push(stack.push('void 0'));
+            ip++;
+            break;
+
+          case op.PUSH_NULL:          // PUSH_NULL
+            parts.push(stack.push('null'));
+            ip++;
+            break;
+
+          case op.PUSH_FAILED:        // PUSH_FAILED
+            parts.push(stack.push('peg$FAILED'));
+            ip++;
+            break;
+
+          case op.PUSH_EMPTY_ARRAY:   // PUSH_EMPTY_ARRAY
+            parts.push(stack.push('[]'));
+            ip++;
+            break;
+
+          case op.POP:                // POP
+            stack.pop();
+            ip++;
+            break;
+
+          case op.POP_CURR_POS:       // POP_CURR_POS
+            parts.push('peg$currPos = ' + stack.pop() + ';');
+            ip++;
+            break;
+
+          case op.POP_N:              // POP_N n
+            stack.pop(bc[ip + 1]);
+            ip += 2;
+            break;
+
+          case op.NIP:                // NIP
+            value = stack.pop();
+            stack.pop();
+            parts.push(stack.push(value));
+            ip++;
+            break;
+
+          case op.APPEND:             // APPEND
+            value = stack.pop();
+            parts.push(stack.top() + '.push(' + value + ');');
+            ip++;
+            break;
+
+          case op.WRAP:               // WRAP n
+            parts.push(
+              stack.push('[' + stack.pop(bc[ip + 1]).join(', ') + ']')
+            );
+            ip += 2;
+            break;
+
+          case op.TEXT:               // TEXT
+            parts.push(
+              stack.push('input.substring(' + stack.pop() + ', peg$currPos)')
+            );
+            ip++;
+            break;
+
+          case op.IF:                 // IF t, f
+            compileCondition(stack.top(), 0);
+            break;
+
+          case op.IF_ERROR:           // IF_ERROR t, f
+            compileCondition(stack.top() + ' === peg$FAILED', 0);
+            break;
+
+          case op.IF_NOT_ERROR:       // IF_NOT_ERROR t, f
+            compileCondition(stack.top() + ' !== peg$FAILED', 0);
+            break;
+
+          case op.WHILE_NOT_ERROR:    // WHILE_NOT_ERROR b
+            compileLoop(stack.top() + ' !== peg$FAILED', 0);
+            break;
+
+          case op.MATCH_ANY:          // MATCH_ANY a, f, ...
+            compileCondition('input.length > peg$currPos', 0);
+            break;
+
+          case op.MATCH_STRING:       // MATCH_STRING s, a, f, ...
+            compileCondition(
+              eval(ast.consts[bc[ip + 1]]).length > 1
+                ? 'input.substr(peg$currPos, '
+                    + eval(ast.consts[bc[ip + 1]]).length
+                    + ') === '
+                    + c(bc[ip + 1])
+                : 'input.charCodeAt(peg$currPos) === '
+                    + eval(ast.consts[bc[ip + 1]]).charCodeAt(0),
+              1
+            );
+            break;
+
+          case op.MATCH_STRING_IC:    // MATCH_STRING_IC s, a, f, ...
+            compileCondition(
+              'input.substr(peg$currPos, '
+                + eval(ast.consts[bc[ip + 1]]).length
+                + ').toLowerCase() === '
+                + c(bc[ip + 1]),
+              1
+            );
+            break;
+
+          case op.MATCH_REGEXP:       // MATCH_REGEXP r, a, f, ...
+            compileCondition(
+              c(bc[ip + 1]) + '.test(input.charAt(peg$currPos))',
+              1
+            );
+            break;
+
+          case op.ACCEPT_N:           // ACCEPT_N n
+            parts.push(stack.push(
+              bc[ip + 1] > 1
+                ? 'input.substr(peg$currPos, ' + bc[ip + 1] + ')'
+                : 'input.charAt(peg$currPos)'
+            ));
+            parts.push(
+              bc[ip + 1] > 1
+                ? 'peg$currPos += ' + bc[ip + 1] + ';'
+                : 'peg$currPos++;'
+            );
+            ip += 2;
+            break;
+
+          case op.ACCEPT_STRING:      // ACCEPT_STRING s
+            parts.push(stack.push(c(bc[ip + 1])));
+            parts.push(
+              eval(ast.consts[bc[ip + 1]]).length > 1
+                ? 'peg$currPos += ' + eval(ast.consts[bc[ip + 1]]).length + ';'
+                : 'peg$currPos++;'
+            );
+            ip += 2;
+            break;
+
+          case op.FAIL:               // FAIL e
+            parts.push(stack.push('peg$FAILED'));
+            parts.push('if (peg$silentFails === 0) { peg$fail(' + c(bc[ip + 1]) + '); }');
+            ip += 2;
+            break;
+
+          case op.LOAD_SAVED_POS:     // LOAD_SAVED_POS p
+            parts.push('peg$savedPos = ' + stack.index(bc[ip + 1]) + ';');
+            ip += 2;
+            break;
+
+          case op.UPDATE_SAVED_POS:   // UPDATE_SAVED_POS
+            parts.push('peg$savedPos = peg$currPos;');
+            ip++;
+            break;
+
+          case op.CALL:               // CALL f, n, pc, p1, p2, ..., pN
+            compileCall();
+            break;
+
+          case op.RULE:               // RULE r
+            parts.push(stack.push("peg$parse" + ast.rules[bc[ip + 1]].name + "()"));
+            ip += 2;
+            break;
+
+          case op.SILENT_FAILS_ON:    // SILENT_FAILS_ON
+            parts.push('peg$silentFails++;');
+            ip++;
+            break;
+
+          case op.SILENT_FAILS_OFF:   // SILENT_FAILS_OFF
+            parts.push('peg$silentFails--;');
+            ip++;
+            break;
+
+          default:
+            throw new Error("Invalid opcode: " + bc[ip] + ".");
+        }
+      }
+
+      return parts.join('\n');
+    }
+
+    code = compile(rule.bytecode);
+
+    parts.push('function peg$parse' + rule.name + '() {');
+
+    if (options.trace) {
+      parts.push([
+        '  var ' + arrays.map(arrays.range(0, stack.maxSp + 1), s).join(', ') + ',',
+        '      startPos = peg$currPos;'
+      ].join('\n'));
+    } else {
+      parts.push(
+        '  var ' + arrays.map(arrays.range(0, stack.maxSp + 1), s).join(', ') + ';'
+      );
+    }
+
+    parts.push(indent2(generateRuleHeader(
+      '"' + js.stringEscape(rule.name) + '"',
+      asts.indexOfRule(ast, rule.name)
+    )));
+    parts.push(indent2(code));
+    parts.push(indent2(generateRuleFooter(
+      '"' + js.stringEscape(rule.name) + '"',
+      s(0)
+    )));
+
+    parts.push('}');
+
+    return parts.join('\n');
+  }
+
+  var parts = [],
+      startRuleIndices,   startRuleIndex,
+      startRuleFunctions, startRuleFunction,
+      ruleNames;
+
+  parts.push([
+    '(function() {',
+    '  "use strict";',
+    '',
+    '  /*',
+    '   * Generated by PEG.js 0.9.0.',
+    '   *',
+    '   * http://pegjs.org/',
+    '   */',
+    '',
+    '  function peg$subclass(child, parent) {',
+    '    function ctor() { this.constructor = child; }',
+    '    ctor.prototype = parent.prototype;',
+    '    child.prototype = new ctor();',
+    '  }',
+    '',
+    '  function peg$SyntaxError(message, expected, found, location) {',
+    '    this.message  = message;',
+    '    this.expected = expected;',
+    '    this.found    = found;',
+    '    this.location = location;',
+    '    this.name     = "SyntaxError";',
+    '',
+    '    if (typeof Error.captureStackTrace === "function") {',
+    '      Error.captureStackTrace(this, peg$SyntaxError);',
+    '    }',
+    '  }',
+    '',
+    '  peg$subclass(peg$SyntaxError, Error);',
+    ''
+  ].join('\n'));
+
+  if (options.trace) {
+    parts.push([
+      '  function peg$DefaultTracer() {',
+      '    this.indentLevel = 0;',
+      '  }',
+      '',
+      '  peg$DefaultTracer.prototype.trace = function(event) {',
+      '    var that = this;',
+      '',
+      '    function log(event) {',
+      '      function repeat(string, n) {',
+      '         var result = "", i;',
+      '',
+      '         for (i = 0; i < n; i++) {',
+      '           result += string;',
+      '         }',
+      '',
+      '         return result;',
+      '      }',
+      '',
+      '      function pad(string, length) {',
+      '        return string + repeat(" ", length - string.length);',
+      '      }',
+      '',
+      '      if (typeof console === "object") {',   // IE 8-10
+      '        console.log(',
+      '          event.location.start.line + ":" + event.location.start.column + "-"',
+      '            + event.location.end.line + ":" + event.location.end.column + " "',
+      '            + pad(event.type, 10) + " "',
+      '            + repeat("  ", that.indentLevel) + event.rule',
+      '        );',
+      '      }',
+      '    }',
+      '',
+      '    switch (event.type) {',
+      '      case "rule.enter":',
+      '        log(event);',
+      '        this.indentLevel++;',
+      '        break;',
+      '',
+      '      case "rule.match":',
+      '        this.indentLevel--;',
+      '        log(event);',
+      '        break;',
+      '',
+      '      case "rule.fail":',
+      '        this.indentLevel--;',
+      '        log(event);',
+      '        break;',
+      '',
+      '      default:',
+      '        throw new Error("Invalid event type: " + event.type + ".");',
+      '    }',
+      '  };',
+      ''
+    ].join('\n'));
+  }
+
+  parts.push([
+    '  function peg$parse(input) {',
+    '    var options = arguments.length > 1 ? arguments[1] : {},',
+    '        parser  = this,',
+    '',
+    '        peg$FAILED = {},',
+    ''
+  ].join('\n'));
+
+  if (options.optimize === "size") {
+    startRuleIndices = '{ '
+                     + arrays.map(
+                         options.allowedStartRules,
+                         function(r) { return r + ': ' + asts.indexOfRule(ast, r); }
+                       ).join(', ')
+                     + ' }';
+    startRuleIndex = asts.indexOfRule(ast, options.allowedStartRules[0]);
+
+    parts.push([
+      '        peg$startRuleIndices = ' + startRuleIndices + ',',
+      '        peg$startRuleIndex   = ' + startRuleIndex + ','
+    ].join('\n'));
+  } else {
+    startRuleFunctions = '{ '
+                     + arrays.map(
+                         options.allowedStartRules,
+                         function(r) { return r + ': peg$parse' + r; }
+                       ).join(', ')
+                     + ' }';
+    startRuleFunction = 'peg$parse' + options.allowedStartRules[0];
+
+    parts.push([
+      '        peg$startRuleFunctions = ' + startRuleFunctions + ',',
+      '        peg$startRuleFunction  = ' + startRuleFunction + ','
+    ].join('\n'));
+  }
+
+  parts.push('');
+
+  parts.push(indent8(generateTables()));
+
+  parts.push([
+    '',
+    '        peg$currPos          = 0,',
+    '        peg$savedPos         = 0,',
+    '        peg$posDetailsCache  = [{ line: 1, column: 1, seenCR: false }],',
+    '        peg$maxFailPos       = 0,',
+    '        peg$maxFailExpected  = [],',
+    '        peg$silentFails      = 0,',   // 0 = report failures, > 0 = silence failures
+    ''
+  ].join('\n'));
+
+  if (options.cache) {
+    parts.push([
+      '        peg$resultsCache = {},',
+      ''
+    ].join('\n'));
+  }
+
+  if (options.trace) {
+    if (options.optimize === "size") {
+      ruleNames = '['
+                + arrays.map(
+                    ast.rules,
+                    function(r) { return '"' + js.stringEscape(r.name) + '"'; }
+                  ).join(', ')
+                + ']';
+
+      parts.push([
+        '        peg$ruleNames = ' + ruleNames + ',',
+        ''
+      ].join('\n'));
+    }
+
+    parts.push([
+      '        peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer(),',
+      ''
+    ].join('\n'));
+  }
+
+  parts.push([
+    '        peg$result;',
+    ''
+  ].join('\n'));
+
+  if (options.optimize === "size") {
+    parts.push([
+      '    if ("startRule" in options) {',
+      '      if (!(options.startRule in peg$startRuleIndices)) {',
+      '        throw new Error("Can\'t start parsing from rule \\"" + options.startRule + "\\".");',
+      '      }',
+      '',
+      '      peg$startRuleIndex = peg$startRuleIndices[options.startRule];',
+      '    }'
+    ].join('\n'));
+  } else {
+    parts.push([
+      '    if ("startRule" in options) {',
+      '      if (!(options.startRule in peg$startRuleFunctions)) {',
+      '        throw new Error("Can\'t start parsing from rule \\"" + options.startRule + "\\".");',
+      '      }',
+      '',
+      '      peg$startRuleFunction = peg$startRuleFunctions[options.startRule];',
+      '    }'
+    ].join('\n'));
+  }
+
+  parts.push([
+    '',
+    '    function text() {',
+    '      return input.substring(peg$savedPos, peg$currPos);',
+    '    }',
+    '',
+    '    function location() {',
+    '      return peg$computeLocation(peg$savedPos, peg$currPos);',
+    '    }',
+    '',
+    '    function expected(description) {',
+    '      throw peg$buildException(',
+    '        null,',
+    '        [{ type: "other", description: description }],',
+    '        input.substring(peg$savedPos, peg$currPos),',
+    '        peg$computeLocation(peg$savedPos, peg$currPos)',
+    '      );',
+    '    }',
+    '',
+    '    function error(message) {',
+    '      throw peg$buildException(',
+    '        message,',
+    '        null,',
+    '        input.substring(peg$savedPos, peg$currPos),',
+    '        peg$computeLocation(peg$savedPos, peg$currPos)',
+    '      );',
+    '    }',
+    '',
+    '    function peg$computePosDetails(pos) {',
+    '      var details = peg$posDetailsCache[pos],',
+    '          p, ch;',
+    '',
+    '      if (details) {',
+    '        return details;',
+    '      } else {',
+    '        p = pos - 1;',
+    '        while (!peg$posDetailsCache[p]) {',
+    '          p--;',
+    '        }',
+    '',
+    '        details = peg$posDetailsCache[p];',
+    '        details = {',
+    '          line:   details.line,',
+    '          column: details.column,',
+    '          seenCR: details.seenCR',
+    '        };',
+    '',
+    '        while (p < pos) {',
+    '          ch = input.charAt(p);',
+    '          if (ch === "\\n") {',
+    '            if (!details.seenCR) { details.line++; }',
+    '            details.column = 1;',
+    '            details.seenCR = false;',
+    '          } else if (ch === "\\r" || ch === "\\u2028" || ch === "\\u2029") {',
+    '            details.line++;',
+    '            details.column = 1;',
+    '            details.seenCR = true;',
+    '          } else {',
+    '            details.column++;',
+    '            details.seenCR = false;',
+    '          }',
+    '',
+    '          p++;',
+    '        }',
+    '',
+    '        peg$posDetailsCache[pos] = details;',
+    '        return details;',
+    '      }',
+    '    }',
+    '',
+    '    function peg$computeLocation(startPos, endPos) {',
+    '      var startPosDetails = peg$computePosDetails(startPos),',
+    '          endPosDetails   = peg$computePosDetails(endPos);',
+    '',
+    '      return {',
+    '        start: {',
+    '          offset: startPos,',
+    '          line:   startPosDetails.line,',
+    '          column: startPosDetails.column',
+    '        },',
+    '        end: {',
+    '          offset: endPos,',
+    '          line:   endPosDetails.line,',
+    '          column: endPosDetails.column',
+    '        }',
+    '      };',
+    '    }',
+    '',
+    '    function peg$fail(expected) {',
+    '      if (peg$currPos < peg$maxFailPos) { return; }',
+    '',
+    '      if (peg$currPos > peg$maxFailPos) {',
+    '        peg$maxFailPos = peg$currPos;',
+    '        peg$maxFailExpected = [];',
+    '      }',
+    '',
+    '      peg$maxFailExpected.push(expected);',
+    '    }',
+    '',
+    '    function peg$buildException(message, expected, found, location) {',
+    '      function cleanupExpected(expected) {',
+    '        var i = 1;',
+    '',
+    '        expected.sort(function(a, b) {',
+    '          if (a.description < b.description) {',
+    '            return -1;',
+    '          } else if (a.description > b.description) {',
+    '            return 1;',
+    '          } else {',
+    '            return 0;',
+    '          }',
+    '        });',
+    '',
+    /*
+     * This works because the bytecode generator guarantees that every
+     * expectation object exists only once, so it's enough to use |===| instead
+     * of deeper structural comparison.
+     */
+    '        while (i < expected.length) {',
+    '          if (expected[i - 1] === expected[i]) {',
+    '            expected.splice(i, 1);',
+    '          } else {',
+    '            i++;',
+    '          }',
+    '        }',
+    '      }',
+    '',
+    '      function buildMessage(expected, found) {',
+    '        function stringEscape(s) {',
+    '          function hex(ch) { return ch.charCodeAt(0).toString(16).toUpperCase(); }',
+    '',
+    /*
+     * ECMA-262, 5th ed., 7.8.4: All characters may appear literally in a string
+     * literal except for the closing quote character, backslash, carriage
+     * return, line separator, paragraph separator, and line feed. Any character
+     * may appear in the form of an escape sequence.
+     *
+     * For portability, we also escape all control and non-ASCII characters.
+     * Note that "\0" and "\v" escape sequences are not used because JSHint does
+     * not like the first and IE the second.
+     */
+    '          return s',
+    '            .replace(/\\\\/g,   \'\\\\\\\\\')',   // backslash
+    '            .replace(/"/g,    \'\\\\"\')',        // closing double quote
+    '            .replace(/\\x08/g, \'\\\\b\')',       // backspace
+    '            .replace(/\\t/g,   \'\\\\t\')',       // horizontal tab
+    '            .replace(/\\n/g,   \'\\\\n\')',       // line feed
+    '            .replace(/\\f/g,   \'\\\\f\')',       // form feed
+    '            .replace(/\\r/g,   \'\\\\r\')',       // carriage return
+    '            .replace(/[\\x00-\\x07\\x0B\\x0E\\x0F]/g, function(ch) { return \'\\\\x0\' + hex(ch); })',
+    '            .replace(/[\\x10-\\x1F\\x80-\\xFF]/g,    function(ch) { return \'\\\\x\'  + hex(ch); })',
+    '            .replace(/[\\u0100-\\u0FFF]/g,         function(ch) { return \'\\\\u0\' + hex(ch); })',
+    '            .replace(/[\\u1000-\\uFFFF]/g,         function(ch) { return \'\\\\u\'  + hex(ch); });',
+    '        }',
+    '',
+    '        var expectedDescs = new Array(expected.length),',
+    '            expectedDesc, foundDesc, i;',
+    '',
+    '        for (i = 0; i < expected.length; i++) {',
+    '          expectedDescs[i] = expected[i].description;',
+    '        }',
+    '',
+    '        expectedDesc = expected.length > 1',
+    '          ? expectedDescs.slice(0, -1).join(", ")',
+    '              + " or "',
+    '              + expectedDescs[expected.length - 1]',
+    '          : expectedDescs[0];',
+    '',
+    '        foundDesc = found ? "\\"" + stringEscape(found) + "\\"" : "end of input";',
+    '',
+    '        return "Expected " + expectedDesc + " but " + foundDesc + " found.";',
+    '      }',
+    '',
+    '      if (expected !== null) {',
+    '        cleanupExpected(expected);',
+    '      }',
+    '',
+    '      return new peg$SyntaxError(',
+    '        message !== null ? message : buildMessage(expected, found),',
+    '        expected,',
+    '        found,',
+    '        location',
+    '      );',
+    '    }',
+    ''
+  ].join('\n'));
+
+  if (options.optimize === "size") {
+    parts.push(indent4(generateInterpreter()));
+    parts.push('');
+  } else {
+    arrays.each(ast.rules, function(rule) {
+      parts.push(indent4(generateRuleFunction(rule)));
+      parts.push('');
+    });
+  }
+
+  if (ast.initializer) {
+    parts.push(indent4(ast.initializer.code));
+    parts.push('');
+  }
+
+  if (options.optimize === "size") {
+    parts.push('    peg$result = peg$parseRule(peg$startRuleIndex);');
+  } else {
+    parts.push('    peg$result = peg$startRuleFunction();');
+  }
+
+  parts.push([
+    '',
+    '    if (peg$result !== peg$FAILED && peg$currPos === input.length) {',
+    '      return peg$result;',
+    '    } else {',
+    '      if (peg$result !== peg$FAILED && peg$currPos < input.length) {',
+    '        peg$fail({ type: "end", description: "end of input" });',
+    '      }',
+    '',
+    '      throw peg$buildException(',
+    '        null,',
+    '        peg$maxFailExpected,',
+    '        peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,',
+    '        peg$maxFailPos < input.length',
+    '          ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)',
+    '          : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)',
+    '      );',
+    '    }',
+    '  }',
+    '',
+    '  return {'
+  ].join('\n'));
+
+  if (options.trace) {
+    parts.push([
+      '    SyntaxError:   peg$SyntaxError,',
+      '    DefaultTracer: peg$DefaultTracer,',
+      '    parse:         peg$parse'
+    ].join('\n'));
+  } else {
+    parts.push([
+      '    SyntaxError: peg$SyntaxError,',
+      '    parse:       peg$parse'
+    ].join('\n'));
+  }
+
+  parts.push([
+    '  };',
+    '})()'
+  ].join('\n'));
+
+  ast.code = parts.join('\n');
+}
+
+module.exports = generateJavascript;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/lib/compiler/passes/remove-proxy-rules.js
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/lib/compiler/passes/remove-proxy-rules.js b/node_modules/pegjs/lib/compiler/passes/remove-proxy-rules.js
new file mode 100644
index 0000000..8d50548
--- /dev/null
+++ b/node_modules/pegjs/lib/compiler/passes/remove-proxy-rules.js
@@ -0,0 +1,42 @@
+"use strict";
+
+var arrays  = require("../../utils/arrays"),
+    visitor = require("../visitor");
+
+/*
+ * Removes proxy rules -- that is, rules that only delegate to other rule.
+ */
+function removeProxyRules(ast, options) {
+  function isProxyRule(node) {
+    return node.type === "rule" && node.expression.type === "rule_ref";
+  }
+
+  function replaceRuleRefs(ast, from, to) {
+    var replace = visitor.build({
+      rule_ref: function(node) {
+        if (node.name === from) {
+          node.name = to;
+        }
+      }
+    });
+
+    replace(ast);
+  }
+
+  var indices = [];
+
+  arrays.each(ast.rules, function(rule, i) {
+    if (isProxyRule(rule)) {
+      replaceRuleRefs(ast, rule.name, rule.expression.name);
+      if (!arrays.contains(options.allowedStartRules, rule.name)) {
+        indices.push(i);
+      }
+    }
+  });
+
+  indices.reverse();
+
+  arrays.each(indices, function(i) { ast.rules.splice(i, 1); });
+}
+
+module.exports = removeProxyRules;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/lib/compiler/passes/report-infinite-loops.js
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/lib/compiler/passes/report-infinite-loops.js b/node_modules/pegjs/lib/compiler/passes/report-infinite-loops.js
new file mode 100644
index 0000000..7d23936
--- /dev/null
+++ b/node_modules/pegjs/lib/compiler/passes/report-infinite-loops.js
@@ -0,0 +1,29 @@
+"use strict";
+
+var GrammarError = require("../../grammar-error"),
+    asts         = require("../asts"),
+    visitor      = require("../visitor");
+
+/*
+ * Reports expressions that don't consume any input inside |*| or |+| in the
+ * grammar, which prevents infinite loops in the generated parser.
+ */
+function reportInfiniteLoops(ast) {
+  var check = visitor.build({
+    zero_or_more: function(node) {
+      if (!asts.alwaysAdvancesOnSuccess(ast, node.expression)) {
+        throw new GrammarError("Infinite loop detected.", node.location);
+      }
+    },
+
+    one_or_more: function(node) {
+      if (!asts.alwaysAdvancesOnSuccess(ast, node.expression)) {
+        throw new GrammarError("Infinite loop detected.", node.location);
+      }
+    }
+  });
+
+  check(ast);
+}
+
+module.exports = reportInfiniteLoops;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/lib/compiler/passes/report-left-recursion.js
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/lib/compiler/passes/report-left-recursion.js b/node_modules/pegjs/lib/compiler/passes/report-left-recursion.js
new file mode 100644
index 0000000..9745fce
--- /dev/null
+++ b/node_modules/pegjs/lib/compiler/passes/report-left-recursion.js
@@ -0,0 +1,53 @@
+"use strict";
+
+var arrays       = require("../../utils/arrays"),
+    GrammarError = require("../../grammar-error"),
+    asts         = require("../asts"),
+    visitor      = require("../visitor");
+
+/*
+ * Reports left recursion in the grammar, which prevents infinite recursion in
+ * the generated parser.
+ *
+ * Both direct and indirect recursion is detected. The pass also correctly
+ * reports cases like this:
+ *
+ *   start = "a"? start
+ *
+ * In general, if a rule reference can be reached without consuming any input,
+ * it can lead to left recursion.
+ */
+function reportLeftRecursion(ast) {
+  var visitedRules = [];
+
+  var check = visitor.build({
+    rule: function(node) {
+      visitedRules.push(node.name);
+      check(node.expression);
+      visitedRules.pop(node.name);
+    },
+
+    sequence: function(node) {
+      arrays.every(node.elements, function(element) {
+        check(element);
+
+        return !asts.alwaysAdvancesOnSuccess(ast, element);
+      });
+    },
+
+    rule_ref: function(node) {
+      if (arrays.contains(visitedRules, node.name)) {
+        throw new GrammarError(
+          "Left recursion detected for rule \"" + node.name + "\".",
+          node.location
+        );
+      }
+
+      check(asts.findRule(ast, node.name));
+    }
+  });
+
+  check(ast);
+}
+
+module.exports = reportLeftRecursion;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/lib/compiler/passes/report-missing-rules.js
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/lib/compiler/passes/report-missing-rules.js b/node_modules/pegjs/lib/compiler/passes/report-missing-rules.js
new file mode 100644
index 0000000..476d84e
--- /dev/null
+++ b/node_modules/pegjs/lib/compiler/passes/report-missing-rules.js
@@ -0,0 +1,23 @@
+"use strict";
+
+var GrammarError = require("../../grammar-error"),
+    asts         = require("../asts"),
+    visitor      = require("../visitor");
+
+/* Checks that all referenced rules exist. */
+function reportMissingRules(ast) {
+  var check = visitor.build({
+    rule_ref: function(node) {
+      if (!asts.findRule(ast, node.name)) {
+        throw new GrammarError(
+          "Referenced rule \"" + node.name + "\" does not exist.",
+          node.location
+        );
+      }
+    }
+  });
+
+  check(ast);
+}
+
+module.exports = reportMissingRules;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/lib/compiler/visitor.js
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/lib/compiler/visitor.js b/node_modules/pegjs/lib/compiler/visitor.js
new file mode 100644
index 0000000..70e6f12
--- /dev/null
+++ b/node_modules/pegjs/lib/compiler/visitor.js
@@ -0,0 +1,71 @@
+"use strict";
+
+var objects = require("../utils/objects"),
+    arrays  = require("../utils/arrays");
+
+/* Simple AST node visitor builder. */
+var visitor = {
+  build: function(functions) {
+    function visit(node) {
+      return functions[node.type].apply(null, arguments);
+    }
+
+    function visitNop() { }
+
+    function visitExpression(node) {
+      var extraArgs = Array.prototype.slice.call(arguments, 1);
+
+      visit.apply(null, [node.expression].concat(extraArgs));
+    }
+
+    function visitChildren(property) {
+      return function(node) {
+        var extraArgs = Array.prototype.slice.call(arguments, 1);
+
+        arrays.each(node[property], function(child) {
+          visit.apply(null, [child].concat(extraArgs));
+        });
+      };
+    }
+
+    var DEFAULT_FUNCTIONS = {
+          grammar: function(node) {
+            var extraArgs = Array.prototype.slice.call(arguments, 1);
+
+            if (node.initializer) {
+              visit.apply(null, [node.initializer].concat(extraArgs));
+            }
+
+            arrays.each(node.rules, function(rule) {
+              visit.apply(null, [rule].concat(extraArgs));
+            });
+          },
+
+          initializer:  visitNop,
+          rule:         visitExpression,
+          named:        visitExpression,
+          choice:       visitChildren("alternatives"),
+          action:       visitExpression,
+          sequence:     visitChildren("elements"),
+          labeled:      visitExpression,
+          text:         visitExpression,
+          simple_and:   visitExpression,
+          simple_not:   visitExpression,
+          optional:     visitExpression,
+          zero_or_more: visitExpression,
+          one_or_more:  visitExpression,
+          semantic_and: visitNop,
+          semantic_not: visitNop,
+          rule_ref:     visitNop,
+          literal:      visitNop,
+          "class":      visitNop,
+          any:          visitNop
+        };
+
+    objects.defaults(functions, DEFAULT_FUNCTIONS);
+
+    return visit;
+  }
+};
+
+module.exports = visitor;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/lib/grammar-error.js
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/lib/grammar-error.js b/node_modules/pegjs/lib/grammar-error.js
new file mode 100644
index 0000000..758b8e9
--- /dev/null
+++ b/node_modules/pegjs/lib/grammar-error.js
@@ -0,0 +1,18 @@
+"use strict";
+
+var classes = require("./utils/classes");
+
+/* Thrown when the grammar contains an error. */
+function GrammarError(message, location) {
+  this.name = "GrammarError";
+  this.message = message;
+  this.location = location;
+
+  if (typeof Error.captureStackTrace === "function") {
+    Error.captureStackTrace(this, GrammarError);
+  }
+}
+
+classes.subclass(GrammarError, Error);
+
+module.exports = GrammarError;


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


[12/32] ios commit: CB-11445 Updated checked-in node_modules

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/isEmpty.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/isEmpty.js b/node_modules/lodash-node/underscore/objects/isEmpty.js
deleted file mode 100644
index 1b90fb5..0000000
--- a/node_modules/lodash-node/underscore/objects/isEmpty.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 isArray = require('./isArray'),
-    isString = require('./isString');
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/**
- * Checks if `value` is empty. Arrays, strings, or `arguments` objects with a
- * length of `0` and objects with no own enumerable properties are considered
- * "empty".
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Array|Object|string} value The value to inspect.
- * @returns {boolean} Returns `true` if the `value` is empty, else `false`.
- * @example
- *
- * _.isEmpty([1, 2, 3]);
- * // => false
- *
- * _.isEmpty({});
- * // => true
- *
- * _.isEmpty('');
- * // => true
- */
-function isEmpty(value) {
-  if (!value) {
-    return true;
-  }
-  if (isArray(value) || isString(value)) {
-    return !value.length;
-  }
-  for (var key in value) {
-    if (hasOwnProperty.call(value, key)) {
-      return false;
-    }
-  }
-  return true;
-}
-
-module.exports = isEmpty;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/isEqual.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/isEqual.js b/node_modules/lodash-node/underscore/objects/isEqual.js
deleted file mode 100644
index 741f165..0000000
--- a/node_modules/lodash-node/underscore/objects/isEqual.js
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 baseIsEqual = require('../internals/baseIsEqual');
-
-/**
- * Performs a deep comparison between two values to determine if they are
- * equivalent to each other. If a callback is provided it will be executed
- * to compare values. If the callback returns `undefined` comparisons will
- * be handled by the method instead. The callback is bound to `thisArg` and
- * invoked with two arguments; (a, b).
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} a The value to compare.
- * @param {*} b The other value to compare.
- * @param {Function} [callback] The function to customize comparing values.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
- * @example
- *
- * var object = { 'name': 'fred' };
- * var copy = { 'name': 'fred' };
- *
- * object == copy;
- * // => false
- *
- * _.isEqual(object, copy);
- * // => true
- *
- * var words = ['hello', 'goodbye'];
- * var otherWords = ['hi', 'goodbye'];
- *
- * _.isEqual(words, otherWords, function(a, b) {
- *   var reGreet = /^(?:hello|hi)$/i,
- *       aGreet = _.isString(a) && reGreet.test(a),
- *       bGreet = _.isString(b) && reGreet.test(b);
- *
- *   return (aGreet || bGreet) ? (aGreet == bGreet) : undefined;
- * });
- * // => true
- */
-function isEqual(a, b) {
-  return baseIsEqual(a, b);
-}
-
-module.exports = isEqual;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/isFinite.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/isFinite.js b/node_modules/lodash-node/underscore/objects/isFinite.js
deleted file mode 100644
index bc29c51..0000000
--- a/node_modules/lodash-node/underscore/objects/isFinite.js
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeIsFinite = global.isFinite,
-    nativeIsNaN = global.isNaN;
-
-/**
- * Checks if `value` is, or can be coerced to, a finite number.
- *
- * Note: This is not the same as native `isFinite` which will return true for
- * booleans and empty strings. See http://es5.github.io/#x15.1.2.5.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is finite, else `false`.
- * @example
- *
- * _.isFinite(-101);
- * // => true
- *
- * _.isFinite('10');
- * // => true
- *
- * _.isFinite(true);
- * // => false
- *
- * _.isFinite('');
- * // => false
- *
- * _.isFinite(Infinity);
- * // => false
- */
-function isFinite(value) {
-  return nativeIsFinite(value) && !nativeIsNaN(parseFloat(value));
-}
-
-module.exports = isFinite;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/isFunction.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/isFunction.js b/node_modules/lodash-node/underscore/objects/isFunction.js
deleted file mode 100644
index 2ef33dc..0000000
--- a/node_modules/lodash-node/underscore/objects/isFunction.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/** `Object#toString` result shortcuts */
-var funcClass = '[object Function]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/**
- * Checks if `value` is a function.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is a function, else `false`.
- * @example
- *
- * _.isFunction(_);
- * // => true
- */
-function isFunction(value) {
-  return typeof value == 'function';
-}
-// fallback for older versions of Chrome and Safari
-if (isFunction(/x/)) {
-  isFunction = function(value) {
-    return typeof value == 'function' && toString.call(value) == funcClass;
-  };
-}
-
-module.exports = isFunction;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/isNaN.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/isNaN.js b/node_modules/lodash-node/underscore/objects/isNaN.js
deleted file mode 100644
index cc807b7..0000000
--- a/node_modules/lodash-node/underscore/objects/isNaN.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 isNumber = require('./isNumber');
-
-/**
- * Checks if `value` is `NaN`.
- *
- * Note: This is not the same as native `isNaN` which will return `true` for
- * `undefined` and other non-numeric values. See http://es5.github.io/#x15.1.2.4.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is `NaN`, else `false`.
- * @example
- *
- * _.isNaN(NaN);
- * // => true
- *
- * _.isNaN(new Number(NaN));
- * // => true
- *
- * isNaN(undefined);
- * // => true
- *
- * _.isNaN(undefined);
- * // => false
- */
-function isNaN(value) {
-  // `NaN` as a primitive is the only value that is not equal to itself
-  // (perform the [[Class]] check first to avoid errors with some host objects in IE)
-  return isNumber(value) && value != +value;
-}
-
-module.exports = isNaN;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/isNull.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/isNull.js b/node_modules/lodash-node/underscore/objects/isNull.js
deleted file mode 100644
index 8dc0797..0000000
--- a/node_modules/lodash-node/underscore/objects/isNull.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/**
- * Checks if `value` is `null`.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is `null`, else `false`.
- * @example
- *
- * _.isNull(null);
- * // => true
- *
- * _.isNull(undefined);
- * // => false
- */
-function isNull(value) {
-  return value === null;
-}
-
-module.exports = isNull;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/isNumber.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/isNumber.js b/node_modules/lodash-node/underscore/objects/isNumber.js
deleted file mode 100644
index f9d88af..0000000
--- a/node_modules/lodash-node/underscore/objects/isNumber.js
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/** `Object#toString` result shortcuts */
-var numberClass = '[object Number]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/**
- * Checks if `value` is a number.
- *
- * Note: `NaN` is considered a number. See http://es5.github.io/#x8.5.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is a number, else `false`.
- * @example
- *
- * _.isNumber(8.4 * 5);
- * // => true
- */
-function isNumber(value) {
-  return typeof value == 'number' ||
-    value && typeof value == 'object' && toString.call(value) == numberClass || false;
-}
-
-module.exports = isNumber;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/isObject.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/isObject.js b/node_modules/lodash-node/underscore/objects/isObject.js
deleted file mode 100644
index 53ceabb..0000000
--- a/node_modules/lodash-node/underscore/objects/isObject.js
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 objectTypes = require('../internals/objectTypes');
-
-/**
- * Checks if `value` is the language type of Object.
- * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is an object, else `false`.
- * @example
- *
- * _.isObject({});
- * // => true
- *
- * _.isObject([1, 2, 3]);
- * // => true
- *
- * _.isObject(1);
- * // => false
- */
-function isObject(value) {
-  // check if the value is the ECMAScript language type of Object
-  // http://es5.github.io/#x8
-  // and avoid a V8 bug
-  // http://code.google.com/p/v8/issues/detail?id=2291
-  return !!(value && objectTypes[typeof value]);
-}
-
-module.exports = isObject;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/isRegExp.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/isRegExp.js b/node_modules/lodash-node/underscore/objects/isRegExp.js
deleted file mode 100644
index 48626e5..0000000
--- a/node_modules/lodash-node/underscore/objects/isRegExp.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 objectTypes = require('../internals/objectTypes');
-
-/** `Object#toString` result shortcuts */
-var regexpClass = '[object RegExp]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/**
- * Checks if `value` is a regular expression.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is a regular expression, else `false`.
- * @example
- *
- * _.isRegExp(/fred/);
- * // => true
- */
-function isRegExp(value) {
-  return value && objectTypes[typeof value] && toString.call(value) == regexpClass || false;
-}
-
-module.exports = isRegExp;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/isString.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/isString.js b/node_modules/lodash-node/underscore/objects/isString.js
deleted file mode 100644
index e8df7c4..0000000
--- a/node_modules/lodash-node/underscore/objects/isString.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/** `Object#toString` result shortcuts */
-var stringClass = '[object String]';
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/**
- * Checks if `value` is a string.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is a string, else `false`.
- * @example
- *
- * _.isString('fred');
- * // => true
- */
-function isString(value) {
-  return typeof value == 'string' ||
-    value && typeof value == 'object' && toString.call(value) == stringClass || false;
-}
-
-module.exports = isString;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/isUndefined.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/isUndefined.js b/node_modules/lodash-node/underscore/objects/isUndefined.js
deleted file mode 100644
index 4d54db3..0000000
--- a/node_modules/lodash-node/underscore/objects/isUndefined.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/**
- * Checks if `value` is `undefined`.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if the `value` is `undefined`, else `false`.
- * @example
- *
- * _.isUndefined(void 0);
- * // => true
- */
-function isUndefined(value) {
-  return typeof value == 'undefined';
-}
-
-module.exports = isUndefined;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/keys.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/keys.js b/node_modules/lodash-node/underscore/objects/keys.js
deleted file mode 100644
index ae7401d..0000000
--- a/node_modules/lodash-node/underscore/objects/keys.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 isNative = require('../internals/isNative'),
-    isObject = require('./isObject'),
-    shimKeys = require('../internals/shimKeys');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys;
-
-/**
- * Creates an array composed of the own enumerable property names of an object.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The object to inspect.
- * @returns {Array} Returns an array of property names.
- * @example
- *
- * _.keys({ 'one': 1, 'two': 2, 'three': 3 });
- * // => ['one', 'two', 'three'] (property order is not guaranteed across environments)
- */
-var keys = !nativeKeys ? shimKeys : function(object) {
-  if (!isObject(object)) {
-    return [];
-  }
-  return nativeKeys(object);
-};
-
-module.exports = keys;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/omit.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/omit.js b/node_modules/lodash-node/underscore/objects/omit.js
deleted file mode 100644
index 33c65ae..0000000
--- a/node_modules/lodash-node/underscore/objects/omit.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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'),
-    forIn = require('./forIn');
-
-/**
- * Creates a shallow clone of `object` excluding the specified properties.
- * Property names may be specified as individual arguments or as arrays of
- * property names. If a callback is provided it will be executed for each
- * property of `object` omitting the properties the callback returns truey
- * for. The callback is bound to `thisArg` and invoked with three arguments;
- * (value, key, object).
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The source object.
- * @param {Function|...string|string[]} [callback] The properties to omit or the
- *  function called per iteration.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Object} Returns an object without the omitted properties.
- * @example
- *
- * _.omit({ 'name': 'fred', 'age': 40 }, 'age');
- * // => { 'name': 'fred' }
- *
- * _.omit({ 'name': 'fred', 'age': 40 }, function(value) {
- *   return typeof value == 'number';
- * });
- * // => { 'name': 'fred' }
- */
-function omit(object) {
-  var props = [];
-  forIn(object, function(value, key) {
-    props.push(key);
-  });
-  props = baseDifference(props, baseFlatten(arguments, true, false, 1));
-
-  var index = -1,
-      length = props.length,
-      result = {};
-
-  while (++index < length) {
-    var key = props[index];
-    result[key] = object[key];
-  }
-  return result;
-}
-
-module.exports = omit;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/pairs.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/pairs.js b/node_modules/lodash-node/underscore/objects/pairs.js
deleted file mode 100644
index ea8c7ae..0000000
--- a/node_modules/lodash-node/underscore/objects/pairs.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 keys = require('./keys');
-
-/**
- * Creates a two dimensional array of an object's key-value pairs,
- * i.e. `[[key1, value1], [key2, value2]]`.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The object to inspect.
- * @returns {Array} Returns new array of key-value pairs.
- * @example
- *
- * _.pairs({ 'barney': 36, 'fred': 40 });
- * // => [['barney', 36], ['fred', 40]] (property order is not guaranteed across environments)
- */
-function pairs(object) {
-  var index = -1,
-      props = keys(object),
-      length = props.length,
-      result = Array(length);
-
-  while (++index < length) {
-    var key = props[index];
-    result[index] = [key, object[key]];
-  }
-  return result;
-}
-
-module.exports = pairs;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/pick.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/pick.js b/node_modules/lodash-node/underscore/objects/pick.js
deleted file mode 100644
index d195fb5..0000000
--- a/node_modules/lodash-node/underscore/objects/pick.js
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 baseFlatten = require('../internals/baseFlatten');
-
-/**
- * Creates a shallow clone of `object` composed of the specified properties.
- * Property names may be specified as individual arguments or as arrays of
- * property names. If a callback is provided it will be executed for each
- * property of `object` picking the properties the callback returns truey
- * for. The callback is bound to `thisArg` and invoked with three arguments;
- * (value, key, object).
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The source object.
- * @param {Function|...string|string[]} [callback] The function called per
- *  iteration or property names to pick, specified as individual property
- *  names or arrays of property names.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Object} Returns an object composed of the picked properties.
- * @example
- *
- * _.pick({ 'name': 'fred', '_userid': 'fred1' }, 'name');
- * // => { 'name': 'fred' }
- *
- * _.pick({ 'name': 'fred', '_userid': 'fred1' }, function(value, key) {
- *   return key.charAt(0) != '_';
- * });
- * // => { 'name': 'fred' }
- */
-function pick(object) {
-  var index = -1,
-      props = baseFlatten(arguments, true, false, 1),
-      length = props.length,
-      result = {};
-
-  while (++index < length) {
-    var key = props[index];
-    if (key in object) {
-      result[key] = object[key];
-    }
-  }
-  return result;
-}
-
-module.exports = pick;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/objects/values.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/objects/values.js b/node_modules/lodash-node/underscore/objects/values.js
deleted file mode 100644
index d11055e..0000000
--- a/node_modules/lodash-node/underscore/objects/values.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 keys = require('./keys');
-
-/**
- * Creates an array composed of the own enumerable property values of `object`.
- *
- * @static
- * @memberOf _
- * @category Objects
- * @param {Object} object The object to inspect.
- * @returns {Array} Returns an array of property values.
- * @example
- *
- * _.values({ 'one': 1, 'two': 2, 'three': 3 });
- * // => [1, 2, 3] (property order is not guaranteed across environments)
- */
-function values(object) {
-  var index = -1,
-      props = keys(object),
-      length = props.length,
-      result = Array(length);
-
-  while (++index < length) {
-    result[index] = object[props[index]];
-  }
-  return result;
-}
-
-module.exports = values;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/support.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/support.js b/node_modules/lodash-node/underscore/support.js
deleted file mode 100644
index 90fbe96..0000000
--- a/node_modules/lodash-node/underscore/support.js
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 isNative = require('./internals/isNative');
-
-/**
- * Used for `Array` method references.
- *
- * Normally `Array.prototype` would suffice, however, using an array literal
- * avoids issues in Narwhal.
- */
-var arrayRef = [];
-
-/**
- * An object used to flag environments features.
- *
- * @static
- * @memberOf _
- * @type Object
- */
-var support = {};
-
-(function() {
-  var object = { '0': 1, 'length': 1 };
-
-  /**
-   * Detect if `Array#shift` and `Array#splice` augment array-like objects correctly.
-   *
-   * Firefox < 10, IE compatibility mode, and IE < 9 have buggy Array `shift()`
-   * and `splice()` functions that fail to remove the last element, `value[0]`,
-   * of array-like objects even though the `length` property is set to `0`.
-   * The `shift()` method is buggy in IE 8 compatibility mode, while `splice()`
-   * is buggy regardless of mode in IE < 9 and buggy in compatibility mode in IE 9.
-   *
-   * @memberOf _.support
-   * @type boolean
-   */
-  support.spliceObjects = (arrayRef.splice.call(object, 0, 1), !object[0]);
-}(1));
-
-module.exports = support;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/utilities.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/utilities.js b/node_modules/lodash-node/underscore/utilities.js
deleted file mode 100644
index cef5f20..0000000
--- a/node_modules/lodash-node/underscore/utilities.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 = {
-  'createCallback': require('./functions/createCallback'),
-  'escape': require('./utilities/escape'),
-  'identity': require('./utilities/identity'),
-  'mixin': require('./utilities/mixin'),
-  'noConflict': require('./utilities/noConflict'),
-  'noop': require('./utilities/noop'),
-  'now': require('./utilities/now'),
-  'property': require('./utilities/property'),
-  'random': require('./utilities/random'),
-  'result': require('./utilities/result'),
-  'template': require('./utilities/template'),
-  'templateSettings': require('./utilities/templateSettings'),
-  'times': require('./utilities/times'),
-  'unescape': require('./utilities/unescape'),
-  'uniqueId': require('./utilities/uniqueId')
-};

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/utilities/escape.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/utilities/escape.js b/node_modules/lodash-node/underscore/utilities/escape.js
deleted file mode 100644
index 2e1f5c0..0000000
--- a/node_modules/lodash-node/underscore/utilities/escape.js
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 escapeHtmlChar = require('../internals/escapeHtmlChar'),
-    keys = require('../objects/keys'),
-    reUnescapedHtml = require('../internals/reUnescapedHtml');
-
-/**
- * Converts the characters `&`, `<`, `>`, `"`, and `'` in `string` to their
- * corresponding HTML entities.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {string} string The string to escape.
- * @returns {string} Returns the escaped string.
- * @example
- *
- * _.escape('Fred, Wilma, & Pebbles');
- * // => 'Fred, Wilma, &amp; Pebbles'
- */
-function escape(string) {
-  return string == null ? '' : String(string).replace(reUnescapedHtml, escapeHtmlChar);
-}
-
-module.exports = escape;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/utilities/identity.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/utilities/identity.js b/node_modules/lodash-node/underscore/utilities/identity.js
deleted file mode 100644
index 5734880..0000000
--- a/node_modules/lodash-node/underscore/utilities/identity.js
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/**
- * This method returns the first argument provided to it.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {*} value Any value.
- * @returns {*} Returns `value`.
- * @example
- *
- * var object = { 'name': 'fred' };
- * _.identity(object) === object;
- * // => true
- */
-function identity(value) {
-  return value;
-}
-
-module.exports = identity;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/utilities/mixin.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/utilities/mixin.js b/node_modules/lodash-node/underscore/utilities/mixin.js
deleted file mode 100644
index 9865704..0000000
--- a/node_modules/lodash-node/underscore/utilities/mixin.js
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 forEach = require('../collections/forEach'),
-    functions = require('../objects/functions'),
-    isFunction = require('../objects/isFunction');
-
-/**
- * Used for `Array` method references.
- *
- * Normally `Array.prototype` would suffice, however, using an array literal
- * avoids issues in Narwhal.
- */
-var arrayRef = [];
-
-/** Native method shortcuts */
-var push = arrayRef.push;
-
-/**
- * Adds function properties of a source object to the destination object.
- * If `object` is a function methods will be added to its prototype as well.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {Function|Object} [object=lodash] object The destination object.
- * @param {Object} source The object of functions to add.
- * @param {Object} [options] The options object.
- * @param {boolean} [options.chain=true] Specify whether the functions added are chainable.
- * @example
- *
- * function capitalize(string) {
- *   return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
- * }
- *
- * _.mixin({ 'capitalize': capitalize });
- * _.capitalize('fred');
- * // => 'Fred'
- *
- * _('fred').capitalize().value();
- * // => 'Fred'
- *
- * _.mixin({ 'capitalize': capitalize }, { 'chain': false });
- * _('fred').capitalize();
- * // => 'Fred'
- */
-function mixin(object, source) {
-  var ctor = object,
-      isFunc = isFunction(ctor);
-
-  forEach(functions(source), function(methodName) {
-    var func = object[methodName] = source[methodName];
-    if (isFunc) {
-      ctor.prototype[methodName] = function() {
-        var args = [this.__wrapped__];
-        push.apply(args, arguments);
-
-        var result = func.apply(object, args);
-        if (this.__chain__) {
-          result = new ctor(result);
-          result.__chain__ = true;
-        }
-        return result;
-      };
-    }
-  });
-}
-
-module.exports = mixin;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/utilities/noConflict.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/utilities/noConflict.js b/node_modules/lodash-node/underscore/utilities/noConflict.js
deleted file mode 100644
index 349a093..0000000
--- a/node_modules/lodash-node/underscore/utilities/noConflict.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/** Used to restore the original `_` reference in `noConflict` */
-var oldDash = global._;
-
-/**
- * Reverts the '_' variable to its previous value and returns a reference to
- * the `lodash` function.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @returns {Function} Returns the `lodash` function.
- * @example
- *
- * var lodash = _.noConflict();
- */
-function noConflict() {
-  global._ = oldDash;
-  return this;
-}
-
-module.exports = noConflict;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/utilities/noop.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/utilities/noop.js b/node_modules/lodash-node/underscore/utilities/noop.js
deleted file mode 100644
index 2756a24..0000000
--- a/node_modules/lodash-node/underscore/utilities/noop.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/**
- * A no-operation function.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @example
- *
- * var object = { 'name': 'fred' };
- * _.noop(object) === undefined;
- * // => true
- */
-function noop() {
-  // no operation performed
-}
-
-module.exports = noop;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/utilities/now.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/utilities/now.js b/node_modules/lodash-node/underscore/utilities/now.js
deleted file mode 100644
index c340513..0000000
--- a/node_modules/lodash-node/underscore/utilities/now.js
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 isNative = require('../internals/isNative');
-
-/**
- * Gets the number of milliseconds that have elapsed since the Unix epoch
- * (1 January 1970 00:00:00 UTC).
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @example
- *
- * var stamp = _.now();
- * _.defer(function() { console.log(_.now() - stamp); });
- * // => logs the number of milliseconds it took for the deferred function to be called
- */
-var now = isNative(now = Date.now) && now || function() {
-  return new Date().getTime();
-};
-
-module.exports = now;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/utilities/property.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/utilities/property.js b/node_modules/lodash-node/underscore/utilities/property.js
deleted file mode 100644
index 232d11d..0000000
--- a/node_modules/lodash-node/underscore/utilities/property.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 a "_.pluck" style function, which returns the `key` value of a
- * given object.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {string} key The name of the property to retrieve.
- * @returns {Function} Returns the new function.
- * @example
- *
- * var characters = [
- *   { 'name': 'fred',   'age': 40 },
- *   { 'name': 'barney', 'age': 36 }
- * ];
- *
- * var getName = _.property('name');
- *
- * _.map(characters, getName);
- * // => ['barney', 'fred']
- *
- * _.sortBy(characters, getName);
- * // => [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred',   'age': 40 }]
- */
-function property(key) {
-  return function(object) {
-    return object[key];
-  };
-}
-
-module.exports = property;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/utilities/random.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/utilities/random.js b/node_modules/lodash-node/underscore/utilities/random.js
deleted file mode 100644
index fb6640e..0000000
--- a/node_modules/lodash-node/underscore/utilities/random.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 baseRandom = require('../internals/baseRandom');
-
-/** Native method shortcuts */
-var floor = Math.floor;
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeRandom = Math.random;
-
-/**
- * Produces a random number between `min` and `max` (inclusive). If only one
- * argument is provided a number between `0` and the given number will be
- * returned. If `floating` is truey or either `min` or `max` are floats a
- * floating-point number will be returned instead of an integer.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {number} [min=0] The minimum possible value.
- * @param {number} [max=1] The maximum possible value.
- * @param {boolean} [floating=false] Specify returning a floating-point number.
- * @returns {number} Returns a random number.
- * @example
- *
- * _.random(0, 5);
- * // => an integer between 0 and 5
- *
- * _.random(5);
- * // => also an integer between 0 and 5
- *
- * _.random(5, true);
- * // => a floating-point number between 0 and 5
- *
- * _.random(1.2, 5.2);
- * // => a floating-point number between 1.2 and 5.2
- */
-function random(min, max) {
-  if (min == null && max == null) {
-    max = 1;
-  }
-  min = +min || 0;
-  if (max == null) {
-    max = min;
-    min = 0;
-  } else {
-    max = +max || 0;
-  }
-  return min + floor(nativeRandom() * (max - min + 1));
-}
-
-module.exports = random;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/utilities/result.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/utilities/result.js b/node_modules/lodash-node/underscore/utilities/result.js
deleted file mode 100644
index 95d44c6..0000000
--- a/node_modules/lodash-node/underscore/utilities/result.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 isFunction = require('../objects/isFunction');
-
-/**
- * Resolves the value of property `key` on `object`. If `key` is a function
- * it will be invoked with the `this` binding of `object` and its result returned,
- * else the property value is returned. If `object` is falsey then `undefined`
- * is returned.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {Object} object The object to inspect.
- * @param {string} key The name of the property to resolve.
- * @returns {*} Returns the resolved value.
- * @example
- *
- * var object = {
- *   'cheese': 'crumpets',
- *   'stuff': function() {
- *     return 'nonsense';
- *   }
- * };
- *
- * _.result(object, 'cheese');
- * // => 'crumpets'
- *
- * _.result(object, 'stuff');
- * // => 'nonsense'
- */
-function result(object, key) {
-  if (object) {
-    var value = object[key];
-    return isFunction(value) ? object[key]() : value;
-  }
-}
-
-module.exports = result;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/utilities/template.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/utilities/template.js b/node_modules/lodash-node/underscore/utilities/template.js
deleted file mode 100644
index b6e8807..0000000
--- a/node_modules/lodash-node/underscore/utilities/template.js
+++ /dev/null
@@ -1,163 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 defaults = require('../objects/defaults'),
-    escape = require('./escape'),
-    escapeStringChar = require('../internals/escapeStringChar'),
-    reInterpolate = require('../internals/reInterpolate'),
-    templateSettings = require('./templateSettings');
-
-/** Used to ensure capturing order of template delimiters */
-var reNoMatch = /($^)/;
-
-/** Used to match unescaped characters in compiled string literals */
-var reUnescapedString = /['\n\r\t\u2028\u2029\\]/g;
-
-/**
- * A micro-templating method that handles arbitrary delimiters, preserves
- * whitespace, and correctly escapes quotes within interpolated code.
- *
- * Note: In the development build, `_.template` utilizes sourceURLs for easier
- * debugging. See http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl
- *
- * For more information on precompiling templates see:
- * http://lodash.com/custom-builds
- *
- * For more information on Chrome extension sandboxes see:
- * http://developer.chrome.com/stable/extensions/sandboxingEval.html
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {string} text The template text.
- * @param {Object} data The data object used to populate the text.
- * @param {Object} [options] The options object.
- * @param {RegExp} [options.escape] The "escape" delimiter.
- * @param {RegExp} [options.evaluate] The "evaluate" delimiter.
- * @param {Object} [options.imports] An object to import into the template as local variables.
- * @param {RegExp} [options.interpolate] The "interpolate" delimiter.
- * @param {string} [sourceURL] The sourceURL of the template's compiled source.
- * @param {string} [variable] The data object variable name.
- * @returns {Function|string} Returns a compiled function when no `data` object
- *  is given, else it returns the interpolated text.
- * @example
- *
- * // using the "interpolate" delimiter to create a compiled template
- * var compiled = _.template('hello <%= name %>');
- * compiled({ 'name': 'fred' });
- * // => 'hello fred'
- *
- * // using the "escape" delimiter to escape HTML in data property values
- * _.template('<b><%- value %></b>', { 'value': '<script>' });
- * // => '<b>&lt;script&gt;</b>'
- *
- * // using the "evaluate" delimiter to generate HTML
- * var list = '<% _.forEach(people, function(name) { %><li><%- name %></li><% }); %>';
- * _.template(list, { 'people': ['fred', 'barney'] });
- * // => '<li>fred</li><li>barney</li>'
- *
- * // using the ES6 delimiter as an alternative to the default "interpolate" delimiter
- * _.template('hello ${ name }', { 'name': 'pebbles' });
- * // => 'hello pebbles'
- *
- * // using the internal `print` function in "evaluate" delimiters
- * _.template('<% print("hello " + name); %>!', { 'name': 'barney' });
- * // => 'hello barney!'
- *
- * // using a custom template delimiters
- * _.templateSettings = {
- *   'interpolate': /{{([\s\S]+?)}}/g
- * };
- *
- * _.template('hello {{ name }}!', { 'name': 'mustache' });
- * // => 'hello mustache!'
- *
- * // using the `imports` option to import jQuery
- * var list = '<% jq.each(people, function(name) { %><li><%- name %></li><% }); %>';
- * _.template(list, { 'people': ['fred', 'barney'] }, { 'imports': { 'jq': jQuery } });
- * // => '<li>fred</li><li>barney</li>'
- *
- * // using the `sourceURL` option to specify a custom sourceURL for the template
- * var compiled = _.template('hello <%= name %>', null, { 'sourceURL': '/basic/greeting.jst' });
- * compiled(data);
- * // => find the source of "greeting.jst" under the Sources tab or Resources panel of the web inspector
- *
- * // using the `variable` option to ensure a with-statement isn't used in the compiled template
- * var compiled = _.template('hi <%= data.name %>!', null, { 'variable': 'data' });
- * compiled.source;
- * // => function(data) {
- *   var __t, __p = '', __e = _.escape;
- *   __p += 'hi ' + ((__t = ( data.name )) == null ? '' : __t) + '!';
- *   return __p;
- * }
- *
- * // using the `source` property to inline compiled templates for meaningful
- * // line numbers in error messages and a stack trace
- * fs.writeFileSync(path.join(cwd, 'jst.js'), '\
- *   var JST = {\
- *     "main": ' + _.template(mainText).source + '\
- *   };\
- * ');
- */
-function template(text, data, options) {
-  var _ = templateSettings.imports._,
-      settings = _.templateSettings || templateSettings;
-
-  text = String(text || '');
-  options = defaults({}, options, settings);
-
-  var index = 0,
-      source = "__p += '",
-      variable = options.variable;
-
-  var reDelimiters = RegExp(
-    (options.escape || reNoMatch).source + '|' +
-    (options.interpolate || reNoMatch).source + '|' +
-    (options.evaluate || reNoMatch).source + '|$'
-  , 'g');
-
-  text.replace(reDelimiters, function(match, escapeValue, interpolateValue, evaluateValue, offset) {
-    source += text.slice(index, offset).replace(reUnescapedString, escapeStringChar);
-    if (escapeValue) {
-      source += "' +\n_.escape(" + escapeValue + ") +\n'";
-    }
-    if (evaluateValue) {
-      source += "';\n" + evaluateValue + ";\n__p += '";
-    }
-    if (interpolateValue) {
-      source += "' +\n((__t = (" + interpolateValue + ")) == null ? '' : __t) +\n'";
-    }
-    index = offset + match.length;
-    return match;
-  });
-
-  source += "';\n";
-  if (!variable) {
-    variable = 'obj';
-    source = 'with (' + variable + ' || {}) {\n' + source + '\n}\n';
-  }
-  source = 'function(' + variable + ') {\n' +
-    "var __t, __p = '', __j = Array.prototype.join;\n" +
-    "function print() { __p += __j.call(arguments, '') }\n" +
-    source +
-    'return __p\n}';
-
-  try {
-    var result = Function('_', 'return ' + source)(_);
-  } catch(e) {
-    e.source = source;
-    throw e;
-  }
-  if (data) {
-    return result(data);
-  }
-  result.source = source;
-  return result;
-}
-
-module.exports = template;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/utilities/templateSettings.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/utilities/templateSettings.js b/node_modules/lodash-node/underscore/utilities/templateSettings.js
deleted file mode 100644
index 8459664..0000000
--- a/node_modules/lodash-node/underscore/utilities/templateSettings.js
+++ /dev/null
@@ -1,73 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 escape = require('./escape'),
-    reInterpolate = require('../internals/reInterpolate');
-
-/**
- * By default, the template delimiters used by Lo-Dash are similar to those in
- * embedded Ruby (ERB). Change the following template settings to use alternative
- * delimiters.
- *
- * @static
- * @memberOf _
- * @type Object
- */
-var templateSettings = {
-
-  /**
-   * Used to detect `data` property values to be HTML-escaped.
-   *
-   * @memberOf _.templateSettings
-   * @type RegExp
-   */
-  'escape': /<%-([\s\S]+?)%>/g,
-
-  /**
-   * Used to detect code to be evaluated.
-   *
-   * @memberOf _.templateSettings
-   * @type RegExp
-   */
-  'evaluate': /<%([\s\S]+?)%>/g,
-
-  /**
-   * Used to detect `data` property values to inject.
-   *
-   * @memberOf _.templateSettings
-   * @type RegExp
-   */
-  'interpolate': reInterpolate,
-
-  /**
-   * Used to reference the data object in the template text.
-   *
-   * @memberOf _.templateSettings
-   * @type string
-   */
-  'variable': '',
-
-  /**
-   * Used to import variables into the compiled template.
-   *
-   * @memberOf _.templateSettings
-   * @type Object
-   */
-  'imports': {
-
-    /**
-     * A reference to the `lodash` function.
-     *
-     * @memberOf _.templateSettings.imports
-     * @type Function
-     */
-    '_': { 'escape': escape }
-  }
-};
-
-module.exports = templateSettings;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/utilities/times.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/utilities/times.js b/node_modules/lodash-node/underscore/utilities/times.js
deleted file mode 100644
index b87e512..0000000
--- a/node_modules/lodash-node/underscore/utilities/times.js
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 baseCreateCallback = require('../internals/baseCreateCallback');
-
-/**
- * Executes the callback `n` times, returning an array of the results
- * of each callback execution. The callback is bound to `thisArg` and invoked
- * with one argument; (index).
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {number} n The number of times to execute the callback.
- * @param {Function} callback The function called per iteration.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Array} Returns an array of the results of each `callback` execution.
- * @example
- *
- * var diceRolls = _.times(3, _.partial(_.random, 1, 6));
- * // => [3, 6, 4]
- *
- * _.times(3, function(n) { mage.castSpell(n); });
- * // => calls `mage.castSpell(n)` three times, passing `n` of `0`, `1`, and `2` respectively
- *
- * _.times(3, function(n) { this.cast(n); }, mage);
- * // => also calls `mage.castSpell(n)` three times
- */
-function times(n, callback, thisArg) {
-  n = (n = +n) > -1 ? n : 0;
-  var index = -1,
-      result = Array(n);
-
-  callback = baseCreateCallback(callback, thisArg, 1);
-  while (++index < n) {
-    result[index] = callback(index);
-  }
-  return result;
-}
-
-module.exports = times;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/utilities/unescape.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/utilities/unescape.js b/node_modules/lodash-node/underscore/utilities/unescape.js
deleted file mode 100644
index d6050ea..0000000
--- a/node_modules/lodash-node/underscore/utilities/unescape.js
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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 keys = require('../objects/keys'),
-    reEscapedHtml = require('../internals/reEscapedHtml'),
-    unescapeHtmlChar = require('../internals/unescapeHtmlChar');
-
-/**
- * The inverse of `_.escape` this method converts the HTML entities
- * `&amp;`, `&lt;`, `&gt;`, `&quot;`, and `&#39;` in `string` to their
- * corresponding characters.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {string} string The string to unescape.
- * @returns {string} Returns the unescaped string.
- * @example
- *
- * _.unescape('Fred, Barney &amp; Pebbles');
- * // => 'Fred, Barney & Pebbles'
- */
-function unescape(string) {
-  return string == null ? '' : String(string).replace(reEscapedHtml, unescapeHtmlChar);
-}
-
-module.exports = unescape;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/underscore/utilities/uniqueId.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/utilities/uniqueId.js b/node_modules/lodash-node/underscore/utilities/uniqueId.js
deleted file mode 100644
index e9178b6..0000000
--- a/node_modules/lodash-node/underscore/utilities/uniqueId.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize underscore exports="node" -o ./underscore/`
- * 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>
- */
-
-/** Used to generate unique IDs */
-var idCounter = 0;
-
-/**
- * Generates a unique ID. If `prefix` is provided the ID will be appended to it.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {string} [prefix] The value to prefix the ID with.
- * @returns {string} Returns the unique ID.
- * @example
- *
- * _.uniqueId('contact_');
- * // => 'contact_104'
- *
- * _.uniqueId();
- * // => '105'
- */
-function uniqueId(prefix) {
-  var id = ++idCounter + '';
-  return prefix ? prefix + id : id;
-}
-
-module.exports = uniqueId;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash/package.json
----------------------------------------------------------------------
diff --git a/node_modules/lodash/package.json b/node_modules/lodash/package.json
index 65596fd..0aff91f 100644
--- a/node_modules/lodash/package.json
+++ b/node_modules/lodash/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "lodash@^3.5.0",
-      "D:\\Cordova\\cordova-ios\\node_modules\\xmlbuilder"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/xmlbuilder"
     ]
   ],
   "_from": "lodash@>=3.5.0 <4.0.0",
@@ -28,11 +28,11 @@
   "_requiredBy": [
     "/xmlbuilder"
   ],
-  "_resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+  "_resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
   "_shasum": "5bf45e8e49ba4189e17d482789dfd15bd140b7b6",
   "_shrinkwrap": null,
   "_spec": "lodash@^3.5.0",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\xmlbuilder",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/xmlbuilder",
   "author": {
     "email": "john.david.dalton@gmail.com",
     "name": "John-David Dalton",

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/minimatch/package.json
----------------------------------------------------------------------
diff --git a/node_modules/minimatch/package.json b/node_modules/minimatch/package.json
index 6f0a1c9..41812d2 100644
--- a/node_modules/minimatch/package.json
+++ b/node_modules/minimatch/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "minimatch@^3.0.0",
-      "D:\\Cordova\\cordova-ios\\node_modules\\cordova-common"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/cordova-common"
     ]
   ],
   "_from": "minimatch@>=3.0.0 <4.0.0",
@@ -29,11 +29,11 @@
     "/cordova-common",
     "/glob"
   ],
-  "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz",
+  "_resolved": "http://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz",
   "_shasum": "5236157a51e4f004c177fb3c527ff7dd78f0ef83",
   "_shrinkwrap": null,
   "_spec": "minimatch@^3.0.0",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/cordova-common",
   "author": {
     "email": "i@izs.me",
     "name": "Isaac Z. Schlueter",

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/node-uuid/bin/uuid
----------------------------------------------------------------------
diff --git a/node_modules/node-uuid/bin/uuid b/node_modules/node-uuid/bin/uuid
old mode 100644
new mode 100755

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/node-uuid/package.json
----------------------------------------------------------------------
diff --git a/node_modules/node-uuid/package.json b/node_modules/node-uuid/package.json
index 36ab2a9..dd7f8d8 100644
--- a/node_modules/node-uuid/package.json
+++ b/node_modules/node-uuid/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "node-uuid@1.4.7",
-      "D:\\Cordova\\cordova-ios\\node_modules\\xcode"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/xcode"
     ]
   ],
   "_from": "node-uuid@1.4.7",
@@ -28,11 +28,11 @@
   "_requiredBy": [
     "/xcode"
   ],
-  "_resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz",
+  "_resolved": "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz",
   "_shasum": "6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f",
   "_shrinkwrap": null,
   "_spec": "node-uuid@1.4.7",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\xcode",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/xcode",
   "author": {
     "email": "robert@broofa.com",
     "name": "Robert Kieffer"

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/nopt/package.json
----------------------------------------------------------------------
diff --git a/node_modules/nopt/package.json b/node_modules/nopt/package.json
index 466ca5c..c287a0d 100644
--- a/node_modules/nopt/package.json
+++ b/node_modules/nopt/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "nopt@^3.0.6",
-      "D:\\Cordova\\cordova-ios"
+      "/Users/steveng/repo/cordova/cordova-ios"
     ]
   ],
   "_from": "nopt@>=3.0.6 <4.0.0",
@@ -28,11 +28,11 @@
   "_requiredBy": [
     "/"
   ],
-  "_resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+  "_resolved": "http://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
   "_shasum": "c6465dbf08abcd4db359317f79ac68a646b28ff9",
   "_shrinkwrap": null,
   "_spec": "nopt@^3.0.6",
-  "_where": "D:\\Cordova\\cordova-ios",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios",
   "author": {
     "email": "i@izs.me",
     "name": "Isaac Z. Schlueter",

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/once/package.json
----------------------------------------------------------------------
diff --git a/node_modules/once/package.json b/node_modules/once/package.json
index ed066e3..22e786a 100644
--- a/node_modules/once/package.json
+++ b/node_modules/once/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "once@^1.3.0",
-      "D:\\Cordova\\cordova-ios\\node_modules\\glob"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/glob"
     ]
   ],
   "_from": "once@>=1.3.0 <2.0.0",
@@ -29,11 +29,11 @@
     "/glob",
     "/inflight"
   ],
-  "_resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
+  "_resolved": "http://registry.npmjs.org/once/-/once-1.3.3.tgz",
   "_shasum": "b2e261557ce4c314ec8304f3fa82663e4297ca20",
   "_shrinkwrap": null,
   "_spec": "once@^1.3.0",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\glob",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/glob",
   "author": {
     "email": "i@izs.me",
     "name": "Isaac Z. Schlueter",

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/os-homedir/package.json
----------------------------------------------------------------------
diff --git a/node_modules/os-homedir/package.json b/node_modules/os-homedir/package.json
index 516799b..6b4c92f 100644
--- a/node_modules/os-homedir/package.json
+++ b/node_modules/os-homedir/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "os-homedir@^1.0.0",
-      "D:\\Cordova\\cordova-ios\\node_modules\\osenv"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/osenv"
     ]
   ],
   "_from": "os-homedir@>=1.0.0 <2.0.0",
@@ -28,11 +28,11 @@
   "_requiredBy": [
     "/osenv"
   ],
-  "_resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz",
+  "_resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz",
   "_shasum": "0d62bdf44b916fd3bbdcf2cab191948fb094f007",
   "_shrinkwrap": null,
   "_spec": "os-homedir@^1.0.0",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\osenv",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/osenv",
   "author": {
     "email": "sindresorhus@gmail.com",
     "name": "Sindre Sorhus",

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/os-tmpdir/package.json
----------------------------------------------------------------------
diff --git a/node_modules/os-tmpdir/package.json b/node_modules/os-tmpdir/package.json
index 8142201..86e5261 100644
--- a/node_modules/os-tmpdir/package.json
+++ b/node_modules/os-tmpdir/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "os-tmpdir@^1.0.0",
-      "D:\\Cordova\\cordova-ios\\node_modules\\osenv"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/osenv"
     ]
   ],
   "_from": "os-tmpdir@>=1.0.0 <2.0.0",
@@ -28,11 +28,11 @@
   "_requiredBy": [
     "/osenv"
   ],
-  "_resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz",
+  "_resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz",
   "_shasum": "e9b423a1edaf479882562e92ed71d7743a071b6e",
   "_shrinkwrap": null,
   "_spec": "os-tmpdir@^1.0.0",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\osenv",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/osenv",
   "author": {
     "email": "sindresorhus@gmail.com",
     "name": "Sindre Sorhus",

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/osenv/package.json
----------------------------------------------------------------------
diff --git a/node_modules/osenv/package.json b/node_modules/osenv/package.json
index 430c542..053ef09 100644
--- a/node_modules/osenv/package.json
+++ b/node_modules/osenv/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "osenv@^0.1.3",
-      "D:\\Cordova\\cordova-ios\\node_modules\\cordova-common"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/cordova-common"
     ]
   ],
   "_from": "osenv@>=0.1.3 <0.2.0",
@@ -28,11 +28,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz",
+  "_resolved": "http://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz",
   "_shasum": "83cf05c6d6458fc4d5ac6362ea325d92f2754217",
   "_shrinkwrap": null,
   "_spec": "osenv@^0.1.3",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/cordova-common",
   "author": {
     "email": "i@izs.me",
     "name": "Isaac Z. Schlueter",

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/path-is-absolute/package.json
----------------------------------------------------------------------
diff --git a/node_modules/path-is-absolute/package.json b/node_modules/path-is-absolute/package.json
index 33f17fa..472cff8 100644
--- a/node_modules/path-is-absolute/package.json
+++ b/node_modules/path-is-absolute/package.json
@@ -2,7 +2,7 @@
   "_args": [
     [
       "path-is-absolute@^1.0.0",
-      "D:\\Cordova\\cordova-ios\\node_modules\\glob"
+      "/Users/steveng/repo/cordova/cordova-ios/node_modules/glob"
     ]
   ],
   "_from": "path-is-absolute@>=1.0.0 <2.0.0",
@@ -28,11 +28,11 @@
   "_requiredBy": [
     "/glob"
   ],
-  "_resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz",
+  "_resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz",
   "_shasum": "263dada66ab3f2fb10bf7f9d24dd8f3e570ef912",
   "_shrinkwrap": null,
   "_spec": "path-is-absolute@^1.0.0",
-  "_where": "D:\\Cordova\\cordova-ios\\node_modules\\glob",
+  "_where": "/Users/steveng/repo/cordova/cordova-ios/node_modules/glob",
   "author": {
     "email": "sindresorhus@gmail.com",
     "name": "Sindre Sorhus",

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/pegjs/CHANGELOG
----------------------------------------------------------------------
diff --git a/node_modules/pegjs/CHANGELOG b/node_modules/pegjs/CHANGELOG
deleted file mode 100644
index e5967cf..0000000
--- a/node_modules/pegjs/CHANGELOG
+++ /dev/null
@@ -1,146 +0,0 @@
-0.6.2 (2011-08-20)
-------------------
-
-Small Changes:
-
-* Reset parser position when action returns |null|.
-* Fixed typo in JavaScript example grammar.
-
-0.6.1 (2011-04-14)
-------------------
-
-Small Changes:
-
-* Use --ascii option when generating a minified version.
-
-0.6.0 (2011-04-14)
-------------------
-
-Big Changes:
-
-* Rewrote the command-line mode to be based on Node.js instead of Rhino -- no
-  more Java dependency. This also means that PEG.js is available as a Node.js
-  package and can be required as a module.
-* Version for the browser is built separately from the command-ine one in two
-  flavors (normal and minified).
-* Parser variable name is no longer required argument of bin/pegjs -- it is
-  "module.exports" by default and can be set using the -e/--export-var option.
-  This makes parsers generated by /bin/pegjs Node.js modules by default.
-* Added ability to start parsing from any grammar rule.
-* Added several compiler optimizations -- 0.6 is ~12% faster than 0.5.1 in the
-  benchmark on V8.
-
-Small Changes:
-
-* Split the source code into multiple files combined together using a build
-  system.
-* Jake is now used instead of Rake for build scripts -- no more Ruby dependency.
-* Test suite can be run from the command-line.
-* Benchmark suite can be run from the command-line.
-* Benchmark browser runner improvements (users can specify number of runs,
-  benchmarks are run using |setTimeout|, table is centered and fixed-width).
-* Added PEG.js version to "Generated by..." line in generated parsers.
-* Added PEG.js version information and homepage header to peg.js.
-* Generated code improvements and fixes.
-* Internal code improvements and fixes.
-* Rewrote README.md.
-
-0.5.1 (2010-11-28)
-------------------
-
-Small Changes:
-
-* Fixed a problem where "SyntaxError: Invalid range in character class." error
-  appeared when using command-line version on Widnows (GH-13).
-* Fixed wrong version reported by "bin/pegjs --version".
-* Removed two unused variables in the code.
-* Fixed incorrect variable name on two places.
-
-0.5 (2010-06-10)
-----------------
-
-Big Changes:
-
-* Syntax change: Use labeled expressions and variables instead of $1, $2, etc.
-* Syntax change: Replaced ":" after a rule name with "=".
-* Syntax change: Allow trailing semicolon (";") for rules
-* Semantic change: Start rule of the grammar is now implicitly its first rule.
-* Implemented semantic predicates.
-* Implemented initializers.
-* Removed ability to change the start rule when generating the parser.
-* Added several compiler optimizations -- 0.5 is ~11% faster than 0.4 in the
-  benchmark on V8.
-
-Small Changes:
-
-* PEG.buildParser now accepts grammars only in string format.
-* Added "Generated by ..." message to the generated parsers.
-* Formatted all grammars more consistently and transparently.
-* Added notes about ECMA-262, 5th ed. compatibility to the JSON example grammar.
-* Guarded against redefinition of |undefined|.
-* Made bin/pegjs work when called via a symlink (issue #1).
-* Fixed bug causing incorrect error messages (issue #2).
-* Fixed error message for invalid character range.
-* Fixed string literal parsing in the JavaScript grammar.
-* Generated code improvements and fixes.
-* Internal code improvements and fixes.
-* Improved README.md.
-
-0.4 (2010-04-17)
-----------------
-
-Big Changes:
-
-* Improved IE compatibility -- IE6+ is now fully supported.
-* Generated parsers are now standalone (no runtime is required).
-* Added example grammars for JavaScript, CSS and JSON.
-* Added a benchmark suite.
-* Implemented negative character classes (e.g. [^a-z]).
-* Project moved from BitBucket to GitHub.
-
-Small Changes:
-
-* Code generated for the character classes is now regexp-based (= simpler and
-  more scalable).
-* Added \uFEFF (BOM) to the definition of whitespace in the metagrammar.
-* When building a parser, left-recursive rules (both direct and indirect) are
-  reported as errors.
-* When building a parser, missing rules are reported as errors.
-* Expected items in the error messages do not contain duplicates and they are
-  sorted.
-* Fixed several bugs in the example arithmetics grammar.
-* Converted README to GitHub Flavored Markdown and improved it.
-* Added CHANGELOG.
-* Internal code improvements.
-
-0.3 (2010-03-14)
-----------------
-
-* Wrote README.
-* Bootstrapped the grammar parser.
-* Metagrammar recognizes JavaScript-like comments.
-* Changed standard grammar extension from .peg to .pegjs (it is more specific).
-* Simplified the example arithmetics grammar + added comment.
-* Fixed a bug with reporting of invalid ranges such as [b-a] in the metagrammar.
-* Fixed --start vs. --start-rule inconsistency between help and actual option
-  processing code.
-* Avoided ugliness in QUnit output.
-* Fixed typo in help: "parserVar" -> "parser_var".
-* Internal code improvements.
-
-0.2.1 (2010-03-08)
-------------------
-
-* Added "pegjs-" prefix to the name of the minified runtime file.
-
-0.2 (2010-03-08)
-----------------
-
-* Added Rakefile that builds minified runtime using Google Closure Compiler API.
-* Removed trailing commas in object initializers (Google Closure does not like
-  them).
-
-0.1 (2010-03-08)
-----------------
-
-* Initial release.


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


[18/32] ios commit: CB-11445 Updated checked-in node_modules

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/reduceRight.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/reduceRight.js b/node_modules/lodash-node/modern/collections/reduceRight.js
deleted file mode 100644
index 8ac5e24..0000000
--- a/node_modules/lodash-node/modern/collections/reduceRight.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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'),
-    forEachRight = require('./forEachRight');
-
-/**
- * This method is like `_.reduce` except that it iterates over elements
- * of a `collection` from right to left.
- *
- * @static
- * @memberOf _
- * @alias foldr
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Function} [callback=identity] The function called per iteration.
- * @param {*} [accumulator] Initial value of the accumulator.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {*} Returns the accumulated value.
- * @example
- *
- * var list = [[0, 1], [2, 3], [4, 5]];
- * var flat = _.reduceRight(list, function(a, b) { return a.concat(b); }, []);
- * // => [4, 5, 2, 3, 0, 1]
- */
-function reduceRight(collection, callback, accumulator, thisArg) {
-  var noaccum = arguments.length < 3;
-  callback = createCallback(callback, thisArg, 4);
-  forEachRight(collection, function(value, index, collection) {
-    accumulator = noaccum
-      ? (noaccum = false, value)
-      : callback(accumulator, value, index, collection);
-  });
-  return accumulator;
-}
-
-module.exports = reduceRight;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/reject.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/reject.js b/node_modules/lodash-node/modern/collections/reject.js
deleted file mode 100644
index 3abf516..0000000
--- a/node_modules/lodash-node/modern/collections/reject.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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'),
-    filter = require('./filter');
-
-/**
- * The opposite of `_.filter` this method returns the elements of a
- * collection that the callback does **not** return truey for.
- *
- * 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 Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {Array} Returns a new array of elements that failed the callback check.
- * @example
- *
- * var odds = _.reject([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; });
- * // => [1, 3, 5]
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36, 'blocked': false },
- *   { 'name': 'fred',   'age': 40, 'blocked': true }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.reject(characters, 'blocked');
- * // => [{ 'name': 'barney', 'age': 36, 'blocked': false }]
- *
- * // using "_.where" callback shorthand
- * _.reject(characters, { 'age': 36 });
- * // => [{ 'name': 'fred', 'age': 40, 'blocked': true }]
- */
-function reject(collection, callback, thisArg) {
-  callback = createCallback(callback, thisArg, 3);
-  return filter(collection, function(value, index, collection) {
-    return !callback(value, index, collection);
-  });
-}
-
-module.exports = reject;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/sample.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/sample.js b/node_modules/lodash-node/modern/collections/sample.js
deleted file mode 100644
index 5f0bedc..0000000
--- a/node_modules/lodash-node/modern/collections/sample.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseRandom = require('../internals/baseRandom'),
-    isString = require('../objects/isString'),
-    shuffle = require('./shuffle'),
-    values = require('../objects/values');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max,
-    nativeMin = Math.min;
-
-/**
- * Retrieves a random element or `n` random elements from a collection.
- *
- * @static
- * @memberOf _
- * @category Collections
- * @param {Array|Object|string} collection The collection to sample.
- * @param {number} [n] The number of elements to sample.
- * @param- {Object} [guard] Allows working with functions like `_.map`
- *  without using their `index` arguments as `n`.
- * @returns {Array} Returns the random sample(s) of `collection`.
- * @example
- *
- * _.sample([1, 2, 3, 4]);
- * // => 2
- *
- * _.sample([1, 2, 3, 4], 2);
- * // => [3, 1]
- */
-function sample(collection, n, guard) {
-  if (collection && typeof collection.length != 'number') {
-    collection = values(collection);
-  }
-  if (n == null || guard) {
-    return collection ? collection[baseRandom(0, collection.length - 1)] : undefined;
-  }
-  var result = shuffle(collection);
-  result.length = nativeMin(nativeMax(0, n), result.length);
-  return result;
-}
-
-module.exports = sample;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/shuffle.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/shuffle.js b/node_modules/lodash-node/modern/collections/shuffle.js
deleted file mode 100644
index fc3d3c9..0000000
--- a/node_modules/lodash-node/modern/collections/shuffle.js
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseRandom = require('../internals/baseRandom'),
-    forEach = require('./forEach');
-
-/**
- * Creates an array of shuffled values, using a version of the Fisher-Yates
- * shuffle. See http://en.wikipedia.org/wiki/Fisher-Yates_shuffle.
- *
- * @static
- * @memberOf _
- * @category Collections
- * @param {Array|Object|string} collection The collection to shuffle.
- * @returns {Array} Returns a new shuffled collection.
- * @example
- *
- * _.shuffle([1, 2, 3, 4, 5, 6]);
- * // => [4, 1, 6, 3, 5, 2]
- */
-function shuffle(collection) {
-  var index = -1,
-      length = collection ? collection.length : 0,
-      result = Array(typeof length == 'number' ? length : 0);
-
-  forEach(collection, function(value) {
-    var rand = baseRandom(0, ++index);
-    result[index] = result[rand];
-    result[rand] = value;
-  });
-  return result;
-}
-
-module.exports = shuffle;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/size.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/size.js b/node_modules/lodash-node/modern/collections/size.js
deleted file mode 100644
index b4b3cf3..0000000
--- a/node_modules/lodash-node/modern/collections/size.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 keys = require('../objects/keys');
-
-/**
- * Gets the size of the `collection` by returning `collection.length` for arrays
- * and array-like objects or the number of own enumerable properties for objects.
- *
- * @static
- * @memberOf _
- * @category Collections
- * @param {Array|Object|string} collection The collection to inspect.
- * @returns {number} Returns `collection.length` or number of own enumerable properties.
- * @example
- *
- * _.size([1, 2]);
- * // => 2
- *
- * _.size({ 'one': 1, 'two': 2, 'three': 3 });
- * // => 3
- *
- * _.size('pebbles');
- * // => 7
- */
-function size(collection) {
-  var length = collection ? collection.length : 0;
-  return typeof length == 'number' ? length : keys(collection).length;
-}
-
-module.exports = size;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/some.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/some.js b/node_modules/lodash-node/modern/collections/some.js
deleted file mode 100644
index e635563..0000000
--- a/node_modules/lodash-node/modern/collections/some.js
+++ /dev/null
@@ -1,76 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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'),
-    forOwn = require('../objects/forOwn'),
-    isArray = require('../objects/isArray');
-
-/**
- * Checks if the callback returns a truey value for **any** element of a
- * collection. The function returns as soon as it finds a passing value and
- * does not iterate over the entire collection. The callback is bound to
- * `thisArg` and invoked with three arguments; (value, index|key, collection).
- *
- * 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 _
- * @alias any
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {boolean} Returns `true` if any element passed the callback check,
- *  else `false`.
- * @example
- *
- * _.some([null, 0, 'yes', false], Boolean);
- * // => true
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36, 'blocked': false },
- *   { 'name': 'fred',   'age': 40, 'blocked': true }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.some(characters, 'blocked');
- * // => true
- *
- * // using "_.where" callback shorthand
- * _.some(characters, { 'age': 1 });
- * // => false
- */
-function some(collection, callback, thisArg) {
-  var result;
-  callback = createCallback(callback, thisArg, 3);
-
-  var index = -1,
-      length = collection ? collection.length : 0;
-
-  if (typeof length == 'number') {
-    while (++index < length) {
-      if ((result = callback(collection[index], index, collection))) {
-        break;
-      }
-    }
-  } else {
-    forOwn(collection, function(value, index, collection) {
-      return !(result = callback(value, index, collection));
-    });
-  }
-  return !!result;
-}
-
-module.exports = some;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/sortBy.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/sortBy.js b/node_modules/lodash-node/modern/collections/sortBy.js
deleted file mode 100644
index 4e765d3..0000000
--- a/node_modules/lodash-node/modern/collections/sortBy.js
+++ /dev/null
@@ -1,101 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 compareAscending = require('../internals/compareAscending'),
-    createCallback = require('../functions/createCallback'),
-    forEach = require('./forEach'),
-    getArray = require('../internals/getArray'),
-    getObject = require('../internals/getObject'),
-    isArray = require('../objects/isArray'),
-    map = require('./map'),
-    releaseArray = require('../internals/releaseArray'),
-    releaseObject = require('../internals/releaseObject');
-
-/**
- * Creates an array of elements, sorted in ascending order by the results of
- * running each element in a collection through the callback. This method
- * performs a stable sort, that is, it will preserve the original sort order
- * of equal elements. The callback is bound to `thisArg` and invoked with
- * three arguments; (value, index|key, collection).
- *
- * If a property name is provided for `callback` the created "_.pluck" style
- * callback will return the property value of the given element.
- *
- * If an array of property names is provided for `callback` the collection
- * will be sorted by each property value.
- *
- * 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 Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Array|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 {Array} Returns a new array of sorted elements.
- * @example
- *
- * _.sortBy([1, 2, 3], function(num) { return Math.sin(num); });
- * // => [3, 1, 2]
- *
- * _.sortBy([1, 2, 3], function(num) { return this.sin(num); }, Math);
- * // => [3, 1, 2]
- *
- * var characters = [
- *   { 'name': 'barney',  'age': 36 },
- *   { 'name': 'fred',    'age': 40 },
- *   { 'name': 'barney',  'age': 26 },
- *   { 'name': 'fred',    'age': 30 }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.map(_.sortBy(characters, 'age'), _.values);
- * // => [['barney', 26], ['fred', 30], ['barney', 36], ['fred', 40]]
- *
- * // sorting by multiple properties
- * _.map(_.sortBy(characters, ['name', 'age']), _.values);
- * // = > [['barney', 26], ['barney', 36], ['fred', 30], ['fred', 40]]
- */
-function sortBy(collection, callback, thisArg) {
-  var index = -1,
-      isArr = isArray(callback),
-      length = collection ? collection.length : 0,
-      result = Array(typeof length == 'number' ? length : 0);
-
-  if (!isArr) {
-    callback = createCallback(callback, thisArg, 3);
-  }
-  forEach(collection, function(value, key, collection) {
-    var object = result[++index] = getObject();
-    if (isArr) {
-      object.criteria = map(callback, function(key) { return value[key]; });
-    } else {
-      (object.criteria = getArray())[0] = callback(value, key, collection);
-    }
-    object.index = index;
-    object.value = value;
-  });
-
-  length = result.length;
-  result.sort(compareAscending);
-  while (length--) {
-    var object = result[length];
-    result[length] = object.value;
-    if (!isArr) {
-      releaseArray(object.criteria);
-    }
-    releaseObject(object);
-  }
-  return result;
-}
-
-module.exports = sortBy;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/toArray.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/toArray.js b/node_modules/lodash-node/modern/collections/toArray.js
deleted file mode 100644
index 24c1f52..0000000
--- a/node_modules/lodash-node/modern/collections/toArray.js
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 isString = require('../objects/isString'),
-    slice = require('../internals/slice'),
-    values = require('../objects/values');
-
-/**
- * Converts the `collection` to an array.
- *
- * @static
- * @memberOf _
- * @category Collections
- * @param {Array|Object|string} collection The collection to convert.
- * @returns {Array} Returns the new converted array.
- * @example
- *
- * (function() { return _.toArray(arguments).slice(1); })(1, 2, 3, 4);
- * // => [2, 3, 4]
- */
-function toArray(collection) {
-  if (collection && typeof collection.length == 'number') {
-    return slice(collection);
-  }
-  return values(collection);
-}
-
-module.exports = toArray;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/where.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/where.js b/node_modules/lodash-node/modern/collections/where.js
deleted file mode 100644
index 6f8fb6f..0000000
--- a/node_modules/lodash-node/modern/collections/where.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 filter = require('./filter');
-
-/**
- * Performs a deep comparison of each element in a `collection` to the given
- * `properties` object, returning an array of all elements that have equivalent
- * property values.
- *
- * @static
- * @memberOf _
- * @type Function
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Object} props The object of property values to filter by.
- * @returns {Array} Returns a new array of elements that have the given properties.
- * @example
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36, 'pets': ['hoppy'] },
- *   { 'name': 'fred',   'age': 40, 'pets': ['baby puss', 'dino'] }
- * ];
- *
- * _.where(characters, { 'age': 36 });
- * // => [{ 'name': 'barney', 'age': 36, 'pets': ['hoppy'] }]
- *
- * _.where(characters, { 'pets': ['dino'] });
- * // => [{ 'name': 'fred', 'age': 40, 'pets': ['baby puss', 'dino'] }]
- */
-var where = filter;
-
-module.exports = where;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/functions.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/functions.js b/node_modules/lodash-node/modern/functions.js
deleted file mode 100644
index f50894d..0000000
--- a/node_modules/lodash-node/modern/functions.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 = {
-  'after': require('./functions/after'),
-  'bind': require('./functions/bind'),
-  'bindAll': require('./functions/bindAll'),
-  'bindKey': require('./functions/bindKey'),
-  'compose': require('./functions/compose'),
-  'createCallback': require('./functions/createCallback'),
-  'curry': require('./functions/curry'),
-  'debounce': require('./functions/debounce'),
-  'defer': require('./functions/defer'),
-  'delay': require('./functions/delay'),
-  'memoize': require('./functions/memoize'),
-  'once': require('./functions/once'),
-  'partial': require('./functions/partial'),
-  'partialRight': require('./functions/partialRight'),
-  'throttle': require('./functions/throttle'),
-  'wrap': require('./functions/wrap')
-};

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/functions/after.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/functions/after.js b/node_modules/lodash-node/modern/functions/after.js
deleted file mode 100644
index cbff273..0000000
--- a/node_modules/lodash-node/modern/functions/after.js
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 isFunction = require('../objects/isFunction');
-
-/**
- * Creates a function that executes `func`, with  the `this` binding and
- * arguments of the created function, only after being called `n` times.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {number} n The number of times the function must be called before
- *  `func` is executed.
- * @param {Function} func The function to restrict.
- * @returns {Function} Returns the new restricted function.
- * @example
- *
- * var saves = ['profile', 'settings'];
- *
- * var done = _.after(saves.length, function() {
- *   console.log('Done saving!');
- * });
- *
- * _.forEach(saves, function(type) {
- *   asyncSave({ 'type': type, 'complete': done });
- * });
- * // => logs 'Done saving!', after all saves have completed
- */
-function after(n, func) {
-  if (!isFunction(func)) {
-    throw new TypeError;
-  }
-  return function() {
-    if (--n < 1) {
-      return func.apply(this, arguments);
-    }
-  };
-}
-
-module.exports = after;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/functions/bind.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/functions/bind.js b/node_modules/lodash-node/modern/functions/bind.js
deleted file mode 100644
index f150cbc..0000000
--- a/node_modules/lodash-node/modern/functions/bind.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 createWrapper = require('../internals/createWrapper'),
-    slice = require('../internals/slice');
-
-/**
- * Creates a function that, when called, invokes `func` with the `this`
- * binding of `thisArg` and prepends any additional `bind` arguments to those
- * provided to the bound function.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to bind.
- * @param {*} [thisArg] The `this` binding of `func`.
- * @param {...*} [arg] Arguments to be partially applied.
- * @returns {Function} Returns the new bound function.
- * @example
- *
- * var func = function(greeting) {
- *   return greeting + ' ' + this.name;
- * };
- *
- * func = _.bind(func, { 'name': 'fred' }, 'hi');
- * func();
- * // => 'hi fred'
- */
-function bind(func, thisArg) {
-  return arguments.length > 2
-    ? createWrapper(func, 17, slice(arguments, 2), null, thisArg)
-    : createWrapper(func, 1, null, null, thisArg);
-}
-
-module.exports = bind;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/functions/bindAll.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/functions/bindAll.js b/node_modules/lodash-node/modern/functions/bindAll.js
deleted file mode 100644
index 8d20be5..0000000
--- a/node_modules/lodash-node/modern/functions/bindAll.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseFlatten = require('../internals/baseFlatten'),
-    createWrapper = require('../internals/createWrapper'),
-    functions = require('../objects/functions');
-
-/**
- * Binds methods of an object to the object itself, overwriting the existing
- * method. Method names may be specified as individual arguments or as arrays
- * of method names. If no method names are provided all the function properties
- * of `object` will be bound.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Object} object The object to bind and assign the bound methods to.
- * @param {...string} [methodName] The object method names to
- *  bind, specified as individual method names or arrays of method names.
- * @returns {Object} Returns `object`.
- * @example
- *
- * var view = {
- *   'label': 'docs',
- *   'onClick': function() { console.log('clicked ' + this.label); }
- * };
- *
- * _.bindAll(view);
- * jQuery('#docs').on('click', view.onClick);
- * // => logs 'clicked docs', when the button is clicked
- */
-function bindAll(object) {
-  var funcs = arguments.length > 1 ? baseFlatten(arguments, true, false, 1) : functions(object),
-      index = -1,
-      length = funcs.length;
-
-  while (++index < length) {
-    var key = funcs[index];
-    object[key] = createWrapper(object[key], 1, null, null, object);
-  }
-  return object;
-}
-
-module.exports = bindAll;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/functions/bindKey.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/functions/bindKey.js b/node_modules/lodash-node/modern/functions/bindKey.js
deleted file mode 100644
index eb31c2f..0000000
--- a/node_modules/lodash-node/modern/functions/bindKey.js
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 createWrapper = require('../internals/createWrapper'),
-    slice = require('../internals/slice');
-
-/**
- * Creates a function that, when called, invokes the method at `object[key]`
- * and prepends any additional `bindKey` arguments to those provided to the bound
- * function. This method differs from `_.bind` by allowing bound functions to
- * reference methods that will be redefined or don't yet exist.
- * See http://michaux.ca/articles/lazy-function-definition-pattern.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Object} object The object the method belongs to.
- * @param {string} key The key of the method.
- * @param {...*} [arg] Arguments to be partially applied.
- * @returns {Function} Returns the new bound function.
- * @example
- *
- * var object = {
- *   'name': 'fred',
- *   'greet': function(greeting) {
- *     return greeting + ' ' + this.name;
- *   }
- * };
- *
- * var func = _.bindKey(object, 'greet', 'hi');
- * func();
- * // => 'hi fred'
- *
- * object.greet = function(greeting) {
- *   return greeting + 'ya ' + this.name + '!';
- * };
- *
- * func();
- * // => 'hiya fred!'
- */
-function bindKey(object, key) {
-  return arguments.length > 2
-    ? createWrapper(key, 19, slice(arguments, 2), null, object)
-    : createWrapper(key, 3, null, null, object);
-}
-
-module.exports = bindKey;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/functions/compose.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/functions/compose.js b/node_modules/lodash-node/modern/functions/compose.js
deleted file mode 100644
index d0af883..0000000
--- a/node_modules/lodash-node/modern/functions/compose.js
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 isFunction = require('../objects/isFunction');
-
-/**
- * Creates a function that is the composition of the provided functions,
- * where each function consumes the return value of the function that follows.
- * For example, composing the functions `f()`, `g()`, and `h()` produces `f(g(h()))`.
- * Each function is executed with the `this` binding of the composed function.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {...Function} [func] Functions to compose.
- * @returns {Function} Returns the new composed function.
- * @example
- *
- * var realNameMap = {
- *   'pebbles': 'penelope'
- * };
- *
- * var format = function(name) {
- *   name = realNameMap[name.toLowerCase()] || name;
- *   return name.charAt(0).toUpperCase() + name.slice(1).toLowerCase();
- * };
- *
- * var greet = function(formatted) {
- *   return 'Hiya ' + formatted + '!';
- * };
- *
- * var welcome = _.compose(greet, format);
- * welcome('pebbles');
- * // => 'Hiya Penelope!'
- */
-function compose() {
-  var funcs = arguments,
-      length = funcs.length;
-
-  while (length--) {
-    if (!isFunction(funcs[length])) {
-      throw new TypeError;
-    }
-  }
-  return function() {
-    var args = arguments,
-        length = funcs.length;
-
-    while (length--) {
-      args = [funcs[length].apply(this, args)];
-    }
-    return args[0];
-  };
-}
-
-module.exports = compose;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/functions/createCallback.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/functions/createCallback.js b/node_modules/lodash-node/modern/functions/createCallback.js
deleted file mode 100644
index dcf255b..0000000
--- a/node_modules/lodash-node/modern/functions/createCallback.js
+++ /dev/null
@@ -1,81 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseCreateCallback = require('../internals/baseCreateCallback'),
-    baseIsEqual = require('../internals/baseIsEqual'),
-    isObject = require('../objects/isObject'),
-    keys = require('../objects/keys'),
-    property = require('../utilities/property');
-
-/**
- * Produces a callback bound to an optional `thisArg`. If `func` is a property
- * name the created callback will return the property value for a given element.
- * If `func` is an object the created callback will return `true` for elements
- * that contain the equivalent object properties, otherwise it will return `false`.
- *
- * @static
- * @memberOf _
- * @category Utilities
- * @param {*} [func=identity] The value to convert to a callback.
- * @param {*} [thisArg] The `this` binding of the created callback.
- * @param {number} [argCount] The number of arguments the callback accepts.
- * @returns {Function} Returns a callback function.
- * @example
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * // wrap to create custom callback shorthands
- * _.createCallback = _.wrap(_.createCallback, function(func, callback, thisArg) {
- *   var match = /^(.+?)__([gl]t)(.+)$/.exec(callback);
- *   return !match ? func(callback, thisArg) : function(object) {
- *     return match[2] == 'gt' ? object[match[1]] > match[3] : object[match[1]] < match[3];
- *   };
- * });
- *
- * _.filter(characters, 'age__gt38');
- * // => [{ 'name': 'fred', 'age': 40 }]
- */
-function createCallback(func, thisArg, argCount) {
-  var type = typeof func;
-  if (func == null || type == 'function') {
-    return baseCreateCallback(func, thisArg, argCount);
-  }
-  // handle "_.pluck" style callback shorthands
-  if (type != 'object') {
-    return property(func);
-  }
-  var props = keys(func),
-      key = props[0],
-      a = func[key];
-
-  // handle "_.where" style callback shorthands
-  if (props.length == 1 && a === a && !isObject(a)) {
-    // fast path the common case of providing an object with a single
-    // property containing a primitive value
-    return function(object) {
-      var b = object[key];
-      return a === b && (a !== 0 || (1 / a == 1 / b));
-    };
-  }
-  return function(object) {
-    var length = props.length,
-        result = false;
-
-    while (length--) {
-      if (!(result = baseIsEqual(object[props[length]], func[props[length]], null, true))) {
-        break;
-      }
-    }
-    return result;
-  };
-}
-
-module.exports = createCallback;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/functions/curry.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/functions/curry.js b/node_modules/lodash-node/modern/functions/curry.js
deleted file mode 100644
index bf6b12d..0000000
--- a/node_modules/lodash-node/modern/functions/curry.js
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 createWrapper = require('../internals/createWrapper');
-
-/**
- * Creates a function which accepts one or more arguments of `func` that when
- * invoked either executes `func` returning its result, if all `func` arguments
- * have been provided, or returns a function that accepts one or more of the
- * remaining `func` arguments, and so on. The arity of `func` can be specified
- * if `func.length` is not sufficient.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to curry.
- * @param {number} [arity=func.length] The arity of `func`.
- * @returns {Function} Returns the new curried function.
- * @example
- *
- * var curried = _.curry(function(a, b, c) {
- *   console.log(a + b + c);
- * });
- *
- * curried(1)(2)(3);
- * // => 6
- *
- * curried(1, 2)(3);
- * // => 6
- *
- * curried(1, 2, 3);
- * // => 6
- */
-function curry(func, arity) {
-  arity = typeof arity == 'number' ? arity : (+arity || func.length);
-  return createWrapper(func, 4, null, null, null, arity);
-}
-
-module.exports = curry;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/functions/debounce.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/functions/debounce.js b/node_modules/lodash-node/modern/functions/debounce.js
deleted file mode 100644
index a904202..0000000
--- a/node_modules/lodash-node/modern/functions/debounce.js
+++ /dev/null
@@ -1,156 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 isFunction = require('../objects/isFunction'),
-    isObject = require('../objects/isObject'),
-    now = require('../utilities/now');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max;
-
-/**
- * Creates a function that will delay the execution of `func` until after
- * `wait` milliseconds have elapsed since the last time it was invoked.
- * Provide an options object to indicate that `func` should be invoked on
- * the leading and/or trailing edge of the `wait` timeout. Subsequent calls
- * to the debounced function will return the result of the last `func` call.
- *
- * Note: If `leading` and `trailing` options are `true` `func` will be called
- * on the trailing edge of the timeout only if the the debounced function is
- * invoked more than once during the `wait` timeout.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to debounce.
- * @param {number} wait The number of milliseconds to delay.
- * @param {Object} [options] The options object.
- * @param {boolean} [options.leading=false] Specify execution on the leading edge of the timeout.
- * @param {number} [options.maxWait] The maximum time `func` is allowed to be delayed before it's called.
- * @param {boolean} [options.trailing=true] Specify execution on the trailing edge of the timeout.
- * @returns {Function} Returns the new debounced function.
- * @example
- *
- * // avoid costly calculations while the window size is in flux
- * var lazyLayout = _.debounce(calculateLayout, 150);
- * jQuery(window).on('resize', lazyLayout);
- *
- * // execute `sendMail` when the click event is fired, debouncing subsequent calls
- * jQuery('#postbox').on('click', _.debounce(sendMail, 300, {
- *   'leading': true,
- *   'trailing': false
- * });
- *
- * // ensure `batchLog` is executed once after 1 second of debounced calls
- * var source = new EventSource('/stream');
- * source.addEventListener('message', _.debounce(batchLog, 250, {
- *   'maxWait': 1000
- * }, false);
- */
-function debounce(func, wait, options) {
-  var args,
-      maxTimeoutId,
-      result,
-      stamp,
-      thisArg,
-      timeoutId,
-      trailingCall,
-      lastCalled = 0,
-      maxWait = false,
-      trailing = true;
-
-  if (!isFunction(func)) {
-    throw new TypeError;
-  }
-  wait = nativeMax(0, wait) || 0;
-  if (options === true) {
-    var leading = true;
-    trailing = false;
-  } else if (isObject(options)) {
-    leading = options.leading;
-    maxWait = 'maxWait' in options && (nativeMax(wait, options.maxWait) || 0);
-    trailing = 'trailing' in options ? options.trailing : trailing;
-  }
-  var delayed = function() {
-    var remaining = wait - (now() - stamp);
-    if (remaining <= 0) {
-      if (maxTimeoutId) {
-        clearTimeout(maxTimeoutId);
-      }
-      var isCalled = trailingCall;
-      maxTimeoutId = timeoutId = trailingCall = undefined;
-      if (isCalled) {
-        lastCalled = now();
-        result = func.apply(thisArg, args);
-        if (!timeoutId && !maxTimeoutId) {
-          args = thisArg = null;
-        }
-      }
-    } else {
-      timeoutId = setTimeout(delayed, remaining);
-    }
-  };
-
-  var maxDelayed = function() {
-    if (timeoutId) {
-      clearTimeout(timeoutId);
-    }
-    maxTimeoutId = timeoutId = trailingCall = undefined;
-    if (trailing || (maxWait !== wait)) {
-      lastCalled = now();
-      result = func.apply(thisArg, args);
-      if (!timeoutId && !maxTimeoutId) {
-        args = thisArg = null;
-      }
-    }
-  };
-
-  return function() {
-    args = arguments;
-    stamp = now();
-    thisArg = this;
-    trailingCall = trailing && (timeoutId || !leading);
-
-    if (maxWait === false) {
-      var leadingCall = leading && !timeoutId;
-    } else {
-      if (!maxTimeoutId && !leading) {
-        lastCalled = stamp;
-      }
-      var remaining = maxWait - (stamp - lastCalled),
-          isCalled = remaining <= 0;
-
-      if (isCalled) {
-        if (maxTimeoutId) {
-          maxTimeoutId = clearTimeout(maxTimeoutId);
-        }
-        lastCalled = stamp;
-        result = func.apply(thisArg, args);
-      }
-      else if (!maxTimeoutId) {
-        maxTimeoutId = setTimeout(maxDelayed, remaining);
-      }
-    }
-    if (isCalled && timeoutId) {
-      timeoutId = clearTimeout(timeoutId);
-    }
-    else if (!timeoutId && wait !== maxWait) {
-      timeoutId = setTimeout(delayed, wait);
-    }
-    if (leadingCall) {
-      isCalled = true;
-      result = func.apply(thisArg, args);
-    }
-    if (isCalled && !timeoutId && !maxTimeoutId) {
-      args = thisArg = null;
-    }
-    return result;
-  };
-}
-
-module.exports = debounce;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/functions/defer.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/functions/defer.js b/node_modules/lodash-node/modern/functions/defer.js
deleted file mode 100644
index 45271be..0000000
--- a/node_modules/lodash-node/modern/functions/defer.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 isFunction = require('../objects/isFunction'),
-    slice = require('../internals/slice');
-
-/**
- * Defers executing the `func` function until the current call stack has cleared.
- * Additional arguments will be provided to `func` when it is invoked.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to defer.
- * @param {...*} [arg] Arguments to invoke the function with.
- * @returns {number} Returns the timer id.
- * @example
- *
- * _.defer(function(text) { console.log(text); }, 'deferred');
- * // logs 'deferred' after one or more milliseconds
- */
-function defer(func) {
-  if (!isFunction(func)) {
-    throw new TypeError;
-  }
-  var args = slice(arguments, 1);
-  return setTimeout(function() { func.apply(undefined, args); }, 1);
-}
-
-module.exports = defer;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/functions/delay.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/functions/delay.js b/node_modules/lodash-node/modern/functions/delay.js
deleted file mode 100644
index 50b23af..0000000
--- a/node_modules/lodash-node/modern/functions/delay.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 isFunction = require('../objects/isFunction'),
-    slice = require('../internals/slice');
-
-/**
- * Executes the `func` function after `wait` milliseconds. Additional arguments
- * will be provided to `func` when it is invoked.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to delay.
- * @param {number} wait The number of milliseconds to delay execution.
- * @param {...*} [arg] Arguments to invoke the function with.
- * @returns {number} Returns the timer id.
- * @example
- *
- * _.delay(function(text) { console.log(text); }, 1000, 'later');
- * // => logs 'later' after one second
- */
-function delay(func, wait) {
-  if (!isFunction(func)) {
-    throw new TypeError;
-  }
-  var args = slice(arguments, 2);
-  return setTimeout(function() { func.apply(undefined, args); }, wait);
-}
-
-module.exports = delay;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/functions/memoize.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/functions/memoize.js b/node_modules/lodash-node/modern/functions/memoize.js
deleted file mode 100644
index e02aecb..0000000
--- a/node_modules/lodash-node/modern/functions/memoize.js
+++ /dev/null
@@ -1,71 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 isFunction = require('../objects/isFunction'),
-    keyPrefix = require('../internals/keyPrefix');
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/**
- * Creates a function that memoizes the result of `func`. If `resolver` is
- * provided it will be used to determine the cache key for storing the result
- * based on the arguments provided to the memoized function. By default, the
- * first argument provided to the memoized function is used as the cache key.
- * The `func` is executed with the `this` binding of the memoized function.
- * The result cache is exposed as the `cache` property on the memoized function.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to have its output memoized.
- * @param {Function} [resolver] A function used to resolve the cache key.
- * @returns {Function} Returns the new memoizing function.
- * @example
- *
- * var fibonacci = _.memoize(function(n) {
- *   return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2);
- * });
- *
- * fibonacci(9)
- * // => 34
- *
- * var data = {
- *   'fred': { 'name': 'fred', 'age': 40 },
- *   'pebbles': { 'name': 'pebbles', 'age': 1 }
- * };
- *
- * // modifying the result cache
- * var get = _.memoize(function(name) { return data[name]; }, _.identity);
- * get('pebbles');
- * // => { 'name': 'pebbles', 'age': 1 }
- *
- * get.cache.pebbles.name = 'penelope';
- * get('pebbles');
- * // => { 'name': 'penelope', 'age': 1 }
- */
-function memoize(func, resolver) {
-  if (!isFunction(func)) {
-    throw new TypeError;
-  }
-  var memoized = function() {
-    var cache = memoized.cache,
-        key = resolver ? resolver.apply(this, arguments) : keyPrefix + arguments[0];
-
-    return hasOwnProperty.call(cache, key)
-      ? cache[key]
-      : (cache[key] = func.apply(this, arguments));
-  }
-  memoized.cache = {};
-  return memoized;
-}
-
-module.exports = memoize;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/functions/once.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/functions/once.js b/node_modules/lodash-node/modern/functions/once.js
deleted file mode 100644
index 8cc4d54..0000000
--- a/node_modules/lodash-node/modern/functions/once.js
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 isFunction = require('../objects/isFunction');
-
-/**
- * Creates a function that is restricted to execute `func` once. Repeat calls to
- * the function will return the value of the first call. The `func` is executed
- * with the `this` binding of the created function.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to restrict.
- * @returns {Function} Returns the new restricted function.
- * @example
- *
- * var initialize = _.once(createApplication);
- * initialize();
- * initialize();
- * // `initialize` executes `createApplication` once
- */
-function once(func) {
-  var ran,
-      result;
-
-  if (!isFunction(func)) {
-    throw new TypeError;
-  }
-  return function() {
-    if (ran) {
-      return result;
-    }
-    ran = true;
-    result = func.apply(this, arguments);
-
-    // clear the `func` variable so the function may be garbage collected
-    func = null;
-    return result;
-  };
-}
-
-module.exports = once;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/functions/partial.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/functions/partial.js b/node_modules/lodash-node/modern/functions/partial.js
deleted file mode 100644
index 87854f5..0000000
--- a/node_modules/lodash-node/modern/functions/partial.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 createWrapper = require('../internals/createWrapper'),
-    slice = require('../internals/slice');
-
-/**
- * Creates a function that, when called, invokes `func` with any additional
- * `partial` arguments prepended to those provided to the new function. This
- * method is similar to `_.bind` except it does **not** alter the `this` binding.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to partially apply arguments to.
- * @param {...*} [arg] Arguments to be partially applied.
- * @returns {Function} Returns the new partially applied function.
- * @example
- *
- * var greet = function(greeting, name) { return greeting + ' ' + name; };
- * var hi = _.partial(greet, 'hi');
- * hi('fred');
- * // => 'hi fred'
- */
-function partial(func) {
-  return createWrapper(func, 16, slice(arguments, 1));
-}
-
-module.exports = partial;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/functions/partialRight.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/functions/partialRight.js b/node_modules/lodash-node/modern/functions/partialRight.js
deleted file mode 100644
index 3958f6b..0000000
--- a/node_modules/lodash-node/modern/functions/partialRight.js
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 createWrapper = require('../internals/createWrapper'),
-    slice = require('../internals/slice');
-
-/**
- * This method is like `_.partial` except that `partial` arguments are
- * appended to those provided to the new function.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to partially apply arguments to.
- * @param {...*} [arg] Arguments to be partially applied.
- * @returns {Function} Returns the new partially applied function.
- * @example
- *
- * var defaultsDeep = _.partialRight(_.merge, _.defaults);
- *
- * var options = {
- *   'variable': 'data',
- *   'imports': { 'jq': $ }
- * };
- *
- * defaultsDeep(options, _.templateSettings);
- *
- * options.variable
- * // => 'data'
- *
- * options.imports
- * // => { '_': _, 'jq': $ }
- */
-function partialRight(func) {
-  return createWrapper(func, 32, null, slice(arguments, 1));
-}
-
-module.exports = partialRight;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/functions/throttle.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/functions/throttle.js b/node_modules/lodash-node/modern/functions/throttle.js
deleted file mode 100644
index 5b5daf5..0000000
--- a/node_modules/lodash-node/modern/functions/throttle.js
+++ /dev/null
@@ -1,71 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 debounce = require('./debounce'),
-    isFunction = require('../objects/isFunction'),
-    isObject = require('../objects/isObject');
-
-/** Used as an internal `_.debounce` options object */
-var debounceOptions = {
-  'leading': false,
-  'maxWait': 0,
-  'trailing': false
-};
-
-/**
- * Creates a function that, when executed, will only call the `func` function
- * at most once per every `wait` milliseconds. Provide an options object to
- * indicate that `func` should be invoked on the leading and/or trailing edge
- * of the `wait` timeout. Subsequent calls to the throttled function will
- * return the result of the last `func` call.
- *
- * Note: If `leading` and `trailing` options are `true` `func` will be called
- * on the trailing edge of the timeout only if the the throttled function is
- * invoked more than once during the `wait` timeout.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {Function} func The function to throttle.
- * @param {number} wait The number of milliseconds to throttle executions to.
- * @param {Object} [options] The options object.
- * @param {boolean} [options.leading=true] Specify execution on the leading edge of the timeout.
- * @param {boolean} [options.trailing=true] Specify execution on the trailing edge of the timeout.
- * @returns {Function} Returns the new throttled function.
- * @example
- *
- * // avoid excessively updating the position while scrolling
- * var throttled = _.throttle(updatePosition, 100);
- * jQuery(window).on('scroll', throttled);
- *
- * // execute `renewToken` when the click event is fired, but not more than once every 5 minutes
- * jQuery('.interactive').on('click', _.throttle(renewToken, 300000, {
- *   'trailing': false
- * }));
- */
-function throttle(func, wait, options) {
-  var leading = true,
-      trailing = true;
-
-  if (!isFunction(func)) {
-    throw new TypeError;
-  }
-  if (options === false) {
-    leading = false;
-  } else if (isObject(options)) {
-    leading = 'leading' in options ? options.leading : leading;
-    trailing = 'trailing' in options ? options.trailing : trailing;
-  }
-  debounceOptions.leading = leading;
-  debounceOptions.maxWait = wait;
-  debounceOptions.trailing = trailing;
-
-  return debounce(func, wait, debounceOptions);
-}
-
-module.exports = throttle;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/functions/wrap.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/functions/wrap.js b/node_modules/lodash-node/modern/functions/wrap.js
deleted file mode 100644
index e547b1d..0000000
--- a/node_modules/lodash-node/modern/functions/wrap.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 createWrapper = require('../internals/createWrapper');
-
-/**
- * Creates a function that provides `value` to the wrapper function as its
- * first argument. Additional arguments provided to the function are appended
- * to those provided to the wrapper function. The wrapper is executed with
- * the `this` binding of the created function.
- *
- * @static
- * @memberOf _
- * @category Functions
- * @param {*} value The value to wrap.
- * @param {Function} wrapper The wrapper function.
- * @returns {Function} Returns the new function.
- * @example
- *
- * var p = _.wrap(_.escape, function(func, text) {
- *   return '<p>' + func(text) + '</p>';
- * });
- *
- * p('Fred, Wilma, & Pebbles');
- * // => '<p>Fred, Wilma, &amp; Pebbles</p>'
- */
-function wrap(value, wrapper) {
-  return createWrapper(wrapper, 16, [value]);
-}
-
-module.exports = wrap;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/index.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/index.js b/node_modules/lodash-node/modern/index.js
deleted file mode 100644
index e98868e..0000000
--- a/node_modules/lodash-node/modern/index.js
+++ /dev/null
@@ -1,354 +0,0 @@
-/**
- * @license
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 arrays = require('./arrays'),
-    chaining = require('./chaining'),
-    collections = require('./collections'),
-    functions = require('./functions'),
-    objects = require('./objects'),
-    utilities = require('./utilities'),
-    forEach = require('./collections/forEach'),
-    forOwn = require('./objects/forOwn'),
-    isArray = require('./objects/isArray'),
-    lodashWrapper = require('./internals/lodashWrapper'),
-    mixin = require('./utilities/mixin'),
-    support = require('./support'),
-    templateSettings = require('./utilities/templateSettings');
-
-/**
- * Used for `Array` method references.
- *
- * Normally `Array.prototype` would suffice, however, using an array literal
- * avoids issues in Narwhal.
- */
-var arrayRef = [];
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/**
- * Creates a `lodash` object which wraps the given value to enable intuitive
- * method chaining.
- *
- * In addition to Lo-Dash methods, wrappers also have the following `Array` methods:
- * `concat`, `join`, `pop`, `push`, `reverse`, `shift`, `slice`, `sort`, `splice`,
- * and `unshift`
- *
- * Chaining is supported in custom builds as long as the `value` method is
- * implicitly or explicitly included in the build.
- *
- * The chainable wrapper functions are:
- * `after`, `assign`, `bind`, `bindAll`, `bindKey`, `chain`, `compact`,
- * `compose`, `concat`, `countBy`, `create`, `createCallback`, `curry`,
- * `debounce`, `defaults`, `defer`, `delay`, `difference`, `filter`, `flatten`,
- * `forEach`, `forEachRight`, `forIn`, `forInRight`, `forOwn`, `forOwnRight`,
- * `functions`, `groupBy`, `indexBy`, `initial`, `intersection`, `invert`,
- * `invoke`, `keys`, `map`, `max`, `memoize`, `merge`, `min`, `object`, `omit`,
- * `once`, `pairs`, `partial`, `partialRight`, `pick`, `pluck`, `pull`, `push`,
- * `range`, `reject`, `remove`, `rest`, `reverse`, `shuffle`, `slice`, `sort`,
- * `sortBy`, `splice`, `tap`, `throttle`, `times`, `toArray`, `transform`,
- * `union`, `uniq`, `unshift`, `unzip`, `values`, `where`, `without`, `wrap`,
- * and `zip`
- *
- * The non-chainable wrapper functions are:
- * `clone`, `cloneDeep`, `contains`, `escape`, `every`, `find`, `findIndex`,
- * `findKey`, `findLast`, `findLastIndex`, `findLastKey`, `has`, `identity`,
- * `indexOf`, `isArguments`, `isArray`, `isBoolean`, `isDate`, `isElement`,
- * `isEmpty`, `isEqual`, `isFinite`, `isFunction`, `isNaN`, `isNull`, `isNumber`,
- * `isObject`, `isPlainObject`, `isRegExp`, `isString`, `isUndefined`, `join`,
- * `lastIndexOf`, `mixin`, `noConflict`, `parseInt`, `pop`, `random`, `reduce`,
- * `reduceRight`, `result`, `shift`, `size`, `some`, `sortedIndex`, `runInContext`,
- * `template`, `unescape`, `uniqueId`, and `value`
- *
- * The wrapper functions `first` and `last` return wrapped values when `n` is
- * provided, otherwise they return unwrapped values.
- *
- * Explicit chaining can be enabled by using the `_.chain` method.
- *
- * @name _
- * @constructor
- * @category Chaining
- * @param {*} value The value to wrap in a `lodash` instance.
- * @returns {Object} Returns a `lodash` instance.
- * @example
- *
- * var wrapped = _([1, 2, 3]);
- *
- * // returns an unwrapped value
- * wrapped.reduce(function(sum, num) {
- *   return sum + num;
- * });
- * // => 6
- *
- * // returns a wrapped value
- * var squares = wrapped.map(function(num) {
- *   return num * num;
- * });
- *
- * _.isArray(squares);
- * // => false
- *
- * _.isArray(squares.value());
- * // => true
- */
-function lodash(value) {
-  // don't wrap if already wrapped, even if wrapped by a different `lodash` constructor
-  return (value && typeof value == 'object' && !isArray(value) && hasOwnProperty.call(value, '__wrapped__'))
-   ? value
-   : new lodashWrapper(value);
-}
-// ensure `new lodashWrapper` is an instance of `lodash`
-lodashWrapper.prototype = lodash.prototype;
-
-// wrap `_.mixin` so it works when provided only one argument
-mixin = (function(fn) {
-  var functions = objects.functions;
-  return function(object, source, options) {
-    if (!source || (!options && !functions(source).length)) {
-      if (options == null) {
-        options = source;
-      }
-      source = object;
-      object = lodash;
-    }
-    return fn(object, source, options);
-  };
-}(mixin));
-
-// add functions that return wrapped values when chaining
-lodash.after = functions.after;
-lodash.assign = objects.assign;
-lodash.at = collections.at;
-lodash.bind = functions.bind;
-lodash.bindAll = functions.bindAll;
-lodash.bindKey = functions.bindKey;
-lodash.chain = chaining.chain;
-lodash.compact = arrays.compact;
-lodash.compose = functions.compose;
-lodash.constant = utilities.constant;
-lodash.countBy = collections.countBy;
-lodash.create = objects.create;
-lodash.createCallback = functions.createCallback;
-lodash.curry = functions.curry;
-lodash.debounce = functions.debounce;
-lodash.defaults = objects.defaults;
-lodash.defer = functions.defer;
-lodash.delay = functions.delay;
-lodash.difference = arrays.difference;
-lodash.filter = collections.filter;
-lodash.flatten = arrays.flatten;
-lodash.forEach = forEach;
-lodash.forEachRight = collections.forEachRight;
-lodash.forIn = objects.forIn;
-lodash.forInRight = objects.forInRight;
-lodash.forOwn = forOwn;
-lodash.forOwnRight = objects.forOwnRight;
-lodash.functions = objects.functions;
-lodash.groupBy = collections.groupBy;
-lodash.indexBy = collections.indexBy;
-lodash.initial = arrays.initial;
-lodash.intersection = arrays.intersection;
-lodash.invert = objects.invert;
-lodash.invoke = collections.invoke;
-lodash.keys = objects.keys;
-lodash.map = collections.map;
-lodash.mapValues = objects.mapValues;
-lodash.max = collections.max;
-lodash.memoize = functions.memoize;
-lodash.merge = objects.merge;
-lodash.min = collections.min;
-lodash.omit = objects.omit;
-lodash.once = functions.once;
-lodash.pairs = objects.pairs;
-lodash.partial = functions.partial;
-lodash.partialRight = functions.partialRight;
-lodash.pick = objects.pick;
-lodash.pluck = collections.pluck;
-lodash.property = utilities.property;
-lodash.pull = arrays.pull;
-lodash.range = arrays.range;
-lodash.reject = collections.reject;
-lodash.remove = arrays.remove;
-lodash.rest = arrays.rest;
-lodash.shuffle = collections.shuffle;
-lodash.sortBy = collections.sortBy;
-lodash.tap = chaining.tap;
-lodash.throttle = functions.throttle;
-lodash.times = utilities.times;
-lodash.toArray = collections.toArray;
-lodash.transform = objects.transform;
-lodash.union = arrays.union;
-lodash.uniq = arrays.uniq;
-lodash.values = objects.values;
-lodash.where = collections.where;
-lodash.without = arrays.without;
-lodash.wrap = functions.wrap;
-lodash.xor = arrays.xor;
-lodash.zip = arrays.zip;
-lodash.zipObject = arrays.zipObject;
-
-// add aliases
-lodash.collect = collections.map;
-lodash.drop = arrays.rest;
-lodash.each = forEach;
-lodash.eachRight = collections.forEachRight;
-lodash.extend = objects.assign;
-lodash.methods = objects.functions;
-lodash.object = arrays.zipObject;
-lodash.select = collections.filter;
-lodash.tail = arrays.rest;
-lodash.unique = arrays.uniq;
-lodash.unzip = arrays.zip;
-
-// add functions to `lodash.prototype`
-mixin(lodash);
-
-// add functions that return unwrapped values when chaining
-lodash.clone = objects.clone;
-lodash.cloneDeep = objects.cloneDeep;
-lodash.contains = collections.contains;
-lodash.escape = utilities.escape;
-lodash.every = collections.every;
-lodash.find = collections.find;
-lodash.findIndex = arrays.findIndex;
-lodash.findKey = objects.findKey;
-lodash.findLast = collections.findLast;
-lodash.findLastIndex = arrays.findLastIndex;
-lodash.findLastKey = objects.findLastKey;
-lodash.has = objects.has;
-lodash.identity = utilities.identity;
-lodash.indexOf = arrays.indexOf;
-lodash.isArguments = objects.isArguments;
-lodash.isArray = isArray;
-lodash.isBoolean = objects.isBoolean;
-lodash.isDate = objects.isDate;
-lodash.isElement = objects.isElement;
-lodash.isEmpty = objects.isEmpty;
-lodash.isEqual = objects.isEqual;
-lodash.isFinite = objects.isFinite;
-lodash.isFunction = objects.isFunction;
-lodash.isNaN = objects.isNaN;
-lodash.isNull = objects.isNull;
-lodash.isNumber = objects.isNumber;
-lodash.isObject = objects.isObject;
-lodash.isPlainObject = objects.isPlainObject;
-lodash.isRegExp = objects.isRegExp;
-lodash.isString = objects.isString;
-lodash.isUndefined = objects.isUndefined;
-lodash.lastIndexOf = arrays.lastIndexOf;
-lodash.mixin = mixin;
-lodash.noConflict = utilities.noConflict;
-lodash.noop = utilities.noop;
-lodash.now = utilities.now;
-lodash.parseInt = utilities.parseInt;
-lodash.random = utilities.random;
-lodash.reduce = collections.reduce;
-lodash.reduceRight = collections.reduceRight;
-lodash.result = utilities.result;
-lodash.size = collections.size;
-lodash.some = collections.some;
-lodash.sortedIndex = arrays.sortedIndex;
-lodash.template = utilities.template;
-lodash.unescape = utilities.unescape;
-lodash.uniqueId = utilities.uniqueId;
-
-// add aliases
-lodash.all = collections.every;
-lodash.any = collections.some;
-lodash.detect = collections.find;
-lodash.findWhere = collections.find;
-lodash.foldl = collections.reduce;
-lodash.foldr = collections.reduceRight;
-lodash.include = collections.contains;
-lodash.inject = collections.reduce;
-
-mixin(function() {
-  var source = {}
-  forOwn(lodash, function(func, methodName) {
-    if (!lodash.prototype[methodName]) {
-      source[methodName] = func;
-    }
-  });
-  return source;
-}(), false);
-
-// add functions capable of returning wrapped and unwrapped values when chaining
-lodash.first = arrays.first;
-lodash.last = arrays.last;
-lodash.sample = collections.sample;
-
-// add aliases
-lodash.take = arrays.first;
-lodash.head = arrays.first;
-
-forOwn(lodash, function(func, methodName) {
-  var callbackable = methodName !== 'sample';
-  if (!lodash.prototype[methodName]) {
-    lodash.prototype[methodName]= function(n, guard) {
-      var chainAll = this.__chain__,
-          result = func(this.__wrapped__, n, guard);
-
-      return !chainAll && (n == null || (guard && !(callbackable && typeof n == 'function')))
-        ? result
-        : new lodashWrapper(result, chainAll);
-    };
-  }
-});
-
-/**
- * The semantic version number.
- *
- * @static
- * @memberOf _
- * @type string
- */
-lodash.VERSION = '2.4.1';
-
-// add "Chaining" functions to the wrapper
-lodash.prototype.chain = chaining.wrapperChain;
-lodash.prototype.toString = chaining.wrapperToString;
-lodash.prototype.value = chaining.wrapperValueOf;
-lodash.prototype.valueOf = chaining.wrapperValueOf;
-
-// add `Array` functions that return unwrapped values
-forEach(['join', 'pop', 'shift'], function(methodName) {
-  var func = arrayRef[methodName];
-  lodash.prototype[methodName] = function() {
-    var chainAll = this.__chain__,
-        result = func.apply(this.__wrapped__, arguments);
-
-    return chainAll
-      ? new lodashWrapper(result, chainAll)
-      : result;
-  };
-});
-
-// add `Array` functions that return the existing wrapped value
-forEach(['push', 'reverse', 'sort', 'unshift'], function(methodName) {
-  var func = arrayRef[methodName];
-  lodash.prototype[methodName] = function() {
-    func.apply(this.__wrapped__, arguments);
-    return this;
-  };
-});
-
-// add `Array` functions that return new wrapped values
-forEach(['concat', 'slice', 'splice'], function(methodName) {
-  var func = arrayRef[methodName];
-  lodash.prototype[methodName] = function() {
-    return new lodashWrapper(func.apply(this.__wrapped__, arguments), this.__chain__);
-  };
-});
-
-lodash.support = support;
-(lodash.templateSettings = utilities.templateSettings).imports._ = lodash;
-module.exports = lodash;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/arrayPool.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/arrayPool.js b/node_modules/lodash-node/modern/internals/arrayPool.js
deleted file mode 100644
index bc41f7f..0000000
--- a/node_modules/lodash-node/modern/internals/arrayPool.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/** Used to pool arrays and objects used internally */
-var arrayPool = [];
-
-module.exports = arrayPool;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/baseBind.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/baseBind.js b/node_modules/lodash-node/modern/internals/baseBind.js
deleted file mode 100644
index ecf04c5..0000000
--- a/node_modules/lodash-node/modern/internals/baseBind.js
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseCreate = require('./baseCreate'),
-    isObject = require('../objects/isObject'),
-    setBindData = require('./setBindData'),
-    slice = require('./slice');
-
-/**
- * Used for `Array` method references.
- *
- * Normally `Array.prototype` would suffice, however, using an array literal
- * avoids issues in Narwhal.
- */
-var arrayRef = [];
-
-/** Native method shortcuts */
-var push = arrayRef.push;
-
-/**
- * The base implementation of `_.bind` that creates the bound function and
- * sets its meta data.
- *
- * @private
- * @param {Array} bindData The bind data array.
- * @returns {Function} Returns the new bound function.
- */
-function baseBind(bindData) {
-  var func = bindData[0],
-      partialArgs = bindData[2],
-      thisArg = bindData[4];
-
-  function bound() {
-    // `Function#bind` spec
-    // http://es5.github.io/#x15.3.4.5
-    if (partialArgs) {
-      // avoid `arguments` object deoptimizations by using `slice` instead
-      // of `Array.prototype.slice.call` and not assigning `arguments` to a
-      // variable as a ternary expression
-      var args = slice(partialArgs);
-      push.apply(args, arguments);
-    }
-    // mimic the constructor's `return` behavior
-    // http://es5.github.io/#x13.2.2
-    if (this instanceof bound) {
-      // ensure `new bound` is an instance of `func`
-      var thisBinding = baseCreate(func.prototype),
-          result = func.apply(thisBinding, args || arguments);
-      return isObject(result) ? result : thisBinding;
-    }
-    return func.apply(thisArg, args || arguments);
-  }
-  setBindData(bound, bindData);
-  return bound;
-}
-
-module.exports = baseBind;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/baseClone.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/baseClone.js b/node_modules/lodash-node/modern/internals/baseClone.js
deleted file mode 100644
index 13c8354..0000000
--- a/node_modules/lodash-node/modern/internals/baseClone.js
+++ /dev/null
@@ -1,152 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 assign = require('../objects/assign'),
-    forEach = require('../collections/forEach'),
-    forOwn = require('../objects/forOwn'),
-    getArray = require('./getArray'),
-    isArray = require('../objects/isArray'),
-    isObject = require('../objects/isObject'),
-    releaseArray = require('./releaseArray'),
-    slice = require('./slice');
-
-/** Used to match regexp flags from their coerced string values */
-var reFlags = /\w*$/;
-
-/** `Object#toString` result shortcuts */
-var argsClass = '[object Arguments]',
-    arrayClass = '[object Array]',
-    boolClass = '[object Boolean]',
-    dateClass = '[object Date]',
-    funcClass = '[object Function]',
-    numberClass = '[object Number]',
-    objectClass = '[object Object]',
-    regexpClass = '[object RegExp]',
-    stringClass = '[object String]';
-
-/** Used to identify object classifications that `_.clone` supports */
-var cloneableClasses = {};
-cloneableClasses[funcClass] = false;
-cloneableClasses[argsClass] = cloneableClasses[arrayClass] =
-cloneableClasses[boolClass] = cloneableClasses[dateClass] =
-cloneableClasses[numberClass] = cloneableClasses[objectClass] =
-cloneableClasses[regexpClass] = cloneableClasses[stringClass] = true;
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Used to resolve the internal [[Class]] of values */
-var toString = objectProto.toString;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/** Used to lookup a built-in constructor by [[Class]] */
-var ctorByClass = {};
-ctorByClass[arrayClass] = Array;
-ctorByClass[boolClass] = Boolean;
-ctorByClass[dateClass] = Date;
-ctorByClass[funcClass] = Function;
-ctorByClass[objectClass] = Object;
-ctorByClass[numberClass] = Number;
-ctorByClass[regexpClass] = RegExp;
-ctorByClass[stringClass] = String;
-
-/**
- * The base implementation of `_.clone` without argument juggling or support
- * for `thisArg` binding.
- *
- * @private
- * @param {*} value The value to clone.
- * @param {boolean} [isDeep=false] Specify a deep clone.
- * @param {Function} [callback] The function to customize cloning values.
- * @param {Array} [stackA=[]] Tracks traversed source objects.
- * @param {Array} [stackB=[]] Associates clones with source counterparts.
- * @returns {*} Returns the cloned value.
- */
-function baseClone(value, isDeep, callback, stackA, stackB) {
-  if (callback) {
-    var result = callback(value);
-    if (typeof result != 'undefined') {
-      return result;
-    }
-  }
-  // inspect [[Class]]
-  var isObj = isObject(value);
-  if (isObj) {
-    var className = toString.call(value);
-    if (!cloneableClasses[className]) {
-      return value;
-    }
-    var ctor = ctorByClass[className];
-    switch (className) {
-      case boolClass:
-      case dateClass:
-        return new ctor(+value);
-
-      case numberClass:
-      case stringClass:
-        return new ctor(value);
-
-      case regexpClass:
-        result = ctor(value.source, reFlags.exec(value));
-        result.lastIndex = value.lastIndex;
-        return result;
-    }
-  } else {
-    return value;
-  }
-  var isArr = isArray(value);
-  if (isDeep) {
-    // check for circular references and return corresponding clone
-    var initedStack = !stackA;
-    stackA || (stackA = getArray());
-    stackB || (stackB = getArray());
-
-    var length = stackA.length;
-    while (length--) {
-      if (stackA[length] == value) {
-        return stackB[length];
-      }
-    }
-    result = isArr ? ctor(value.length) : {};
-  }
-  else {
-    result = isArr ? slice(value) : assign({}, value);
-  }
-  // add array properties assigned by `RegExp#exec`
-  if (isArr) {
-    if (hasOwnProperty.call(value, 'index')) {
-      result.index = value.index;
-    }
-    if (hasOwnProperty.call(value, 'input')) {
-      result.input = value.input;
-    }
-  }
-  // exit for shallow clone
-  if (!isDeep) {
-    return result;
-  }
-  // add the source value to the stack of traversed objects
-  // and associate it with its clone
-  stackA.push(value);
-  stackB.push(result);
-
-  // recursively populate clone (susceptible to call stack limits)
-  (isArr ? forEach : forOwn)(value, function(objValue, key) {
-    result[key] = baseClone(objValue, isDeep, callback, stackA, stackB);
-  });
-
-  if (initedStack) {
-    releaseArray(stackA);
-    releaseArray(stackB);
-  }
-  return result;
-}
-
-module.exports = baseClone;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/baseCreate.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/baseCreate.js b/node_modules/lodash-node/modern/internals/baseCreate.js
deleted file mode 100644
index 32d80e5..0000000
--- a/node_modules/lodash-node/modern/internals/baseCreate.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 isNative = require('./isNative'),
-    isObject = require('../objects/isObject'),
-    noop = require('../utilities/noop');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeCreate = isNative(nativeCreate = Object.create) && nativeCreate;
-
-/**
- * The base implementation of `_.create` without support for assigning
- * properties to the created object.
- *
- * @private
- * @param {Object} prototype The object to inherit from.
- * @returns {Object} Returns the new object.
- */
-function baseCreate(prototype, properties) {
-  return isObject(prototype) ? nativeCreate(prototype) : {};
-}
-// fallback for browsers without `Object.create`
-if (!nativeCreate) {
-  baseCreate = (function() {
-    function Object() {}
-    return function(prototype) {
-      if (isObject(prototype)) {
-        Object.prototype = prototype;
-        var result = new Object;
-        Object.prototype = null;
-      }
-      return result || global.Object();
-    };
-  }());
-}
-
-module.exports = baseCreate;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/internals/baseCreateCallback.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/internals/baseCreateCallback.js b/node_modules/lodash-node/modern/internals/baseCreateCallback.js
deleted file mode 100644
index 7f90303..0000000
--- a/node_modules/lodash-node/modern/internals/baseCreateCallback.js
+++ /dev/null
@@ -1,80 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 bind = require('../functions/bind'),
-    identity = require('../utilities/identity'),
-    setBindData = require('./setBindData'),
-    support = require('../support');
-
-/** Used to detected named functions */
-var reFuncName = /^\s*function[ \n\r\t]+\w/;
-
-/** Used to detect functions containing a `this` reference */
-var reThis = /\bthis\b/;
-
-/** Native method shortcuts */
-var fnToString = Function.prototype.toString;
-
-/**
- * The base implementation of `_.createCallback` without support for creating
- * "_.pluck" or "_.where" style callbacks.
- *
- * @private
- * @param {*} [func=identity] The value to convert to a callback.
- * @param {*} [thisArg] The `this` binding of the created callback.
- * @param {number} [argCount] The number of arguments the callback accepts.
- * @returns {Function} Returns a callback function.
- */
-function baseCreateCallback(func, thisArg, argCount) {
-  if (typeof func != 'function') {
-    return identity;
-  }
-  // exit early for no `thisArg` or already bound by `Function#bind`
-  if (typeof thisArg == 'undefined' || !('prototype' in func)) {
-    return func;
-  }
-  var bindData = func.__bindData__;
-  if (typeof bindData == 'undefined') {
-    if (support.funcNames) {
-      bindData = !func.name;
-    }
-    bindData = bindData || !support.funcDecomp;
-    if (!bindData) {
-      var source = fnToString.call(func);
-      if (!support.funcNames) {
-        bindData = !reFuncName.test(source);
-      }
-      if (!bindData) {
-        // checks if `func` references the `this` keyword and stores the result
-        bindData = reThis.test(source);
-        setBindData(func, bindData);
-      }
-    }
-  }
-  // exit early if there are no `this` references or `func` is bound
-  if (bindData === false || (bindData !== true && bindData[1] & 1)) {
-    return func;
-  }
-  switch (argCount) {
-    case 1: return function(value) {
-      return func.call(thisArg, value);
-    };
-    case 2: return function(a, b) {
-      return func.call(thisArg, a, b);
-    };
-    case 3: return function(value, index, collection) {
-      return func.call(thisArg, value, index, collection);
-    };
-    case 4: return function(accumulator, value, index, collection) {
-      return func.call(thisArg, accumulator, value, index, collection);
-    };
-  }
-  return bind(func, thisArg);
-}
-
-module.exports = baseCreateCallback;


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


[32/32] ios commit: CB-11445 updated version in CDVAvailability.h

Posted by st...@apache.org.
CB-11445 updated version in CDVAvailability.h


Project: http://git-wip-us.apache.org/repos/asf/cordova-ios/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-ios/commit/0f34d79a
Tree: http://git-wip-us.apache.org/repos/asf/cordova-ios/tree/0f34d79a
Diff: http://git-wip-us.apache.org/repos/asf/cordova-ios/diff/0f34d79a

Branch: refs/heads/master
Commit: 0f34d79a60883a4774e74d6f14481a997a5c9bad
Parents: 6b5a1e3
Author: Steve Gill <st...@gmail.com>
Authored: Thu Jun 16 22:16:58 2016 -0700
Committer: Steve Gill <st...@gmail.com>
Committed: Thu Jun 16 22:16:58 2016 -0700

----------------------------------------------------------------------
 CordovaLib/Classes/Public/CDVAvailability.h | 3 ++-
 RELEASENOTES.md                             | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0f34d79a/CordovaLib/Classes/Public/CDVAvailability.h
----------------------------------------------------------------------
diff --git a/CordovaLib/Classes/Public/CDVAvailability.h b/CordovaLib/Classes/Public/CDVAvailability.h
index 13cbac0..cbce52e 100644
--- a/CordovaLib/Classes/Public/CDVAvailability.h
+++ b/CordovaLib/Classes/Public/CDVAvailability.h
@@ -62,6 +62,7 @@
 #define __CORDOVA_4_0_1 40001
 #define __CORDOVA_4_1_0 40100
 #define __CORDOVA_4_1_1 40101
+#define __CORDOVA_4_2_0 40200
 /* coho:next-version,insert-before */
 #define __CORDOVA_NA 99999      /* not available */
 
@@ -74,7 +75,7 @@
  */
 #ifndef CORDOVA_VERSION_MIN_REQUIRED
     /* coho:next-version-min-required,replace-after */
-    #define CORDOVA_VERSION_MIN_REQUIRED __CORDOVA_4_1_1
+    #define CORDOVA_VERSION_MIN_REQUIRED __CORDOVA_4_2_0
 #endif
 
 /*

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0f34d79a/RELEASENOTES.md
----------------------------------------------------------------------
diff --git a/RELEASENOTES.md b/RELEASENOTES.md
index bc9e5d9..d6a8dd2 100644
--- a/RELEASENOTES.md
+++ b/RELEASENOTES.md
@@ -23,6 +23,7 @@
 Cordova is a static library that enables developers to include the Cordova API in their iOS application projects easily, and also create new Cordova-based iOS application projects through the command-line.
 
 ### 4.2.0 (Jun 16, 2016)
+* `cordova-ios` now supports node 6!
 * [CB-11445](https://issues.apache.org/jira/browse/CB-11445) Updated checked-in `node_modules`
 * [CB-11424](https://issues.apache.org/jira/browse/CB-11424) `AppVeyor` test failures (path separator) on `cordova-ios` platform
 * [CB-11375](https://issues.apache.org/jira/browse/CB-11375) - onReset method of CDVPlugin is never called
@@ -36,7 +37,7 @@ Cordova is a static library that enables developers to include the Cordova API i
 * [CB-11200](https://issues.apache.org/jira/browse/CB-11200) Bump `node-xcode` version
 * [CB-11235](https://issues.apache.org/jira/browse/CB-11235) `NSInternalInconsistencyException` when running **iOS** unit tests
 * [CB-11161](https://issues.apache.org/jira/browse/CB-11161) Reuse `PluginManager` from `cordova-common` to `add/rm` plugins
-* [CB-11161](https://issues.apache.org/jira/browse/CB-11161) Bump `cordova-common` to `1.3.0`
+* [CB-11161](https://issues.apache.org/jira/browse/CB-11161) Bump `cordova-common` to `1.3.0`.
 * [CB-11019](https://issues.apache.org/jira/browse/CB-11019) Update tests to validate project name updates
 * [CB-11019](https://issues.apache.org/jira/browse/CB-11019) Handle changes of app name gracefully
 * [CB-11022](https://issues.apache.org/jira/browse/CB-11022) Duplicate `www` files on plugin installtion/removal


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


[19/32] ios commit: CB-11445 Updated checked-in node_modules

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/arrays/last.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/arrays/last.js b/node_modules/lodash-node/modern/arrays/last.js
deleted file mode 100644
index 4cd82d8..0000000
--- a/node_modules/lodash-node/modern/arrays/last.js
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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'),
-    slice = require('../internals/slice');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max;
-
-/**
- * Gets the last element or last `n` elements of an array. If a callback is
- * provided elements at the end of the array are returned as long as the
- * callback returns truey. The callback is bound to `thisArg` and invoked
- * with three arguments; (value, index, array).
- *
- * 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 query.
- * @param {Function|Object|number|string} [callback] The function called
- *  per element or the number of elements to return. 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 {*} Returns the last element(s) of `array`.
- * @example
- *
- * _.last([1, 2, 3]);
- * // => 3
- *
- * _.last([1, 2, 3], 2);
- * // => [2, 3]
- *
- * _.last([1, 2, 3], function(num) {
- *   return num > 1;
- * });
- * // => [2, 3]
- *
- * var characters = [
- *   { 'name': 'barney',  'blocked': false, 'employer': 'slate' },
- *   { 'name': 'fred',    'blocked': true,  'employer': 'slate' },
- *   { 'name': 'pebbles', 'blocked': true,  'employer': 'na' }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.pluck(_.last(characters, 'blocked'), 'name');
- * // => ['fred', 'pebbles']
- *
- * // using "_.where" callback shorthand
- * _.last(characters, { 'employer': 'na' });
- * // => [{ 'name': 'pebbles', 'blocked': true, 'employer': 'na' }]
- */
-function last(array, callback, thisArg) {
-  var n = 0,
-      length = array ? array.length : 0;
-
-  if (typeof callback != 'number' && callback != null) {
-    var index = length;
-    callback = createCallback(callback, thisArg, 3);
-    while (index-- && callback(array[index], index, array)) {
-      n++;
-    }
-  } else {
-    n = callback;
-    if (n == null || thisArg) {
-      return array ? array[length - 1] : undefined;
-    }
-  }
-  return slice(array, nativeMax(0, length - n));
-}
-
-module.exports = last;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/arrays/lastIndexOf.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/arrays/lastIndexOf.js b/node_modules/lodash-node/modern/arrays/lastIndexOf.js
deleted file mode 100644
index 51c8210..0000000
--- a/node_modules/lodash-node/modern/arrays/lastIndexOf.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max,
-    nativeMin = Math.min;
-
-/**
- * Gets the index at which the last occurrence of `value` is found using strict
- * equality for comparisons, i.e. `===`. If `fromIndex` is negative, it is used
- * as the offset from the end of the collection.
- *
- * 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 {*} value The value to search for.
- * @param {number} [fromIndex=array.length-1] The index to search from.
- * @returns {number} Returns the index of the matched value or `-1`.
- * @example
- *
- * _.lastIndexOf([1, 2, 3, 1, 2, 3], 2);
- * // => 4
- *
- * _.lastIndexOf([1, 2, 3, 1, 2, 3], 2, 3);
- * // => 1
- */
-function lastIndexOf(array, value, fromIndex) {
-  var index = array ? array.length : 0;
-  if (typeof fromIndex == 'number') {
-    index = (fromIndex < 0 ? nativeMax(0, index + fromIndex) : nativeMin(fromIndex, index - 1)) + 1;
-  }
-  while (index--) {
-    if (array[index] === value) {
-      return index;
-    }
-  }
-  return -1;
-}
-
-module.exports = lastIndexOf;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/arrays/pull.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/arrays/pull.js b/node_modules/lodash-node/modern/arrays/pull.js
deleted file mode 100644
index d7526ea..0000000
--- a/node_modules/lodash-node/modern/arrays/pull.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/**
- * Used for `Array` method references.
- *
- * Normally `Array.prototype` would suffice, however, using an array literal
- * avoids issues in Narwhal.
- */
-var arrayRef = [];
-
-/** Native method shortcuts */
-var splice = arrayRef.splice;
-
-/**
- * Removes all provided values from the given array using strict equality for
- * comparisons, i.e. `===`.
- *
- * @static
- * @memberOf _
- * @category Arrays
- * @param {Array} array The array to modify.
- * @param {...*} [value] The values to remove.
- * @returns {Array} Returns `array`.
- * @example
- *
- * var array = [1, 2, 3, 1, 2, 3];
- * _.pull(array, 2, 3);
- * console.log(array);
- * // => [1, 1]
- */
-function pull(array) {
-  var args = arguments,
-      argsIndex = 0,
-      argsLength = args.length,
-      length = array ? array.length : 0;
-
-  while (++argsIndex < argsLength) {
-    var index = -1,
-        value = args[argsIndex];
-    while (++index < length) {
-      if (array[index] === value) {
-        splice.call(array, index--, 1);
-        length--;
-      }
-    }
-  }
-  return array;
-}
-
-module.exports = pull;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/arrays/range.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/arrays/range.js b/node_modules/lodash-node/modern/arrays/range.js
deleted file mode 100644
index bbc4ab5..0000000
--- a/node_modules/lodash-node/modern/arrays/range.js
+++ /dev/null
@@ -1,69 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/** Native method shortcuts */
-var ceil = Math.ceil;
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max;
-
-/**
- * Creates an array of numbers (positive and/or negative) progressing from
- * `start` up to but not including `end`. If `start` is less than `stop` a
- * zero-length range is created unless a negative `step` is specified.
- *
- * @static
- * @memberOf _
- * @category Arrays
- * @param {number} [start=0] The start of the range.
- * @param {number} end The end of the range.
- * @param {number} [step=1] The value to increment or decrement by.
- * @returns {Array} Returns a new range array.
- * @example
- *
- * _.range(4);
- * // => [0, 1, 2, 3]
- *
- * _.range(1, 5);
- * // => [1, 2, 3, 4]
- *
- * _.range(0, 20, 5);
- * // => [0, 5, 10, 15]
- *
- * _.range(0, -4, -1);
- * // => [0, -1, -2, -3]
- *
- * _.range(1, 4, 0);
- * // => [1, 1, 1]
- *
- * _.range(0);
- * // => []
- */
-function range(start, end, step) {
-  start = +start || 0;
-  step = typeof step == 'number' ? step : (+step || 1);
-
-  if (end == null) {
-    end = start;
-    start = 0;
-  }
-  // use `Array(length)` so engines like Chakra and V8 avoid slower modes
-  // http://youtu.be/XAqIpGU8ZZk#t=17m25s
-  var index = -1,
-      length = nativeMax(0, ceil((end - start) / (step || 1))),
-      result = Array(length);
-
-  while (++index < length) {
-    result[index] = start;
-    start += step;
-  }
-  return result;
-}
-
-module.exports = range;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/arrays/remove.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/arrays/remove.js b/node_modules/lodash-node/modern/arrays/remove.js
deleted file mode 100644
index dc818d5..0000000
--- a/node_modules/lodash-node/modern/arrays/remove.js
+++ /dev/null
@@ -1,71 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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');
-
-/**
- * Used for `Array` method references.
- *
- * Normally `Array.prototype` would suffice, however, using an array literal
- * avoids issues in Narwhal.
- */
-var arrayRef = [];
-
-/** Native method shortcuts */
-var splice = arrayRef.splice;
-
-/**
- * Removes all elements from an array that the callback returns truey for
- * and returns an array of removed elements. The callback is bound to `thisArg`
- * and invoked with three arguments; (value, index, array).
- *
- * 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 modify.
- * @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 {Array} Returns a new array of removed elements.
- * @example
- *
- * var array = [1, 2, 3, 4, 5, 6];
- * var evens = _.remove(array, function(num) { return num % 2 == 0; });
- *
- * console.log(array);
- * // => [1, 3, 5]
- *
- * console.log(evens);
- * // => [2, 4, 6]
- */
-function remove(array, callback, thisArg) {
-  var index = -1,
-      length = array ? array.length : 0,
-      result = [];
-
-  callback = createCallback(callback, thisArg, 3);
-  while (++index < length) {
-    var value = array[index];
-    if (callback(value, index, array)) {
-      result.push(value);
-      splice.call(array, index--, 1);
-      length--;
-    }
-  }
-  return result;
-}
-
-module.exports = remove;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/arrays/rest.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/arrays/rest.js b/node_modules/lodash-node/modern/arrays/rest.js
deleted file mode 100644
index 216672e..0000000
--- a/node_modules/lodash-node/modern/arrays/rest.js
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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'),
-    slice = require('../internals/slice');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max;
-
-/**
- * The opposite of `_.initial` this method gets all but the first element or
- * first `n` elements of an array. If a callback function is provided elements
- * at the beginning of the array are excluded from the result as long as the
- * callback returns truey. The callback is bound to `thisArg` and invoked
- * with three arguments; (value, index, array).
- *
- * 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 _
- * @alias drop, tail
- * @category Arrays
- * @param {Array} array The array to query.
- * @param {Function|Object|number|string} [callback=1] The function called
- *  per element or the number of elements to exclude. 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 {Array} Returns a slice of `array`.
- * @example
- *
- * _.rest([1, 2, 3]);
- * // => [2, 3]
- *
- * _.rest([1, 2, 3], 2);
- * // => [3]
- *
- * _.rest([1, 2, 3], function(num) {
- *   return num < 3;
- * });
- * // => [3]
- *
- * var characters = [
- *   { 'name': 'barney',  'blocked': true,  'employer': 'slate' },
- *   { 'name': 'fred',    'blocked': false,  'employer': 'slate' },
- *   { 'name': 'pebbles', 'blocked': true, 'employer': 'na' }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.pluck(_.rest(characters, 'blocked'), 'name');
- * // => ['fred', 'pebbles']
- *
- * // using "_.where" callback shorthand
- * _.rest(characters, { 'employer': 'slate' });
- * // => [{ 'name': 'pebbles', 'blocked': true, 'employer': 'na' }]
- */
-function rest(array, callback, thisArg) {
-  if (typeof callback != 'number' && callback != null) {
-    var n = 0,
-        index = -1,
-        length = array ? array.length : 0;
-
-    callback = createCallback(callback, thisArg, 3);
-    while (++index < length && callback(array[index], index, array)) {
-      n++;
-    }
-  } else {
-    n = (callback == null || thisArg) ? 1 : nativeMax(0, callback);
-  }
-  return slice(array, n);
-}
-
-module.exports = rest;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/arrays/sortedIndex.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/arrays/sortedIndex.js b/node_modules/lodash-node/modern/arrays/sortedIndex.js
deleted file mode 100644
index b4318b5..0000000
--- a/node_modules/lodash-node/modern/arrays/sortedIndex.js
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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'),
-    identity = require('../utilities/identity');
-
-/**
- * Uses a binary search to determine the smallest index at which a value
- * should be inserted into a given sorted array in order to maintain the sort
- * order of the array. If a callback is provided it will be executed for
- * `value` and each element of `array` to compute their sort ranking. The
- * callback is bound to `thisArg` and invoked with one argument; (value).
- *
- * 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 inspect.
- * @param {*} value The value to evaluate.
- * @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 at which `value` should be inserted
- *  into `array`.
- * @example
- *
- * _.sortedIndex([20, 30, 50], 40);
- * // => 2
- *
- * // using "_.pluck" callback shorthand
- * _.sortedIndex([{ 'x': 20 }, { 'x': 30 }, { 'x': 50 }], { 'x': 40 }, 'x');
- * // => 2
- *
- * var dict = {
- *   'wordToNumber': { 'twenty': 20, 'thirty': 30, 'fourty': 40, 'fifty': 50 }
- * };
- *
- * _.sortedIndex(['twenty', 'thirty', 'fifty'], 'fourty', function(word) {
- *   return dict.wordToNumber[word];
- * });
- * // => 2
- *
- * _.sortedIndex(['twenty', 'thirty', 'fifty'], 'fourty', function(word) {
- *   return this.wordToNumber[word];
- * }, dict);
- * // => 2
- */
-function sortedIndex(array, value, callback, thisArg) {
-  var low = 0,
-      high = array ? array.length : low;
-
-  // explicitly reference `identity` for better inlining in Firefox
-  callback = callback ? createCallback(callback, thisArg, 1) : identity;
-  value = callback(value);
-
-  while (low < high) {
-    var mid = (low + high) >>> 1;
-    (callback(array[mid]) < value)
-      ? low = mid + 1
-      : high = mid;
-  }
-  return low;
-}
-
-module.exports = sortedIndex;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/arrays/union.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/arrays/union.js b/node_modules/lodash-node/modern/arrays/union.js
deleted file mode 100644
index bb1b2af..0000000
--- a/node_modules/lodash-node/modern/arrays/union.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseFlatten = require('../internals/baseFlatten'),
-    baseUniq = require('../internals/baseUniq');
-
-/**
- * Creates an array of unique values, in order, of the provided arrays using
- * strict equality for comparisons, i.e. `===`.
- *
- * @static
- * @memberOf _
- * @category Arrays
- * @param {...Array} [array] The arrays to inspect.
- * @returns {Array} Returns an array of combined values.
- * @example
- *
- * _.union([1, 2, 3], [5, 2, 1, 4], [2, 1]);
- * // => [1, 2, 3, 5, 4]
- */
-function union() {
-  return baseUniq(baseFlatten(arguments, true, true));
-}
-
-module.exports = union;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/arrays/uniq.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/arrays/uniq.js b/node_modules/lodash-node/modern/arrays/uniq.js
deleted file mode 100644
index 8388c2a..0000000
--- a/node_modules/lodash-node/modern/arrays/uniq.js
+++ /dev/null
@@ -1,69 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseUniq = require('../internals/baseUniq'),
-    createCallback = require('../functions/createCallback');
-
-/**
- * Creates a duplicate-value-free version of an array using strict equality
- * for comparisons, i.e. `===`. If the array is sorted, providing
- * `true` for `isSorted` will use a faster algorithm. If a callback is provided
- * each element of `array` is passed through the callback before uniqueness
- * is computed. The callback is bound to `thisArg` and invoked with three
- * arguments; (value, index, array).
- *
- * 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 _
- * @alias unique
- * @category Arrays
- * @param {Array} array The array to process.
- * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.
- * @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 {Array} Returns a duplicate-value-free array.
- * @example
- *
- * _.uniq([1, 2, 1, 3, 1]);
- * // => [1, 2, 3]
- *
- * _.uniq([1, 1, 2, 2, 3], true);
- * // => [1, 2, 3]
- *
- * _.uniq(['A', 'b', 'C', 'a', 'B', 'c'], function(letter) { return letter.toLowerCase(); });
- * // => ['A', 'b', 'C']
- *
- * _.uniq([1, 2.5, 3, 1.5, 2, 3.5], function(num) { return this.floor(num); }, Math);
- * // => [1, 2.5, 3]
- *
- * // using "_.pluck" callback shorthand
- * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
- * // => [{ 'x': 1 }, { 'x': 2 }]
- */
-function uniq(array, isSorted, callback, thisArg) {
-  // juggle arguments
-  if (typeof isSorted != 'boolean' && isSorted != null) {
-    thisArg = callback;
-    callback = (typeof isSorted != 'function' && thisArg && thisArg[isSorted] === array) ? null : isSorted;
-    isSorted = false;
-  }
-  if (callback != null) {
-    callback = createCallback(callback, thisArg, 3);
-  }
-  return baseUniq(array, isSorted, callback);
-}
-
-module.exports = uniq;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/arrays/without.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/arrays/without.js b/node_modules/lodash-node/modern/arrays/without.js
deleted file mode 100644
index f988395..0000000
--- a/node_modules/lodash-node/modern/arrays/without.js
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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'),
-    slice = require('../internals/slice');
-
-/**
- * Creates an array excluding all provided values using strict equality for
- * comparisons, i.e. `===`.
- *
- * @static
- * @memberOf _
- * @category Arrays
- * @param {Array} array The array to filter.
- * @param {...*} [value] The values to exclude.
- * @returns {Array} Returns a new array of filtered values.
- * @example
- *
- * _.without([1, 2, 1, 0, 3, 1, 4], 0, 1);
- * // => [2, 3, 4]
- */
-function without(array) {
-  return baseDifference(array, slice(arguments, 1));
-}
-
-module.exports = without;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/arrays/xor.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/arrays/xor.js b/node_modules/lodash-node/modern/arrays/xor.js
deleted file mode 100644
index d76393f..0000000
--- a/node_modules/lodash-node/modern/arrays/xor.js
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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'),
-    baseUniq = require('../internals/baseUniq'),
-    isArguments = require('../objects/isArguments'),
-    isArray = require('../objects/isArray');
-
-/**
- * Creates an array that is the symmetric difference of the provided arrays.
- * See http://en.wikipedia.org/wiki/Symmetric_difference.
- *
- * @static
- * @memberOf _
- * @category Arrays
- * @param {...Array} [array] The arrays to inspect.
- * @returns {Array} Returns an array of values.
- * @example
- *
- * _.xor([1, 2, 3], [5, 2, 1, 4]);
- * // => [3, 5, 4]
- *
- * _.xor([1, 2, 5], [2, 3, 5], [3, 4, 5]);
- * // => [1, 4, 5]
- */
-function xor() {
-  var index = -1,
-      length = arguments.length;
-
-  while (++index < length) {
-    var array = arguments[index];
-    if (isArray(array) || isArguments(array)) {
-      var result = result
-        ? baseUniq(baseDifference(result, array).concat(baseDifference(array, result)))
-        : array;
-    }
-  }
-  return result || [];
-}
-
-module.exports = xor;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/arrays/zip.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/arrays/zip.js b/node_modules/lodash-node/modern/arrays/zip.js
deleted file mode 100644
index 740d91c..0000000
--- a/node_modules/lodash-node/modern/arrays/zip.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 max = require('../collections/max'),
-    pluck = require('../collections/pluck');
-
-/**
- * Creates an array of grouped elements, the first of which contains the first
- * elements of the given arrays, the second of which contains the second
- * elements of the given arrays, and so on.
- *
- * @static
- * @memberOf _
- * @alias unzip
- * @category Arrays
- * @param {...Array} [array] Arrays to process.
- * @returns {Array} Returns a new array of grouped elements.
- * @example
- *
- * _.zip(['fred', 'barney'], [30, 40], [true, false]);
- * // => [['fred', 30, true], ['barney', 40, false]]
- */
-function zip() {
-  var array = arguments.length > 1 ? arguments : arguments[0],
-      index = -1,
-      length = array ? max(pluck(array, 'length')) : 0,
-      result = Array(length < 0 ? 0 : length);
-
-  while (++index < length) {
-    result[index] = pluck(array, index);
-  }
-  return result;
-}
-
-module.exports = zip;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/arrays/zipObject.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/arrays/zipObject.js b/node_modules/lodash-node/modern/arrays/zipObject.js
deleted file mode 100644
index 889bea3..0000000
--- a/node_modules/lodash-node/modern/arrays/zipObject.js
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 isArray = require('../objects/isArray');
-
-/**
- * Creates an object composed from arrays of `keys` and `values`. Provide
- * either a single two dimensional array, i.e. `[[key1, value1], [key2, value2]]`
- * or two arrays, one of `keys` and one of corresponding `values`.
- *
- * @static
- * @memberOf _
- * @alias object
- * @category Arrays
- * @param {Array} keys The array of keys.
- * @param {Array} [values=[]] The array of values.
- * @returns {Object} Returns an object composed of the given keys and
- *  corresponding values.
- * @example
- *
- * _.zipObject(['fred', 'barney'], [30, 40]);
- * // => { 'fred': 30, 'barney': 40 }
- */
-function zipObject(keys, values) {
-  var index = -1,
-      length = keys ? keys.length : 0,
-      result = {};
-
-  if (!values && length && !isArray(keys[0])) {
-    values = [];
-  }
-  while (++index < length) {
-    var key = keys[index];
-    if (values) {
-      result[key] = values[index];
-    } else if (key) {
-      result[key[0]] = key[1];
-    }
-  }
-  return result;
-}
-
-module.exports = zipObject;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/chaining.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/chaining.js b/node_modules/lodash-node/modern/chaining.js
deleted file mode 100644
index f4b5258..0000000
--- a/node_modules/lodash-node/modern/chaining.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 = {
-  'chain': require('./chaining/chain'),
-  'tap': require('./chaining/tap'),
-  'value': require('./chaining/wrapperValueOf'),
-  'wrapperChain': require('./chaining/wrapperChain'),
-  'wrapperToString': require('./chaining/wrapperToString'),
-  'wrapperValueOf': require('./chaining/wrapperValueOf')
-};

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/chaining/chain.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/chaining/chain.js b/node_modules/lodash-node/modern/chaining/chain.js
deleted file mode 100644
index 05c0038..0000000
--- a/node_modules/lodash-node/modern/chaining/chain.js
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 lodashWrapper = require('../internals/lodashWrapper');
-
-/**
- * Creates a `lodash` object that wraps the given value with explicit
- * method chaining enabled.
- *
- * @static
- * @memberOf _
- * @category Chaining
- * @param {*} value The value to wrap.
- * @returns {Object} Returns the wrapper object.
- * @example
- *
- * var characters = [
- *   { 'name': 'barney',  'age': 36 },
- *   { 'name': 'fred',    'age': 40 },
- *   { 'name': 'pebbles', 'age': 1 }
- * ];
- *
- * var youngest = _.chain(characters)
- *     .sortBy('age')
- *     .map(function(chr) { return chr.name + ' is ' + chr.age; })
- *     .first()
- *     .value();
- * // => 'pebbles is 1'
- */
-function chain(value) {
-  value = new lodashWrapper(value);
-  value.__chain__ = true;
-  return value;
-}
-
-module.exports = chain;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/chaining/tap.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/chaining/tap.js b/node_modules/lodash-node/modern/chaining/tap.js
deleted file mode 100644
index 6249412..0000000
--- a/node_modules/lodash-node/modern/chaining/tap.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/**
- * Invokes `interceptor` with the `value` as the first argument and then
- * returns `value`. The purpose of this method is to "tap into" a method
- * chain in order to perform operations on intermediate results within
- * the chain.
- *
- * @static
- * @memberOf _
- * @category Chaining
- * @param {*} value The value to provide to `interceptor`.
- * @param {Function} interceptor The function to invoke.
- * @returns {*} Returns `value`.
- * @example
- *
- * _([1, 2, 3, 4])
- *  .tap(function(array) { array.pop(); })
- *  .reverse()
- *  .value();
- * // => [3, 2, 1]
- */
-function tap(value, interceptor) {
-  interceptor(value);
-  return value;
-}
-
-module.exports = tap;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/chaining/wrapperChain.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/chaining/wrapperChain.js b/node_modules/lodash-node/modern/chaining/wrapperChain.js
deleted file mode 100644
index 72f13a4..0000000
--- a/node_modules/lodash-node/modern/chaining/wrapperChain.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/**
- * Enables explicit method chaining on the wrapper object.
- *
- * @name chain
- * @memberOf _
- * @category Chaining
- * @returns {*} Returns the wrapper object.
- * @example
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * // without explicit chaining
- * _(characters).first();
- * // => { 'name': 'barney', 'age': 36 }
- *
- * // with explicit chaining
- * _(characters).chain()
- *   .first()
- *   .pick('age')
- *   .value();
- * // => { 'age': 36 }
- */
-function wrapperChain() {
-  this.__chain__ = true;
-  return this;
-}
-
-module.exports = wrapperChain;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/chaining/wrapperToString.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/chaining/wrapperToString.js b/node_modules/lodash-node/modern/chaining/wrapperToString.js
deleted file mode 100644
index 29abeec..0000000
--- a/node_modules/lodash-node/modern/chaining/wrapperToString.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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>
- */
-
-/**
- * Produces the `toString` result of the wrapped value.
- *
- * @name toString
- * @memberOf _
- * @category Chaining
- * @returns {string} Returns the string result.
- * @example
- *
- * _([1, 2, 3]).toString();
- * // => '1,2,3'
- */
-function wrapperToString() {
-  return String(this.__wrapped__);
-}
-
-module.exports = wrapperToString;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/chaining/wrapperValueOf.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/chaining/wrapperValueOf.js b/node_modules/lodash-node/modern/chaining/wrapperValueOf.js
deleted file mode 100644
index a76aa8b..0000000
--- a/node_modules/lodash-node/modern/chaining/wrapperValueOf.js
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 forEach = require('../collections/forEach'),
-    support = require('../support');
-
-/**
- * Extracts the wrapped value.
- *
- * @name valueOf
- * @memberOf _
- * @alias value
- * @category Chaining
- * @returns {*} Returns the wrapped value.
- * @example
- *
- * _([1, 2, 3]).valueOf();
- * // => [1, 2, 3]
- */
-function wrapperValueOf() {
-  return this.__wrapped__;
-}
-
-module.exports = wrapperValueOf;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections.js b/node_modules/lodash-node/modern/collections.js
deleted file mode 100644
index 58cc42e..0000000
--- a/node_modules/lodash-node/modern/collections.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 = {
-  'all': require('./collections/every'),
-  'any': require('./collections/some'),
-  'at': require('./collections/at'),
-  'collect': require('./collections/map'),
-  'contains': require('./collections/contains'),
-  'countBy': require('./collections/countBy'),
-  'detect': require('./collections/find'),
-  'each': require('./collections/forEach'),
-  'eachRight': require('./collections/forEachRight'),
-  'every': require('./collections/every'),
-  'filter': require('./collections/filter'),
-  'find': require('./collections/find'),
-  'findLast': require('./collections/findLast'),
-  'findWhere': require('./collections/find'),
-  'foldl': require('./collections/reduce'),
-  'foldr': require('./collections/reduceRight'),
-  'forEach': require('./collections/forEach'),
-  'forEachRight': require('./collections/forEachRight'),
-  'groupBy': require('./collections/groupBy'),
-  'include': require('./collections/contains'),
-  'indexBy': require('./collections/indexBy'),
-  'inject': require('./collections/reduce'),
-  'invoke': require('./collections/invoke'),
-  'map': require('./collections/map'),
-  'max': require('./collections/max'),
-  'min': require('./collections/min'),
-  'pluck': require('./collections/pluck'),
-  'reduce': require('./collections/reduce'),
-  'reduceRight': require('./collections/reduceRight'),
-  'reject': require('./collections/reject'),
-  'sample': require('./collections/sample'),
-  'select': require('./collections/filter'),
-  'shuffle': require('./collections/shuffle'),
-  'size': require('./collections/size'),
-  'some': require('./collections/some'),
-  'sortBy': require('./collections/sortBy'),
-  'toArray': require('./collections/toArray'),
-  'where': require('./collections/where')
-};

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/at.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/at.js b/node_modules/lodash-node/modern/collections/at.js
deleted file mode 100644
index 7f48511..0000000
--- a/node_modules/lodash-node/modern/collections/at.js
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseFlatten = require('../internals/baseFlatten'),
-    isString = require('../objects/isString');
-
-/**
- * Creates an array of elements from the specified indexes, or keys, of the
- * `collection`. Indexes may be specified as individual arguments or as arrays
- * of indexes.
- *
- * @static
- * @memberOf _
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {...(number|number[]|string|string[])} [index] The indexes of `collection`
- *   to retrieve, specified as individual indexes or arrays of indexes.
- * @returns {Array} Returns a new array of elements corresponding to the
- *  provided indexes.
- * @example
- *
- * _.at(['a', 'b', 'c', 'd', 'e'], [0, 2, 4]);
- * // => ['a', 'c', 'e']
- *
- * _.at(['fred', 'barney', 'pebbles'], 0, 2);
- * // => ['fred', 'pebbles']
- */
-function at(collection) {
-  var args = arguments,
-      index = -1,
-      props = baseFlatten(args, true, false, 1),
-      length = (args[2] && args[2][args[1]] === collection) ? 1 : props.length,
-      result = Array(length);
-
-  while(++index < length) {
-    result[index] = collection[props[index]];
-  }
-  return result;
-}
-
-module.exports = at;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/contains.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/contains.js b/node_modules/lodash-node/modern/collections/contains.js
deleted file mode 100644
index 6ca66a6..0000000
--- a/node_modules/lodash-node/modern/collections/contains.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseIndexOf = require('../internals/baseIndexOf'),
-    forOwn = require('../objects/forOwn'),
-    isArray = require('../objects/isArray'),
-    isString = require('../objects/isString');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max;
-
-/**
- * Checks if a given value is present in a collection using strict equality
- * for comparisons, i.e. `===`. If `fromIndex` is negative, it is used as the
- * offset from the end of the collection.
- *
- * @static
- * @memberOf _
- * @alias include
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {*} target The value to check for.
- * @param {number} [fromIndex=0] The index to search from.
- * @returns {boolean} Returns `true` if the `target` element is found, else `false`.
- * @example
- *
- * _.contains([1, 2, 3], 1);
- * // => true
- *
- * _.contains([1, 2, 3], 1, 2);
- * // => false
- *
- * _.contains({ 'name': 'fred', 'age': 40 }, 'fred');
- * // => true
- *
- * _.contains('pebbles', 'eb');
- * // => true
- */
-function contains(collection, target, fromIndex) {
-  var index = -1,
-      indexOf = baseIndexOf,
-      length = collection ? collection.length : 0,
-      result = false;
-
-  fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex) || 0;
-  if (isArray(collection)) {
-    result = indexOf(collection, target, fromIndex) > -1;
-  } else if (typeof length == 'number') {
-    result = (isString(collection) ? collection.indexOf(target, fromIndex) : indexOf(collection, target, fromIndex)) > -1;
-  } else {
-    forOwn(collection, function(value) {
-      if (++index >= fromIndex) {
-        return !(result = value === target);
-      }
-    });
-  }
-  return result;
-}
-
-module.exports = contains;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/countBy.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/countBy.js b/node_modules/lodash-node/modern/collections/countBy.js
deleted file mode 100644
index a11a038..0000000
--- a/node_modules/lodash-node/modern/collections/countBy.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 createAggregator = require('../internals/createAggregator');
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/**
- * Creates an object composed of keys generated from the results of running
- * each element of `collection` through the callback. The corresponding value
- * of each key is the number of times the key was returned by the callback.
- * The callback is bound to `thisArg` and invoked with three arguments;
- * (value, index|key, collection).
- *
- * 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 Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {Object} Returns the composed aggregate object.
- * @example
- *
- * _.countBy([4.3, 6.1, 6.4], function(num) { return Math.floor(num); });
- * // => { '4': 1, '6': 2 }
- *
- * _.countBy([4.3, 6.1, 6.4], function(num) { return this.floor(num); }, Math);
- * // => { '4': 1, '6': 2 }
- *
- * _.countBy(['one', 'two', 'three'], 'length');
- * // => { '3': 2, '5': 1 }
- */
-var countBy = createAggregator(function(result, value, key) {
-  (hasOwnProperty.call(result, key) ? result[key]++ : result[key] = 1);
-});
-
-module.exports = countBy;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/every.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/every.js b/node_modules/lodash-node/modern/collections/every.js
deleted file mode 100644
index 2b9c2c6..0000000
--- a/node_modules/lodash-node/modern/collections/every.js
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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'),
-    forOwn = require('../objects/forOwn');
-
-/**
- * Checks if the given callback returns truey value for **all** elements of
- * a collection. The callback is bound to `thisArg` and invoked with three
- * arguments; (value, index|key, collection).
- *
- * 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 _
- * @alias all
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {boolean} Returns `true` if all elements passed the callback check,
- *  else `false`.
- * @example
- *
- * _.every([true, 1, null, 'yes']);
- * // => false
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.every(characters, 'age');
- * // => true
- *
- * // using "_.where" callback shorthand
- * _.every(characters, { 'age': 36 });
- * // => false
- */
-function every(collection, callback, thisArg) {
-  var result = true;
-  callback = createCallback(callback, thisArg, 3);
-
-  var index = -1,
-      length = collection ? collection.length : 0;
-
-  if (typeof length == 'number') {
-    while (++index < length) {
-      if (!(result = !!callback(collection[index], index, collection))) {
-        break;
-      }
-    }
-  } else {
-    forOwn(collection, function(value, index, collection) {
-      return (result = !!callback(value, index, collection));
-    });
-  }
-  return result;
-}
-
-module.exports = every;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/filter.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/filter.js b/node_modules/lodash-node/modern/collections/filter.js
deleted file mode 100644
index b6df332..0000000
--- a/node_modules/lodash-node/modern/collections/filter.js
+++ /dev/null
@@ -1,76 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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'),
-    forOwn = require('../objects/forOwn');
-
-/**
- * Iterates over elements of a collection, returning an array of all elements
- * the callback returns truey for. The callback is bound to `thisArg` and
- * invoked with three arguments; (value, index|key, collection).
- *
- * 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 _
- * @alias select
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {Array} Returns a new array of elements that passed the callback check.
- * @example
- *
- * var evens = _.filter([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; });
- * // => [2, 4, 6]
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36, 'blocked': false },
- *   { 'name': 'fred',   'age': 40, 'blocked': true }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.filter(characters, 'blocked');
- * // => [{ 'name': 'fred', 'age': 40, 'blocked': true }]
- *
- * // using "_.where" callback shorthand
- * _.filter(characters, { 'age': 36 });
- * // => [{ 'name': 'barney', 'age': 36, 'blocked': false }]
- */
-function filter(collection, callback, thisArg) {
-  var result = [];
-  callback = createCallback(callback, thisArg, 3);
-
-  var index = -1,
-      length = collection ? collection.length : 0;
-
-  if (typeof length == 'number') {
-    while (++index < length) {
-      var value = collection[index];
-      if (callback(value, index, collection)) {
-        result.push(value);
-      }
-    }
-  } else {
-    forOwn(collection, function(value, index, collection) {
-      if (callback(value, index, collection)) {
-        result.push(value);
-      }
-    });
-  }
-  return result;
-}
-
-module.exports = filter;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/find.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/find.js b/node_modules/lodash-node/modern/collections/find.js
deleted file mode 100644
index 0c75700..0000000
--- a/node_modules/lodash-node/modern/collections/find.js
+++ /dev/null
@@ -1,80 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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'),
-    forOwn = require('../objects/forOwn');
-
-/**
- * Iterates over elements of a collection, returning the first element that
- * the callback returns truey for. The callback is bound to `thisArg` and
- * invoked with three arguments; (value, index|key, collection).
- *
- * 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 _
- * @alias detect, findWhere
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {*} Returns the found element, else `undefined`.
- * @example
- *
- * var characters = [
- *   { 'name': 'barney',  'age': 36, 'blocked': false },
- *   { 'name': 'fred',    'age': 40, 'blocked': true },
- *   { 'name': 'pebbles', 'age': 1,  'blocked': false }
- * ];
- *
- * _.find(characters, function(chr) {
- *   return chr.age < 40;
- * });
- * // => { 'name': 'barney', 'age': 36, 'blocked': false }
- *
- * // using "_.where" callback shorthand
- * _.find(characters, { 'age': 1 });
- * // =>  { 'name': 'pebbles', 'age': 1, 'blocked': false }
- *
- * // using "_.pluck" callback shorthand
- * _.find(characters, 'blocked');
- * // => { 'name': 'fred', 'age': 40, 'blocked': true }
- */
-function find(collection, callback, thisArg) {
-  callback = createCallback(callback, thisArg, 3);
-
-  var index = -1,
-      length = collection ? collection.length : 0;
-
-  if (typeof length == 'number') {
-    while (++index < length) {
-      var value = collection[index];
-      if (callback(value, index, collection)) {
-        return value;
-      }
-    }
-  } else {
-    var result;
-    forOwn(collection, function(value, index, collection) {
-      if (callback(value, index, collection)) {
-        result = value;
-        return false;
-      }
-    });
-    return result;
-  }
-}
-
-module.exports = find;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/findLast.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/findLast.js b/node_modules/lodash-node/modern/collections/findLast.js
deleted file mode 100644
index 64e05d6..0000000
--- a/node_modules/lodash-node/modern/collections/findLast.js
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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'),
-    forEachRight = require('./forEachRight');
-
-/**
- * This method is like `_.find` except that it iterates over elements
- * of a `collection` from right to left.
- *
- * @static
- * @memberOf _
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {*} Returns the found element, else `undefined`.
- * @example
- *
- * _.findLast([1, 2, 3, 4], function(num) {
- *   return num % 2 == 1;
- * });
- * // => 3
- */
-function findLast(collection, callback, thisArg) {
-  var result;
-  callback = createCallback(callback, thisArg, 3);
-  forEachRight(collection, function(value, index, collection) {
-    if (callback(value, index, collection)) {
-      result = value;
-      return false;
-    }
-  });
-  return result;
-}
-
-module.exports = findLast;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/forEach.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/forEach.js b/node_modules/lodash-node/modern/collections/forEach.js
deleted file mode 100644
index 65511e3..0000000
--- a/node_modules/lodash-node/modern/collections/forEach.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseCreateCallback = require('../internals/baseCreateCallback'),
-    forOwn = require('../objects/forOwn');
-
-/**
- * Iterates over elements of a collection, executing the callback for each
- * element. The callback is bound to `thisArg` and invoked with three arguments;
- * (value, index|key, collection). Callbacks may exit iteration early by
- * explicitly returning `false`.
- *
- * Note: As with other "Collections" methods, objects with a `length` property
- * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn`
- * may be used for object iteration.
- *
- * @static
- * @memberOf _
- * @alias each
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Function} [callback=identity] The function called per iteration.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Array|Object|string} Returns `collection`.
- * @example
- *
- * _([1, 2, 3]).forEach(function(num) { console.log(num); }).join(',');
- * // => logs each number and returns '1,2,3'
- *
- * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { console.log(num); });
- * // => logs each number and returns the object (property order is not guaranteed across environments)
- */
-function forEach(collection, callback, thisArg) {
-  var index = -1,
-      length = collection ? collection.length : 0;
-
-  callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
-  if (typeof length == 'number') {
-    while (++index < length) {
-      if (callback(collection[index], index, collection) === false) {
-        break;
-      }
-    }
-  } else {
-    forOwn(collection, callback);
-  }
-  return collection;
-}
-
-module.exports = forEach;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/forEachRight.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/forEachRight.js b/node_modules/lodash-node/modern/collections/forEachRight.js
deleted file mode 100644
index 8817169..0000000
--- a/node_modules/lodash-node/modern/collections/forEachRight.js
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 baseCreateCallback = require('../internals/baseCreateCallback'),
-    forOwn = require('../objects/forOwn'),
-    isArray = require('../objects/isArray'),
-    isString = require('../objects/isString'),
-    keys = require('../objects/keys');
-
-/**
- * This method is like `_.forEach` except that it iterates over elements
- * of a `collection` from right to left.
- *
- * @static
- * @memberOf _
- * @alias eachRight
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Function} [callback=identity] The function called per iteration.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Array|Object|string} Returns `collection`.
- * @example
- *
- * _([1, 2, 3]).forEachRight(function(num) { console.log(num); }).join(',');
- * // => logs each number from right to left and returns '3,2,1'
- */
-function forEachRight(collection, callback, thisArg) {
-  var length = collection ? collection.length : 0;
-  callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
-  if (typeof length == 'number') {
-    while (length--) {
-      if (callback(collection[length], length, collection) === false) {
-        break;
-      }
-    }
-  } else {
-    var props = keys(collection);
-    length = props.length;
-    forOwn(collection, function(value, key, collection) {
-      key = props ? props[--length] : --length;
-      return callback(collection[key], key, collection);
-    });
-  }
-  return collection;
-}
-
-module.exports = forEachRight;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/groupBy.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/groupBy.js b/node_modules/lodash-node/modern/collections/groupBy.js
deleted file mode 100644
index f2df3ba..0000000
--- a/node_modules/lodash-node/modern/collections/groupBy.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 createAggregator = require('../internals/createAggregator');
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/**
- * Creates an object composed of keys generated from the results of running
- * each element of a collection through the callback. The corresponding value
- * of each key is an array of the elements responsible for generating the key.
- * The callback is bound to `thisArg` and invoked with three arguments;
- * (value, index|key, collection).
- *
- * 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 Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {Object} Returns the composed aggregate object.
- * @example
- *
- * _.groupBy([4.2, 6.1, 6.4], function(num) { return Math.floor(num); });
- * // => { '4': [4.2], '6': [6.1, 6.4] }
- *
- * _.groupBy([4.2, 6.1, 6.4], function(num) { return this.floor(num); }, Math);
- * // => { '4': [4.2], '6': [6.1, 6.4] }
- *
- * // using "_.pluck" callback shorthand
- * _.groupBy(['one', 'two', 'three'], 'length');
- * // => { '3': ['one', 'two'], '5': ['three'] }
- */
-var groupBy = createAggregator(function(result, value, key) {
-  (hasOwnProperty.call(result, key) ? result[key] : result[key] = []).push(value);
-});
-
-module.exports = groupBy;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/indexBy.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/indexBy.js b/node_modules/lodash-node/modern/collections/indexBy.js
deleted file mode 100644
index 34312c1..0000000
--- a/node_modules/lodash-node/modern/collections/indexBy.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 createAggregator = require('../internals/createAggregator');
-
-/**
- * Creates an object composed of keys generated from the results of running
- * each element of the collection through the given callback. The corresponding
- * value of each key is the last element responsible for generating the key.
- * The callback is bound to `thisArg` and invoked with three arguments;
- * (value, index|key, collection).
- *
- * 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 Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {Object} Returns the composed aggregate object.
- * @example
- *
- * var keys = [
- *   { 'dir': 'left', 'code': 97 },
- *   { 'dir': 'right', 'code': 100 }
- * ];
- *
- * _.indexBy(keys, 'dir');
- * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }
- *
- * _.indexBy(keys, function(key) { return String.fromCharCode(key.code); });
- * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }
- *
- * _.indexBy(characters, function(key) { this.fromCharCode(key.code); }, String);
- * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }
- */
-var indexBy = createAggregator(function(result, value, key) {
-  result[key] = value;
-});
-
-module.exports = indexBy;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/invoke.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/invoke.js b/node_modules/lodash-node/modern/collections/invoke.js
deleted file mode 100644
index 3a2f0f7..0000000
--- a/node_modules/lodash-node/modern/collections/invoke.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 forEach = require('./forEach'),
-    slice = require('../internals/slice');
-
-/**
- * Invokes the method named by `methodName` on each element in the `collection`
- * returning an array of the results of each invoked method. Additional arguments
- * will be provided to each invoked method. If `methodName` is a function it
- * will be invoked for, and `this` bound to, each element in the `collection`.
- *
- * @static
- * @memberOf _
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Function|string} methodName The name of the method to invoke or
- *  the function invoked per iteration.
- * @param {...*} [arg] Arguments to invoke the method with.
- * @returns {Array} Returns a new array of the results of each invoked method.
- * @example
- *
- * _.invoke([[5, 1, 7], [3, 2, 1]], 'sort');
- * // => [[1, 5, 7], [1, 2, 3]]
- *
- * _.invoke([123, 456], String.prototype.split, '');
- * // => [['1', '2', '3'], ['4', '5', '6']]
- */
-function invoke(collection, methodName) {
-  var args = slice(arguments, 2),
-      index = -1,
-      isFunc = typeof methodName == 'function',
-      length = collection ? collection.length : 0,
-      result = Array(typeof length == 'number' ? length : 0);
-
-  forEach(collection, function(value) {
-    result[++index] = (isFunc ? methodName : value[methodName]).apply(value, args);
-  });
-  return result;
-}
-
-module.exports = invoke;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/map.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/map.js b/node_modules/lodash-node/modern/collections/map.js
deleted file mode 100644
index 5d1935c..0000000
--- a/node_modules/lodash-node/modern/collections/map.js
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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'),
-    forOwn = require('../objects/forOwn');
-
-/**
- * Creates an array of values by running each element in the collection
- * through the callback. The callback is bound to `thisArg` and invoked with
- * three arguments; (value, index|key, collection).
- *
- * 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 _
- * @alias collect
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {Array} Returns a new array of the results of each `callback` execution.
- * @example
- *
- * _.map([1, 2, 3], function(num) { return num * 3; });
- * // => [3, 6, 9]
- *
- * _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; });
- * // => [3, 6, 9] (property order is not guaranteed across environments)
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.map(characters, 'name');
- * // => ['barney', 'fred']
- */
-function map(collection, callback, thisArg) {
-  var index = -1,
-      length = collection ? collection.length : 0;
-
-  callback = createCallback(callback, thisArg, 3);
-  if (typeof length == 'number') {
-    var result = Array(length);
-    while (++index < length) {
-      result[index] = callback(collection[index], index, collection);
-    }
-  } else {
-    result = [];
-    forOwn(collection, function(value, key, collection) {
-      result[++index] = callback(value, key, collection);
-    });
-  }
-  return result;
-}
-
-module.exports = map;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/max.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/max.js b/node_modules/lodash-node/modern/collections/max.js
deleted file mode 100644
index 9a8f789..0000000
--- a/node_modules/lodash-node/modern/collections/max.js
+++ /dev/null
@@ -1,91 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 charAtCallback = require('../internals/charAtCallback'),
-    createCallback = require('../functions/createCallback'),
-    forEach = require('./forEach'),
-    forOwn = require('../objects/forOwn'),
-    isArray = require('../objects/isArray'),
-    isString = require('../objects/isString');
-
-/**
- * Retrieves the maximum value of a collection. If the collection is empty or
- * falsey `-Infinity` is returned. If a callback is provided it will be executed
- * for each value in the collection to generate the criterion by which the value
- * is ranked. The callback is bound to `thisArg` and invoked with three
- * arguments; (value, index, collection).
- *
- * 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 Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {*} Returns the maximum value.
- * @example
- *
- * _.max([4, 2, 8, 6]);
- * // => 8
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * _.max(characters, function(chr) { return chr.age; });
- * // => { 'name': 'fred', 'age': 40 };
- *
- * // using "_.pluck" callback shorthand
- * _.max(characters, 'age');
- * // => { 'name': 'fred', 'age': 40 };
- */
-function max(collection, callback, thisArg) {
-  var computed = -Infinity,
-      result = computed;
-
-  // allows working with functions like `_.map` without using
-  // their `index` argument as a callback
-  if (typeof callback != 'function' && thisArg && thisArg[callback] === collection) {
-    callback = null;
-  }
-  if (callback == null && isArray(collection)) {
-    var index = -1,
-        length = collection.length;
-
-    while (++index < length) {
-      var value = collection[index];
-      if (value > result) {
-        result = value;
-      }
-    }
-  } else {
-    callback = (callback == null && isString(collection))
-      ? charAtCallback
-      : createCallback(callback, thisArg, 3);
-
-    forEach(collection, function(value, index, collection) {
-      var current = callback(value, index, collection);
-      if (current > computed) {
-        computed = current;
-        result = value;
-      }
-    });
-  }
-  return result;
-}
-
-module.exports = max;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/min.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/min.js b/node_modules/lodash-node/modern/collections/min.js
deleted file mode 100644
index 22a7c54..0000000
--- a/node_modules/lodash-node/modern/collections/min.js
+++ /dev/null
@@ -1,91 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 charAtCallback = require('../internals/charAtCallback'),
-    createCallback = require('../functions/createCallback'),
-    forEach = require('./forEach'),
-    forOwn = require('../objects/forOwn'),
-    isArray = require('../objects/isArray'),
-    isString = require('../objects/isString');
-
-/**
- * Retrieves the minimum value of a collection. If the collection is empty or
- * falsey `Infinity` is returned. If a callback is provided it will be executed
- * for each value in the collection to generate the criterion by which the value
- * is ranked. The callback is bound to `thisArg` and invoked with three
- * arguments; (value, index, collection).
- *
- * 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 Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {*} Returns the minimum value.
- * @example
- *
- * _.min([4, 2, 8, 6]);
- * // => 2
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * _.min(characters, function(chr) { return chr.age; });
- * // => { 'name': 'barney', 'age': 36 };
- *
- * // using "_.pluck" callback shorthand
- * _.min(characters, 'age');
- * // => { 'name': 'barney', 'age': 36 };
- */
-function min(collection, callback, thisArg) {
-  var computed = Infinity,
-      result = computed;
-
-  // allows working with functions like `_.map` without using
-  // their `index` argument as a callback
-  if (typeof callback != 'function' && thisArg && thisArg[callback] === collection) {
-    callback = null;
-  }
-  if (callback == null && isArray(collection)) {
-    var index = -1,
-        length = collection.length;
-
-    while (++index < length) {
-      var value = collection[index];
-      if (value < result) {
-        result = value;
-      }
-    }
-  } else {
-    callback = (callback == null && isString(collection))
-      ? charAtCallback
-      : createCallback(callback, thisArg, 3);
-
-    forEach(collection, function(value, index, collection) {
-      var current = callback(value, index, collection);
-      if (current < computed) {
-        computed = current;
-        result = value;
-      }
-    });
-  }
-  return result;
-}
-
-module.exports = min;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/pluck.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/pluck.js b/node_modules/lodash-node/modern/collections/pluck.js
deleted file mode 100644
index b83a638..0000000
--- a/node_modules/lodash-node/modern/collections/pluck.js
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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 map = require('./map');
-
-/**
- * Retrieves the value of a specified property from all elements in the collection.
- *
- * @static
- * @memberOf _
- * @type Function
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {string} property The name of the property to pluck.
- * @returns {Array} Returns a new array of property values.
- * @example
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * _.pluck(characters, 'name');
- * // => ['barney', 'fred']
- */
-var pluck = map;
-
-module.exports = pluck;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/modern/collections/reduce.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/collections/reduce.js b/node_modules/lodash-node/modern/collections/reduce.js
deleted file mode 100644
index 6d6c0ea..0000000
--- a/node_modules/lodash-node/modern/collections/reduce.js
+++ /dev/null
@@ -1,67 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize modern exports="node" -o ./modern/`
- * 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'),
-    forOwn = require('../objects/forOwn');
-
-/**
- * Reduces a collection to a value which is the accumulated result of running
- * each element in the collection through the callback, where each successive
- * callback execution consumes the return value of the previous execution. If
- * `accumulator` is not provided the first element of the collection will be
- * used as the initial `accumulator` value. The callback is bound to `thisArg`
- * and invoked with four arguments; (accumulator, value, index|key, collection).
- *
- * @static
- * @memberOf _
- * @alias foldl, inject
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Function} [callback=identity] The function called per iteration.
- * @param {*} [accumulator] Initial value of the accumulator.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {*} Returns the accumulated value.
- * @example
- *
- * var sum = _.reduce([1, 2, 3], function(sum, num) {
- *   return sum + num;
- * });
- * // => 6
- *
- * var mapped = _.reduce({ 'a': 1, 'b': 2, 'c': 3 }, function(result, num, key) {
- *   result[key] = num * 3;
- *   return result;
- * }, {});
- * // => { 'a': 3, 'b': 6, 'c': 9 }
- */
-function reduce(collection, callback, accumulator, thisArg) {
-  if (!collection) return accumulator;
-  var noaccum = arguments.length < 3;
-  callback = createCallback(callback, thisArg, 4);
-
-  var index = -1,
-      length = collection.length;
-
-  if (typeof length == 'number') {
-    if (noaccum) {
-      accumulator = collection[++index];
-    }
-    while (++index < length) {
-      accumulator = callback(accumulator, collection[index], index, collection);
-    }
-  } else {
-    forOwn(collection, function(value, index, collection) {
-      accumulator = noaccum
-        ? (noaccum = false, value)
-        : callback(accumulator, value, index, collection)
-    });
-  }
-  return accumulator;
-}
-
-module.exports = reduce;


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


[24/32] ios commit: CB-11445 Updated checked-in node_modules

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/arrays/findLastIndex.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/arrays/findLastIndex.js b/node_modules/lodash-node/compat/arrays/findLastIndex.js
deleted file mode 100644
index 2a74e31..0000000
--- a/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;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/arrays/first.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/arrays/first.js b/node_modules/lodash-node/compat/arrays/first.js
deleted file mode 100644
index c4b1c38..0000000
--- a/node_modules/lodash-node/compat/arrays/first.js
+++ /dev/null
@@ -1,86 +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'),
-    slice = require('../internals/slice');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max,
-    nativeMin = Math.min;
-
-/**
- * Gets the first element or first `n` elements of an array. If a callback
- * is provided elements at the beginning of the array are returned as long
- * as the callback returns truey. The callback is bound to `thisArg` and
- * invoked with three arguments; (value, index, array).
- *
- * 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 _
- * @alias head, take
- * @category Arrays
- * @param {Array} array The array to query.
- * @param {Function|Object|number|string} [callback] The function called
- *  per element or the number of elements to return. 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 {*} Returns the first element(s) of `array`.
- * @example
- *
- * _.first([1, 2, 3]);
- * // => 1
- *
- * _.first([1, 2, 3], 2);
- * // => [1, 2]
- *
- * _.first([1, 2, 3], function(num) {
- *   return num < 3;
- * });
- * // => [1, 2]
- *
- * var characters = [
- *   { 'name': 'barney',  'blocked': true,  'employer': 'slate' },
- *   { 'name': 'fred',    'blocked': false, 'employer': 'slate' },
- *   { 'name': 'pebbles', 'blocked': true,  'employer': 'na' }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.first(characters, 'blocked');
- * // => [{ 'name': 'barney', 'blocked': true, 'employer': 'slate' }]
- *
- * // using "_.where" callback shorthand
- * _.pluck(_.first(characters, { 'employer': 'slate' }), 'name');
- * // => ['barney', 'fred']
- */
-function first(array, callback, thisArg) {
-  var n = 0,
-      length = array ? array.length : 0;
-
-  if (typeof callback != 'number' && callback != null) {
-    var index = -1;
-    callback = createCallback(callback, thisArg, 3);
-    while (++index < length && callback(array[index], index, array)) {
-      n++;
-    }
-  } else {
-    n = callback;
-    if (n == null || thisArg) {
-      return array ? array[0] : undefined;
-    }
-  }
-  return slice(array, 0, nativeMin(nativeMax(0, n), length));
-}
-
-module.exports = first;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/arrays/flatten.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/arrays/flatten.js b/node_modules/lodash-node/compat/arrays/flatten.js
deleted file mode 100644
index 54dc494..0000000
--- a/node_modules/lodash-node/compat/arrays/flatten.js
+++ /dev/null
@@ -1,66 +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 baseFlatten = require('../internals/baseFlatten'),
-    map = require('../collections/map');
-
-/**
- * Flattens a nested array (the nesting can be to any depth). If `isShallow`
- * is truey, the array will only be flattened a single level. If a callback
- * is provided each element of the array is passed through the callback before
- * flattening. The callback is bound to `thisArg` and invoked with three
- * arguments; (value, index, array).
- *
- * 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 flatten.
- * @param {boolean} [isShallow=false] A flag to restrict flattening to a single level.
- * @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 {Array} Returns a new flattened array.
- * @example
- *
- * _.flatten([1, [2], [3, [[4]]]]);
- * // => [1, 2, 3, 4];
- *
- * _.flatten([1, [2], [3, [[4]]]], true);
- * // => [1, 2, 3, [[4]]];
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 30, 'pets': ['hoppy'] },
- *   { 'name': 'fred',   'age': 40, 'pets': ['baby puss', 'dino'] }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.flatten(characters, 'pets');
- * // => ['hoppy', 'baby puss', 'dino']
- */
-function flatten(array, isShallow, callback, thisArg) {
-  // juggle arguments
-  if (typeof isShallow != 'boolean' && isShallow != null) {
-    thisArg = callback;
-    callback = (typeof isShallow != 'function' && thisArg && thisArg[isShallow] === array) ? null : isShallow;
-    isShallow = false;
-  }
-  if (callback != null) {
-    array = map(array, callback, thisArg);
-  }
-  return baseFlatten(array, isShallow);
-}
-
-module.exports = flatten;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/arrays/indexOf.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/arrays/indexOf.js b/node_modules/lodash-node/compat/arrays/indexOf.js
deleted file mode 100644
index 19238b5..0000000
--- a/node_modules/lodash-node/compat/arrays/indexOf.js
+++ /dev/null
@@ -1,50 +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 baseIndexOf = require('../internals/baseIndexOf'),
-    sortedIndex = require('./sortedIndex');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max;
-
-/**
- * Gets the index at which the first occurrence of `value` is found using
- * strict equality for comparisons, i.e. `===`. If the array is already sorted
- * providing `true` for `fromIndex` will run a faster binary search.
- *
- * @static
- * @memberOf _
- * @category Arrays
- * @param {Array} array The array to search.
- * @param {*} value The value to search for.
- * @param {boolean|number} [fromIndex=0] The index to search from or `true`
- *  to perform a binary search on a sorted array.
- * @returns {number} Returns the index of the matched value or `-1`.
- * @example
- *
- * _.indexOf([1, 2, 3, 1, 2, 3], 2);
- * // => 1
- *
- * _.indexOf([1, 2, 3, 1, 2, 3], 2, 3);
- * // => 4
- *
- * _.indexOf([1, 1, 2, 2, 3, 3], 2, true);
- * // => 2
- */
-function indexOf(array, value, fromIndex) {
-  if (typeof fromIndex == 'number') {
-    var length = array ? array.length : 0;
-    fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex || 0);
-  } else if (fromIndex) {
-    var index = sortedIndex(array, value);
-    return array[index] === value ? index : -1;
-  }
-  return baseIndexOf(array, value, fromIndex);
-}
-
-module.exports = indexOf;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/arrays/initial.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/arrays/initial.js b/node_modules/lodash-node/compat/arrays/initial.js
deleted file mode 100644
index 77ea68b..0000000
--- a/node_modules/lodash-node/compat/arrays/initial.js
+++ /dev/null
@@ -1,82 +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'),
-    slice = require('../internals/slice');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max,
-    nativeMin = Math.min;
-
-/**
- * Gets all but the last element or last `n` elements of an array. If a
- * callback is provided elements at the end of the array are excluded from
- * the result as long as the callback returns truey. The callback is bound
- * to `thisArg` and invoked with three arguments; (value, index, array).
- *
- * 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 query.
- * @param {Function|Object|number|string} [callback=1] The function called
- *  per element or the number of elements to exclude. 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 {Array} Returns a slice of `array`.
- * @example
- *
- * _.initial([1, 2, 3]);
- * // => [1, 2]
- *
- * _.initial([1, 2, 3], 2);
- * // => [1]
- *
- * _.initial([1, 2, 3], function(num) {
- *   return num > 1;
- * });
- * // => [1]
- *
- * var characters = [
- *   { 'name': 'barney',  'blocked': false, 'employer': 'slate' },
- *   { 'name': 'fred',    'blocked': true,  'employer': 'slate' },
- *   { 'name': 'pebbles', 'blocked': true,  'employer': 'na' }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.initial(characters, 'blocked');
- * // => [{ 'name': 'barney',  'blocked': false, 'employer': 'slate' }]
- *
- * // using "_.where" callback shorthand
- * _.pluck(_.initial(characters, { 'employer': 'na' }), 'name');
- * // => ['barney', 'fred']
- */
-function initial(array, callback, thisArg) {
-  var n = 0,
-      length = array ? array.length : 0;
-
-  if (typeof callback != 'number' && callback != null) {
-    var index = length;
-    callback = createCallback(callback, thisArg, 3);
-    while (index-- && callback(array[index], index, array)) {
-      n++;
-    }
-  } else {
-    n = (callback == null || thisArg) ? 1 : callback || n;
-  }
-  return slice(array, 0, nativeMin(nativeMax(0, length - n), length));
-}
-
-module.exports = initial;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/arrays/intersection.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/arrays/intersection.js b/node_modules/lodash-node/compat/arrays/intersection.js
deleted file mode 100644
index fd7bf65..0000000
--- a/node_modules/lodash-node/compat/arrays/intersection.js
+++ /dev/null
@@ -1,83 +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 baseIndexOf = require('../internals/baseIndexOf'),
-    cacheIndexOf = require('../internals/cacheIndexOf'),
-    createCache = require('../internals/createCache'),
-    getArray = require('../internals/getArray'),
-    isArguments = require('../objects/isArguments'),
-    isArray = require('../objects/isArray'),
-    largeArraySize = require('../internals/largeArraySize'),
-    releaseArray = require('../internals/releaseArray'),
-    releaseObject = require('../internals/releaseObject');
-
-/**
- * Creates an array of unique values present in all provided arrays using
- * strict equality for comparisons, i.e. `===`.
- *
- * @static
- * @memberOf _
- * @category Arrays
- * @param {...Array} [array] The arrays to inspect.
- * @returns {Array} Returns an array of shared values.
- * @example
- *
- * _.intersection([1, 2, 3], [5, 2, 1, 4], [2, 1]);
- * // => [1, 2]
- */
-function intersection() {
-  var args = [],
-      argsIndex = -1,
-      argsLength = arguments.length,
-      caches = getArray(),
-      indexOf = baseIndexOf,
-      trustIndexOf = indexOf === baseIndexOf,
-      seen = getArray();
-
-  while (++argsIndex < argsLength) {
-    var value = arguments[argsIndex];
-    if (isArray(value) || isArguments(value)) {
-      args.push(value);
-      caches.push(trustIndexOf && value.length >= largeArraySize &&
-        createCache(argsIndex ? args[argsIndex] : seen));
-    }
-  }
-  var array = args[0],
-      index = -1,
-      length = array ? array.length : 0,
-      result = [];
-
-  outer:
-  while (++index < length) {
-    var cache = caches[0];
-    value = array[index];
-
-    if ((cache ? cacheIndexOf(cache, value) : indexOf(seen, value)) < 0) {
-      argsIndex = argsLength;
-      (cache || seen).push(value);
-      while (--argsIndex) {
-        cache = caches[argsIndex];
-        if ((cache ? cacheIndexOf(cache, value) : indexOf(args[argsIndex], value)) < 0) {
-          continue outer;
-        }
-      }
-      result.push(value);
-    }
-  }
-  while (argsLength--) {
-    cache = caches[argsLength];
-    if (cache) {
-      releaseObject(cache);
-    }
-  }
-  releaseArray(caches);
-  releaseArray(seen);
-  return result;
-}
-
-module.exports = intersection;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/arrays/last.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/arrays/last.js b/node_modules/lodash-node/compat/arrays/last.js
deleted file mode 100644
index b54f370..0000000
--- a/node_modules/lodash-node/compat/arrays/last.js
+++ /dev/null
@@ -1,84 +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'),
-    slice = require('../internals/slice');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max;
-
-/**
- * Gets the last element or last `n` elements of an array. If a callback is
- * provided elements at the end of the array are returned as long as the
- * callback returns truey. The callback is bound to `thisArg` and invoked
- * with three arguments; (value, index, array).
- *
- * 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 query.
- * @param {Function|Object|number|string} [callback] The function called
- *  per element or the number of elements to return. 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 {*} Returns the last element(s) of `array`.
- * @example
- *
- * _.last([1, 2, 3]);
- * // => 3
- *
- * _.last([1, 2, 3], 2);
- * // => [2, 3]
- *
- * _.last([1, 2, 3], function(num) {
- *   return num > 1;
- * });
- * // => [2, 3]
- *
- * var characters = [
- *   { 'name': 'barney',  'blocked': false, 'employer': 'slate' },
- *   { 'name': 'fred',    'blocked': true,  'employer': 'slate' },
- *   { 'name': 'pebbles', 'blocked': true,  'employer': 'na' }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.pluck(_.last(characters, 'blocked'), 'name');
- * // => ['fred', 'pebbles']
- *
- * // using "_.where" callback shorthand
- * _.last(characters, { 'employer': 'na' });
- * // => [{ 'name': 'pebbles', 'blocked': true, 'employer': 'na' }]
- */
-function last(array, callback, thisArg) {
-  var n = 0,
-      length = array ? array.length : 0;
-
-  if (typeof callback != 'number' && callback != null) {
-    var index = length;
-    callback = createCallback(callback, thisArg, 3);
-    while (index-- && callback(array[index], index, array)) {
-      n++;
-    }
-  } else {
-    n = callback;
-    if (n == null || thisArg) {
-      return array ? array[length - 1] : undefined;
-    }
-  }
-  return slice(array, nativeMax(0, length - n));
-}
-
-module.exports = last;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/arrays/lastIndexOf.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/arrays/lastIndexOf.js b/node_modules/lodash-node/compat/arrays/lastIndexOf.js
deleted file mode 100644
index c7b8817..0000000
--- a/node_modules/lodash-node/compat/arrays/lastIndexOf.js
+++ /dev/null
@@ -1,54 +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>
- */
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max,
-    nativeMin = Math.min;
-
-/**
- * Gets the index at which the last occurrence of `value` is found using strict
- * equality for comparisons, i.e. `===`. If `fromIndex` is negative, it is used
- * as the offset from the end of the collection.
- *
- * 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 {*} value The value to search for.
- * @param {number} [fromIndex=array.length-1] The index to search from.
- * @returns {number} Returns the index of the matched value or `-1`.
- * @example
- *
- * _.lastIndexOf([1, 2, 3, 1, 2, 3], 2);
- * // => 4
- *
- * _.lastIndexOf([1, 2, 3, 1, 2, 3], 2, 3);
- * // => 1
- */
-function lastIndexOf(array, value, fromIndex) {
-  var index = array ? array.length : 0;
-  if (typeof fromIndex == 'number') {
-    index = (fromIndex < 0 ? nativeMax(0, index + fromIndex) : nativeMin(fromIndex, index - 1)) + 1;
-  }
-  while (index--) {
-    if (array[index] === value) {
-      return index;
-    }
-  }
-  return -1;
-}
-
-module.exports = lastIndexOf;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/arrays/pull.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/arrays/pull.js b/node_modules/lodash-node/compat/arrays/pull.js
deleted file mode 100644
index d7f60d0..0000000
--- a/node_modules/lodash-node/compat/arrays/pull.js
+++ /dev/null
@@ -1,57 +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>
- */
-
-/**
- * Used for `Array` method references.
- *
- * Normally `Array.prototype` would suffice, however, using an array literal
- * avoids issues in Narwhal.
- */
-var arrayRef = [];
-
-/** Native method shortcuts */
-var splice = arrayRef.splice;
-
-/**
- * Removes all provided values from the given array using strict equality for
- * comparisons, i.e. `===`.
- *
- * @static
- * @memberOf _
- * @category Arrays
- * @param {Array} array The array to modify.
- * @param {...*} [value] The values to remove.
- * @returns {Array} Returns `array`.
- * @example
- *
- * var array = [1, 2, 3, 1, 2, 3];
- * _.pull(array, 2, 3);
- * console.log(array);
- * // => [1, 1]
- */
-function pull(array) {
-  var args = arguments,
-      argsIndex = 0,
-      argsLength = args.length,
-      length = array ? array.length : 0;
-
-  while (++argsIndex < argsLength) {
-    var index = -1,
-        value = args[argsIndex];
-    while (++index < length) {
-      if (array[index] === value) {
-        splice.call(array, index--, 1);
-        length--;
-      }
-    }
-  }
-  return array;
-}
-
-module.exports = pull;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/arrays/range.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/arrays/range.js b/node_modules/lodash-node/compat/arrays/range.js
deleted file mode 100644
index 5ea7f49..0000000
--- a/node_modules/lodash-node/compat/arrays/range.js
+++ /dev/null
@@ -1,69 +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>
- */
-
-/** Native method shortcuts */
-var ceil = Math.ceil;
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max;
-
-/**
- * Creates an array of numbers (positive and/or negative) progressing from
- * `start` up to but not including `end`. If `start` is less than `stop` a
- * zero-length range is created unless a negative `step` is specified.
- *
- * @static
- * @memberOf _
- * @category Arrays
- * @param {number} [start=0] The start of the range.
- * @param {number} end The end of the range.
- * @param {number} [step=1] The value to increment or decrement by.
- * @returns {Array} Returns a new range array.
- * @example
- *
- * _.range(4);
- * // => [0, 1, 2, 3]
- *
- * _.range(1, 5);
- * // => [1, 2, 3, 4]
- *
- * _.range(0, 20, 5);
- * // => [0, 5, 10, 15]
- *
- * _.range(0, -4, -1);
- * // => [0, -1, -2, -3]
- *
- * _.range(1, 4, 0);
- * // => [1, 1, 1]
- *
- * _.range(0);
- * // => []
- */
-function range(start, end, step) {
-  start = +start || 0;
-  step = typeof step == 'number' ? step : (+step || 1);
-
-  if (end == null) {
-    end = start;
-    start = 0;
-  }
-  // use `Array(length)` so engines like Chakra and V8 avoid slower modes
-  // http://youtu.be/XAqIpGU8ZZk#t=17m25s
-  var index = -1,
-      length = nativeMax(0, ceil((end - start) / (step || 1))),
-      result = Array(length);
-
-  while (++index < length) {
-    result[index] = start;
-    start += step;
-  }
-  return result;
-}
-
-module.exports = range;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/arrays/remove.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/arrays/remove.js b/node_modules/lodash-node/compat/arrays/remove.js
deleted file mode 100644
index 7c0f8f0..0000000
--- a/node_modules/lodash-node/compat/arrays/remove.js
+++ /dev/null
@@ -1,71 +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');
-
-/**
- * Used for `Array` method references.
- *
- * Normally `Array.prototype` would suffice, however, using an array literal
- * avoids issues in Narwhal.
- */
-var arrayRef = [];
-
-/** Native method shortcuts */
-var splice = arrayRef.splice;
-
-/**
- * Removes all elements from an array that the callback returns truey for
- * and returns an array of removed elements. The callback is bound to `thisArg`
- * and invoked with three arguments; (value, index, array).
- *
- * 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 modify.
- * @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 {Array} Returns a new array of removed elements.
- * @example
- *
- * var array = [1, 2, 3, 4, 5, 6];
- * var evens = _.remove(array, function(num) { return num % 2 == 0; });
- *
- * console.log(array);
- * // => [1, 3, 5]
- *
- * console.log(evens);
- * // => [2, 4, 6]
- */
-function remove(array, callback, thisArg) {
-  var index = -1,
-      length = array ? array.length : 0,
-      result = [];
-
-  callback = createCallback(callback, thisArg, 3);
-  while (++index < length) {
-    var value = array[index];
-    if (callback(value, index, array)) {
-      result.push(value);
-      splice.call(array, index--, 1);
-      length--;
-    }
-  }
-  return result;
-}
-
-module.exports = remove;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/arrays/rest.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/arrays/rest.js b/node_modules/lodash-node/compat/arrays/rest.js
deleted file mode 100644
index d778fb6..0000000
--- a/node_modules/lodash-node/compat/arrays/rest.js
+++ /dev/null
@@ -1,83 +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'),
-    slice = require('../internals/slice');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max;
-
-/**
- * The opposite of `_.initial` this method gets all but the first element or
- * first `n` elements of an array. If a callback function is provided elements
- * at the beginning of the array are excluded from the result as long as the
- * callback returns truey. The callback is bound to `thisArg` and invoked
- * with three arguments; (value, index, array).
- *
- * 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 _
- * @alias drop, tail
- * @category Arrays
- * @param {Array} array The array to query.
- * @param {Function|Object|number|string} [callback=1] The function called
- *  per element or the number of elements to exclude. 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 {Array} Returns a slice of `array`.
- * @example
- *
- * _.rest([1, 2, 3]);
- * // => [2, 3]
- *
- * _.rest([1, 2, 3], 2);
- * // => [3]
- *
- * _.rest([1, 2, 3], function(num) {
- *   return num < 3;
- * });
- * // => [3]
- *
- * var characters = [
- *   { 'name': 'barney',  'blocked': true,  'employer': 'slate' },
- *   { 'name': 'fred',    'blocked': false,  'employer': 'slate' },
- *   { 'name': 'pebbles', 'blocked': true, 'employer': 'na' }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.pluck(_.rest(characters, 'blocked'), 'name');
- * // => ['fred', 'pebbles']
- *
- * // using "_.where" callback shorthand
- * _.rest(characters, { 'employer': 'slate' });
- * // => [{ 'name': 'pebbles', 'blocked': true, 'employer': 'na' }]
- */
-function rest(array, callback, thisArg) {
-  if (typeof callback != 'number' && callback != null) {
-    var n = 0,
-        index = -1,
-        length = array ? array.length : 0;
-
-    callback = createCallback(callback, thisArg, 3);
-    while (++index < length && callback(array[index], index, array)) {
-      n++;
-    }
-  } else {
-    n = (callback == null || thisArg) ? 1 : nativeMax(0, callback);
-  }
-  return slice(array, n);
-}
-
-module.exports = rest;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/arrays/sortedIndex.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/arrays/sortedIndex.js b/node_modules/lodash-node/compat/arrays/sortedIndex.js
deleted file mode 100644
index 1bcb5b5..0000000
--- a/node_modules/lodash-node/compat/arrays/sortedIndex.js
+++ /dev/null
@@ -1,77 +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'),
-    identity = require('../utilities/identity');
-
-/**
- * Uses a binary search to determine the smallest index at which a value
- * should be inserted into a given sorted array in order to maintain the sort
- * order of the array. If a callback is provided it will be executed for
- * `value` and each element of `array` to compute their sort ranking. The
- * callback is bound to `thisArg` and invoked with one argument; (value).
- *
- * 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 inspect.
- * @param {*} value The value to evaluate.
- * @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 at which `value` should be inserted
- *  into `array`.
- * @example
- *
- * _.sortedIndex([20, 30, 50], 40);
- * // => 2
- *
- * // using "_.pluck" callback shorthand
- * _.sortedIndex([{ 'x': 20 }, { 'x': 30 }, { 'x': 50 }], { 'x': 40 }, 'x');
- * // => 2
- *
- * var dict = {
- *   'wordToNumber': { 'twenty': 20, 'thirty': 30, 'fourty': 40, 'fifty': 50 }
- * };
- *
- * _.sortedIndex(['twenty', 'thirty', 'fifty'], 'fourty', function(word) {
- *   return dict.wordToNumber[word];
- * });
- * // => 2
- *
- * _.sortedIndex(['twenty', 'thirty', 'fifty'], 'fourty', function(word) {
- *   return this.wordToNumber[word];
- * }, dict);
- * // => 2
- */
-function sortedIndex(array, value, callback, thisArg) {
-  var low = 0,
-      high = array ? array.length : low;
-
-  // explicitly reference `identity` for better inlining in Firefox
-  callback = callback ? createCallback(callback, thisArg, 1) : identity;
-  value = callback(value);
-
-  while (low < high) {
-    var mid = (low + high) >>> 1;
-    (callback(array[mid]) < value)
-      ? low = mid + 1
-      : high = mid;
-  }
-  return low;
-}
-
-module.exports = sortedIndex;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/arrays/union.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/arrays/union.js b/node_modules/lodash-node/compat/arrays/union.js
deleted file mode 100644
index 854f7b1..0000000
--- a/node_modules/lodash-node/compat/arrays/union.js
+++ /dev/null
@@ -1,30 +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 baseFlatten = require('../internals/baseFlatten'),
-    baseUniq = require('../internals/baseUniq');
-
-/**
- * Creates an array of unique values, in order, of the provided arrays using
- * strict equality for comparisons, i.e. `===`.
- *
- * @static
- * @memberOf _
- * @category Arrays
- * @param {...Array} [array] The arrays to inspect.
- * @returns {Array} Returns an array of combined values.
- * @example
- *
- * _.union([1, 2, 3], [5, 2, 1, 4], [2, 1]);
- * // => [1, 2, 3, 5, 4]
- */
-function union() {
-  return baseUniq(baseFlatten(arguments, true, true));
-}
-
-module.exports = union;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/arrays/uniq.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/arrays/uniq.js b/node_modules/lodash-node/compat/arrays/uniq.js
deleted file mode 100644
index 50df292..0000000
--- a/node_modules/lodash-node/compat/arrays/uniq.js
+++ /dev/null
@@ -1,69 +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 baseUniq = require('../internals/baseUniq'),
-    createCallback = require('../functions/createCallback');
-
-/**
- * Creates a duplicate-value-free version of an array using strict equality
- * for comparisons, i.e. `===`. If the array is sorted, providing
- * `true` for `isSorted` will use a faster algorithm. If a callback is provided
- * each element of `array` is passed through the callback before uniqueness
- * is computed. The callback is bound to `thisArg` and invoked with three
- * arguments; (value, index, array).
- *
- * 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 _
- * @alias unique
- * @category Arrays
- * @param {Array} array The array to process.
- * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.
- * @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 {Array} Returns a duplicate-value-free array.
- * @example
- *
- * _.uniq([1, 2, 1, 3, 1]);
- * // => [1, 2, 3]
- *
- * _.uniq([1, 1, 2, 2, 3], true);
- * // => [1, 2, 3]
- *
- * _.uniq(['A', 'b', 'C', 'a', 'B', 'c'], function(letter) { return letter.toLowerCase(); });
- * // => ['A', 'b', 'C']
- *
- * _.uniq([1, 2.5, 3, 1.5, 2, 3.5], function(num) { return this.floor(num); }, Math);
- * // => [1, 2.5, 3]
- *
- * // using "_.pluck" callback shorthand
- * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
- * // => [{ 'x': 1 }, { 'x': 2 }]
- */
-function uniq(array, isSorted, callback, thisArg) {
-  // juggle arguments
-  if (typeof isSorted != 'boolean' && isSorted != null) {
-    thisArg = callback;
-    callback = (typeof isSorted != 'function' && thisArg && thisArg[isSorted] === array) ? null : isSorted;
-    isSorted = false;
-  }
-  if (callback != null) {
-    callback = createCallback(callback, thisArg, 3);
-  }
-  return baseUniq(array, isSorted, callback);
-}
-
-module.exports = uniq;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/arrays/without.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/arrays/without.js b/node_modules/lodash-node/compat/arrays/without.js
deleted file mode 100644
index 5fda56c..0000000
--- a/node_modules/lodash-node/compat/arrays/without.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'),
-    slice = require('../internals/slice');
-
-/**
- * Creates an array excluding all provided values using strict equality for
- * comparisons, i.e. `===`.
- *
- * @static
- * @memberOf _
- * @category Arrays
- * @param {Array} array The array to filter.
- * @param {...*} [value] The values to exclude.
- * @returns {Array} Returns a new array of filtered values.
- * @example
- *
- * _.without([1, 2, 1, 0, 3, 1, 4], 0, 1);
- * // => [2, 3, 4]
- */
-function without(array) {
-  return baseDifference(array, slice(arguments, 1));
-}
-
-module.exports = without;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/arrays/xor.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/arrays/xor.js b/node_modules/lodash-node/compat/arrays/xor.js
deleted file mode 100644
index 1a444a1..0000000
--- a/node_modules/lodash-node/compat/arrays/xor.js
+++ /dev/null
@@ -1,46 +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'),
-    baseUniq = require('../internals/baseUniq'),
-    isArguments = require('../objects/isArguments'),
-    isArray = require('../objects/isArray');
-
-/**
- * Creates an array that is the symmetric difference of the provided arrays.
- * See http://en.wikipedia.org/wiki/Symmetric_difference.
- *
- * @static
- * @memberOf _
- * @category Arrays
- * @param {...Array} [array] The arrays to inspect.
- * @returns {Array} Returns an array of values.
- * @example
- *
- * _.xor([1, 2, 3], [5, 2, 1, 4]);
- * // => [3, 5, 4]
- *
- * _.xor([1, 2, 5], [2, 3, 5], [3, 4, 5]);
- * // => [1, 4, 5]
- */
-function xor() {
-  var index = -1,
-      length = arguments.length;
-
-  while (++index < length) {
-    var array = arguments[index];
-    if (isArray(array) || isArguments(array)) {
-      var result = result
-        ? baseUniq(baseDifference(result, array).concat(baseDifference(array, result)))
-        : array;
-    }
-  }
-  return result || [];
-}
-
-module.exports = xor;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/arrays/zip.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/arrays/zip.js b/node_modules/lodash-node/compat/arrays/zip.js
deleted file mode 100644
index 7d3d6e6..0000000
--- a/node_modules/lodash-node/compat/arrays/zip.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>
- */
-var max = require('../collections/max'),
-    pluck = require('../collections/pluck');
-
-/**
- * Creates an array of grouped elements, the first of which contains the first
- * elements of the given arrays, the second of which contains the second
- * elements of the given arrays, and so on.
- *
- * @static
- * @memberOf _
- * @alias unzip
- * @category Arrays
- * @param {...Array} [array] Arrays to process.
- * @returns {Array} Returns a new array of grouped elements.
- * @example
- *
- * _.zip(['fred', 'barney'], [30, 40], [true, false]);
- * // => [['fred', 30, true], ['barney', 40, false]]
- */
-function zip() {
-  var array = arguments.length > 1 ? arguments : arguments[0],
-      index = -1,
-      length = array ? max(pluck(array, 'length')) : 0,
-      result = Array(length < 0 ? 0 : length);
-
-  while (++index < length) {
-    result[index] = pluck(array, index);
-  }
-  return result;
-}
-
-module.exports = zip;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/arrays/zipObject.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/arrays/zipObject.js b/node_modules/lodash-node/compat/arrays/zipObject.js
deleted file mode 100644
index 6f901ef..0000000
--- a/node_modules/lodash-node/compat/arrays/zipObject.js
+++ /dev/null
@@ -1,48 +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 isArray = require('../objects/isArray');
-
-/**
- * Creates an object composed from arrays of `keys` and `values`. Provide
- * either a single two dimensional array, i.e. `[[key1, value1], [key2, value2]]`
- * or two arrays, one of `keys` and one of corresponding `values`.
- *
- * @static
- * @memberOf _
- * @alias object
- * @category Arrays
- * @param {Array} keys The array of keys.
- * @param {Array} [values=[]] The array of values.
- * @returns {Object} Returns an object composed of the given keys and
- *  corresponding values.
- * @example
- *
- * _.zipObject(['fred', 'barney'], [30, 40]);
- * // => { 'fred': 30, 'barney': 40 }
- */
-function zipObject(keys, values) {
-  var index = -1,
-      length = keys ? keys.length : 0,
-      result = {};
-
-  if (!values && length && !isArray(keys[0])) {
-    values = [];
-  }
-  while (++index < length) {
-    var key = keys[index];
-    if (values) {
-      result[key] = values[index];
-    } else if (key) {
-      result[key[0]] = key[1];
-    }
-  }
-  return result;
-}
-
-module.exports = zipObject;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/chaining.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/chaining.js b/node_modules/lodash-node/compat/chaining.js
deleted file mode 100644
index 6cde453..0000000
--- a/node_modules/lodash-node/compat/chaining.js
+++ /dev/null
@@ -1,17 +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 = {
-  'chain': require('./chaining/chain'),
-  'tap': require('./chaining/tap'),
-  'value': require('./chaining/wrapperValueOf'),
-  'wrapperChain': require('./chaining/wrapperChain'),
-  'wrapperToString': require('./chaining/wrapperToString'),
-  'wrapperValueOf': require('./chaining/wrapperValueOf')
-};

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/chaining/chain.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/chaining/chain.js b/node_modules/lodash-node/compat/chaining/chain.js
deleted file mode 100644
index d613c55..0000000
--- a/node_modules/lodash-node/compat/chaining/chain.js
+++ /dev/null
@@ -1,41 +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 lodashWrapper = require('../internals/lodashWrapper');
-
-/**
- * Creates a `lodash` object that wraps the given value with explicit
- * method chaining enabled.
- *
- * @static
- * @memberOf _
- * @category Chaining
- * @param {*} value The value to wrap.
- * @returns {Object} Returns the wrapper object.
- * @example
- *
- * var characters = [
- *   { 'name': 'barney',  'age': 36 },
- *   { 'name': 'fred',    'age': 40 },
- *   { 'name': 'pebbles', 'age': 1 }
- * ];
- *
- * var youngest = _.chain(characters)
- *     .sortBy('age')
- *     .map(function(chr) { return chr.name + ' is ' + chr.age; })
- *     .first()
- *     .value();
- * // => 'pebbles is 1'
- */
-function chain(value) {
-  value = new lodashWrapper(value);
-  value.__chain__ = true;
-  return value;
-}
-
-module.exports = chain;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/chaining/tap.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/chaining/tap.js b/node_modules/lodash-node/compat/chaining/tap.js
deleted file mode 100644
index 0be66d3..0000000
--- a/node_modules/lodash-node/compat/chaining/tap.js
+++ /dev/null
@@ -1,35 +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>
- */
-
-/**
- * Invokes `interceptor` with the `value` as the first argument and then
- * returns `value`. The purpose of this method is to "tap into" a method
- * chain in order to perform operations on intermediate results within
- * the chain.
- *
- * @static
- * @memberOf _
- * @category Chaining
- * @param {*} value The value to provide to `interceptor`.
- * @param {Function} interceptor The function to invoke.
- * @returns {*} Returns `value`.
- * @example
- *
- * _([1, 2, 3, 4])
- *  .tap(function(array) { array.pop(); })
- *  .reverse()
- *  .value();
- * // => [3, 2, 1]
- */
-function tap(value, interceptor) {
-  interceptor(value);
-  return value;
-}
-
-module.exports = tap;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/chaining/wrapperChain.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/chaining/wrapperChain.js b/node_modules/lodash-node/compat/chaining/wrapperChain.js
deleted file mode 100644
index e6bf9a8..0000000
--- a/node_modules/lodash-node/compat/chaining/wrapperChain.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>
- */
-
-/**
- * Enables explicit method chaining on the wrapper object.
- *
- * @name chain
- * @memberOf _
- * @category Chaining
- * @returns {*} Returns the wrapper object.
- * @example
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * // without explicit chaining
- * _(characters).first();
- * // => { 'name': 'barney', 'age': 36 }
- *
- * // with explicit chaining
- * _(characters).chain()
- *   .first()
- *   .pick('age')
- *   .value();
- * // => { 'age': 36 }
- */
-function wrapperChain() {
-  this.__chain__ = true;
-  return this;
-}
-
-module.exports = wrapperChain;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/chaining/wrapperToString.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/chaining/wrapperToString.js b/node_modules/lodash-node/compat/chaining/wrapperToString.js
deleted file mode 100644
index 393d86d..0000000
--- a/node_modules/lodash-node/compat/chaining/wrapperToString.js
+++ /dev/null
@@ -1,26 +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>
- */
-
-/**
- * Produces the `toString` result of the wrapped value.
- *
- * @name toString
- * @memberOf _
- * @category Chaining
- * @returns {string} Returns the string result.
- * @example
- *
- * _([1, 2, 3]).toString();
- * // => '1,2,3'
- */
-function wrapperToString() {
-  return String(this.__wrapped__);
-}
-
-module.exports = wrapperToString;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/chaining/wrapperValueOf.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/chaining/wrapperValueOf.js b/node_modules/lodash-node/compat/chaining/wrapperValueOf.js
deleted file mode 100644
index 96bd2f4..0000000
--- a/node_modules/lodash-node/compat/chaining/wrapperValueOf.js
+++ /dev/null
@@ -1,28 +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 support = require('../support');
-
-/**
- * Extracts the wrapped value.
- *
- * @name valueOf
- * @memberOf _
- * @alias value
- * @category Chaining
- * @returns {*} Returns the wrapped value.
- * @example
- *
- * _([1, 2, 3]).valueOf();
- * // => [1, 2, 3]
- */
-function wrapperValueOf() {
-  return this.__wrapped__;
-}
-
-module.exports = wrapperValueOf;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections.js b/node_modules/lodash-node/compat/collections.js
deleted file mode 100644
index 5d2fc99..0000000
--- a/node_modules/lodash-node/compat/collections.js
+++ /dev/null
@@ -1,49 +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 = {
-  'all': require('./collections/every'),
-  'any': require('./collections/some'),
-  'at': require('./collections/at'),
-  'collect': require('./collections/map'),
-  'contains': require('./collections/contains'),
-  'countBy': require('./collections/countBy'),
-  'detect': require('./collections/find'),
-  'each': require('./collections/forEach'),
-  'eachRight': require('./collections/forEachRight'),
-  'every': require('./collections/every'),
-  'filter': require('./collections/filter'),
-  'find': require('./collections/find'),
-  'findLast': require('./collections/findLast'),
-  'findWhere': require('./collections/find'),
-  'foldl': require('./collections/reduce'),
-  'foldr': require('./collections/reduceRight'),
-  'forEach': require('./collections/forEach'),
-  'forEachRight': require('./collections/forEachRight'),
-  'groupBy': require('./collections/groupBy'),
-  'include': require('./collections/contains'),
-  'indexBy': require('./collections/indexBy'),
-  'inject': require('./collections/reduce'),
-  'invoke': require('./collections/invoke'),
-  'map': require('./collections/map'),
-  'max': require('./collections/max'),
-  'min': require('./collections/min'),
-  'pluck': require('./collections/pluck'),
-  'reduce': require('./collections/reduce'),
-  'reduceRight': require('./collections/reduceRight'),
-  'reject': require('./collections/reject'),
-  'sample': require('./collections/sample'),
-  'select': require('./collections/filter'),
-  'shuffle': require('./collections/shuffle'),
-  'size': require('./collections/size'),
-  'some': require('./collections/some'),
-  'sortBy': require('./collections/sortBy'),
-  'toArray': require('./collections/toArray'),
-  'where': require('./collections/where')
-};

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/at.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/at.js b/node_modules/lodash-node/compat/collections/at.js
deleted file mode 100644
index a994bb7..0000000
--- a/node_modules/lodash-node/compat/collections/at.js
+++ /dev/null
@@ -1,50 +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 baseFlatten = require('../internals/baseFlatten'),
-    isString = require('../objects/isString'),
-    support = require('../support');
-
-/**
- * Creates an array of elements from the specified indexes, or keys, of the
- * `collection`. Indexes may be specified as individual arguments or as arrays
- * of indexes.
- *
- * @static
- * @memberOf _
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {...(number|number[]|string|string[])} [index] The indexes of `collection`
- *   to retrieve, specified as individual indexes or arrays of indexes.
- * @returns {Array} Returns a new array of elements corresponding to the
- *  provided indexes.
- * @example
- *
- * _.at(['a', 'b', 'c', 'd', 'e'], [0, 2, 4]);
- * // => ['a', 'c', 'e']
- *
- * _.at(['fred', 'barney', 'pebbles'], 0, 2);
- * // => ['fred', 'pebbles']
- */
-function at(collection) {
-  var args = arguments,
-      index = -1,
-      props = baseFlatten(args, true, false, 1),
-      length = (args[2] && args[2][args[1]] === collection) ? 1 : props.length,
-      result = Array(length);
-
-  if (support.unindexedChars && isString(collection)) {
-    collection = collection.split('');
-  }
-  while(++index < length) {
-    result[index] = collection[props[index]];
-  }
-  return result;
-}
-
-module.exports = at;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/contains.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/contains.js b/node_modules/lodash-node/compat/collections/contains.js
deleted file mode 100644
index 69e552d..0000000
--- a/node_modules/lodash-node/compat/collections/contains.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 baseEach = require('../internals/baseEach'),
-    baseIndexOf = require('../internals/baseIndexOf'),
-    isArray = require('../objects/isArray'),
-    isString = require('../objects/isString');
-
-/* Native method shortcuts for methods with the same name as other `lodash` methods */
-var nativeMax = Math.max;
-
-/**
- * Checks if a given value is present in a collection using strict equality
- * for comparisons, i.e. `===`. If `fromIndex` is negative, it is used as the
- * offset from the end of the collection.
- *
- * @static
- * @memberOf _
- * @alias include
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {*} target The value to check for.
- * @param {number} [fromIndex=0] The index to search from.
- * @returns {boolean} Returns `true` if the `target` element is found, else `false`.
- * @example
- *
- * _.contains([1, 2, 3], 1);
- * // => true
- *
- * _.contains([1, 2, 3], 1, 2);
- * // => false
- *
- * _.contains({ 'name': 'fred', 'age': 40 }, 'fred');
- * // => true
- *
- * _.contains('pebbles', 'eb');
- * // => true
- */
-function contains(collection, target, fromIndex) {
-  var index = -1,
-      indexOf = baseIndexOf,
-      length = collection ? collection.length : 0,
-      result = false;
-
-  fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex) || 0;
-  if (isArray(collection)) {
-    result = indexOf(collection, target, fromIndex) > -1;
-  } else if (typeof length == 'number') {
-    result = (isString(collection) ? collection.indexOf(target, fromIndex) : indexOf(collection, target, fromIndex)) > -1;
-  } else {
-    baseEach(collection, function(value) {
-      if (++index >= fromIndex) {
-        return !(result = value === target);
-      }
-    });
-  }
-  return result;
-}
-
-module.exports = contains;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/countBy.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/countBy.js b/node_modules/lodash-node/compat/collections/countBy.js
deleted file mode 100644
index ece9ece..0000000
--- a/node_modules/lodash-node/compat/collections/countBy.js
+++ /dev/null
@@ -1,55 +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 createAggregator = require('../internals/createAggregator');
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/**
- * Creates an object composed of keys generated from the results of running
- * each element of `collection` through the callback. The corresponding value
- * of each key is the number of times the key was returned by the callback.
- * The callback is bound to `thisArg` and invoked with three arguments;
- * (value, index|key, collection).
- *
- * 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 Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {Object} Returns the composed aggregate object.
- * @example
- *
- * _.countBy([4.3, 6.1, 6.4], function(num) { return Math.floor(num); });
- * // => { '4': 1, '6': 2 }
- *
- * _.countBy([4.3, 6.1, 6.4], function(num) { return this.floor(num); }, Math);
- * // => { '4': 1, '6': 2 }
- *
- * _.countBy(['one', 'two', 'three'], 'length');
- * // => { '3': 2, '5': 1 }
- */
-var countBy = createAggregator(function(result, value, key) {
-  (hasOwnProperty.call(result, key) ? result[key]++ : result[key] = 1);
-});
-
-module.exports = countBy;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/every.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/every.js b/node_modules/lodash-node/compat/collections/every.js
deleted file mode 100644
index 633489c..0000000
--- a/node_modules/lodash-node/compat/collections/every.js
+++ /dev/null
@@ -1,75 +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 baseEach = require('../internals/baseEach'),
-    createCallback = require('../functions/createCallback'),
-    isArray = require('../objects/isArray');
-
-/**
- * Checks if the given callback returns truey value for **all** elements of
- * a collection. The callback is bound to `thisArg` and invoked with three
- * arguments; (value, index|key, collection).
- *
- * 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 _
- * @alias all
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {boolean} Returns `true` if all elements passed the callback check,
- *  else `false`.
- * @example
- *
- * _.every([true, 1, null, 'yes']);
- * // => false
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36 },
- *   { 'name': 'fred',   'age': 40 }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.every(characters, 'age');
- * // => true
- *
- * // using "_.where" callback shorthand
- * _.every(characters, { 'age': 36 });
- * // => false
- */
-function every(collection, callback, thisArg) {
-  var result = true;
-  callback = createCallback(callback, thisArg, 3);
-
-  if (isArray(collection)) {
-    var index = -1,
-        length = collection.length;
-
-    while (++index < length) {
-      if (!(result = !!callback(collection[index], index, collection))) {
-        break;
-      }
-    }
-  } else {
-    baseEach(collection, function(value, index, collection) {
-      return (result = !!callback(value, index, collection));
-    });
-  }
-  return result;
-}
-
-module.exports = every;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/filter.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/filter.js b/node_modules/lodash-node/compat/collections/filter.js
deleted file mode 100644
index 30c351e..0000000
--- a/node_modules/lodash-node/compat/collections/filter.js
+++ /dev/null
@@ -1,77 +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 baseEach = require('../internals/baseEach'),
-    createCallback = require('../functions/createCallback'),
-    isArray = require('../objects/isArray');
-
-/**
- * Iterates over elements of a collection, returning an array of all elements
- * the callback returns truey for. The callback is bound to `thisArg` and
- * invoked with three arguments; (value, index|key, collection).
- *
- * 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 _
- * @alias select
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {Array} Returns a new array of elements that passed the callback check.
- * @example
- *
- * var evens = _.filter([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; });
- * // => [2, 4, 6]
- *
- * var characters = [
- *   { 'name': 'barney', 'age': 36, 'blocked': false },
- *   { 'name': 'fred',   'age': 40, 'blocked': true }
- * ];
- *
- * // using "_.pluck" callback shorthand
- * _.filter(characters, 'blocked');
- * // => [{ 'name': 'fred', 'age': 40, 'blocked': true }]
- *
- * // using "_.where" callback shorthand
- * _.filter(characters, { 'age': 36 });
- * // => [{ 'name': 'barney', 'age': 36, 'blocked': false }]
- */
-function filter(collection, callback, thisArg) {
-  var result = [];
-  callback = createCallback(callback, thisArg, 3);
-
-  if (isArray(collection)) {
-    var index = -1,
-        length = collection.length;
-
-    while (++index < length) {
-      var value = collection[index];
-      if (callback(value, index, collection)) {
-        result.push(value);
-      }
-    }
-  } else {
-    baseEach(collection, function(value, index, collection) {
-      if (callback(value, index, collection)) {
-        result.push(value);
-      }
-    });
-  }
-  return result;
-}
-
-module.exports = filter;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/find.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/find.js b/node_modules/lodash-node/compat/collections/find.js
deleted file mode 100644
index 59f9853..0000000
--- a/node_modules/lodash-node/compat/collections/find.js
+++ /dev/null
@@ -1,81 +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 baseEach = require('../internals/baseEach'),
-    createCallback = require('../functions/createCallback'),
-    isArray = require('../objects/isArray');
-
-/**
- * Iterates over elements of a collection, returning the first element that
- * the callback returns truey for. The callback is bound to `thisArg` and
- * invoked with three arguments; (value, index|key, collection).
- *
- * 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 _
- * @alias detect, findWhere
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {*} Returns the found element, else `undefined`.
- * @example
- *
- * var characters = [
- *   { 'name': 'barney',  'age': 36, 'blocked': false },
- *   { 'name': 'fred',    'age': 40, 'blocked': true },
- *   { 'name': 'pebbles', 'age': 1,  'blocked': false }
- * ];
- *
- * _.find(characters, function(chr) {
- *   return chr.age < 40;
- * });
- * // => { 'name': 'barney', 'age': 36, 'blocked': false }
- *
- * // using "_.where" callback shorthand
- * _.find(characters, { 'age': 1 });
- * // =>  { 'name': 'pebbles', 'age': 1, 'blocked': false }
- *
- * // using "_.pluck" callback shorthand
- * _.find(characters, 'blocked');
- * // => { 'name': 'fred', 'age': 40, 'blocked': true }
- */
-function find(collection, callback, thisArg) {
-  callback = createCallback(callback, thisArg, 3);
-
-  if (isArray(collection)) {
-    var index = -1,
-        length = collection.length;
-
-    while (++index < length) {
-      var value = collection[index];
-      if (callback(value, index, collection)) {
-        return value;
-      }
-    }
-  } else {
-    var result;
-    baseEach(collection, function(value, index, collection) {
-      if (callback(value, index, collection)) {
-        result = value;
-        return false;
-      }
-    });
-    return result;
-  }
-}
-
-module.exports = find;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/findLast.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/findLast.js b/node_modules/lodash-node/compat/collections/findLast.js
deleted file mode 100644
index 43d18e8..0000000
--- a/node_modules/lodash-node/compat/collections/findLast.js
+++ /dev/null
@@ -1,44 +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'),
-    forEachRight = require('./forEachRight');
-
-/**
- * This method is like `_.find` except that it iterates over elements
- * of a `collection` from right to left.
- *
- * @static
- * @memberOf _
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {*} Returns the found element, else `undefined`.
- * @example
- *
- * _.findLast([1, 2, 3, 4], function(num) {
- *   return num % 2 == 1;
- * });
- * // => 3
- */
-function findLast(collection, callback, thisArg) {
-  var result;
-  callback = createCallback(callback, thisArg, 3);
-  forEachRight(collection, function(value, index, collection) {
-    if (callback(value, index, collection)) {
-      result = value;
-      return false;
-    }
-  });
-  return result;
-}
-
-module.exports = findLast;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/forEach.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/forEach.js b/node_modules/lodash-node/compat/collections/forEach.js
deleted file mode 100644
index 4f89582..0000000
--- a/node_modules/lodash-node/compat/collections/forEach.js
+++ /dev/null
@@ -1,55 +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 baseCreateCallback = require('../internals/baseCreateCallback'),
-    baseEach = require('../internals/baseEach'),
-    isArray = require('../objects/isArray');
-
-/**
- * Iterates over elements of a collection, executing the callback for each
- * element. The callback is bound to `thisArg` and invoked with three arguments;
- * (value, index|key, collection). Callbacks may exit iteration early by
- * explicitly returning `false`.
- *
- * Note: As with other "Collections" methods, objects with a `length` property
- * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn`
- * may be used for object iteration.
- *
- * @static
- * @memberOf _
- * @alias each
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Function} [callback=identity] The function called per iteration.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Array|Object|string} Returns `collection`.
- * @example
- *
- * _([1, 2, 3]).forEach(function(num) { console.log(num); }).join(',');
- * // => logs each number and returns '1,2,3'
- *
- * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { console.log(num); });
- * // => logs each number and returns the object (property order is not guaranteed across environments)
- */
-function forEach(collection, callback, thisArg) {
-  if (callback && typeof thisArg == 'undefined' && isArray(collection)) {
-    var index = -1,
-        length = collection.length;
-
-    while (++index < length) {
-      if (callback(collection[index], index, collection) === false) {
-        break;
-      }
-    }
-  } else {
-    baseEach(collection, callback, thisArg);
-  }
-  return collection;
-}
-
-module.exports = forEach;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/forEachRight.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/forEachRight.js b/node_modules/lodash-node/compat/collections/forEachRight.js
deleted file mode 100644
index fc003a1..0000000
--- a/node_modules/lodash-node/compat/collections/forEachRight.js
+++ /dev/null
@@ -1,59 +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 baseCreateCallback = require('../internals/baseCreateCallback'),
-    baseEach = require('../internals/baseEach'),
-    isArray = require('../objects/isArray'),
-    isString = require('../objects/isString'),
-    keys = require('../objects/keys'),
-    support = require('../support');
-
-/**
- * This method is like `_.forEach` except that it iterates over elements
- * of a `collection` from right to left.
- *
- * @static
- * @memberOf _
- * @alias eachRight
- * @category Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Function} [callback=identity] The function called per iteration.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {Array|Object|string} Returns `collection`.
- * @example
- *
- * _([1, 2, 3]).forEachRight(function(num) { console.log(num); }).join(',');
- * // => logs each number from right to left and returns '3,2,1'
- */
-function forEachRight(collection, callback, thisArg) {
-  var iterable = collection,
-      length = collection ? collection.length : 0;
-
-  callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
-  if (isArray(collection)) {
-    while (length--) {
-      if (callback(collection[length], length, collection) === false) {
-        break;
-      }
-    }
-  } else {
-    if (typeof length != 'number') {
-      var props = keys(collection);
-      length = props.length;
-    } else if (support.unindexedChars && isString(collection)) {
-      iterable = collection.split('');
-    }
-    baseEach(collection, function(value, key, collection) {
-      key = props ? props[--length] : --length;
-      return callback(iterable[key], key, collection);
-    });
-  }
-  return collection;
-}
-
-module.exports = forEachRight;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/lodash-node/compat/collections/groupBy.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/compat/collections/groupBy.js b/node_modules/lodash-node/compat/collections/groupBy.js
deleted file mode 100644
index 90756c4..0000000
--- a/node_modules/lodash-node/compat/collections/groupBy.js
+++ /dev/null
@@ -1,56 +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 createAggregator = require('../internals/createAggregator');
-
-/** Used for native method references */
-var objectProto = Object.prototype;
-
-/** Native method shortcuts */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/**
- * Creates an object composed of keys generated from the results of running
- * each element of a collection through the callback. The corresponding value
- * of each key is an array of the elements responsible for generating the key.
- * The callback is bound to `thisArg` and invoked with three arguments;
- * (value, index|key, collection).
- *
- * 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 Collections
- * @param {Array|Object|string} collection The collection to iterate over.
- * @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 {Object} Returns the composed aggregate object.
- * @example
- *
- * _.groupBy([4.2, 6.1, 6.4], function(num) { return Math.floor(num); });
- * // => { '4': [4.2], '6': [6.1, 6.4] }
- *
- * _.groupBy([4.2, 6.1, 6.4], function(num) { return this.floor(num); }, Math);
- * // => { '4': [4.2], '6': [6.1, 6.4] }
- *
- * // using "_.pluck" callback shorthand
- * _.groupBy(['one', 'two', 'three'], 'length');
- * // => { '3': ['one', 'two'], '5': ['three'] }
- */
-var groupBy = createAggregator(function(result, value, key) {
-  (hasOwnProperty.call(result, key) ? result[key] : result[key] = []).push(value);
-});
-
-module.exports = groupBy;


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