http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/a7f059c0/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
new file mode 100644
index 0000000..a27605d
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/defaults.js
@@ -0,0 +1,49 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..e8d29f9
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/forIn.js
@@ -0,0 +1,54 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..b91a110
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/forOwn.js
@@ -0,0 +1,53 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..2ac5794
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/functions.js
@@ -0,0 +1,37 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..838a4d6
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/has.js
@@ -0,0 +1,35 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..a9716ca
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/invert.js
@@ -0,0 +1,37 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..74736fe
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/isArguments.js
@@ -0,0 +1,51 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..7ef5cd1
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/isArray.js
@@ -0,0 +1,45 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..ac09e8f
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/isBoolean.js
@@ -0,0 +1,37 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..2c9416a
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/isDate.js
@@ -0,0 +1,36 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..86a26a0
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/isElement.js
@@ -0,0 +1,27 @@
+/**
+ * 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;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/a7f059c0/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
new file mode 100644
index 0000000..1b90fb5
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/isEmpty.js
@@ -0,0 +1,54 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..741f165
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/isEqual.js
@@ -0,0 +1,53 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..bc29c51
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/isFinite.js
@@ -0,0 +1,46 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..2ef33dc
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/isFunction.js
@@ -0,0 +1,42 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..cc807b7
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/isNaN.js
@@ -0,0 +1,42 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..8dc0797
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/isNull.js
@@ -0,0 +1,30 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..f9d88af
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/isNumber.js
@@ -0,0 +1,39 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..53ceabb
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/isObject.js
@@ -0,0 +1,39 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..48626e5
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/isRegExp.js
@@ -0,0 +1,37 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..e8df7c4
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/isString.js
@@ -0,0 +1,37 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..4d54db3
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/isUndefined.js
@@ -0,0 +1,27 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..ae7401d
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/keys.js
@@ -0,0 +1,36 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..33c65ae
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/omit.js
@@ -0,0 +1,57 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..ea8c7ae
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/pairs.js
@@ -0,0 +1,38 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..d195fb5
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/pick.js
@@ -0,0 +1,53 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..d11055e
--- /dev/null
+++ b/node_modules/lodash-node/underscore/objects/values.js
@@ -0,0 +1,36 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..90fbe96
--- /dev/null
+++ b/node_modules/lodash-node/underscore/support.js
@@ -0,0 +1,46 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..cef5f20
--- /dev/null
+++ b/node_modules/lodash-node/underscore/utilities.js
@@ -0,0 +1,26 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..2e1f5c0
--- /dev/null
+++ b/node_modules/lodash-node/underscore/utilities/escape.js
@@ -0,0 +1,31 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..5734880
--- /dev/null
+++ b/node_modules/lodash-node/underscore/utilities/identity.js
@@ -0,0 +1,28 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..9865704
--- /dev/null
+++ b/node_modules/lodash-node/underscore/utilities/mixin.js
@@ -0,0 +1,74 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..349a093
--- /dev/null
+++ b/node_modules/lodash-node/underscore/utilities/noConflict.js
@@ -0,0 +1,30 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..2756a24
--- /dev/null
+++ b/node_modules/lodash-node/underscore/utilities/noop.js
@@ -0,0 +1,26 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..c340513
--- /dev/null
+++ b/node_modules/lodash-node/underscore/utilities/now.js
@@ -0,0 +1,28 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..232d11d
--- /dev/null
+++ b/node_modules/lodash-node/underscore/utilities/property.js
@@ -0,0 +1,40 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..fb6640e
--- /dev/null
+++ b/node_modules/lodash-node/underscore/utilities/random.js
@@ -0,0 +1,58 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..95d44c6
--- /dev/null
+++ b/node_modules/lodash-node/underscore/utilities/result.js
@@ -0,0 +1,45 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..b6e8807
--- /dev/null
+++ b/node_modules/lodash-node/underscore/utilities/template.js
@@ -0,0 +1,163 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..8459664
--- /dev/null
+++ b/node_modules/lodash-node/underscore/utilities/templateSettings.js
@@ -0,0 +1,73 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..b87e512
--- /dev/null
+++ b/node_modules/lodash-node/underscore/utilities/times.js
@@ -0,0 +1,46 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..d6050ea
--- /dev/null
+++ b/node_modules/lodash-node/underscore/utilities/unescape.js
@@ -0,0 +1,32 @@
+/**
+ * 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/a7f059c0/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
new file mode 100644
index 0000000..e9178b6
--- /dev/null
+++ b/node_modules/lodash-node/underscore/utilities/uniqueId.js
@@ -0,0 +1,34 @@
+/**
+ * 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/a7f059c0/node_modules/lodash/LICENSE
----------------------------------------------------------------------
diff --git a/node_modules/lodash/LICENSE b/node_modules/lodash/LICENSE
new file mode 100644
index 0000000..9cd87e5
--- /dev/null
+++ b/node_modules/lodash/LICENSE
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 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.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to