You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by br...@apache.org on 2018/09/18 20:11:42 UTC

[cordova-ios] branch brodybits-remove-node_modules created (now 87ee041)

This is an automated email from the ASF dual-hosted git repository.

brodybits pushed a change to branch brodybits-remove-node_modules
in repository https://gitbox.apache.org/repos/asf/cordova-ios.git.


      at 87ee041  completely remove node_modules from repository

This branch includes the following new commits:

     new eee9382  ignore all node_modules
     new 87ee041  completely remove node_modules from repository

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



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


[cordova-ios] 01/02: ignore all node_modules

Posted by br...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

brodybits pushed a commit to branch brodybits-remove-node_modules
in repository https://gitbox.apache.org/repos/asf/cordova-ios.git

commit eee9382d539bdec0276150e5cf8231c321a96698
Author: Christopher J. Brody <ch...@gmail.com>
AuthorDate: Tue Sep 18 16:10:40 2018 -0400

    ignore all node_modules
---
 .gitignore | 220 +------------------------------------------------------------
 1 file changed, 2 insertions(+), 218 deletions(-)

diff --git a/.gitignore b/.gitignore
index 496fd62..bdff061 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,223 +7,7 @@ tmp
 *.pbxuser
 xcuserdata
 console.log
-node_modules/jshint
-node_modules/eslint
-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/color-support
-node_modules/.bin/coveralls
-node_modules/.bin/escodegen
-node_modules/.bin/esgenerate
-node_modules/.bin/eslint
-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/asynckit/
-node_modules/aws-sign2/
-node_modules/aws4/
-node_modules/bcrypt-pbkdf/
-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/color-support/
-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/fs.realpath/
-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/optional/
-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/
+node_modules
 coverage/
 npm-debug.log
-node_modules/.bin/color-support
-node_modules/.bin/jasmine
-node_modules/asynckit/
-node_modules/aws4/
-node_modules/bcrypt-pbkdf/
-node_modules/color-support/
-node_modules/fs.realpath/
-node_modules/jasmine-core/
-node_modules/jasmine/
-node_modules/eslint-*
\ No newline at end of file
+node_modules


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


[cordova-ios] 02/02: completely remove node_modules from repository

Posted by br...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

brodybits pushed a commit to branch brodybits-remove-node_modules
in repository https://gitbox.apache.org/repos/asf/cordova-ios.git

commit 87ee041af35ceb8466661a04babb84165cd9d718
Author: Christopher J. Brody <ch...@gmail.com>
AuthorDate: Tue Sep 18 16:11:17 2018 -0400

    completely remove node_modules from repository
---
 node_modules/.bin/ios-sim                          |     1 -
 node_modules/.bin/nopt                             |     1 -
 node_modules/.bin/pegjs                            |     1 -
 node_modules/.bin/semver                           |     1 -
 node_modules/.bin/shjs                             |     1 -
 node_modules/.bin/uuid                             |     1 -
 node_modules/abbrev/LICENSE                        |    46 -
 node_modules/abbrev/README.md                      |    23 -
 node_modules/abbrev/abbrev.js                      |    61 -
 node_modules/abbrev/package.json                   |    99 -
 node_modules/ansi/.jshintrc                        |     4 -
 node_modules/ansi/.npmignore                       |     1 -
 node_modules/ansi/History.md                       |    23 -
 node_modules/ansi/LICENSE                          |    24 -
 node_modules/ansi/README.md                        |    98 -
 node_modules/ansi/examples/beep/index.js           |    16 -
 node_modules/ansi/examples/clear/index.js          |    15 -
 node_modules/ansi/examples/cursorPosition.js       |    32 -
 node_modules/ansi/examples/progress/index.js       |    87 -
 node_modules/ansi/lib/ansi.js                      |   405 -
 node_modules/ansi/lib/newlines.js                  |    71 -
 node_modules/ansi/package.json                     |    94 -
 node_modules/balanced-match/.npmignore             |     5 -
 node_modules/balanced-match/LICENSE.md             |    21 -
 node_modules/balanced-match/README.md              |    91 -
 node_modules/balanced-match/index.js               |    59 -
 node_modules/balanced-match/package.json           |   113 -
 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                  |   124 -
 node_modules/base64-js/package.json                |   102 -
 node_modules/base64-js/test/convert.js             |    51 -
 node_modules/base64-js/test/url-safe.js            |    18 -
 node_modules/big-integer/BigInteger.d.ts           |  2364 ----
 node_modules/big-integer/BigInteger.js             |  1253 --
 node_modules/big-integer/BigInteger.min.js         |     1 -
 node_modules/big-integer/LICENSE                   |    24 -
 node_modules/big-integer/README.md                 |   520 -
 node_modules/big-integer/bower.json                |    29 -
 node_modules/big-integer/package.json              |   116 -
 node_modules/big-integer/tsconfig.json             |    25 -
 node_modules/bplist-creator/.npmignore             |     8 -
 node_modules/bplist-creator/README.md              |    64 -
 node_modules/bplist-creator/bplistCreator.js       |   445 -
 node_modules/bplist-creator/package.json           |    94 -
 node_modules/bplist-creator/test/airplay.bplist    |   Bin 341 -> 0 bytes
 node_modules/bplist-creator/test/binaryData.bplist |   Bin 7150 -> 0 bytes
 node_modules/bplist-creator/test/creatorTest.js    |   197 -
 .../bplist-creator/test/iTunes-small.bplist        |   Bin 24433 -> 0 bytes
 node_modules/bplist-creator/test/sample1.bplist    |   Bin 631 -> 0 bytes
 node_modules/bplist-creator/test/sample2.bplist    |   Bin 384 -> 0 bytes
 node_modules/bplist-creator/test/uid.bplist        |   Bin 365 -> 0 bytes
 node_modules/bplist-creator/test/utf16.bplist      |   Bin 1273 -> 0 bytes
 node_modules/bplist-parser/.npmignore              |     8 -
 node_modules/bplist-parser/README.md               |    47 -
 node_modules/bplist-parser/bplistParser.js         |   357 -
 node_modules/bplist-parser/package.json            |    91 -
 node_modules/bplist-parser/test/airplay.bplist     |   Bin 341 -> 0 bytes
 .../bplist-parser/test/iTunes-small.bplist         |   Bin 24433 -> 0 bytes
 node_modules/bplist-parser/test/int64.bplist       |   Bin 84 -> 0 bytes
 node_modules/bplist-parser/test/int64.xml          |    10 -
 node_modules/bplist-parser/test/parseTest.js       |   159 -
 node_modules/bplist-parser/test/sample1.bplist     |   Bin 605 -> 0 bytes
 node_modules/bplist-parser/test/sample2.bplist     |   Bin 384 -> 0 bytes
 node_modules/bplist-parser/test/uid.bplist         |   Bin 365 -> 0 bytes
 node_modules/bplist-parser/test/utf16.bplist       |   Bin 1273 -> 0 bytes
 .../bplist-parser/test/utf16_chinese.plist         |   Bin 2362 -> 0 bytes
 node_modules/brace-expansion/README.md             |   123 -
 node_modules/brace-expansion/index.js              |   201 -
 node_modules/brace-expansion/package.json          |   115 -
 node_modules/concat-map/.travis.yml                |     4 -
 node_modules/concat-map/LICENSE                    |    18 -
 node_modules/concat-map/README.markdown            |    62 -
 node_modules/concat-map/example/map.js             |     6 -
 node_modules/concat-map/index.js                   |    13 -
 node_modules/concat-map/package.json               |   118 -
 node_modules/concat-map/test/map.js                |    39 -
 node_modules/cordova-common/.eslintignore          |     1 -
 node_modules/cordova-common/.eslintrc.yml          |    11 -
 node_modules/cordova-common/.jscs.json             |    24 -
 node_modules/cordova-common/.npmignore             |     2 -
 node_modules/cordova-common/.ratignore             |     4 -
 node_modules/cordova-common/.travis.yml            |    15 -
 node_modules/cordova-common/README.md              |   157 -
 node_modules/cordova-common/RELEASENOTES.md        |   119 -
 node_modules/cordova-common/appveyor.yml           |    18 -
 node_modules/cordova-common/cordova-common.js      |    47 -
 node_modules/cordova-common/package.json           |   149 -
 node_modules/cordova-common/src/ActionStack.js     |    85 -
 .../src/ConfigChanges/ConfigChanges.js             |   424 -
 .../cordova-common/src/ConfigChanges/ConfigFile.js |   242 -
 .../src/ConfigChanges/ConfigKeeper.js              |    64 -
 .../cordova-common/src/ConfigChanges/munge-util.js |   162 -
 .../src/ConfigParser/ConfigParser.js               |   615 -
 .../cordova-common/src/ConfigParser/README.md      |    86 -
 node_modules/cordova-common/src/CordovaCheck.js    |    76 -
 .../src/CordovaError/CordovaError.js               |    92 -
 .../CordovaExternalToolErrorContext.js             |    48 -
 node_modules/cordova-common/src/CordovaLogger.js   |   220 -
 node_modules/cordova-common/src/FileUpdater.js     |   415 -
 node_modules/cordova-common/src/PlatformJson.js    |   277 -
 .../cordova-common/src/PluginInfo/PluginInfo.js    |   434 -
 .../src/PluginInfo/PluginInfoProvider.js           |    82 -
 node_modules/cordova-common/src/PluginManager.js   |   149 -
 node_modules/cordova-common/src/events.js          |    72 -
 node_modules/cordova-common/src/superspawn.js      |   189 -
 .../cordova-common/src/util/addProperty.js         |    32 -
 .../cordova-common/src/util/plist-helpers.js       |    96 -
 .../cordova-common/src/util/xml-helpers.js         |   365 -
 node_modules/cordova-registry-mapper/.npmignore    |     1 -
 node_modules/cordova-registry-mapper/.travis.yml   |     7 -
 node_modules/cordova-registry-mapper/README.md     |    14 -
 node_modules/cordova-registry-mapper/index.js      |   204 -
 node_modules/cordova-registry-mapper/package.json  |    86 -
 node_modules/cordova-registry-mapper/tests/test.js |    11 -
 node_modules/elementtree/.npmignore                |     1 -
 node_modules/elementtree/.travis.yml               |    10 -
 node_modules/elementtree/CHANGES.md                |    39 -
 node_modules/elementtree/LICENSE.txt               |   203 -
 node_modules/elementtree/Makefile                  |    21 -
 node_modules/elementtree/NOTICE                    |     5 -
 node_modules/elementtree/README.md                 |   141 -
 node_modules/elementtree/lib/constants.js          |    20 -
 node_modules/elementtree/lib/elementpath.js        |   343 -
 node_modules/elementtree/lib/elementtree.js        |   611 -
 node_modules/elementtree/lib/errors.js             |    31 -
 node_modules/elementtree/lib/parser.js             |    33 -
 node_modules/elementtree/lib/parsers/index.js      |     1 -
 node_modules/elementtree/lib/parsers/sax.js        |    56 -
 node_modules/elementtree/lib/sprintf.js            |    86 -
 node_modules/elementtree/lib/treebuilder.js        |    60 -
 node_modules/elementtree/lib/utils.js              |    72 -
 node_modules/elementtree/package.json              |   109 -
 node_modules/elementtree/tests/data/xml1.xml       |    17 -
 node_modules/elementtree/tests/data/xml2.xml       |    14 -
 node_modules/elementtree/tests/test-simple.js      |   339 -
 node_modules/glob/LICENSE                          |    15 -
 node_modules/glob/README.md                        |   377 -
 node_modules/glob/common.js                        |   245 -
 node_modules/glob/glob.js                          |   752 --
 node_modules/glob/package.json                     |   107 -
 node_modules/glob/sync.js                          |   460 -
 node_modules/inflight/LICENSE                      |    15 -
 node_modules/inflight/README.md                    |    37 -
 node_modules/inflight/inflight.js                  |    54 -
 node_modules/inflight/package.json                 |   106 -
 node_modules/inherits/LICENSE                      |    16 -
 node_modules/inherits/README.md                    |    42 -
 node_modules/inherits/inherits.js                  |     7 -
 node_modules/inherits/inherits_browser.js          |    23 -
 node_modules/inherits/package.json                 |    98 -
 node_modules/ios-sim/.github/CONTRIBUTING.md       |    29 -
 node_modules/ios-sim/.github/ISSUE_TEMPLATE.md     |    24 -
 node_modules/ios-sim/.jscsrc                       |    40 -
 node_modules/ios-sim/.travis.yml                   |    14 -
 node_modules/ios-sim/LICENSE                       |    21 -
 node_modules/ios-sim/README.md                     |   100 -
 node_modules/ios-sim/appveyor.yml                  |    17 -
 node_modules/ios-sim/bin/ios-sim                   |    42 -
 node_modules/ios-sim/bin/ios-sim.cmd               |     1 -
 node_modules/ios-sim/doc/help.txt                  |    33 -
 node_modules/ios-sim/ios-sim.js                    |     4 -
 node_modules/ios-sim/node_modules/.bin/nopt        |     1 -
 .../ios-sim/node_modules/bplist-parser/.npmignore  |     8 -
 .../ios-sim/node_modules/bplist-parser/README.md   |    47 -
 .../node_modules/bplist-parser/bplistParser.js     |   332 -
 .../node_modules/bplist-parser/package.json        |    87 -
 .../node_modules/bplist-parser/test/airplay.bplist |   Bin 341 -> 0 bytes
 .../bplist-parser/test/iTunes-small.bplist         |   Bin 24433 -> 0 bytes
 .../node_modules/bplist-parser/test/parseTest.js   |   120 -
 .../node_modules/bplist-parser/test/sample1.bplist |   Bin 605 -> 0 bytes
 .../node_modules/bplist-parser/test/sample2.bplist |   Bin 384 -> 0 bytes
 .../node_modules/bplist-parser/test/uid.bplist     |   Bin 365 -> 0 bytes
 .../node_modules/bplist-parser/test/utf16.bplist   |   Bin 1273 -> 0 bytes
 node_modules/ios-sim/node_modules/nopt/.npmignore  |     0
 node_modules/ios-sim/node_modules/nopt/LICENSE     |    23 -
 node_modules/ios-sim/node_modules/nopt/README.md   |   206 -
 node_modules/ios-sim/node_modules/nopt/bin/nopt.js |    44 -
 .../node_modules/nopt/examples/my-program.js       |    30 -
 node_modules/ios-sim/node_modules/nopt/lib/nopt.js |   530 -
 .../ios-sim/node_modules/nopt/package.json         |    94 -
 node_modules/ios-sim/package.json                  |   132 -
 node_modules/ios-sim/spec/cli.spec.js              |    30 -
 node_modules/ios-sim/spec/commands.spec.js         |    52 -
 node_modules/ios-sim/spec/fixture/list.json        |   522 -
 node_modules/ios-sim/spec/jasmine.json             |     8 -
 node_modules/ios-sim/spec/lib.spec.js              |    58 -
 node_modules/ios-sim/src/cli.js                    |   105 -
 node_modules/ios-sim/src/commands.js               |    94 -
 node_modules/ios-sim/src/help.js                   |    41 -
 node_modules/ios-sim/src/lib.js                    |   491 -
 node_modules/lodash/LICENSE                        |    22 -
 node_modules/lodash/README.md                      |   121 -
 node_modules/lodash/array.js                       |    44 -
 node_modules/lodash/array/chunk.js                 |    46 -
 node_modules/lodash/array/compact.js               |    30 -
 node_modules/lodash/array/difference.js            |    29 -
 node_modules/lodash/array/drop.js                  |    39 -
 node_modules/lodash/array/dropRight.js             |    40 -
 node_modules/lodash/array/dropRightWhile.js        |    59 -
 node_modules/lodash/array/dropWhile.js             |    59 -
 node_modules/lodash/array/fill.js                  |    44 -
 node_modules/lodash/array/findIndex.js             |    53 -
 node_modules/lodash/array/findLastIndex.js         |    53 -
 node_modules/lodash/array/first.js                 |    22 -
 node_modules/lodash/array/flatten.js               |    32 -
 node_modules/lodash/array/flattenDeep.js           |    21 -
 node_modules/lodash/array/head.js                  |     1 -
 node_modules/lodash/array/indexOf.js               |    53 -
 node_modules/lodash/array/initial.js               |    20 -
 node_modules/lodash/array/intersection.js          |    58 -
 node_modules/lodash/array/last.js                  |    19 -
 node_modules/lodash/array/lastIndexOf.js           |    60 -
 node_modules/lodash/array/object.js                |     1 -
 node_modules/lodash/array/pull.js                  |    52 -
 node_modules/lodash/array/pullAt.js                |    40 -
 node_modules/lodash/array/remove.js                |    64 -
 node_modules/lodash/array/rest.js                  |    21 -
 node_modules/lodash/array/slice.js                 |    30 -
 node_modules/lodash/array/sortedIndex.js           |    53 -
 node_modules/lodash/array/sortedLastIndex.js       |    25 -
 node_modules/lodash/array/tail.js                  |     1 -
 node_modules/lodash/array/take.js                  |    39 -
 node_modules/lodash/array/takeRight.js             |    40 -
 node_modules/lodash/array/takeRightWhile.js        |    59 -
 node_modules/lodash/array/takeWhile.js             |    59 -
 node_modules/lodash/array/union.js                 |    24 -
 node_modules/lodash/array/uniq.js                  |    71 -
 node_modules/lodash/array/unique.js                |     1 -
 node_modules/lodash/array/unzip.js                 |    47 -
 node_modules/lodash/array/unzipWith.js             |    41 -
 node_modules/lodash/array/without.js               |    27 -
 node_modules/lodash/array/xor.js                   |    35 -
 node_modules/lodash/array/zip.js                   |    21 -
 node_modules/lodash/array/zipObject.js             |    43 -
 node_modules/lodash/array/zipWith.js               |    36 -
 node_modules/lodash/chain.js                       |    16 -
 node_modules/lodash/chain/chain.js                 |    35 -
 node_modules/lodash/chain/commit.js                |     1 -
 node_modules/lodash/chain/concat.js                |     1 -
 node_modules/lodash/chain/lodash.js                |   125 -
 node_modules/lodash/chain/plant.js                 |     1 -
 node_modules/lodash/chain/reverse.js               |     1 -
 node_modules/lodash/chain/run.js                   |     1 -
 node_modules/lodash/chain/tap.js                   |    29 -
 node_modules/lodash/chain/thru.js                  |    26 -
 node_modules/lodash/chain/toJSON.js                |     1 -
 node_modules/lodash/chain/toString.js              |     1 -
 node_modules/lodash/chain/value.js                 |     1 -
 node_modules/lodash/chain/valueOf.js               |     1 -
 node_modules/lodash/chain/wrapperChain.js          |    32 -
 node_modules/lodash/chain/wrapperCommit.js         |    32 -
 node_modules/lodash/chain/wrapperConcat.js         |    34 -
 node_modules/lodash/chain/wrapperPlant.js          |    45 -
 node_modules/lodash/chain/wrapperReverse.js        |    43 -
 node_modules/lodash/chain/wrapperToString.js       |    17 -
 node_modules/lodash/chain/wrapperValue.js          |    20 -
 node_modules/lodash/collection.js                  |    44 -
 node_modules/lodash/collection/all.js              |     1 -
 node_modules/lodash/collection/any.js              |     1 -
 node_modules/lodash/collection/at.js               |    29 -
 node_modules/lodash/collection/collect.js          |     1 -
 node_modules/lodash/collection/contains.js         |     1 -
 node_modules/lodash/collection/countBy.js          |    54 -
 node_modules/lodash/collection/detect.js           |     1 -
 node_modules/lodash/collection/each.js             |     1 -
 node_modules/lodash/collection/eachRight.js        |     1 -
 node_modules/lodash/collection/every.js            |    66 -
 node_modules/lodash/collection/filter.js           |    61 -
 node_modules/lodash/collection/find.js             |    56 -
 node_modules/lodash/collection/findLast.js         |    25 -
 node_modules/lodash/collection/findWhere.js        |    37 -
 node_modules/lodash/collection/foldl.js            |     1 -
 node_modules/lodash/collection/foldr.js            |     1 -
 node_modules/lodash/collection/forEach.js          |    37 -
 node_modules/lodash/collection/forEachRight.js     |    26 -
 node_modules/lodash/collection/groupBy.js          |    59 -
 node_modules/lodash/collection/include.js          |     1 -
 node_modules/lodash/collection/includes.js         |    57 -
 node_modules/lodash/collection/indexBy.js          |    53 -
 node_modules/lodash/collection/inject.js           |     1 -
 node_modules/lodash/collection/invoke.js           |    42 -
 node_modules/lodash/collection/map.js              |    68 -
 node_modules/lodash/collection/max.js              |     1 -
 node_modules/lodash/collection/min.js              |     1 -
 node_modules/lodash/collection/partition.js        |    66 -
 node_modules/lodash/collection/pluck.js            |    31 -
 node_modules/lodash/collection/reduce.js           |    44 -
 node_modules/lodash/collection/reduceRight.js      |    29 -
 node_modules/lodash/collection/reject.js           |    50 -
 node_modules/lodash/collection/sample.js           |    50 -
 node_modules/lodash/collection/select.js           |     1 -
 node_modules/lodash/collection/shuffle.js          |    24 -
 node_modules/lodash/collection/size.js             |    30 -
 node_modules/lodash/collection/some.js             |    67 -
 node_modules/lodash/collection/sortBy.js           |    71 -
 node_modules/lodash/collection/sortByAll.js        |    52 -
 node_modules/lodash/collection/sortByOrder.js      |    55 -
 node_modules/lodash/collection/sum.js              |     1 -
 node_modules/lodash/collection/where.js            |    37 -
 node_modules/lodash/date.js                        |     3 -
 node_modules/lodash/date/now.js                    |    24 -
 node_modules/lodash/function.js                    |    28 -
 node_modules/lodash/function/after.js              |    48 -
 node_modules/lodash/function/ary.js                |    34 -
 node_modules/lodash/function/backflow.js           |     1 -
 node_modules/lodash/function/before.js             |    42 -
 node_modules/lodash/function/bind.js               |    56 -
 node_modules/lodash/function/bindAll.js            |    50 -
 node_modules/lodash/function/bindKey.js            |    66 -
 node_modules/lodash/function/compose.js            |     1 -
 node_modules/lodash/function/curry.js              |    51 -
 node_modules/lodash/function/curryRight.js         |    48 -
 node_modules/lodash/function/debounce.js           |   181 -
 node_modules/lodash/function/defer.js              |    25 -
 node_modules/lodash/function/delay.js              |    26 -
 node_modules/lodash/function/flow.js               |    25 -
 node_modules/lodash/function/flowRight.js          |    25 -
 node_modules/lodash/function/memoize.js            |    80 -
 node_modules/lodash/function/modArgs.js            |    58 -
 node_modules/lodash/function/negate.js             |    32 -
 node_modules/lodash/function/once.js               |    24 -
 node_modules/lodash/function/partial.js            |    43 -
 node_modules/lodash/function/partialRight.js       |    42 -
 node_modules/lodash/function/rearg.js              |    40 -
 node_modules/lodash/function/restParam.js          |    58 -
 node_modules/lodash/function/spread.js             |    44 -
 node_modules/lodash/function/throttle.js           |    62 -
 node_modules/lodash/function/wrap.js               |    33 -
 node_modules/lodash/index.js                       | 12351 -------------------
 node_modules/lodash/internal/LazyWrapper.js        |    26 -
 node_modules/lodash/internal/LodashWrapper.js      |    21 -
 node_modules/lodash/internal/MapCache.js           |    24 -
 node_modules/lodash/internal/SetCache.js           |    29 -
 node_modules/lodash/internal/arrayConcat.js        |    25 -
 node_modules/lodash/internal/arrayCopy.js          |    20 -
 node_modules/lodash/internal/arrayEach.js          |    22 -
 node_modules/lodash/internal/arrayEachRight.js     |    21 -
 node_modules/lodash/internal/arrayEvery.js         |    23 -
 node_modules/lodash/internal/arrayExtremum.js      |    30 -
 node_modules/lodash/internal/arrayFilter.js        |    25 -
 node_modules/lodash/internal/arrayMap.js           |    21 -
 node_modules/lodash/internal/arrayPush.js          |    20 -
 node_modules/lodash/internal/arrayReduce.js        |    26 -
 node_modules/lodash/internal/arrayReduceRight.js   |    24 -
 node_modules/lodash/internal/arraySome.js          |    23 -
 node_modules/lodash/internal/arraySum.js           |    20 -
 node_modules/lodash/internal/assignDefaults.js     |    13 -
 node_modules/lodash/internal/assignOwnDefaults.js  |    26 -
 node_modules/lodash/internal/assignWith.js         |    32 -
 node_modules/lodash/internal/baseAssign.js         |    19 -
 node_modules/lodash/internal/baseAt.js             |    32 -
 node_modules/lodash/internal/baseCallback.js       |    35 -
 node_modules/lodash/internal/baseClone.js          |   128 -
 .../lodash/internal/baseCompareAscending.js        |    34 -
 node_modules/lodash/internal/baseCopy.js           |    23 -
 node_modules/lodash/internal/baseCreate.js         |    23 -
 node_modules/lodash/internal/baseDelay.js          |    21 -
 node_modules/lodash/internal/baseDifference.js     |    55 -
 node_modules/lodash/internal/baseEach.js           |    15 -
 node_modules/lodash/internal/baseEachRight.js      |    15 -
 node_modules/lodash/internal/baseEvery.js          |    22 -
 node_modules/lodash/internal/baseExtremum.js       |    29 -
 node_modules/lodash/internal/baseFill.js           |    31 -
 node_modules/lodash/internal/baseFilter.js         |    22 -
 node_modules/lodash/internal/baseFind.js           |    25 -
 node_modules/lodash/internal/baseFindIndex.js      |    23 -
 node_modules/lodash/internal/baseFlatten.js        |    41 -
 node_modules/lodash/internal/baseFor.js            |    17 -
 node_modules/lodash/internal/baseForIn.js          |    17 -
 node_modules/lodash/internal/baseForOwn.js         |    17 -
 node_modules/lodash/internal/baseForOwnRight.js    |    17 -
 node_modules/lodash/internal/baseForRight.js       |    15 -
 node_modules/lodash/internal/baseFunctions.js      |    27 -
 node_modules/lodash/internal/baseGet.js            |    29 -
 node_modules/lodash/internal/baseIndexOf.js        |    27 -
 node_modules/lodash/internal/baseIsEqual.js        |    28 -
 node_modules/lodash/internal/baseIsEqualDeep.js    |   102 -
 node_modules/lodash/internal/baseIsFunction.js     |    15 -
 node_modules/lodash/internal/baseIsMatch.js        |    52 -
 node_modules/lodash/internal/baseLodash.js         |    10 -
 node_modules/lodash/internal/baseMap.js            |    23 -
 node_modules/lodash/internal/baseMatches.js        |    30 -
 .../lodash/internal/baseMatchesProperty.js         |    45 -
 node_modules/lodash/internal/baseMerge.js          |    56 -
 node_modules/lodash/internal/baseMergeDeep.js      |    67 -
 node_modules/lodash/internal/baseProperty.js       |    14 -
 node_modules/lodash/internal/basePropertyDeep.js   |    19 -
 node_modules/lodash/internal/basePullAt.js         |    30 -
 node_modules/lodash/internal/baseRandom.js         |    18 -
 node_modules/lodash/internal/baseReduce.js         |    24 -
 node_modules/lodash/internal/baseSetData.js        |    17 -
 node_modules/lodash/internal/baseSlice.js          |    32 -
 node_modules/lodash/internal/baseSome.js           |    23 -
 node_modules/lodash/internal/baseSortBy.js         |    21 -
 node_modules/lodash/internal/baseSortByOrder.js    |    31 -
 node_modules/lodash/internal/baseSum.js            |    20 -
 node_modules/lodash/internal/baseToString.js       |    13 -
 node_modules/lodash/internal/baseUniq.js           |    60 -
 node_modules/lodash/internal/baseValues.js         |    22 -
 node_modules/lodash/internal/baseWhile.js          |    24 -
 node_modules/lodash/internal/baseWrapperValue.js   |    29 -
 node_modules/lodash/internal/binaryIndex.js        |    39 -
 node_modules/lodash/internal/binaryIndexBy.js      |    57 -
 node_modules/lodash/internal/bindCallback.js       |    39 -
 node_modules/lodash/internal/bufferClone.js        |    20 -
 node_modules/lodash/internal/cacheIndexOf.js       |    19 -
 node_modules/lodash/internal/cachePush.js          |    20 -
 node_modules/lodash/internal/charsLeftIndex.js     |    18 -
 node_modules/lodash/internal/charsRightIndex.js    |    17 -
 node_modules/lodash/internal/compareAscending.js   |    16 -
 node_modules/lodash/internal/compareMultiple.js    |    44 -
 node_modules/lodash/internal/composeArgs.js        |    34 -
 node_modules/lodash/internal/composeArgsRight.js   |    36 -
 node_modules/lodash/internal/createAggregator.js   |    35 -
 node_modules/lodash/internal/createAssigner.js     |    41 -
 node_modules/lodash/internal/createBaseEach.js     |    31 -
 node_modules/lodash/internal/createBaseFor.js      |    27 -
 node_modules/lodash/internal/createBindWrapper.js  |    22 -
 node_modules/lodash/internal/createCache.js        |    21 -
 node_modules/lodash/internal/createCompounder.js   |    26 -
 node_modules/lodash/internal/createCtorWrapper.js  |    37 -
 node_modules/lodash/internal/createCurry.js        |    23 -
 node_modules/lodash/internal/createDefaults.js     |    22 -
 node_modules/lodash/internal/createExtremum.js     |    33 -
 node_modules/lodash/internal/createFind.js         |    25 -
 node_modules/lodash/internal/createFindIndex.js    |    21 -
 node_modules/lodash/internal/createFindKey.js      |    18 -
 node_modules/lodash/internal/createFlow.js         |    74 -
 node_modules/lodash/internal/createForEach.js      |    20 -
 node_modules/lodash/internal/createForIn.js        |    20 -
 node_modules/lodash/internal/createForOwn.js       |    19 -
 .../lodash/internal/createHybridWrapper.js         |   111 -
 node_modules/lodash/internal/createObjectMapper.js |    26 -
 node_modules/lodash/internal/createPadDir.js       |    18 -
 node_modules/lodash/internal/createPadding.js      |    29 -
 node_modules/lodash/internal/createPartial.js      |    20 -
 .../lodash/internal/createPartialWrapper.js        |    43 -
 node_modules/lodash/internal/createReduce.js       |    22 -
 node_modules/lodash/internal/createRound.js        |    23 -
 node_modules/lodash/internal/createSortedIndex.js  |    20 -
 node_modules/lodash/internal/createWrapper.js      |    86 -
 node_modules/lodash/internal/deburrLetter.js       |    33 -
 node_modules/lodash/internal/equalArrays.js        |    51 -
 node_modules/lodash/internal/equalByTag.js         |    48 -
 node_modules/lodash/internal/equalObjects.js       |    67 -
 node_modules/lodash/internal/escapeHtmlChar.js     |    22 -
 node_modules/lodash/internal/escapeRegExpChar.js   |    38 -
 node_modules/lodash/internal/escapeStringChar.js   |    22 -
 node_modules/lodash/internal/getData.js            |    15 -
 node_modules/lodash/internal/getFuncName.js        |    25 -
 node_modules/lodash/internal/getLength.js          |    15 -
 node_modules/lodash/internal/getMatchData.js       |    21 -
 node_modules/lodash/internal/getNative.js          |    16 -
 node_modules/lodash/internal/getView.js            |    33 -
 node_modules/lodash/internal/indexOfNaN.js         |    23 -
 node_modules/lodash/internal/initCloneArray.js     |    26 -
 node_modules/lodash/internal/initCloneByTag.js     |    63 -
 node_modules/lodash/internal/initCloneObject.js    |    16 -
 node_modules/lodash/internal/invokePath.js         |    26 -
 node_modules/lodash/internal/isArrayLike.js        |    15 -
 node_modules/lodash/internal/isIndex.js            |    24 -
 node_modules/lodash/internal/isIterateeCall.js     |    28 -
 node_modules/lodash/internal/isKey.js              |    28 -
 node_modules/lodash/internal/isLaziable.js         |    27 -
 node_modules/lodash/internal/isLength.js           |    20 -
 node_modules/lodash/internal/isObjectLike.js       |    12 -
 node_modules/lodash/internal/isSpace.js            |    14 -
 node_modules/lodash/internal/isStrictComparable.js |    15 -
 node_modules/lodash/internal/lazyClone.js          |    23 -
 node_modules/lodash/internal/lazyReverse.js        |    23 -
 node_modules/lodash/internal/lazyValue.js          |    72 -
 node_modules/lodash/internal/mapDelete.js          |    14 -
 node_modules/lodash/internal/mapGet.js             |    14 -
 node_modules/lodash/internal/mapHas.js             |    20 -
 node_modules/lodash/internal/mapSet.js             |    18 -
 node_modules/lodash/internal/mergeData.js          |    89 -
 node_modules/lodash/internal/mergeDefaults.js      |    15 -
 node_modules/lodash/internal/metaMap.js            |     9 -
 node_modules/lodash/internal/pickByArray.js        |    28 -
 node_modules/lodash/internal/pickByCallback.js     |    22 -
 node_modules/lodash/internal/reEscape.js           |     4 -
 node_modules/lodash/internal/reEvaluate.js         |     4 -
 node_modules/lodash/internal/reInterpolate.js      |     4 -
 node_modules/lodash/internal/realNames.js          |     4 -
 node_modules/lodash/internal/reorder.js            |    29 -
 node_modules/lodash/internal/replaceHolders.js     |    28 -
 node_modules/lodash/internal/setData.js            |    41 -
 node_modules/lodash/internal/shimKeys.js           |    41 -
 node_modules/lodash/internal/sortedUniq.js         |    29 -
 node_modules/lodash/internal/toIterable.js         |    22 -
 node_modules/lodash/internal/toObject.js           |    14 -
 node_modules/lodash/internal/toPath.js             |    28 -
 node_modules/lodash/internal/trimmedLeftIndex.js   |    19 -
 node_modules/lodash/internal/trimmedRightIndex.js  |    18 -
 node_modules/lodash/internal/unescapeHtmlChar.js   |    22 -
 node_modules/lodash/internal/wrapperClone.js       |    18 -
 node_modules/lodash/lang.js                        |    32 -
 node_modules/lodash/lang/clone.js                  |    70 -
 node_modules/lodash/lang/cloneDeep.js              |    55 -
 node_modules/lodash/lang/eq.js                     |     1 -
 node_modules/lodash/lang/gt.js                     |    25 -
 node_modules/lodash/lang/gte.js                    |    25 -
 node_modules/lodash/lang/isArguments.js            |    34 -
 node_modules/lodash/lang/isArray.js                |    40 -
 node_modules/lodash/lang/isBoolean.js              |    35 -
 node_modules/lodash/lang/isDate.js                 |    35 -
 node_modules/lodash/lang/isElement.js              |    24 -
 node_modules/lodash/lang/isEmpty.js                |    47 -
 node_modules/lodash/lang/isEqual.js                |    54 -
 node_modules/lodash/lang/isError.js                |    36 -
 node_modules/lodash/lang/isFinite.js               |    35 -
 node_modules/lodash/lang/isFunction.js             |    38 -
 node_modules/lodash/lang/isMatch.js                |    49 -
 node_modules/lodash/lang/isNaN.js                  |    34 -
 node_modules/lodash/lang/isNative.js               |    48 -
 node_modules/lodash/lang/isNull.js                 |    21 -
 node_modules/lodash/lang/isNumber.js               |    41 -
 node_modules/lodash/lang/isObject.js               |    28 -
 node_modules/lodash/lang/isPlainObject.js          |    71 -
 node_modules/lodash/lang/isRegExp.js               |    35 -
 node_modules/lodash/lang/isString.js               |    35 -
 node_modules/lodash/lang/isTypedArray.js           |    74 -
 node_modules/lodash/lang/isUndefined.js            |    21 -
 node_modules/lodash/lang/lt.js                     |    25 -
 node_modules/lodash/lang/lte.js                    |    25 -
 node_modules/lodash/lang/toArray.js                |    32 -
 node_modules/lodash/lang/toPlainObject.js          |    31 -
 node_modules/lodash/math.js                        |     9 -
 node_modules/lodash/math/add.js                    |    19 -
 node_modules/lodash/math/ceil.js                   |    25 -
 node_modules/lodash/math/floor.js                  |    25 -
 node_modules/lodash/math/max.js                    |    56 -
 node_modules/lodash/math/min.js                    |    56 -
 node_modules/lodash/math/round.js                  |    25 -
 node_modules/lodash/math/sum.js                    |    50 -
 node_modules/lodash/number.js                      |     4 -
 node_modules/lodash/number/inRange.js              |    47 -
 node_modules/lodash/number/random.js               |    70 -
 node_modules/lodash/object.js                      |    31 -
 node_modules/lodash/object/assign.js               |    43 -
 node_modules/lodash/object/create.js               |    47 -
 node_modules/lodash/object/defaults.js             |    25 -
 node_modules/lodash/object/defaultsDeep.js         |    25 -
 node_modules/lodash/object/extend.js               |     1 -
 node_modules/lodash/object/findKey.js              |    54 -
 node_modules/lodash/object/findLastKey.js          |    54 -
 node_modules/lodash/object/forIn.js                |    33 -
 node_modules/lodash/object/forInRight.js           |    31 -
 node_modules/lodash/object/forOwn.js               |    33 -
 node_modules/lodash/object/forOwnRight.js          |    31 -
 node_modules/lodash/object/functions.js            |    23 -
 node_modules/lodash/object/get.js                  |    33 -
 node_modules/lodash/object/has.js                  |    57 -
 node_modules/lodash/object/invert.js               |    60 -
 node_modules/lodash/object/keys.js                 |    45 -
 node_modules/lodash/object/keysIn.js               |    64 -
 node_modules/lodash/object/mapKeys.js              |    25 -
 node_modules/lodash/object/mapValues.js            |    46 -
 node_modules/lodash/object/merge.js                |    54 -
 node_modules/lodash/object/methods.js              |     1 -
 node_modules/lodash/object/omit.js                 |    47 -
 node_modules/lodash/object/pairs.js                |    33 -
 node_modules/lodash/object/pick.js                 |    42 -
 node_modules/lodash/object/result.js               |    49 -
 node_modules/lodash/object/set.js                  |    55 -
 node_modules/lodash/object/transform.js            |    61 -
 node_modules/lodash/object/values.js               |    33 -
 node_modules/lodash/object/valuesIn.js             |    31 -
 node_modules/lodash/package.json                   |   130 -
 node_modules/lodash/string.js                      |    25 -
 node_modules/lodash/string/camelCase.js            |    27 -
 node_modules/lodash/string/capitalize.js           |    21 -
 node_modules/lodash/string/deburr.js               |    29 -
 node_modules/lodash/string/endsWith.js             |    40 -
 node_modules/lodash/string/escape.js               |    48 -
 node_modules/lodash/string/escapeRegExp.js         |    32 -
 node_modules/lodash/string/kebabCase.js            |    26 -
 node_modules/lodash/string/pad.js                  |    47 -
 node_modules/lodash/string/padLeft.js              |    27 -
 node_modules/lodash/string/padRight.js             |    27 -
 node_modules/lodash/string/parseInt.js             |    46 -
 node_modules/lodash/string/repeat.js               |    47 -
 node_modules/lodash/string/snakeCase.js            |    26 -
 node_modules/lodash/string/startCase.js            |    26 -
 node_modules/lodash/string/startsWith.js           |    36 -
 node_modules/lodash/string/template.js             |   226 -
 node_modules/lodash/string/templateSettings.js     |    67 -
 node_modules/lodash/string/trim.js                 |    42 -
 node_modules/lodash/string/trimLeft.js             |    36 -
 node_modules/lodash/string/trimRight.js            |    36 -
 node_modules/lodash/string/trunc.js                |   105 -
 node_modules/lodash/string/unescape.js             |    33 -
 node_modules/lodash/string/words.js                |    38 -
 node_modules/lodash/support.js                     |    10 -
 node_modules/lodash/utility.js                     |    18 -
 node_modules/lodash/utility/attempt.js             |    32 -
 node_modules/lodash/utility/callback.js            |    53 -
 node_modules/lodash/utility/constant.js            |    23 -
 node_modules/lodash/utility/identity.js            |    20 -
 node_modules/lodash/utility/iteratee.js            |     1 -
 node_modules/lodash/utility/matches.js             |    33 -
 node_modules/lodash/utility/matchesProperty.js     |    32 -
 node_modules/lodash/utility/method.js              |    33 -
 node_modules/lodash/utility/methodOf.js            |    32 -
 node_modules/lodash/utility/mixin.js               |    82 -
 node_modules/lodash/utility/noop.js                |    19 -
 node_modules/lodash/utility/property.js            |    31 -
 node_modules/lodash/utility/propertyOf.js          |    30 -
 node_modules/lodash/utility/range.js               |    66 -
 node_modules/lodash/utility/times.js               |    60 -
 node_modules/lodash/utility/uniqueId.js            |    27 -
 node_modules/minimatch/LICENSE                     |    15 -
 node_modules/minimatch/README.md                   |   209 -
 node_modules/minimatch/minimatch.js                |   923 --
 node_modules/minimatch/package.json                |   101 -
 node_modules/nopt/.npmignore                       |     1 -
 node_modules/nopt/.travis.yml                      |     9 -
 node_modules/nopt/LICENSE                          |    15 -
 node_modules/nopt/README.md                        |   211 -
 node_modules/nopt/bin/nopt.js                      |    54 -
 node_modules/nopt/examples/my-program.js           |    30 -
 node_modules/nopt/lib/nopt.js                      |   415 -
 node_modules/nopt/package.json                     |    97 -
 node_modules/nopt/test/basic.js                    |   273 -
 node_modules/once/LICENSE                          |    15 -
 node_modules/once/README.md                        |    79 -
 node_modules/once/once.js                          |    42 -
 node_modules/once/package.json                     |   102 -
 node_modules/os-homedir/index.js                   |    24 -
 node_modules/os-homedir/license                    |    21 -
 node_modules/os-homedir/package.json               |   110 -
 node_modules/os-homedir/readme.md                  |    31 -
 node_modules/os-tmpdir/index.js                    |    25 -
 node_modules/os-tmpdir/license                     |    21 -
 node_modules/os-tmpdir/package.json                |   110 -
 node_modules/os-tmpdir/readme.md                   |    32 -
 node_modules/osenv/.npmignore                      |    13 -
 node_modules/osenv/.travis.yml                     |     9 -
 node_modules/osenv/LICENSE                         |    15 -
 node_modules/osenv/README.md                       |    63 -
 node_modules/osenv/osenv.js                        |    72 -
 node_modules/osenv/package.json                    |   114 -
 node_modules/osenv/test/unix.js                    |    71 -
 node_modules/osenv/test/windows.js                 |    74 -
 node_modules/osenv/x.tap                           |    39 -
 node_modules/path-is-absolute/index.js             |    20 -
 node_modules/path-is-absolute/license              |    21 -
 node_modules/path-is-absolute/package.json         |   112 -
 node_modules/path-is-absolute/readme.md            |    59 -
 node_modules/pegjs/CHANGELOG.md                    |   618 -
 node_modules/pegjs/LICENSE                         |    22 -
 node_modules/pegjs/VERSION                         |     1 -
 node_modules/pegjs/bin/pegjs                       |   331 -
 node_modules/pegjs/examples/arithmetics.pegjs      |    40 -
 node_modules/pegjs/examples/css.pegjs              |   431 -
 node_modules/pegjs/examples/javascript.pegjs       |  1362 --
 node_modules/pegjs/examples/json.pegjs             |   132 -
 node_modules/pegjs/lib/compiler/asts.js            |    65 -
 node_modules/pegjs/lib/compiler/index.js           |    73 -
 node_modules/pegjs/lib/compiler/js.js              |    58 -
 node_modules/pegjs/lib/compiler/opcodes.js         |    54 -
 .../pegjs/lib/compiler/passes/generate-bytecode.js |   631 -
 .../pegjs/lib/compiler/passes/generate-js.js       |  1394 ---
 .../lib/compiler/passes/remove-proxy-rules.js      |    42 -
 .../lib/compiler/passes/report-duplicate-labels.js |    54 -
 .../lib/compiler/passes/report-duplicate-rules.js  |    28 -
 .../compiler/passes/report-infinite-recursion.js   |    57 -
 .../compiler/passes/report-infinite-repetition.js  |    35 -
 .../lib/compiler/passes/report-undefined-rules.js  |    23 -
 node_modules/pegjs/lib/compiler/visitor.js         |    72 -
 node_modules/pegjs/lib/grammar-error.js            |    18 -
 node_modules/pegjs/lib/parser.js                   |  5040 --------
 node_modules/pegjs/lib/peg.js                      |    58 -
 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                    |   132 -
 node_modules/plist/.jshintrc                       |     4 -
 node_modules/plist/.travis.yml                     |    34 -
 node_modules/plist/History.md                      |   122 -
 node_modules/plist/LICENSE                         |    24 -
 node_modules/plist/Makefile                        |    76 -
 node_modules/plist/README.md                       |   113 -
 node_modules/plist/dist/plist-build.js             |  3982 ------
 node_modules/plist/dist/plist-parse.js             |  4055 ------
 node_modules/plist/dist/plist.js                   |  7987 ------------
 node_modules/plist/examples/browser/index.html     |    14 -
 node_modules/plist/lib/build.js                    |   138 -
 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                    |   128 -
 node_modules/q/CHANGES.md                          |   800 --
 node_modules/q/LICENSE                             |    18 -
 node_modules/q/README.md                           |   874 --
 node_modules/q/package.json                        |   156 -
 node_modules/q/q.js                                |  2076 ----
 node_modules/q/queue.js                            |    35 -
 node_modules/sax/AUTHORS                           |     9 -
 node_modules/sax/LICENSE                           |    23 -
 node_modules/sax/README.md                         |   213 -
 node_modules/sax/examples/big-not-pretty.xml       |  8002 ------------
 node_modules/sax/examples/example.js               |    41 -
 node_modules/sax/examples/get-products.js          |    58 -
 node_modules/sax/examples/hello-world.js           |     4 -
 node_modules/sax/examples/not-pretty.xml           |     8 -
 node_modules/sax/examples/pretty-print.js          |    74 -
 node_modules/sax/examples/shopping.xml             |     2 -
 node_modules/sax/examples/strict.dtd               |   870 --
 node_modules/sax/examples/switch-bench.js          |    45 -
 node_modules/sax/examples/test.html                |    15 -
 node_modules/sax/examples/test.xml                 |  1254 --
 node_modules/sax/lib/sax.js                        |  1006 --
 node_modules/sax/package.json                      |   123 -
 node_modules/sax/test/buffer-overrun.js            |    25 -
 node_modules/sax/test/cdata-chunked.js             |    11 -
 node_modules/sax/test/cdata-end-split.js           |    15 -
 node_modules/sax/test/cdata-fake-end.js            |    28 -
 node_modules/sax/test/cdata-multiple.js            |    15 -
 node_modules/sax/test/cdata.js                     |    10 -
 node_modules/sax/test/index.js                     |    86 -
 node_modules/sax/test/issue-23.js                  |    43 -
 node_modules/sax/test/issue-30.js                  |    24 -
 node_modules/sax/test/issue-35.js                  |    15 -
 node_modules/sax/test/issue-47.js                  |    13 -
 node_modules/sax/test/issue-49.js                  |    31 -
 node_modules/sax/test/parser-position.js           |    28 -
 node_modules/sax/test/script.js                    |    12 -
 node_modules/sax/test/self-closing-child-strict.js |    40 -
 node_modules/sax/test/self-closing-child.js        |    40 -
 node_modules/sax/test/self-closing-tag.js          |    25 -
 node_modules/sax/test/stray-ending.js              |    17 -
 node_modules/sax/test/trailing-non-whitespace.js   |    17 -
 node_modules/sax/test/unquoted.js                  |    17 -
 node_modules/sax/test/xmlns-issue-41.js            |    67 -
 node_modules/sax/test/xmlns-rebinding.js           |    59 -
 node_modules/sax/test/xmlns-strict.js              |    71 -
 node_modules/sax/test/xmlns-unbound.js             |    15 -
 .../sax/test/xmlns-xml-default-prefix-attribute.js |    35 -
 node_modules/sax/test/xmlns-xml-default-prefix.js  |    20 -
 .../sax/test/xmlns-xml-default-redefine.js         |    40 -
 node_modules/semver/LICENSE                        |    15 -
 node_modules/semver/README.md                      |   366 -
 node_modules/semver/bin/semver                     |   133 -
 node_modules/semver/package.json                   |    96 -
 node_modules/semver/range.bnf                      |    16 -
 node_modules/semver/semver.js                      |  1296 --
 node_modules/shelljs/.documentup.json              |     6 -
 node_modules/shelljs/.jshintrc                     |     7 -
 node_modules/shelljs/.npmignore                    |     2 -
 node_modules/shelljs/.travis.yml                   |     6 -
 node_modules/shelljs/LICENSE                       |    26 -
 node_modules/shelljs/README.md                     |   579 -
 node_modules/shelljs/RELEASE.md                    |     9 -
 node_modules/shelljs/bin/shjs                      |    51 -
 node_modules/shelljs/global.js                     |     3 -
 node_modules/shelljs/make.js                       |    56 -
 node_modules/shelljs/package.json                  |    98 -
 node_modules/shelljs/scripts/generate-docs.js      |    21 -
 node_modules/shelljs/scripts/run-tests.js          |    50 -
 node_modules/shelljs/shell.js                      |   159 -
 node_modules/shelljs/src/cat.js                    |    43 -
 node_modules/shelljs/src/cd.js                     |    19 -
 node_modules/shelljs/src/chmod.js                  |   208 -
 node_modules/shelljs/src/common.js                 |   203 -
 node_modules/shelljs/src/cp.js                     |   204 -
 node_modules/shelljs/src/dirs.js                   |   191 -
 node_modules/shelljs/src/echo.js                   |    20 -
 node_modules/shelljs/src/error.js                  |    10 -
 node_modules/shelljs/src/exec.js                   |   216 -
 node_modules/shelljs/src/find.js                   |    51 -
 node_modules/shelljs/src/grep.js                   |    52 -
 node_modules/shelljs/src/ln.js                     |    53 -
 node_modules/shelljs/src/ls.js                     |   126 -
 node_modules/shelljs/src/mkdir.js                  |    68 -
 node_modules/shelljs/src/mv.js                     |    80 -
 node_modules/shelljs/src/popd.js                   |     1 -
 node_modules/shelljs/src/pushd.js                  |     1 -
 node_modules/shelljs/src/pwd.js                    |    11 -
 node_modules/shelljs/src/rm.js                     |   163 -
 node_modules/shelljs/src/sed.js                    |    43 -
 node_modules/shelljs/src/tempdir.js                |    56 -
 node_modules/shelljs/src/test.js                   |    85 -
 node_modules/shelljs/src/to.js                     |    29 -
 node_modules/shelljs/src/toEnd.js                  |    29 -
 node_modules/shelljs/src/which.js                  |    83 -
 node_modules/simctl/.jscsrc                        |    40 -
 node_modules/simctl/.travis.yml                    |    14 -
 node_modules/simctl/LICENSE                        |    22 -
 node_modules/simctl/README.md                      |    10 -
 node_modules/simctl/appveyor.yml                   |    17 -
 node_modules/simctl/lib/simctl-extensions.js       |    91 -
 node_modules/simctl/node_modules/.bin/shjs         |     1 -
 .../simctl/node_modules/shelljs/.documentup.json   |     6 -
 node_modules/simctl/node_modules/shelljs/.jshintrc |     7 -
 .../simctl/node_modules/shelljs/.npmignore         |     2 -
 .../simctl/node_modules/shelljs/.travis.yml        |     5 -
 node_modules/simctl/node_modules/shelljs/LICENSE   |    26 -
 node_modules/simctl/node_modules/shelljs/README.md |   552 -
 node_modules/simctl/node_modules/shelljs/bin/shjs  |    51 -
 node_modules/simctl/node_modules/shelljs/global.js |     3 -
 node_modules/simctl/node_modules/shelljs/make.js   |    47 -
 .../simctl/node_modules/shelljs/package.json       |    94 -
 .../node_modules/shelljs/scripts/generate-docs.js  |    21 -
 .../node_modules/shelljs/scripts/run-tests.js      |    50 -
 node_modules/simctl/node_modules/shelljs/shell.js  |   153 -
 .../simctl/node_modules/shelljs/src/cat.js         |    43 -
 node_modules/simctl/node_modules/shelljs/src/cd.js |    19 -
 .../simctl/node_modules/shelljs/src/chmod.js       |   208 -
 .../simctl/node_modules/shelljs/src/common.js      |   189 -
 node_modules/simctl/node_modules/shelljs/src/cp.js |   200 -
 .../simctl/node_modules/shelljs/src/dirs.js        |   191 -
 .../simctl/node_modules/shelljs/src/echo.js        |    20 -
 .../simctl/node_modules/shelljs/src/error.js       |    10 -
 .../simctl/node_modules/shelljs/src/exec.js        |   181 -
 .../simctl/node_modules/shelljs/src/find.js        |    51 -
 .../simctl/node_modules/shelljs/src/grep.js        |    52 -
 node_modules/simctl/node_modules/shelljs/src/ls.js |   126 -
 .../simctl/node_modules/shelljs/src/mkdir.js       |    68 -
 node_modules/simctl/node_modules/shelljs/src/mv.js |    80 -
 .../simctl/node_modules/shelljs/src/popd.js        |     1 -
 .../simctl/node_modules/shelljs/src/pushd.js       |     1 -
 .../simctl/node_modules/shelljs/src/pwd.js         |    11 -
 node_modules/simctl/node_modules/shelljs/src/rm.js |   145 -
 .../simctl/node_modules/shelljs/src/sed.js         |    43 -
 .../simctl/node_modules/shelljs/src/tempdir.js     |    56 -
 .../simctl/node_modules/shelljs/src/test.js        |    85 -
 node_modules/simctl/node_modules/shelljs/src/to.js |    29 -
 .../simctl/node_modules/shelljs/src/toEnd.js       |    29 -
 .../simctl/node_modules/shelljs/src/which.js       |    79 -
 node_modules/simctl/package.json                   |   101 -
 node_modules/simctl/simctl.js                      |   196 -
 node_modules/simctl/spec/fixture/list.json         |   617 -
 node_modules/simple-plist/LICENSE                  |    20 -
 node_modules/simple-plist/README.md                |    63 -
 .../simple-plist/node_modules/base64-js/.npmignore |     1 -
 .../node_modules/base64-js/.travis.yml             |     6 -
 .../node_modules/base64-js/LICENSE.MIT             |    21 -
 .../simple-plist/node_modules/base64-js/README.md  |    31 -
 .../node_modules/base64-js/base64js.min.js         |     1 -
 .../simple-plist/node_modules/base64-js/bower.json |    33 -
 .../simple-plist/node_modules/base64-js/lib/b64.js |   109 -
 .../node_modules/base64-js/package.json            |    96 -
 .../node_modules/base64-js/test/big-data.js        |    24 -
 .../node_modules/base64-js/test/convert.js         |    47 -
 .../node_modules/base64-js/test/url-safe.js        |    18 -
 .../simple-plist/node_modules/plist/.jshintrc      |     4 -
 .../simple-plist/node_modules/plist/.travis.yml    |    43 -
 .../simple-plist/node_modules/plist/History.md     |   141 -
 .../simple-plist/node_modules/plist/LICENSE        |    24 -
 .../simple-plist/node_modules/plist/Makefile       |    76 -
 .../simple-plist/node_modules/plist/README.md      |   164 -
 .../node_modules/plist/dist/plist-build.js         |  3982 ------
 .../node_modules/plist/dist/plist-parse.js         |  4055 ------
 .../simple-plist/node_modules/plist/dist/plist.js  |  7987 ------------
 .../node_modules/plist/examples/browser/index.html |    14 -
 .../simple-plist/node_modules/plist/index.js       |    13 -
 .../simple-plist/node_modules/plist/lib/build.js   |   137 -
 .../simple-plist/node_modules/plist/lib/parse.js   |   170 -
 .../simple-plist/node_modules/plist/package.json   |   129 -
 .../node_modules/xmlbuilder/.npmignore             |     5 -
 .../node_modules/xmlbuilder/CHANGELOG.md           |   395 -
 .../simple-plist/node_modules/xmlbuilder/LICENSE   |    21 -
 .../simple-plist/node_modules/xmlbuilder/README.md |    85 -
 .../node_modules/xmlbuilder/lib/Utility.js         |   139 -
 .../node_modules/xmlbuilder/lib/XMLAttribute.js    |    31 -
 .../node_modules/xmlbuilder/lib/XMLCData.js        |    32 -
 .../node_modules/xmlbuilder/lib/XMLComment.js      |    32 -
 .../node_modules/xmlbuilder/lib/XMLDTDAttList.js   |    50 -
 .../node_modules/xmlbuilder/lib/XMLDTDElement.js   |    35 -
 .../node_modules/xmlbuilder/lib/XMLDTDEntity.js    |    56 -
 .../node_modules/xmlbuilder/lib/XMLDTDNotation.js  |    37 -
 .../node_modules/xmlbuilder/lib/XMLDeclaration.js  |    40 -
 .../node_modules/xmlbuilder/lib/XMLDocType.js      |   107 -
 .../node_modules/xmlbuilder/lib/XMLDocument.js     |    48 -
 .../node_modules/xmlbuilder/lib/XMLDocumentCB.js   |   402 -
 .../node_modules/xmlbuilder/lib/XMLElement.js      |   111 -
 .../node_modules/xmlbuilder/lib/XMLNode.js         |   432 -
 .../xmlbuilder/lib/XMLProcessingInstruction.js     |    35 -
 .../node_modules/xmlbuilder/lib/XMLRaw.js          |    32 -
 .../node_modules/xmlbuilder/lib/XMLStreamWriter.js |   278 -
 .../node_modules/xmlbuilder/lib/XMLStringWriter.js |   302 -
 .../node_modules/xmlbuilder/lib/XMLStringifier.js  |   192 -
 .../node_modules/xmlbuilder/lib/XMLText.js         |    32 -
 .../node_modules/xmlbuilder/lib/XMLWriterBase.js   |    68 -
 .../node_modules/xmlbuilder/lib/index.js           |    53 -
 .../node_modules/xmlbuilder/package.json           |   101 -
 node_modules/simple-plist/package.json             |   108 -
 node_modules/simple-plist/simple-plist.js          |   104 -
 node_modules/stream-buffers/.mailmap               |     2 -
 node_modules/stream-buffers/.travis.yml            |    28 -
 node_modules/stream-buffers/README.md              |   157 -
 node_modules/stream-buffers/UNLICENSE              |    24 -
 node_modules/stream-buffers/lib/constants.js       |     6 -
 .../stream-buffers/lib/readable_streambuffer.js    |   136 -
 node_modules/stream-buffers/lib/streambuffer.js    |     3 -
 .../stream-buffers/lib/writable_streambuffer.js    |    97 -
 node_modules/stream-buffers/package.json           |    92 -
 node_modules/tail/README.md                        |    72 -
 node_modules/tail/package.json                     |    91 -
 node_modules/tail/tail.js                          |   147 -
 node_modules/underscore/LICENSE                    |    23 -
 node_modules/underscore/README.md                  |    22 -
 node_modules/underscore/package.json               |   105 -
 node_modules/underscore/underscore-min.js          |     6 -
 node_modules/underscore/underscore-min.map         |     1 -
 node_modules/underscore/underscore.js              |  1548 ---
 node_modules/unorm/LICENSE.md                      |    42 -
 node_modules/unorm/README.md                       |   118 -
 node_modules/unorm/lib/unorm.js                    |   442 -
 node_modules/unorm/package.json                    |   104 -
 node_modules/util-deprecate/History.md             |    16 -
 node_modules/util-deprecate/LICENSE                |    24 -
 node_modules/util-deprecate/README.md              |    53 -
 node_modules/util-deprecate/browser.js             |    67 -
 node_modules/util-deprecate/node.js                |     6 -
 node_modules/util-deprecate/package.json           |    90 -
 node_modules/uuid/.npmignore                       |     8 -
 node_modules/uuid/.travis.yml                      |     5 -
 node_modules/uuid/AUTHORS                          |     5 -
 node_modules/uuid/HISTORY.md                       |    28 -
 node_modules/uuid/LICENSE.md                       |    21 -
 node_modules/uuid/README.md                        |   132 -
 node_modules/uuid/bin/uuid                         |    26 -
 node_modules/uuid/index.js                         |     8 -
 node_modules/uuid/lib/bytesToUuid.js               |    23 -
 node_modules/uuid/lib/rng-browser.js               |    33 -
 node_modules/uuid/lib/rng.js                       |    10 -
 node_modules/uuid/package.json                     |   123 -
 node_modules/uuid/test/mocha.opts                  |     3 -
 node_modules/uuid/test/test.js                     |    96 -
 node_modules/uuid/v1.js                            |   103 -
 node_modules/uuid/v4.js                            |    29 -
 node_modules/wrappy/LICENSE                        |    15 -
 node_modules/wrappy/README.md                      |    36 -
 node_modules/wrappy/package.json                   |    98 -
 node_modules/wrappy/wrappy.js                      |    33 -
 node_modules/xcode/.npmignore                      |     1 -
 node_modules/xcode/AUTHORS                         |     6 -
 node_modules/xcode/LICENSE                         |    14 -
 node_modules/xcode/Makefile                        |     5 -
 node_modules/xcode/README.md                       |    42 -
 node_modules/xcode/index.js                        |     1 -
 node_modules/xcode/lib/parseJob.js                 |    15 -
 node_modules/xcode/lib/parser/pbxproj.js           |  1899 ---
 node_modules/xcode/lib/parser/pbxproj.pegjs        |   263 -
 node_modules/xcode/lib/pbxFile.js                  |   215 -
 node_modules/xcode/lib/pbxProject.js               |  2059 ----
 node_modules/xcode/lib/pbxWriter.js                |   282 -
 node_modules/xcode/package.json                    |   131 -
 node_modules/xml-escape/.npmignore                 |    15 -
 node_modules/xml-escape/LICENSE                    |    20 -
 node_modules/xml-escape/README.md                  |    38 -
 node_modules/xml-escape/index.js                   |    22 -
 node_modules/xml-escape/package.json               |    93 -
 node_modules/xml-escape/test.js                    |    29 -
 node_modules/xmlbuilder/.npmignore                 |     5 -
 node_modules/xmlbuilder/LICENSE                    |    21 -
 node_modules/xmlbuilder/README.md                  |    86 -
 node_modules/xmlbuilder/lib/XMLAttribute.js        |    32 -
 node_modules/xmlbuilder/lib/XMLBuilder.js          |    69 -
 node_modules/xmlbuilder/lib/XMLCData.js            |    49 -
 node_modules/xmlbuilder/lib/XMLComment.js          |    49 -
 node_modules/xmlbuilder/lib/XMLDTDAttList.js       |    68 -
 node_modules/xmlbuilder/lib/XMLDTDElement.js       |    46 -
 node_modules/xmlbuilder/lib/XMLDTDEntity.js        |    84 -
 node_modules/xmlbuilder/lib/XMLDTDNotation.js      |    56 -
 node_modules/xmlbuilder/lib/XMLDeclaration.js      |    65 -
 node_modules/xmlbuilder/lib/XMLDocType.js          |   188 -
 node_modules/xmlbuilder/lib/XMLElement.js          |   212 -
 node_modules/xmlbuilder/lib/XMLNode.js             |   331 -
 .../xmlbuilder/lib/XMLProcessingInstruction.js     |    51 -
 node_modules/xmlbuilder/lib/XMLRaw.js              |    49 -
 node_modules/xmlbuilder/lib/XMLStringifier.js      |   165 -
 node_modules/xmlbuilder/lib/XMLText.js             |    49 -
 node_modules/xmlbuilder/lib/index.js               |    14 -
 node_modules/xmlbuilder/package.json               |    98 -
 node_modules/xmldom/.npmignore                     |     5 -
 node_modules/xmldom/.travis.yml                    |    22 -
 node_modules/xmldom/LICENSE                        |     8 -
 node_modules/xmldom/__package__.js                 |     4 -
 node_modules/xmldom/changelog                      |    14 -
 node_modules/xmldom/component.json                 |    10 -
 node_modules/xmldom/dom-parser.js                  |   251 -
 node_modules/xmldom/dom.js                         |  1244 --
 node_modules/xmldom/package.json                   |   126 -
 node_modules/xmldom/readme.md                      |   219 -
 node_modules/xmldom/sax.js                         |   633 -
 991 files changed, 139518 deletions(-)

diff --git a/node_modules/.bin/ios-sim b/node_modules/.bin/ios-sim
deleted file mode 120000
index c435a8c..0000000
--- a/node_modules/.bin/ios-sim
+++ /dev/null
@@ -1 +0,0 @@
-../ios-sim/bin/ios-sim
\ No newline at end of file
diff --git a/node_modules/.bin/nopt b/node_modules/.bin/nopt
deleted file mode 120000
index 6b6566e..0000000
--- a/node_modules/.bin/nopt
+++ /dev/null
@@ -1 +0,0 @@
-../nopt/bin/nopt.js
\ No newline at end of file
diff --git a/node_modules/.bin/pegjs b/node_modules/.bin/pegjs
deleted file mode 120000
index 67b7cec..0000000
--- a/node_modules/.bin/pegjs
+++ /dev/null
@@ -1 +0,0 @@
-../pegjs/bin/pegjs
\ No newline at end of file
diff --git a/node_modules/.bin/semver b/node_modules/.bin/semver
deleted file mode 120000
index 317eb29..0000000
--- a/node_modules/.bin/semver
+++ /dev/null
@@ -1 +0,0 @@
-../semver/bin/semver
\ No newline at end of file
diff --git a/node_modules/.bin/shjs b/node_modules/.bin/shjs
deleted file mode 120000
index a044997..0000000
--- a/node_modules/.bin/shjs
+++ /dev/null
@@ -1 +0,0 @@
-../shelljs/bin/shjs
\ No newline at end of file
diff --git a/node_modules/.bin/uuid b/node_modules/.bin/uuid
deleted file mode 120000
index b3e45bc..0000000
--- a/node_modules/.bin/uuid
+++ /dev/null
@@ -1 +0,0 @@
-../uuid/bin/uuid
\ No newline at end of file
diff --git a/node_modules/abbrev/LICENSE b/node_modules/abbrev/LICENSE
deleted file mode 100644
index 9bcfa9d..0000000
--- a/node_modules/abbrev/LICENSE
+++ /dev/null
@@ -1,46 +0,0 @@
-This software is dual-licensed under the ISC and MIT licenses.
-You may use this software under EITHER of the following licenses.
-
-----------
-
-The ISC License
-
-Copyright (c) Isaac Z. Schlueter and Contributors
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-----------
-
-Copyright Isaac Z. Schlueter and Contributors
-All rights reserved.
-
-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.
diff --git a/node_modules/abbrev/README.md b/node_modules/abbrev/README.md
deleted file mode 100644
index 99746fe..0000000
--- a/node_modules/abbrev/README.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# abbrev-js
-
-Just like [ruby's Abbrev](http://apidock.com/ruby/Abbrev).
-
-Usage:
-
-    var abbrev = require("abbrev");
-    abbrev("foo", "fool", "folding", "flop");
-    
-    // returns:
-    { fl: 'flop'
-    , flo: 'flop'
-    , flop: 'flop'
-    , fol: 'folding'
-    , fold: 'folding'
-    , foldi: 'folding'
-    , foldin: 'folding'
-    , folding: 'folding'
-    , foo: 'foo'
-    , fool: 'fool'
-    }
-
-This is handy for command-line scripts, or other cases where you want to be able to accept shorthands.
diff --git a/node_modules/abbrev/abbrev.js b/node_modules/abbrev/abbrev.js
deleted file mode 100644
index 7b1dc5d..0000000
--- a/node_modules/abbrev/abbrev.js
+++ /dev/null
@@ -1,61 +0,0 @@
-module.exports = exports = abbrev.abbrev = abbrev
-
-abbrev.monkeyPatch = monkeyPatch
-
-function monkeyPatch () {
-  Object.defineProperty(Array.prototype, 'abbrev', {
-    value: function () { return abbrev(this) },
-    enumerable: false, configurable: true, writable: true
-  })
-
-  Object.defineProperty(Object.prototype, 'abbrev', {
-    value: function () { return abbrev(Object.keys(this)) },
-    enumerable: false, configurable: true, writable: true
-  })
-}
-
-function abbrev (list) {
-  if (arguments.length !== 1 || !Array.isArray(list)) {
-    list = Array.prototype.slice.call(arguments, 0)
-  }
-  for (var i = 0, l = list.length, args = [] ; i < l ; i ++) {
-    args[i] = typeof list[i] === "string" ? list[i] : String(list[i])
-  }
-
-  // sort them lexicographically, so that they're next to their nearest kin
-  args = args.sort(lexSort)
-
-  // walk through each, seeing how much it has in common with the next and previous
-  var abbrevs = {}
-    , prev = ""
-  for (var i = 0, l = args.length ; i < l ; i ++) {
-    var current = args[i]
-      , next = args[i + 1] || ""
-      , nextMatches = true
-      , prevMatches = true
-    if (current === next) continue
-    for (var j = 0, cl = current.length ; j < cl ; j ++) {
-      var curChar = current.charAt(j)
-      nextMatches = nextMatches && curChar === next.charAt(j)
-      prevMatches = prevMatches && curChar === prev.charAt(j)
-      if (!nextMatches && !prevMatches) {
-        j ++
-        break
-      }
-    }
-    prev = current
-    if (j === cl) {
-      abbrevs[current] = current
-      continue
-    }
-    for (var a = current.substr(0, j) ; j <= cl ; j ++) {
-      abbrevs[a] = current
-      a += current.charAt(j)
-    }
-  }
-  return abbrevs
-}
-
-function lexSort (a, b) {
-  return a === b ? 0 : a > b ? 1 : -1
-}
diff --git a/node_modules/abbrev/package.json b/node_modules/abbrev/package.json
deleted file mode 100644
index 980c417..0000000
--- a/node_modules/abbrev/package.json
+++ /dev/null
@@ -1,99 +0,0 @@
-{
-  "_args": [
-    [
-      {
-        "raw": "abbrev@1",
-        "scope": null,
-        "escapedName": "abbrev",
-        "name": "abbrev",
-        "rawSpec": "1",
-        "spec": ">=1.0.0 <2.0.0",
-        "type": "range"
-      },
-      "/Users/spindori/Documents/Cordova/cordova-ios/node_modules/ios-sim/node_modules/nopt"
-    ]
-  ],
-  "_from": "abbrev@>=1.0.0 <2.0.0",
-  "_id": "abbrev@1.1.1",
-  "_inCache": true,
-  "_location": "/abbrev",
-  "_nodeVersion": "8.5.0",
-  "_npmOperationalInternal": {
-    "host": "s3://npm-registry-packages",
-    "tmp": "tmp/abbrev-1.1.1.tgz_1506566833068_0.05750026390887797"
-  },
-  "_npmUser": {
-    "name": "isaacs",
-    "email": "i@izs.me"
-  },
-  "_npmVersion": "5.4.2",
-  "_phantomChildren": {},
-  "_requested": {
-    "raw": "abbrev@1",
-    "scope": null,
-    "escapedName": "abbrev",
-    "name": "abbrev",
-    "rawSpec": "1",
-    "spec": ">=1.0.0 <2.0.0",
-    "type": "range"
-  },
-  "_requiredBy": [
-    "/ios-sim/nopt",
-    "/nopt"
-  ],
-  "_resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
-  "_shasum": "f8f2c887ad10bf67f634f005b6987fed3179aac8",
-  "_shrinkwrap": null,
-  "_spec": "abbrev@1",
-  "_where": "/Users/spindori/Documents/Cordova/cordova-ios/node_modules/ios-sim/node_modules/nopt",
-  "author": {
-    "name": "Isaac Z. Schlueter",
-    "email": "i@izs.me"
-  },
-  "bugs": {
-    "url": "https://github.com/isaacs/abbrev-js/issues"
-  },
-  "dependencies": {},
-  "description": "Like ruby's abbrev module, but in js",
-  "devDependencies": {
-    "tap": "^10.1"
-  },
-  "directories": {},
-  "dist": {
-    "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
-    "shasum": "f8f2c887ad10bf67f634f005b6987fed3179aac8",
-    "tarball": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz"
-  },
-  "files": [
-    "abbrev.js"
-  ],
-  "gitHead": "a9ee72ebc8fe3975f1b0c7aeb3a8f2a806a432eb",
-  "homepage": "https://github.com/isaacs/abbrev-js#readme",
-  "license": "ISC",
-  "main": "abbrev.js",
-  "maintainers": [
-    {
-      "name": "gabra",
-      "email": "jerry+1@npmjs.com"
-    },
-    {
-      "name": "isaacs",
-      "email": "i@izs.me"
-    }
-  ],
-  "name": "abbrev",
-  "optionalDependencies": {},
-  "readme": "# abbrev-js\n\nJust like [ruby's Abbrev](http://apidock.com/ruby/Abbrev).\n\nUsage:\n\n    var abbrev = require(\"abbrev\");\n    abbrev(\"foo\", \"fool\", \"folding\", \"flop\");\n    \n    // returns:\n    { fl: 'flop'\n    , flo: 'flop'\n    , flop: 'flop'\n    , fol: 'folding'\n    , fold: 'folding'\n    , foldi: 'folding'\n    , foldin: 'folding'\n    , folding: 'folding'\n    , foo: 'foo'\n    , fool: 'fool'\n    }\n\nThis is handy for command-line scripts, or other ca [...]
-  "readmeFilename": "README.md",
-  "repository": {
-    "type": "git",
-    "url": "git+ssh://git@github.com/isaacs/abbrev-js.git"
-  },
-  "scripts": {
-    "postpublish": "git push origin --all; git push origin --tags",
-    "postversion": "npm publish",
-    "preversion": "npm test",
-    "test": "tap test.js --100"
-  },
-  "version": "1.1.1"
-}
diff --git a/node_modules/ansi/.jshintrc b/node_modules/ansi/.jshintrc
deleted file mode 100644
index 248c542..0000000
--- a/node_modules/ansi/.jshintrc
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-  "laxcomma": true,
-  "asi": true
-}
diff --git a/node_modules/ansi/.npmignore b/node_modules/ansi/.npmignore
deleted file mode 100644
index 3c3629e..0000000
--- a/node_modules/ansi/.npmignore
+++ /dev/null
@@ -1 +0,0 @@
-node_modules
diff --git a/node_modules/ansi/History.md b/node_modules/ansi/History.md
deleted file mode 100644
index aea8aaf..0000000
--- a/node_modules/ansi/History.md
+++ /dev/null
@@ -1,23 +0,0 @@
-
-0.3.1 / 2016-01-14
-==================
-
-  * add MIT LICENSE file (#23, @kasicka)
-  * preserve chaining after redundant style-method calls (#19, @drewblaisdell)
-  * package: add "license" field (#16, @BenjaminTsai)
-
-0.3.0 / 2014-05-09
-==================
-
-  * package: remove "test" script and "devDependencies"
-  * package: remove "engines" section
-  * pacakge: remove "bin" section
-  * package: beautify
-  * examples: remove `starwars` example (#15)
-  * Documented goto, horizontalAbsolute, and eraseLine methods in README.md (#12, @Jammerwoch)
-  * add `.jshintrc` file
-
-< 0.3.0
-=======
-
-  * Prehistoric
diff --git a/node_modules/ansi/LICENSE b/node_modules/ansi/LICENSE
deleted file mode 100644
index 2ea4dc5..0000000
--- a/node_modules/ansi/LICENSE
+++ /dev/null
@@ -1,24 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2012 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.
diff --git a/node_modules/ansi/README.md b/node_modules/ansi/README.md
deleted file mode 100644
index 6ce1940..0000000
--- a/node_modules/ansi/README.md
+++ /dev/null
@@ -1,98 +0,0 @@
-ansi.js
-=========
-### Advanced ANSI formatting tool for Node.js
-
-`ansi.js` is a module for Node.js that provides an easy-to-use API for
-writing ANSI escape codes to `Stream` instances. ANSI escape codes are used to do
-fancy things in a terminal window, like render text in colors, delete characters,
-lines, the entire window, or hide and show the cursor, and lots more!
-
-#### Features:
-
- * 256 color support for the terminal!
- * Make a beep sound from your terminal!
- * Works with *any* writable `Stream` instance.
- * Allows you to move the cursor anywhere on the terminal window.
- * Allows you to delete existing contents from the terminal window.
- * Allows you to hide and show the cursor.
- * Converts CSS color codes and RGB values into ANSI escape codes.
- * Low-level; you are in control of when escape codes are used, it's not abstracted.
-
-
-Installation
-------------
-
-Install with `npm`:
-
-``` bash
-$ npm install ansi
-```
-
-
-Example
--------
-
-``` js
-var ansi = require('ansi')
-  , cursor = ansi(process.stdout)
-
-// You can chain your calls forever:
-cursor
-  .red()                 // Set font color to red
-  .bg.grey()             // Set background color to grey
-  .write('Hello World!') // Write 'Hello World!' to stdout
-  .bg.reset()            // Reset the bgcolor before writing the trailing \n,
-                         //      to avoid Terminal glitches
-  .write('\n')           // And a final \n to wrap things up
-
-// Rendering modes are persistent:
-cursor.hex('#660000').bold().underline()
-
-// You can use the regular logging functions, text will be green:
-console.log('This is blood red, bold text')
-
-// To reset just the foreground color:
-cursor.fg.reset()
-
-console.log('This will still be bold')
-
-// to go to a location (x,y) on the console
-// note: 1-indexed, not 0-indexed:
-cursor.goto(10, 5).write('Five down, ten over')
-
-// to clear the current line:
-cursor.horizontalAbsolute(0).eraseLine().write('Starting again')
-
-// to go to a different column on the current line:
-cursor.horizontalAbsolute(5).write('column five')
-
-// Clean up after yourself!
-cursor.reset()
-```
-
-
-License
--------
-
-(The MIT License)
-
-Copyright (c) 2012 Nathan Rajlich &lt;nathan@tootallnate.net&gt;
-
-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.
diff --git a/node_modules/ansi/examples/beep/index.js b/node_modules/ansi/examples/beep/index.js
deleted file mode 100755
index c1ec929..0000000
--- a/node_modules/ansi/examples/beep/index.js
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/usr/bin/env node
-
-/**
- * Invokes the terminal "beep" sound once per second on every exact second.
- */
-
-process.title = 'beep'
-
-var cursor = require('../../')(process.stdout)
-
-function beep () {
-  cursor.beep()
-  setTimeout(beep, 1000 - (new Date()).getMilliseconds())
-}
-
-setTimeout(beep, 1000 - (new Date()).getMilliseconds())
diff --git a/node_modules/ansi/examples/clear/index.js b/node_modules/ansi/examples/clear/index.js
deleted file mode 100755
index 6ac21ff..0000000
--- a/node_modules/ansi/examples/clear/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/usr/bin/env node
-
-/**
- * Like GNU ncurses "clear" command.
- * https://github.com/mscdex/node-ncurses/blob/master/deps/ncurses/progs/clear.c
- */
-
-process.title = 'clear'
-
-function lf () { return '\n' }
-
-require('../../')(process.stdout)
-  .write(Array.apply(null, Array(process.stdout.getWindowSize()[1])).map(lf).join(''))
-  .eraseData(2)
-  .goto(1, 1)
diff --git a/node_modules/ansi/examples/cursorPosition.js b/node_modules/ansi/examples/cursorPosition.js
deleted file mode 100755
index 50f9644..0000000
--- a/node_modules/ansi/examples/cursorPosition.js
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/usr/bin/env node
-
-var tty = require('tty')
-var cursor = require('../')(process.stdout)
-
-// listen for the queryPosition report on stdin
-process.stdin.resume()
-raw(true)
-
-process.stdin.once('data', function (b) {
-  var match = /\[(\d+)\;(\d+)R$/.exec(b.toString())
-  if (match) {
-    var xy = match.slice(1, 3).reverse().map(Number)
-    console.error(xy)
-  }
-
-  // cleanup and close stdin
-  raw(false)
-  process.stdin.pause()
-})
-
-
-// send the query position request code to stdout
-cursor.queryPosition()
-
-function raw (mode) {
-  if (process.stdin.setRawMode) {
-    process.stdin.setRawMode(mode)
-  } else {
-    tty.setRawMode(mode)
-  }
-}
diff --git a/node_modules/ansi/examples/progress/index.js b/node_modules/ansi/examples/progress/index.js
deleted file mode 100644
index d28dbda..0000000
--- a/node_modules/ansi/examples/progress/index.js
+++ /dev/null
@@ -1,87 +0,0 @@
-#!/usr/bin/env node
-
-var assert = require('assert')
-  , ansi = require('../../')
-
-function Progress (stream, width) {
-  this.cursor = ansi(stream)
-  this.delta = this.cursor.newlines
-  this.width = width | 0 || 10
-  this.open = '['
-  this.close = ']'
-  this.complete = '█'
-  this.incomplete = '_'
-
-  // initial render
-  this.progress = 0
-}
-
-Object.defineProperty(Progress.prototype, 'progress', {
-    get: get
-  , set: set
-  , configurable: true
-  , enumerable: true
-})
-
-function get () {
-  return this._progress
-}
-
-function set (v) {
-  this._progress = Math.max(0, Math.min(v, 100))
-
-  var w = this.width - this.complete.length - this.incomplete.length
-    , n = w * (this._progress / 100) | 0
-    , i = w - n
-    , com = c(this.complete, n)
-    , inc = c(this.incomplete, i)
-    , delta = this.cursor.newlines - this.delta
-
-  assert.equal(com.length + inc.length, w)
-
-  if (delta > 0) {
-    this.cursor.up(delta)
-    this.delta = this.cursor.newlines
-  }
-
-  this.cursor
-    .horizontalAbsolute(0)
-    .eraseLine(2)
-    .fg.white()
-    .write(this.open)
-    .fg.grey()
-    .bold()
-    .write(com)
-    .resetBold()
-    .write(inc)
-    .fg.white()
-    .write(this.close)
-    .fg.reset()
-    .write('\n')
-}
-
-function c (char, length) {
-  return Array.apply(null, Array(length)).map(function () {
-    return char
-  }).join('')
-}
-
-
-
-
-// Usage
-var width = parseInt(process.argv[2], 10) || process.stdout.getWindowSize()[0] / 2
-  , p = new Progress(process.stdout, width)
-
-;(function tick () {
-  p.progress += Math.random() * 5
-  p.cursor
-    .eraseLine(2)
-    .write('Progress: ')
-    .bold().write(p.progress.toFixed(2))
-    .write('%')
-    .resetBold()
-    .write('\n')
-  if (p.progress < 100)
-    setTimeout(tick, 100)
-})()
diff --git a/node_modules/ansi/lib/ansi.js b/node_modules/ansi/lib/ansi.js
deleted file mode 100644
index b1714e3..0000000
--- a/node_modules/ansi/lib/ansi.js
+++ /dev/null
@@ -1,405 +0,0 @@
-
-/**
- * References:
- *
- *   - http://en.wikipedia.org/wiki/ANSI_escape_code
- *   - http://www.termsys.demon.co.uk/vtansi.htm
- *
- */
-
-/**
- * Module dependencies.
- */
-
-var emitNewlineEvents = require('./newlines')
-  , prefix = '\x1b[' // For all escape codes
-  , suffix = 'm'     // Only for color codes
-
-/**
- * The ANSI escape sequences.
- */
-
-var codes = {
-    up: 'A'
-  , down: 'B'
-  , forward: 'C'
-  , back: 'D'
-  , nextLine: 'E'
-  , previousLine: 'F'
-  , horizontalAbsolute: 'G'
-  , eraseData: 'J'
-  , eraseLine: 'K'
-  , scrollUp: 'S'
-  , scrollDown: 'T'
-  , savePosition: 's'
-  , restorePosition: 'u'
-  , queryPosition: '6n'
-  , hide: '?25l'
-  , show: '?25h'
-}
-
-/**
- * Rendering ANSI codes.
- */
-
-var styles = {
-    bold: 1
-  , italic: 3
-  , underline: 4
-  , inverse: 7
-}
-
-/**
- * The negating ANSI code for the rendering modes.
- */
-
-var reset = {
-    bold: 22
-  , italic: 23
-  , underline: 24
-  , inverse: 27
-}
-
-/**
- * The standard, styleable ANSI colors.
- */
-
-var colors = {
-    white: 37
-  , black: 30
-  , blue: 34
-  , cyan: 36
-  , green: 32
-  , magenta: 35
-  , red: 31
-  , yellow: 33
-  , grey: 90
-  , brightBlack: 90
-  , brightRed: 91
-  , brightGreen: 92
-  , brightYellow: 93
-  , brightBlue: 94
-  , brightMagenta: 95
-  , brightCyan: 96
-  , brightWhite: 97
-}
-
-
-/**
- * Creates a Cursor instance based off the given `writable stream` instance.
- */
-
-function ansi (stream, options) {
-  if (stream._ansicursor) {
-    return stream._ansicursor
-  } else {
-    return stream._ansicursor = new Cursor(stream, options)
-  }
-}
-module.exports = exports = ansi
-
-/**
- * The `Cursor` class.
- */
-
-function Cursor (stream, options) {
-  if (!(this instanceof Cursor)) {
-    return new Cursor(stream, options)
-  }
-  if (typeof stream != 'object' || typeof stream.write != 'function') {
-    throw new Error('a valid Stream instance must be passed in')
-  }
-
-  // the stream to use
-  this.stream = stream
-
-  // when 'enabled' is false then all the functions are no-ops except for write()
-  this.enabled = options && options.enabled
-  if (typeof this.enabled === 'undefined') {
-    this.enabled = stream.isTTY
-  }
-  this.enabled = !!this.enabled
-
-  // then `buffering` is true, then `write()` calls are buffered in
-  // memory until `flush()` is invoked
-  this.buffering = !!(options && options.buffering)
-  this._buffer = []
-
-  // controls the foreground and background colors
-  this.fg = this.foreground = new Colorer(this, 0)
-  this.bg = this.background = new Colorer(this, 10)
-
-  // defaults
-  this.Bold = false
-  this.Italic = false
-  this.Underline = false
-  this.Inverse = false
-
-  // keep track of the number of "newlines" that get encountered
-  this.newlines = 0
-  emitNewlineEvents(stream)
-  stream.on('newline', function () {
-    this.newlines++
-  }.bind(this))
-}
-exports.Cursor = Cursor
-
-/**
- * Helper function that calls `write()` on the underlying Stream.
- * Returns `this` instead of the write() return value to keep
- * the chaining going.
- */
-
-Cursor.prototype.write = function (data) {
-  if (this.buffering) {
-    this._buffer.push(arguments)
-  } else {
-    this.stream.write.apply(this.stream, arguments)
-  }
-  return this
-}
-
-/**
- * Buffer `write()` calls into memory.
- *
- * @api public
- */
-
-Cursor.prototype.buffer = function () {
-  this.buffering = true
-  return this
-}
-
-/**
- * Write out the in-memory buffer.
- *
- * @api public
- */
-
-Cursor.prototype.flush = function () {
-  this.buffering = false
-  var str = this._buffer.map(function (args) {
-    if (args.length != 1) throw new Error('unexpected args length! ' + args.length);
-    return args[0];
-  }).join('');
-  this._buffer.splice(0); // empty
-  this.write(str);
-  return this
-}
-
-
-/**
- * The `Colorer` class manages both the background and foreground colors.
- */
-
-function Colorer (cursor, base) {
-  this.current = null
-  this.cursor = cursor
-  this.base = base
-}
-exports.Colorer = Colorer
-
-/**
- * Write an ANSI color code, ensuring that the same code doesn't get rewritten.
- */
-
-Colorer.prototype._setColorCode = function setColorCode (code) {
-  var c = String(code)
-  if (this.current === c) return
-  this.cursor.enabled && this.cursor.write(prefix + c + suffix)
-  this.current = c
-  return this
-}
-
-
-/**
- * Set up the positional ANSI codes.
- */
-
-Object.keys(codes).forEach(function (name) {
-  var code = String(codes[name])
-  Cursor.prototype[name] = function () {
-    var c = code
-    if (arguments.length > 0) {
-      c = toArray(arguments).map(Math.round).join(';') + code
-    }
-    this.enabled && this.write(prefix + c)
-    return this
-  }
-})
-
-/**
- * Set up the functions for the rendering ANSI codes.
- */
-
-Object.keys(styles).forEach(function (style) {
-  var name = style[0].toUpperCase() + style.substring(1)
-    , c = styles[style]
-    , r = reset[style]
-
-  Cursor.prototype[style] = function () {
-    if (this[name]) return this
-    this.enabled && this.write(prefix + c + suffix)
-    this[name] = true
-    return this
-  }
-
-  Cursor.prototype['reset' + name] = function () {
-    if (!this[name]) return this
-    this.enabled && this.write(prefix + r + suffix)
-    this[name] = false
-    return this
-  }
-})
-
-/**
- * Setup the functions for the standard colors.
- */
-
-Object.keys(colors).forEach(function (color) {
-  var code = colors[color]
-
-  Colorer.prototype[color] = function () {
-    this._setColorCode(this.base + code)
-    return this.cursor
-  }
-
-  Cursor.prototype[color] = function () {
-    return this.foreground[color]()
-  }
-})
-
-/**
- * Makes a beep sound!
- */
-
-Cursor.prototype.beep = function () {
-  this.enabled && this.write('\x07')
-  return this
-}
-
-/**
- * Moves cursor to specific position
- */
-
-Cursor.prototype.goto = function (x, y) {
-  x = x | 0
-  y = y | 0
-  this.enabled && this.write(prefix + y + ';' + x + 'H')
-  return this
-}
-
-/**
- * Resets the color.
- */
-
-Colorer.prototype.reset = function () {
-  this._setColorCode(this.base + 39)
-  return this.cursor
-}
-
-/**
- * Resets all ANSI formatting on the stream.
- */
-
-Cursor.prototype.reset = function () {
-  this.enabled && this.write(prefix + '0' + suffix)
-  this.Bold = false
-  this.Italic = false
-  this.Underline = false
-  this.Inverse = false
-  this.foreground.current = null
-  this.background.current = null
-  return this
-}
-
-/**
- * Sets the foreground color with the given RGB values.
- * The closest match out of the 216 colors is picked.
- */
-
-Colorer.prototype.rgb = function (r, g, b) {
-  var base = this.base + 38
-    , code = rgb(r, g, b)
-  this._setColorCode(base + ';5;' + code)
-  return this.cursor
-}
-
-/**
- * Same as `cursor.fg.rgb(r, g, b)`.
- */
-
-Cursor.prototype.rgb = function (r, g, b) {
-  return this.foreground.rgb(r, g, b)
-}
-
-/**
- * Accepts CSS color codes for use with ANSI escape codes.
- * For example: `#FF000` would be bright red.
- */
-
-Colorer.prototype.hex = function (color) {
-  return this.rgb.apply(this, hex(color))
-}
-
-/**
- * Same as `cursor.fg.hex(color)`.
- */
-
-Cursor.prototype.hex = function (color) {
-  return this.foreground.hex(color)
-}
-
-
-// UTIL FUNCTIONS //
-
-/**
- * Translates a 255 RGB value to a 0-5 ANSI RGV value,
- * then returns the single ANSI color code to use.
- */
-
-function rgb (r, g, b) {
-  var red = r / 255 * 5
-    , green = g / 255 * 5
-    , blue = b / 255 * 5
-  return rgb5(red, green, blue)
-}
-
-/**
- * Turns rgb 0-5 values into a single ANSI color code to use.
- */
-
-function rgb5 (r, g, b) {
-  var red = Math.round(r)
-    , green = Math.round(g)
-    , blue = Math.round(b)
-  return 16 + (red*36) + (green*6) + blue
-}
-
-/**
- * Accepts a hex CSS color code string (# is optional) and
- * translates it into an Array of 3 RGB 0-255 values, which
- * can then be used with rgb().
- */
-
-function hex (color) {
-  var c = color[0] === '#' ? color.substring(1) : color
-    , r = c.substring(0, 2)
-    , g = c.substring(2, 4)
-    , b = c.substring(4, 6)
-  return [parseInt(r, 16), parseInt(g, 16), parseInt(b, 16)]
-}
-
-/**
- * Turns an array-like object into a real array.
- */
-
-function toArray (a) {
-  var i = 0
-    , l = a.length
-    , rtn = []
-  for (; i<l; i++) {
-    rtn.push(a[i])
-  }
-  return rtn
-}
diff --git a/node_modules/ansi/lib/newlines.js b/node_modules/ansi/lib/newlines.js
deleted file mode 100644
index 4e37a0a..0000000
--- a/node_modules/ansi/lib/newlines.js
+++ /dev/null
@@ -1,71 +0,0 @@
-
-/**
- * Accepts any node Stream instance and hijacks its "write()" function,
- * so that it can count any newlines that get written to the output.
- *
- * When a '\n' byte is encountered, then a "newline" event will be emitted
- * on the stream, with no arguments. It is up to the listeners to determine
- * any necessary deltas required for their use-case.
- *
- * Ex:
- *
- *   var cursor = ansi(process.stdout)
- *     , ln = 0
- *   process.stdout.on('newline', function () {
- *    ln++
- *   })
- */
-
-/**
- * Module dependencies.
- */
-
-var assert = require('assert')
-var NEWLINE = '\n'.charCodeAt(0)
-
-function emitNewlineEvents (stream) {
-  if (stream._emittingNewlines) {
-    // already emitting newline events
-    return
-  }
-
-  var write = stream.write
-
-  stream.write = function (data) {
-    // first write the data
-    var rtn = write.apply(stream, arguments)
-
-    if (stream.listeners('newline').length > 0) {
-      var len = data.length
-        , i = 0
-      // now try to calculate any deltas
-      if (typeof data == 'string') {
-        for (; i<len; i++) {
-          processByte(stream, data.charCodeAt(i))
-        }
-      } else {
-        // buffer
-        for (; i<len; i++) {
-          processByte(stream, data[i])
-        }
-      }
-    }
-
-    return rtn
-  }
-
-  stream._emittingNewlines = true
-}
-module.exports = emitNewlineEvents
-
-
-/**
- * Processes an individual byte being written to a stream
- */
-
-function processByte (stream, b) {
-  assert.equal(typeof b, 'number')
-  if (b === NEWLINE) {
-    stream.emit('newline')
-  }
-}
diff --git a/node_modules/ansi/package.json b/node_modules/ansi/package.json
deleted file mode 100644
index 3027a65..0000000
--- a/node_modules/ansi/package.json
+++ /dev/null
@@ -1,94 +0,0 @@
-{
-  "_args": [
-    [
-      {
-        "raw": "ansi@^0.3.1",
-        "scope": null,
-        "escapedName": "ansi",
-        "name": "ansi",
-        "rawSpec": "^0.3.1",
-        "spec": ">=0.3.1 <0.4.0",
-        "type": "range"
-      },
-      "/Users/spindori/Documents/Cordova/cordova-ios/node_modules/cordova-common"
-    ]
-  ],
-  "_from": "ansi@>=0.3.1 <0.4.0",
-  "_id": "ansi@0.3.1",
-  "_inCache": true,
-  "_location": "/ansi",
-  "_nodeVersion": "5.3.0",
-  "_npmUser": {
-    "name": "tootallnate",
-    "email": "nathan@tootallnate.net"
-  },
-  "_npmVersion": "3.3.12",
-  "_phantomChildren": {},
-  "_requested": {
-    "raw": "ansi@^0.3.1",
-    "scope": null,
-    "escapedName": "ansi",
-    "name": "ansi",
-    "rawSpec": "^0.3.1",
-    "spec": ">=0.3.1 <0.4.0",
-    "type": "range"
-  },
-  "_requiredBy": [
-    "/cordova-common"
-  ],
-  "_resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz",
-  "_shasum": "0c42d4fb17160d5a9af1e484bace1c66922c1b21",
-  "_shrinkwrap": null,
-  "_spec": "ansi@^0.3.1",
-  "_where": "/Users/spindori/Documents/Cordova/cordova-ios/node_modules/cordova-common",
-  "author": {
-    "name": "Nathan Rajlich",
-    "email": "nathan@tootallnate.net",
-    "url": "http://tootallnate.net"
-  },
-  "bugs": {
-    "url": "https://github.com/TooTallNate/ansi.js/issues"
-  },
-  "dependencies": {},
-  "description": "Advanced ANSI formatting tool for Node.js",
-  "devDependencies": {},
-  "directories": {},
-  "dist": {
-    "shasum": "0c42d4fb17160d5a9af1e484bace1c66922c1b21",
-    "tarball": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz"
-  },
-  "gitHead": "4d0d4af94e0bdaa648bd7262acd3bde4b98d5246",
-  "homepage": "https://github.com/TooTallNate/ansi.js#readme",
-  "keywords": [
-    "ansi",
-    "formatting",
-    "cursor",
-    "color",
-    "terminal",
-    "rgb",
-    "256",
-    "stream"
-  ],
-  "license": "MIT",
-  "main": "./lib/ansi.js",
-  "maintainers": [
-    {
-      "name": "TooTallNate",
-      "email": "nathan@tootallnate.net"
-    },
-    {
-      "name": "tootallnate",
-      "email": "nathan@tootallnate.net"
-    }
-  ],
-  "name": "ansi",
-  "optionalDependencies": {},
-  "readme": "ansi.js\n=========\n### Advanced ANSI formatting tool for Node.js\n\n`ansi.js` is a module for Node.js that provides an easy-to-use API for\nwriting ANSI escape codes to `Stream` instances. ANSI escape codes are used to do\nfancy things in a terminal window, like render text in colors, delete characters,\nlines, the entire window, or hide and show the cursor, and lots more!\n\n#### Features:\n\n * 256 color support for the terminal!\n * Make a beep sound from your terminal!\ [...]
-  "readmeFilename": "README.md",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/TooTallNate/ansi.js.git"
-  },
-  "scripts": {},
-  "version": "0.3.1"
-}
diff --git a/node_modules/balanced-match/.npmignore b/node_modules/balanced-match/.npmignore
deleted file mode 100644
index ae5d8c3..0000000
--- a/node_modules/balanced-match/.npmignore
+++ /dev/null
@@ -1,5 +0,0 @@
-test
-.gitignore
-.travis.yml
-Makefile
-example.js
diff --git a/node_modules/balanced-match/LICENSE.md b/node_modules/balanced-match/LICENSE.md
deleted file mode 100644
index 2cdc8e4..0000000
--- a/node_modules/balanced-match/LICENSE.md
+++ /dev/null
@@ -1,21 +0,0 @@
-(MIT)
-
-Copyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;
-
-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.
diff --git a/node_modules/balanced-match/README.md b/node_modules/balanced-match/README.md
deleted file mode 100644
index 08e918c..0000000
--- a/node_modules/balanced-match/README.md
+++ /dev/null
@@ -1,91 +0,0 @@
-# balanced-match
-
-Match balanced string pairs, like `{` and `}` or `<b>` and `</b>`. Supports regular expressions as well!
-
-[![build status](https://secure.travis-ci.org/juliangruber/balanced-match.svg)](http://travis-ci.org/juliangruber/balanced-match)
-[![downloads](https://img.shields.io/npm/dm/balanced-match.svg)](https://www.npmjs.org/package/balanced-match)
-
-[![testling badge](https://ci.testling.com/juliangruber/balanced-match.png)](https://ci.testling.com/juliangruber/balanced-match)
-
-## Example
-
-Get the first matching pair of braces:
-
-```js
-var balanced = require('balanced-match');
-
-console.log(balanced('{', '}', 'pre{in{nested}}post'));
-console.log(balanced('{', '}', 'pre{first}between{second}post'));
-console.log(balanced(/\s+\{\s+/, /\s+\}\s+/, 'pre  {   in{nest}   }  post'));
-```
-
-The matches are:
-
-```bash
-$ node example.js
-{ start: 3, end: 14, pre: 'pre', body: 'in{nested}', post: 'post' }
-{ start: 3,
-  end: 9,
-  pre: 'pre',
-  body: 'first',
-  post: 'between{second}post' }
-{ start: 3, end: 17, pre: 'pre', body: 'in{nest}', post: 'post' }
-```
-
-## API
-
-### var m = balanced(a, b, str)
-
-For the first non-nested matching pair of `a` and `b` in `str`, return an
-object with those keys:
-
-* **start** the index of the first match of `a`
-* **end** the index of the matching `b`
-* **pre** the preamble, `a` and `b` not included
-* **body** the match, `a` and `b` not included
-* **post** the postscript, `a` and `b` not included
-
-If there's no match, `undefined` will be returned.
-
-If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `['{', 'a', '']` and `{a}}` will match `['', 'a', '}']`.
-
-### var r = balanced.range(a, b, str)
-
-For the first non-nested matching pair of `a` and `b` in `str`, return an
-array with indexes: `[ <a index>, <b index> ]`.
-
-If there's no match, `undefined` will be returned.
-
-If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `[ 1, 3 ]` and `{a}}` will match `[0, 2]`.
-
-## Installation
-
-With [npm](https://npmjs.org) do:
-
-```bash
-npm install balanced-match
-```
-
-## License
-
-(MIT)
-
-Copyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;
-
-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.
diff --git a/node_modules/balanced-match/index.js b/node_modules/balanced-match/index.js
deleted file mode 100644
index 1685a76..0000000
--- a/node_modules/balanced-match/index.js
+++ /dev/null
@@ -1,59 +0,0 @@
-'use strict';
-module.exports = balanced;
-function balanced(a, b, str) {
-  if (a instanceof RegExp) a = maybeMatch(a, str);
-  if (b instanceof RegExp) b = maybeMatch(b, str);
-
-  var r = range(a, b, str);
-
-  return r && {
-    start: r[0],
-    end: r[1],
-    pre: str.slice(0, r[0]),
-    body: str.slice(r[0] + a.length, r[1]),
-    post: str.slice(r[1] + b.length)
-  };
-}
-
-function maybeMatch(reg, str) {
-  var m = str.match(reg);
-  return m ? m[0] : null;
-}
-
-balanced.range = range;
-function range(a, b, str) {
-  var begs, beg, left, right, result;
-  var ai = str.indexOf(a);
-  var bi = str.indexOf(b, ai + 1);
-  var i = ai;
-
-  if (ai >= 0 && bi > 0) {
-    begs = [];
-    left = str.length;
-
-    while (i >= 0 && !result) {
-      if (i == ai) {
-        begs.push(i);
-        ai = str.indexOf(a, i + 1);
-      } else if (begs.length == 1) {
-        result = [ begs.pop(), bi ];
-      } else {
-        beg = begs.pop();
-        if (beg < left) {
-          left = beg;
-          right = bi;
-        }
-
-        bi = str.indexOf(b, i + 1);
-      }
-
-      i = ai < bi && ai >= 0 ? ai : bi;
-    }
-
-    if (begs.length) {
-      result = [ left, right ];
-    }
-  }
-
-  return result;
-}
diff --git a/node_modules/balanced-match/package.json b/node_modules/balanced-match/package.json
deleted file mode 100644
index 867de82..0000000
--- a/node_modules/balanced-match/package.json
+++ /dev/null
@@ -1,113 +0,0 @@
-{
-  "_args": [
-    [
-      {
-        "raw": "balanced-match@^1.0.0",
-        "scope": null,
-        "escapedName": "balanced-match",
-        "name": "balanced-match",
-        "rawSpec": "^1.0.0",
-        "spec": ">=1.0.0 <2.0.0",
-        "type": "range"
-      },
-      "/Users/spindori/Documents/Cordova/cordova-ios/node_modules/brace-expansion"
-    ]
-  ],
-  "_from": "balanced-match@>=1.0.0 <2.0.0",
-  "_id": "balanced-match@1.0.0",
-  "_inCache": true,
-  "_location": "/balanced-match",
-  "_nodeVersion": "7.8.0",
-  "_npmOperationalInternal": {
-    "host": "s3://npm-registry-packages",
-    "tmp": "tmp/balanced-match-1.0.0.tgz_1497251909645_0.8755026108119637"
-  },
-  "_npmUser": {
-    "name": "juliangruber",
-    "email": "julian@juliangruber.com"
-  },
-  "_npmVersion": "4.2.0",
-  "_phantomChildren": {},
-  "_requested": {
-    "raw": "balanced-match@^1.0.0",
-    "scope": null,
-    "escapedName": "balanced-match",
-    "name": "balanced-match",
-    "rawSpec": "^1.0.0",
-    "spec": ">=1.0.0 <2.0.0",
-    "type": "range"
-  },
-  "_requiredBy": [
-    "/brace-expansion"
-  ],
-  "_resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
-  "_shasum": "89b4d199ab2bee49de164ea02b89ce462d71b767",
-  "_shrinkwrap": null,
-  "_spec": "balanced-match@^1.0.0",
-  "_where": "/Users/spindori/Documents/Cordova/cordova-ios/node_modules/brace-expansion",
-  "author": {
-    "name": "Julian Gruber",
-    "email": "mail@juliangruber.com",
-    "url": "http://juliangruber.com"
-  },
-  "bugs": {
-    "url": "https://github.com/juliangruber/balanced-match/issues"
-  },
-  "dependencies": {},
-  "description": "Match balanced character pairs, like \"{\" and \"}\"",
-  "devDependencies": {
-    "matcha": "^0.7.0",
-    "tape": "^4.6.0"
-  },
-  "directories": {},
-  "dist": {
-    "shasum": "89b4d199ab2bee49de164ea02b89ce462d71b767",
-    "tarball": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz"
-  },
-  "gitHead": "d701a549a7653a874eebce7eca25d3577dc868ac",
-  "homepage": "https://github.com/juliangruber/balanced-match",
-  "keywords": [
-    "match",
-    "regexp",
-    "test",
-    "balanced",
-    "parse"
-  ],
-  "license": "MIT",
-  "main": "index.js",
-  "maintainers": [
-    {
-      "name": "juliangruber",
-      "email": "julian@juliangruber.com"
-    }
-  ],
-  "name": "balanced-match",
-  "optionalDependencies": {},
-  "readme": "# balanced-match\n\nMatch balanced string pairs, like `{` and `}` or `<b>` and `</b>`. Supports regular expressions as well!\n\n[![build status](https://secure.travis-ci.org/juliangruber/balanced-match.svg)](http://travis-ci.org/juliangruber/balanced-match)\n[![downloads](https://img.shields.io/npm/dm/balanced-match.svg)](https://www.npmjs.org/package/balanced-match)\n\n[![testling badge](https://ci.testling.com/juliangruber/balanced-match.png)](https://ci.testling.com/julia [...]
-  "readmeFilename": "README.md",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/juliangruber/balanced-match.git"
-  },
-  "scripts": {
-    "bench": "make bench",
-    "test": "make test"
-  },
-  "testling": {
-    "files": "test/*.js",
-    "browsers": [
-      "ie/8..latest",
-      "firefox/20..latest",
-      "firefox/nightly",
-      "chrome/25..latest",
-      "chrome/canary",
-      "opera/12..latest",
-      "opera/next",
-      "safari/5.1..latest",
-      "ipad/6.0..latest",
-      "iphone/6.0..latest",
-      "android-browser/4.2..latest"
-    ]
-  },
-  "version": "1.0.0"
-}
diff --git a/node_modules/base64-js/.travis.yml b/node_modules/base64-js/.travis.yml
deleted file mode 100644
index 939cb51..0000000
--- a/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
diff --git a/node_modules/base64-js/LICENSE.MIT b/node_modules/base64-js/LICENSE.MIT
deleted file mode 100644
index 96d3f68..0000000
--- a/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.
diff --git a/node_modules/base64-js/README.md b/node_modules/base64-js/README.md
deleted file mode 100644
index ed31d1a..0000000
--- a/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
diff --git a/node_modules/base64-js/bench/bench.js b/node_modules/base64-js/bench/bench.js
deleted file mode 100644
index 0689e08..0000000
--- a/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)
-
diff --git a/node_modules/base64-js/lib/b64.js b/node_modules/base64-js/lib/b64.js
deleted file mode 100644
index 46001d2..0000000
--- a/node_modules/base64-js/lib/b64.js
+++ /dev/null
@@ -1,124 +0,0 @@
-var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
-
-;(function (exports) {
-	'use strict';
-
-  var Arr = (typeof Uint8Array !== 'undefined')
-    ? Uint8Array
-    : Array
-
-	var PLUS   = '+'.charCodeAt(0)
-	var SLASH  = '/'.charCodeAt(0)
-	var NUMBER = '0'.charCodeAt(0)
-	var LOWER  = 'a'.charCodeAt(0)
-	var UPPER  = 'A'.charCodeAt(0)
-	var PLUS_URL_SAFE = '-'.charCodeAt(0)
-	var SLASH_URL_SAFE = '_'.charCodeAt(0)
-
-	function decode (elt) {
-		var code = elt.charCodeAt(0)
-		if (code === PLUS ||
-		    code === PLUS_URL_SAFE)
-			return 62 // '+'
-		if (code === SLASH ||
-		    code === SLASH_URL_SAFE)
-			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
-	}
-
-	exports.toByteArray = b64ToByteArray
-	exports.fromByteArray = uint8ToBase64
-}(typeof exports === 'undefined' ? (this.base64js = {}) : exports))
diff --git a/node_modules/base64-js/package.json b/node_modules/base64-js/package.json
deleted file mode 100644
index a1e874e..0000000
--- a/node_modules/base64-js/package.json
+++ /dev/null
@@ -1,102 +0,0 @@
-{
-  "_args": [
-    [
-      {
-        "raw": "base64-js@0.0.8",
-        "scope": null,
-        "escapedName": "base64-js",
-        "name": "base64-js",
-        "rawSpec": "0.0.8",
-        "spec": "0.0.8",
-        "type": "version"
-      },
-      "/Users/spindori/Documents/Cordova/cordova-ios/node_modules/plist"
-    ]
-  ],
-  "_from": "base64-js@0.0.8",
-  "_id": "base64-js@0.0.8",
-  "_inCache": true,
-  "_location": "/base64-js",
-  "_nodeVersion": "0.10.35",
-  "_npmUser": {
-    "name": "feross",
-    "email": "feross@feross.org"
-  },
-  "_npmVersion": "2.1.16",
-  "_phantomChildren": {},
-  "_requested": {
-    "raw": "base64-js@0.0.8",
-    "scope": null,
-    "escapedName": "base64-js",
-    "name": "base64-js",
-    "rawSpec": "0.0.8",
-    "spec": "0.0.8",
-    "type": "version"
-  },
-  "_requiredBy": [
-    "/plist"
-  ],
-  "_resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz",
-  "_shasum": "1101e9544f4a76b1bc3b26d452ca96d7a35e7978",
-  "_shrinkwrap": null,
-  "_spec": "base64-js@0.0.8",
-  "_where": "/Users/spindori/Documents/Cordova/cordova-ios/node_modules/plist",
-  "author": {
-    "name": "T. Jameson Little",
-    "email": "t.jameson.little@gmail.com"
-  },
-  "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": "1101e9544f4a76b1bc3b26d452ca96d7a35e7978",
-    "tarball": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz"
-  },
-  "engines": {
-    "node": ">= 0.4"
-  },
-  "gitHead": "b4a8a5fa9b0caeddb5ad94dd1108253d8f2a315f",
-  "homepage": "https://github.com/beatgammit/base64-js#readme",
-  "license": "MIT",
-  "main": "lib/b64.js",
-  "maintainers": [
-    {
-      "name": "beatgammit",
-      "email": "t.jameson.little@gmail.com"
-    },
-    {
-      "name": "feross",
-      "email": "feross@feross.org"
-    }
-  ],
-  "name": "base64-js",
-  "optionalDependencies": {},
-  "readme": "base64-js\n=========\n\n`base64-js` does basic base64 encoding/decoding in pure JS.\n\n[![build status](https://secure.travis-ci.org/beatgammit/base64-js.png)](http://travis-ci.org/beatgammit/base64-js)\n\n[![testling badge](https://ci.testling.com/beatgammit/base64-js.png)](https://ci.testling.com/beatgammit/base64-js)\n\nMany browsers already have base64 encoding/decoding functionality, but it is for text data, not all-purpose binary data.\n\nSometimes encoding/decoding bi [...]
-  "readmeFilename": "README.md",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/beatgammit/base64-js.git"
-  },
-  "scripts": {
-    "test": "tape test/*.js"
-  },
-  "testling": {
-    "files": "test/*.js",
-    "browsers": [
-      "ie/6..latest",
-      "chrome/4..latest",
-      "firefox/3..latest",
-      "safari/5.1..latest",
-      "opera/11.0..latest",
-      "iphone/6",
-      "ipad/6"
-    ]
-  },
-  "version": "0.0.8"
-}
diff --git a/node_modules/base64-js/test/convert.js b/node_modules/base64-js/test/convert.js
deleted file mode 100644
index 60b09c0..0000000
--- a/node_modules/base64-js/test/convert.js
+++ /dev/null
@@ -1,51 +0,0 @@
-var test = require('tape'),
-  b64 = require('../lib/b64'),
-	checks = [
-		'a',
-		'aa',
-		'aaa',
-		'hi',
-		'hi!',
-		'hi!!',
-		'sup',
-		'sup?',
-		'sup?!'
-	];
-
-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;
-}
diff --git a/node_modules/base64-js/test/url-safe.js b/node_modules/base64-js/test/url-safe.js
deleted file mode 100644
index dc437e9..0000000
--- a/node_modules/base64-js/test/url-safe.js
+++ /dev/null
@@ -1,18 +0,0 @@
-var test = require('tape'),
-  b64 = require('../lib/b64');
-
-test('decode url-safe style base64 strings', function (t) {
-  var expected = [0xff, 0xff, 0xbe, 0xff, 0xef, 0xbf, 0xfb, 0xef, 0xff];
-
-  var actual = b64.toByteArray('//++/++/++//');
-  for (var i = 0; i < actual.length; i++) {
-    t.equal(actual[i], expected[i])
-  }
-
-  actual = b64.toByteArray('__--_--_--__');
-  for (var i = 0; i < actual.length; i++) {
-    t.equal(actual[i], expected[i])
-  }
-  
-  t.end();
-});
diff --git a/node_modules/big-integer/BigInteger.d.ts b/node_modules/big-integer/BigInteger.d.ts
deleted file mode 100644
index 3cd4c0e..0000000
--- a/node_modules/big-integer/BigInteger.d.ts
+++ /dev/null
@@ -1,2364 +0,0 @@
-/**
- * Type definitions for BigInteger.js
- * Definitions by: Tommy Frazier <https://github.com/toefraz>
- */
-export = bigInt;
-export as namespace bigInt;
-
-declare var bigInt: bigInt.BigIntegerStatic;
-
-declare namespace bigInt {
-    type BigNumber = number | string | BigInteger;
-
-    interface BigIntegerStatic {
-        /**
-         * Equivalent to bigInt(0).
-         */
-        (): BigInteger;
-
-        /**
-         * Parse a Javascript number into a bigInt.
-         */
-        (number: number): BigInteger;
-
-        /**
-         * Parse a string into a bigInt.
-         */
-        (string: string, base?: BigNumber): BigInteger;
-
-        /**
-         * no-op.
-         */
-        (bigInt: BigInteger): BigInteger;
-
-        /**
-         * Constructs a bigInt from an array of digits in specified base.
-         * The optional isNegative flag will make the number negative.
-         */
-        fromArray: (digits: BigNumber[], base?: BigNumber, isNegative?: boolean) => BigInteger;
-
-        /**
-         * Finds the greatest common denominator of a and b.
-         */
-        gcd: (a: BigNumber, b: BigNumber) => BigInteger;
-
-
-        /**
-         * Returns true if x is a BigInteger, false otherwise.
-         */
-        isInstance: (x: any) => boolean;
-
-        /**
-         * Finds the least common multiple of a and b.
-         */
-        lcm: (a: BigNumber, b: BigNumber) => BigInteger;
-
-        /**
-         * Returns the largest of a and b.
-         */
-        max: (a: BigNumber, b: BigNumber) => BigInteger;
-
-        /**
-         * Returns the smallest of a and b.
-         */
-        min: (a: BigNumber, b: BigNumber) => BigInteger;
-
-        /**
-         * Equivalent to bigInt(-1).
-         */
-        minusOne:  BigInteger;
-
-        /**
-         * Equivalent to bigInt(1).
-         */
-        one:  BigInteger;
-
-        /**
-         * Returns a random number between min and max.
-         */
-        randBetween: (min: BigNumber, max: BigNumber) => BigInteger;
-
-        /**
-         * Equivalent to bigInt(0).
-         */
-        zero: BigInteger;
-    }
-
-    interface BigInteger {
-        /**
-         * Returns the absolute value of a bigInt.
-         */
-        abs(): BigInteger;
-
-        /**
-         * Performs addition.
-         */
-        add(number: BigNumber): BigInteger;
-
-        /**
-         * Performs the bitwise AND operation.
-         */
-        and(number: BigNumber): BigInteger;
-
-        /**
-         * Performs a comparison between two numbers. If the numbers are equal, it returns 0.
-         * If the first number is greater, it returns 1. If the first number is lesser, it returns -1.
-         */
-        compare(number: BigNumber): number;
-
-        /**
-         * Performs a comparison between the absolute value of two numbers.
-         */
-        compareAbs(number: BigNumber): number;
-
-        /**
-         * Alias for the compare method.
-         */
-        compareTo(number: BigNumber): number;
-
-        /**
-         * Performs integer division, disregarding the remainder.
-         */
-        divide(number: BigNumber): BigInteger;
-
-        /**
-         * Performs division and returns an object with two properties: quotient and remainder.
-         * The sign of the remainder will match the sign of the dividend.
-         */
-        divmod(number: BigNumber): {quotient: BigInteger, remainder: BigInteger};
-
-        /**
-         * Alias for the equals method.
-         */
-        eq(number: BigNumber): boolean;
-
-        /**
-         * Checks if two numbers are equal.
-         */
-        equals(number: BigNumber): boolean;
-
-        /**
-         * Alias for the greaterOrEquals method.
-         */
-        geq(number: BigNumber): boolean;
-
-        /**
-         * Checks if the first number is greater than the second.
-         */
-        greater(number: BigNumber): boolean;
-
-        /**
-         * Checks if the first number is greater than or equal to the second.
-         */
-        greaterOrEquals(number: BigNumber): boolean;
-
-        /**
-         * Alias for the greater method.
-         */
-        gt(number: BigNumber): boolean;
-
-        /**
-         * Returns true if the first number is divisible by the second number, false otherwise.
-         */
-        isDivisibleBy(number: BigNumber): boolean;
-
-        /**
-         * Returns true if the number is even, false otherwise.
-         */
-        isEven(): boolean;
-
-        /**
-         * Returns true if the number is negative, false otherwise.
-         * Returns false for 0 and true for -0.
-         */
-        isNegative(): boolean;
-
-        /**
-         * Returns true if the number is odd, false otherwise.
-         */
-        isOdd(): boolean;
-
-        /**
-         * Return true if the number is positive, false otherwise.
-         * Returns true for 0 and false for -0.
-         */
-        isPositive(): boolean;
-
-        /**
-         * Returns true if the number is prime, false otherwise.
-         */
-        isPrime(): boolean;
-
-        /**
-         * Returns true if the number is very likely to be prime, false otherwise.
-         */
-        isProbablePrime(iterations?: number): boolean;
-
-        /**
-         * Returns true if the number is 1 or -1, false otherwise.
-         */
-        isUnit(): boolean;
-
-        /**
-         * Return true if the number is 0 or -0, false otherwise.
-         */
-        isZero(): boolean;
-
-        /**
-         * Alias for the lesserOrEquals method.
-         */
-        leq(number: BigNumber): boolean;
-
-        /**
-         * Checks if the first number is lesser than the second.
-         */
-        lesser(number: BigNumber): boolean;
-
-        /**
-         * Checks if the first number is less than or equal to the second.
-         */
-        lesserOrEquals(number: BigNumber): boolean;
-
-        /**
-         * Alias for the lesser method.
-         */
-        lt(number: BigNumber): boolean;
-
-        /**
-         * Alias for the subtract method.
-         */
-        minus(number: BigNumber): BigInteger;
-
-        /**
-         * Performs division and returns the remainder, disregarding the quotient.
-         * The sign of the remainder will match the sign of the dividend.
-         */
-        mod(number: BigNumber): BigInteger;
-
-        /**
-         * Finds the multiplicative inverse of the number modulo mod.
-         */
-        modInv(number: BigNumber): BigInteger;
-
-        /**
-         * Takes the number to the power exp modulo mod.
-         */
-        modPow(exp: BigNumber, mod: BigNumber): BigInteger;
-
-        /**
-         * Performs multiplication.
-         */
-        multiply(number: BigNumber): BigInteger;
-
-        /**
-         * Reverses the sign of the number.
-         */
-        negate(): BigInteger;
-
-        /**
-         * Alias for the notEquals method.
-         */
-        neq(number: BigNumber): boolean;
-
-        /**
-         * Adds one to the number.
-         */
-        next(): BigInteger;
-
-        /**
-         * Performs the bitwise NOT operation.
-         */
-        not(): BigInteger;
-
-        /**
-         * Checks if two numbers are not equal.
-         */
-        notEquals(number: BigNumber): boolean;
-
-        /**
-         * Performs the bitwise OR operation.
-         */
-        or(number: BigNumber): BigInteger;
-
-        /**
-         * Alias for the divide method.
-         */
-        over(number: BigNumber): BigInteger;
-
-        /**
-         * Alias for the add method.
-         */
-        plus(number: BigNumber): BigInteger;
-
-        /**
-         * Performs exponentiation. If the exponent is less than 0, pow returns 0.
-         * bigInt.zero.pow(0) returns 1.
-         */
-        pow(number: BigNumber): BigInteger;
-
-        /**
-         * Subtracts one from the number.
-         */
-        prev(): BigInteger;
-
-        /**
-         * Alias for the mod method.
-         */
-        remainder(number: BigNumber): BigInteger;
-
-        /**
-         * Shifts the number left by n places in its binary representation.
-         * If a negative number is provided, it will shift right.
-         *
-         * Throws an error if number is outside of the range [-9007199254740992, 9007199254740992].
-         */
-        shiftLeft(number: BigNumber): BigInteger;
-
-        /**
-         * Shifts the number right by n places in its binary representation.
-         * If a negative number is provided, it will shift left.
-         *
-         * Throws an error if number is outside of the range [-9007199254740992, 9007199254740992].
-         */
-        shiftRight(number: BigNumber): BigInteger;
-
-        /**
-         * Squares the number.
-         */
-        square(): BigInteger;
-
-        /**
-         * Performs subtraction.
-         */
-        subtract(number: BigNumber): BigInteger;
-
-        /**
-         * Alias for the multiply method.
-         */
-        times(number: BigNumber): BigInteger;
-
-        /**
-         * Converts a bigInt into a native Javascript number. Loses precision for numbers outside the range.
-         */
-        toJSNumber(): number;
-
-        /**
-         * Converts a bigInt to a string.
-         */
-        toString(radix?: number): string;
-
-        /**
-         * Converts a bigInt to a native Javascript number. This override allows you to use native
-         * arithmetic operators without explicit conversion.
-         */
-        valueOf(): number;
-
-        /**
-         * Performs the bitwise XOR operation.
-         */
-        xor(number: BigNumber): BigInteger;
-    }
-
-    // Array constant accessors
-    interface BigIntegerStatic {
-        '-999': BigInteger;
-        '-998': BigInteger;
-        '-997': BigInteger;
-        '-996': BigInteger;
-        '-995': BigInteger;
-        '-994': BigInteger;
-        '-993': BigInteger;
-        '-992': BigInteger;
-        '-991': BigInteger;
-        '-990': BigInteger;
-        '-989': BigInteger;
-        '-988': BigInteger;
-        '-987': BigInteger;
-        '-986': BigInteger;
-        '-985': BigInteger;
-        '-984': BigInteger;
-        '-983': BigInteger;
-        '-982': BigInteger;
-        '-981': BigInteger;
-        '-980': BigInteger;
-        '-979': BigInteger;
-        '-978': BigInteger;
-        '-977': BigInteger;
-        '-976': BigInteger;
-        '-975': BigInteger;
-        '-974': BigInteger;
-        '-973': BigInteger;
-        '-972': BigInteger;
-        '-971': BigInteger;
-        '-970': BigInteger;
-        '-969': BigInteger;
-        '-968': BigInteger;
-        '-967': BigInteger;
-        '-966': BigInteger;
-        '-965': BigInteger;
-        '-964': BigInteger;
-        '-963': BigInteger;
-        '-962': BigInteger;
-        '-961': BigInteger;
-        '-960': BigInteger;
-        '-959': BigInteger;
-        '-958': BigInteger;
-        '-957': BigInteger;
-        '-956': BigInteger;
-        '-955': BigInteger;
-        '-954': BigInteger;
-        '-953': BigInteger;
-        '-952': BigInteger;
-        '-951': BigInteger;
-        '-950': BigInteger;
-        '-949': BigInteger;
-        '-948': BigInteger;
-        '-947': BigInteger;
-        '-946': BigInteger;
-        '-945': BigInteger;
-        '-944': BigInteger;
-        '-943': BigInteger;
-        '-942': BigInteger;
-        '-941': BigInteger;
-        '-940': BigInteger;
-        '-939': BigInteger;
-        '-938': BigInteger;
-        '-937': BigInteger;
-        '-936': BigInteger;
-        '-935': BigInteger;
-        '-934': BigInteger;
-        '-933': BigInteger;
-        '-932': BigInteger;
-        '-931': BigInteger;
-        '-930': BigInteger;
-        '-929': BigInteger;
-        '-928': BigInteger;
-        '-927': BigInteger;
-        '-926': BigInteger;
-        '-925': BigInteger;
-        '-924': BigInteger;
-        '-923': BigInteger;
-        '-922': BigInteger;
-        '-921': BigInteger;
-        '-920': BigInteger;
-        '-919': BigInteger;
-        '-918': BigInteger;
-        '-917': BigInteger;
-        '-916': BigInteger;
-        '-915': BigInteger;
-        '-914': BigInteger;
-        '-913': BigInteger;
-        '-912': BigInteger;
-        '-911': BigInteger;
-        '-910': BigInteger;
-        '-909': BigInteger;
-        '-908': BigInteger;
-        '-907': BigInteger;
-        '-906': BigInteger;
-        '-905': BigInteger;
-        '-904': BigInteger;
-        '-903': BigInteger;
-        '-902': BigInteger;
-        '-901': BigInteger;
-        '-900': BigInteger;
-        '-899': BigInteger;
-        '-898': BigInteger;
-        '-897': BigInteger;
-        '-896': BigInteger;
-        '-895': BigInteger;
-        '-894': BigInteger;
-        '-893': BigInteger;
-        '-892': BigInteger;
-        '-891': BigInteger;
-        '-890': BigInteger;
-        '-889': BigInteger;
-        '-888': BigInteger;
-        '-887': BigInteger;
-        '-886': BigInteger;
-        '-885': BigInteger;
-        '-884': BigInteger;
-        '-883': BigInteger;
-        '-882': BigInteger;
-        '-881': BigInteger;
-        '-880': BigInteger;
-        '-879': BigInteger;
-        '-878': BigInteger;
-        '-877': BigInteger;
-        '-876': BigInteger;
-        '-875': BigInteger;
-        '-874': BigInteger;
-        '-873': BigInteger;
-        '-872': BigInteger;
-        '-871': BigInteger;
-        '-870': BigInteger;
-        '-869': BigInteger;
-        '-868': BigInteger;
-        '-867': BigInteger;
-        '-866': BigInteger;
-        '-865': BigInteger;
-        '-864': BigInteger;
-        '-863': BigInteger;
-        '-862': BigInteger;
-        '-861': BigInteger;
-        '-860': BigInteger;
-        '-859': BigInteger;
-        '-858': BigInteger;
-        '-857': BigInteger;
-        '-856': BigInteger;
-        '-855': BigInteger;
-        '-854': BigInteger;
-        '-853': BigInteger;
-        '-852': BigInteger;
-        '-851': BigInteger;
-        '-850': BigInteger;
-        '-849': BigInteger;
-        '-848': BigInteger;
-        '-847': BigInteger;
-        '-846': BigInteger;
-        '-845': BigInteger;
-        '-844': BigInteger;
-        '-843': BigInteger;
-        '-842': BigInteger;
-        '-841': BigInteger;
-        '-840': BigInteger;
-        '-839': BigInteger;
-        '-838': BigInteger;
-        '-837': BigInteger;
-        '-836': BigInteger;
-        '-835': BigInteger;
-        '-834': BigInteger;
-        '-833': BigInteger;
-        '-832': BigInteger;
-        '-831': BigInteger;
-        '-830': BigInteger;
-        '-829': BigInteger;
-        '-828': BigInteger;
-        '-827': BigInteger;
-        '-826': BigInteger;
-        '-825': BigInteger;
-        '-824': BigInteger;
-        '-823': BigInteger;
-        '-822': BigInteger;
-        '-821': BigInteger;
-        '-820': BigInteger;
-        '-819': BigInteger;
-        '-818': BigInteger;
-        '-817': BigInteger;
-        '-816': BigInteger;
-        '-815': BigInteger;
-        '-814': BigInteger;
-        '-813': BigInteger;
-        '-812': BigInteger;
-        '-811': BigInteger;
-        '-810': BigInteger;
-        '-809': BigInteger;
-        '-808': BigInteger;
-        '-807': BigInteger;
-        '-806': BigInteger;
-        '-805': BigInteger;
-        '-804': BigInteger;
-        '-803': BigInteger;
-        '-802': BigInteger;
-        '-801': BigInteger;
-        '-800': BigInteger;
-        '-799': BigInteger;
-        '-798': BigInteger;
-        '-797': BigInteger;
-        '-796': BigInteger;
-        '-795': BigInteger;
-        '-794': BigInteger;
-        '-793': BigInteger;
-        '-792': BigInteger;
-        '-791': BigInteger;
-        '-790': BigInteger;
-        '-789': BigInteger;
-        '-788': BigInteger;
-        '-787': BigInteger;
-        '-786': BigInteger;
-        '-785': BigInteger;
-        '-784': BigInteger;
-        '-783': BigInteger;
-        '-782': BigInteger;
-        '-781': BigInteger;
-        '-780': BigInteger;
-        '-779': BigInteger;
-        '-778': BigInteger;
-        '-777': BigInteger;
-        '-776': BigInteger;
-        '-775': BigInteger;
-        '-774': BigInteger;
-        '-773': BigInteger;
-        '-772': BigInteger;
-        '-771': BigInteger;
-        '-770': BigInteger;
-        '-769': BigInteger;
-        '-768': BigInteger;
-        '-767': BigInteger;
-        '-766': BigInteger;
-        '-765': BigInteger;
-        '-764': BigInteger;
-        '-763': BigInteger;
-        '-762': BigInteger;
-        '-761': BigInteger;
-        '-760': BigInteger;
-        '-759': BigInteger;
-        '-758': BigInteger;
-        '-757': BigInteger;
-        '-756': BigInteger;
-        '-755': BigInteger;
-        '-754': BigInteger;
-        '-753': BigInteger;
-        '-752': BigInteger;
-        '-751': BigInteger;
-        '-750': BigInteger;
-        '-749': BigInteger;
-        '-748': BigInteger;
-        '-747': BigInteger;
-        '-746': BigInteger;
-        '-745': BigInteger;
-        '-744': BigInteger;
-        '-743': BigInteger;
-        '-742': BigInteger;
-        '-741': BigInteger;
-        '-740': BigInteger;
-        '-739': BigInteger;
-        '-738': BigInteger;
-        '-737': BigInteger;
-        '-736': BigInteger;
-        '-735': BigInteger;
-        '-734': BigInteger;
-        '-733': BigInteger;
-        '-732': BigInteger;
-        '-731': BigInteger;
-        '-730': BigInteger;
-        '-729': BigInteger;
-        '-728': BigInteger;
-        '-727': BigInteger;
-        '-726': BigInteger;
-        '-725': BigInteger;
-        '-724': BigInteger;
-        '-723': BigInteger;
-        '-722': BigInteger;
-        '-721': BigInteger;
-        '-720': BigInteger;
-        '-719': BigInteger;
-        '-718': BigInteger;
-        '-717': BigInteger;
-        '-716': BigInteger;
-        '-715': BigInteger;
-        '-714': BigInteger;
-        '-713': BigInteger;
-        '-712': BigInteger;
-        '-711': BigInteger;
-        '-710': BigInteger;
-        '-709': BigInteger;
-        '-708': BigInteger;
-        '-707': BigInteger;
-        '-706': BigInteger;
-        '-705': BigInteger;
-        '-704': BigInteger;
-        '-703': BigInteger;
-        '-702': BigInteger;
-        '-701': BigInteger;
-        '-700': BigInteger;
-        '-699': BigInteger;
-        '-698': BigInteger;
-        '-697': BigInteger;
-        '-696': BigInteger;
-        '-695': BigInteger;
-        '-694': BigInteger;
-        '-693': BigInteger;
-        '-692': BigInteger;
-        '-691': BigInteger;
-        '-690': BigInteger;
-        '-689': BigInteger;
-        '-688': BigInteger;
-        '-687': BigInteger;
-        '-686': BigInteger;
-        '-685': BigInteger;
-        '-684': BigInteger;
-        '-683': BigInteger;
-        '-682': BigInteger;
-        '-681': BigInteger;
-        '-680': BigInteger;
-        '-679': BigInteger;
-        '-678': BigInteger;
-        '-677': BigInteger;
-        '-676': BigInteger;
-        '-675': BigInteger;
-        '-674': BigInteger;
-        '-673': BigInteger;
-        '-672': BigInteger;
-        '-671': BigInteger;
-        '-670': BigInteger;
-        '-669': BigInteger;
-        '-668': BigInteger;
-        '-667': BigInteger;
-        '-666': BigInteger;
-        '-665': BigInteger;
-        '-664': BigInteger;
-        '-663': BigInteger;
-        '-662': BigInteger;
-        '-661': BigInteger;
-        '-660': BigInteger;
-        '-659': BigInteger;
-        '-658': BigInteger;
-        '-657': BigInteger;
-        '-656': BigInteger;
-        '-655': BigInteger;
-        '-654': BigInteger;
-        '-653': BigInteger;
-        '-652': BigInteger;
-        '-651': BigInteger;
-        '-650': BigInteger;
-        '-649': BigInteger;
-        '-648': BigInteger;
-        '-647': BigInteger;
-        '-646': BigInteger;
-        '-645': BigInteger;
-        '-644': BigInteger;
-        '-643': BigInteger;
-        '-642': BigInteger;
-        '-641': BigInteger;
-        '-640': BigInteger;
-        '-639': BigInteger;
-        '-638': BigInteger;
-        '-637': BigInteger;
-        '-636': BigInteger;
-        '-635': BigInteger;
-        '-634': BigInteger;
-        '-633': BigInteger;
-        '-632': BigInteger;
-        '-631': BigInteger;
-        '-630': BigInteger;
-        '-629': BigInteger;
-        '-628': BigInteger;
-        '-627': BigInteger;
-        '-626': BigInteger;
-        '-625': BigInteger;
-        '-624': BigInteger;
-        '-623': BigInteger;
-        '-622': BigInteger;
-        '-621': BigInteger;
-        '-620': BigInteger;
-        '-619': BigInteger;
-        '-618': BigInteger;
-        '-617': BigInteger;
-        '-616': BigInteger;
-        '-615': BigInteger;
-        '-614': BigInteger;
-        '-613': BigInteger;
-        '-612': BigInteger;
-        '-611': BigInteger;
-        '-610': BigInteger;
-        '-609': BigInteger;
-        '-608': BigInteger;
-        '-607': BigInteger;
-        '-606': BigInteger;
-        '-605': BigInteger;
-        '-604': BigInteger;
-        '-603': BigInteger;
-        '-602': BigInteger;
-        '-601': BigInteger;
-        '-600': BigInteger;
-        '-599': BigInteger;
-        '-598': BigInteger;
-        '-597': BigInteger;
-        '-596': BigInteger;
-        '-595': BigInteger;
-        '-594': BigInteger;
-        '-593': BigInteger;
-        '-592': BigInteger;
-        '-591': BigInteger;
-        '-590': BigInteger;
-        '-589': BigInteger;
-        '-588': BigInteger;
-        '-587': BigInteger;
-        '-586': BigInteger;
-        '-585': BigInteger;
-        '-584': BigInteger;
-        '-583': BigInteger;
-        '-582': BigInteger;
-        '-581': BigInteger;
-        '-580': BigInteger;
-        '-579': BigInteger;
-        '-578': BigInteger;
-        '-577': BigInteger;
-        '-576': BigInteger;
-        '-575': BigInteger;
-        '-574': BigInteger;
-        '-573': BigInteger;
-        '-572': BigInteger;
-        '-571': BigInteger;
-        '-570': BigInteger;
-        '-569': BigInteger;
-        '-568': BigInteger;
-        '-567': BigInteger;
-        '-566': BigInteger;
-        '-565': BigInteger;
-        '-564': BigInteger;
-        '-563': BigInteger;
-        '-562': BigInteger;
-        '-561': BigInteger;
-        '-560': BigInteger;
-        '-559': BigInteger;
-        '-558': BigInteger;
-        '-557': BigInteger;
-        '-556': BigInteger;
-        '-555': BigInteger;
-        '-554': BigInteger;
-        '-553': BigInteger;
-        '-552': BigInteger;
-        '-551': BigInteger;
-        '-550': BigInteger;
-        '-549': BigInteger;
-        '-548': BigInteger;
-        '-547': BigInteger;
-        '-546': BigInteger;
-        '-545': BigInteger;
-        '-544': BigInteger;
-        '-543': BigInteger;
-        '-542': BigInteger;
-        '-541': BigInteger;
-        '-540': BigInteger;
-        '-539': BigInteger;
-        '-538': BigInteger;
-        '-537': BigInteger;
-        '-536': BigInteger;
-        '-535': BigInteger;
-        '-534': BigInteger;
-        '-533': BigInteger;
-        '-532': BigInteger;
-        '-531': BigInteger;
-        '-530': BigInteger;
-        '-529': BigInteger;
-        '-528': BigInteger;
-        '-527': BigInteger;
-        '-526': BigInteger;
-        '-525': BigInteger;
-        '-524': BigInteger;
-        '-523': BigInteger;
-        '-522': BigInteger;
-        '-521': BigInteger;
-        '-520': BigInteger;
-        '-519': BigInteger;
-        '-518': BigInteger;
-        '-517': BigInteger;
-        '-516': BigInteger;
-        '-515': BigInteger;
-        '-514': BigInteger;
-        '-513': BigInteger;
-        '-512': BigInteger;
-        '-511': BigInteger;
-        '-510': BigInteger;
-        '-509': BigInteger;
-        '-508': BigInteger;
-        '-507': BigInteger;
-        '-506': BigInteger;
-        '-505': BigInteger;
-        '-504': BigInteger;
-        '-503': BigInteger;
-        '-502': BigInteger;
-        '-501': BigInteger;
-        '-500': BigInteger;
-        '-499': BigInteger;
-        '-498': BigInteger;
-        '-497': BigInteger;
-        '-496': BigInteger;
-        '-495': BigInteger;
-        '-494': BigInteger;
-        '-493': BigInteger;
-        '-492': BigInteger;
-        '-491': BigInteger;
-        '-490': BigInteger;
-        '-489': BigInteger;
-        '-488': BigInteger;
-        '-487': BigInteger;
-        '-486': BigInteger;
-        '-485': BigInteger;
-        '-484': BigInteger;
-        '-483': BigInteger;
-        '-482': BigInteger;
-        '-481': BigInteger;
-        '-480': BigInteger;
-        '-479': BigInteger;
-        '-478': BigInteger;
-        '-477': BigInteger;
-        '-476': BigInteger;
-        '-475': BigInteger;
-        '-474': BigInteger;
-        '-473': BigInteger;
-        '-472': BigInteger;
-        '-471': BigInteger;
-        '-470': BigInteger;
-        '-469': BigInteger;
-        '-468': BigInteger;
-        '-467': BigInteger;
-        '-466': BigInteger;
-        '-465': BigInteger;
-        '-464': BigInteger;
-        '-463': BigInteger;
-        '-462': BigInteger;
-        '-461': BigInteger;
-        '-460': BigInteger;
-        '-459': BigInteger;
-        '-458': BigInteger;
-        '-457': BigInteger;
-        '-456': BigInteger;
-        '-455': BigInteger;
-        '-454': BigInteger;
-        '-453': BigInteger;
-        '-452': BigInteger;
-        '-451': BigInteger;
-        '-450': BigInteger;
-        '-449': BigInteger;
-        '-448': BigInteger;
-        '-447': BigInteger;
-        '-446': BigInteger;
-        '-445': BigInteger;
-        '-444': BigInteger;
-        '-443': BigInteger;
-        '-442': BigInteger;
-        '-441': BigInteger;
-        '-440': BigInteger;
-        '-439': BigInteger;
-        '-438': BigInteger;
-        '-437': BigInteger;
-        '-436': BigInteger;
-        '-435': BigInteger;
-        '-434': BigInteger;
-        '-433': BigInteger;
-        '-432': BigInteger;
-        '-431': BigInteger;
-        '-430': BigInteger;
-        '-429': BigInteger;
-        '-428': BigInteger;
-        '-427': BigInteger;
-        '-426': BigInteger;
-        '-425': BigInteger;
-        '-424': BigInteger;
-        '-423': BigInteger;
-        '-422': BigInteger;
-        '-421': BigInteger;
-        '-420': BigInteger;
-        '-419': BigInteger;
-        '-418': BigInteger;
-        '-417': BigInteger;
-        '-416': BigInteger;
-        '-415': BigInteger;
-        '-414': BigInteger;
-        '-413': BigInteger;
-        '-412': BigInteger;
-        '-411': BigInteger;
-        '-410': BigInteger;
-        '-409': BigInteger;
-        '-408': BigInteger;
-        '-407': BigInteger;
-        '-406': BigInteger;
-        '-405': BigInteger;
-        '-404': BigInteger;
-        '-403': BigInteger;
-        '-402': BigInteger;
-        '-401': BigInteger;
-        '-400': BigInteger;
-        '-399': BigInteger;
-        '-398': BigInteger;
-        '-397': BigInteger;
-        '-396': BigInteger;
-        '-395': BigInteger;
-        '-394': BigInteger;
-        '-393': BigInteger;
-        '-392': BigInteger;
-        '-391': BigInteger;
-        '-390': BigInteger;
-        '-389': BigInteger;
-        '-388': BigInteger;
-        '-387': BigInteger;
-        '-386': BigInteger;
-        '-385': BigInteger;
-        '-384': BigInteger;
-        '-383': BigInteger;
-        '-382': BigInteger;
-        '-381': BigInteger;
-        '-380': BigInteger;
-        '-379': BigInteger;
-        '-378': BigInteger;
-        '-377': BigInteger;
-        '-376': BigInteger;
-        '-375': BigInteger;
-        '-374': BigInteger;
-        '-373': BigInteger;
-        '-372': BigInteger;
-        '-371': BigInteger;
-        '-370': BigInteger;
-        '-369': BigInteger;
-        '-368': BigInteger;
-        '-367': BigInteger;
-        '-366': BigInteger;
-        '-365': BigInteger;
-        '-364': BigInteger;
-        '-363': BigInteger;
-        '-362': BigInteger;
-        '-361': BigInteger;
-        '-360': BigInteger;
-        '-359': BigInteger;
-        '-358': BigInteger;
-        '-357': BigInteger;
-        '-356': BigInteger;
-        '-355': BigInteger;
-        '-354': BigInteger;
-        '-353': BigInteger;
-        '-352': BigInteger;
-        '-351': BigInteger;
-        '-350': BigInteger;
-        '-349': BigInteger;
-        '-348': BigInteger;
-        '-347': BigInteger;
-        '-346': BigInteger;
-        '-345': BigInteger;
-        '-344': BigInteger;
-        '-343': BigInteger;
-        '-342': BigInteger;
-        '-341': BigInteger;
-        '-340': BigInteger;
-        '-339': BigInteger;
-        '-338': BigInteger;
-        '-337': BigInteger;
-        '-336': BigInteger;
-        '-335': BigInteger;
-        '-334': BigInteger;
-        '-333': BigInteger;
-        '-332': BigInteger;
-        '-331': BigInteger;
-        '-330': BigInteger;
-        '-329': BigInteger;
-        '-328': BigInteger;
-        '-327': BigInteger;
-        '-326': BigInteger;
-        '-325': BigInteger;
-        '-324': BigInteger;
-        '-323': BigInteger;
-        '-322': BigInteger;
-        '-321': BigInteger;
-        '-320': BigInteger;
-        '-319': BigInteger;
-        '-318': BigInteger;
-        '-317': BigInteger;
-        '-316': BigInteger;
-        '-315': BigInteger;
-        '-314': BigInteger;
-        '-313': BigInteger;
-        '-312': BigInteger;
-        '-311': BigInteger;
-        '-310': BigInteger;
-        '-309': BigInteger;
-        '-308': BigInteger;
-        '-307': BigInteger;
-        '-306': BigInteger;
-        '-305': BigInteger;
-        '-304': BigInteger;
-        '-303': BigInteger;
-        '-302': BigInteger;
-        '-301': BigInteger;
-        '-300': BigInteger;
-        '-299': BigInteger;
-        '-298': BigInteger;
-        '-297': BigInteger;
-        '-296': BigInteger;
-        '-295': BigInteger;
-        '-294': BigInteger;
-        '-293': BigInteger;
-        '-292': BigInteger;
-        '-291': BigInteger;
-        '-290': BigInteger;
-        '-289': BigInteger;
-        '-288': BigInteger;
-        '-287': BigInteger;
-        '-286': BigInteger;
-        '-285': BigInteger;
-        '-284': BigInteger;
-        '-283': BigInteger;
-        '-282': BigInteger;
-        '-281': BigInteger;
-        '-280': BigInteger;
-        '-279': BigInteger;
-        '-278': BigInteger;
-        '-277': BigInteger;
-        '-276': BigInteger;
-        '-275': BigInteger;
-        '-274': BigInteger;
-        '-273': BigInteger;
-        '-272': BigInteger;
-        '-271': BigInteger;
-        '-270': BigInteger;
-        '-269': BigInteger;
-        '-268': BigInteger;
-        '-267': BigInteger;
-        '-266': BigInteger;
-        '-265': BigInteger;
-        '-264': BigInteger;
-        '-263': BigInteger;
-        '-262': BigInteger;
-        '-261': BigInteger;
-        '-260': BigInteger;
-        '-259': BigInteger;
-        '-258': BigInteger;
-        '-257': BigInteger;
-        '-256': BigInteger;
-        '-255': BigInteger;
-        '-254': BigInteger;
-        '-253': BigInteger;
-        '-252': BigInteger;
-        '-251': BigInteger;
-        '-250': BigInteger;
-        '-249': BigInteger;
-        '-248': BigInteger;
-        '-247': BigInteger;
-        '-246': BigInteger;
-        '-245': BigInteger;
-        '-244': BigInteger;
-        '-243': BigInteger;
-        '-242': BigInteger;
-        '-241': BigInteger;
-        '-240': BigInteger;
-        '-239': BigInteger;
-        '-238': BigInteger;
-        '-237': BigInteger;
-        '-236': BigInteger;
-        '-235': BigInteger;
-        '-234': BigInteger;
-        '-233': BigInteger;
-        '-232': BigInteger;
-        '-231': BigInteger;
-        '-230': BigInteger;
-        '-229': BigInteger;
-        '-228': BigInteger;
-        '-227': BigInteger;
-        '-226': BigInteger;
-        '-225': BigInteger;
-        '-224': BigInteger;
-        '-223': BigInteger;
-        '-222': BigInteger;
-        '-221': BigInteger;
-        '-220': BigInteger;
-        '-219': BigInteger;
-        '-218': BigInteger;
-        '-217': BigInteger;
-        '-216': BigInteger;
-        '-215': BigInteger;
-        '-214': BigInteger;
-        '-213': BigInteger;
-        '-212': BigInteger;
-        '-211': BigInteger;
-        '-210': BigInteger;
-        '-209': BigInteger;
-        '-208': BigInteger;
-        '-207': BigInteger;
-        '-206': BigInteger;
-        '-205': BigInteger;
-        '-204': BigInteger;
-        '-203': BigInteger;
-        '-202': BigInteger;
-        '-201': BigInteger;
-        '-200': BigInteger;
-        '-199': BigInteger;
-        '-198': BigInteger;
-        '-197': BigInteger;
-        '-196': BigInteger;
-        '-195': BigInteger;
-        '-194': BigInteger;
-        '-193': BigInteger;
-        '-192': BigInteger;
-        '-191': BigInteger;
-        '-190': BigInteger;
-        '-189': BigInteger;
-        '-188': BigInteger;
-        '-187': BigInteger;
-        '-186': BigInteger;
-        '-185': BigInteger;
-        '-184': BigInteger;
-        '-183': BigInteger;
-        '-182': BigInteger;
-        '-181': BigInteger;
-        '-180': BigInteger;
-        '-179': BigInteger;
-        '-178': BigInteger;
-        '-177': BigInteger;
-        '-176': BigInteger;
-        '-175': BigInteger;
-        '-174': BigInteger;
-        '-173': BigInteger;
-        '-172': BigInteger;
-        '-171': BigInteger;
-        '-170': BigInteger;
-        '-169': BigInteger;
-        '-168': BigInteger;
-        '-167': BigInteger;
-        '-166': BigInteger;
-        '-165': BigInteger;
-        '-164': BigInteger;
-        '-163': BigInteger;
-        '-162': BigInteger;
-        '-161': BigInteger;
-        '-160': BigInteger;
-        '-159': BigInteger;
-        '-158': BigInteger;
-        '-157': BigInteger;
-        '-156': BigInteger;
-        '-155': BigInteger;
-        '-154': BigInteger;
-        '-153': BigInteger;
-        '-152': BigInteger;
-        '-151': BigInteger;
-        '-150': BigInteger;
-        '-149': BigInteger;
-        '-148': BigInteger;
-        '-147': BigInteger;
-        '-146': BigInteger;
-        '-145': BigInteger;
-        '-144': BigInteger;
-        '-143': BigInteger;
-        '-142': BigInteger;
-        '-141': BigInteger;
-        '-140': BigInteger;
-        '-139': BigInteger;
-        '-138': BigInteger;
-        '-137': BigInteger;
-        '-136': BigInteger;
-        '-135': BigInteger;
-        '-134': BigInteger;
-        '-133': BigInteger;
-        '-132': BigInteger;
-        '-131': BigInteger;
-        '-130': BigInteger;
-        '-129': BigInteger;
-        '-128': BigInteger;
-        '-127': BigInteger;
-        '-126': BigInteger;
-        '-125': BigInteger;
-        '-124': BigInteger;
-        '-123': BigInteger;
-        '-122': BigInteger;
-        '-121': BigInteger;
-        '-120': BigInteger;
-        '-119': BigInteger;
-        '-118': BigInteger;
-        '-117': BigInteger;
-        '-116': BigInteger;
-        '-115': BigInteger;
-        '-114': BigInteger;
-        '-113': BigInteger;
-        '-112': BigInteger;
-        '-111': BigInteger;
-        '-110': BigInteger;
-        '-109': BigInteger;
-        '-108': BigInteger;
-        '-107': BigInteger;
-        '-106': BigInteger;
-        '-105': BigInteger;
-        '-104': BigInteger;
-        '-103': BigInteger;
-        '-102': BigInteger;
-        '-101': BigInteger;
-        '-100': BigInteger;
-        '-99': BigInteger;
-        '-98': BigInteger;
-        '-97': BigInteger;
-        '-96': BigInteger;
-        '-95': BigInteger;
-        '-94': BigInteger;
-        '-93': BigInteger;
-        '-92': BigInteger;
-        '-91': BigInteger;
-        '-90': BigInteger;
-        '-89': BigInteger;
-        '-88': BigInteger;
-        '-87': BigInteger;
-        '-86': BigInteger;
-        '-85': BigInteger;
-        '-84': BigInteger;
-        '-83': BigInteger;
-        '-82': BigInteger;
-        '-81': BigInteger;
-        '-80': BigInteger;
-        '-79': BigInteger;
-        '-78': BigInteger;
-        '-77': BigInteger;
-        '-76': BigInteger;
-        '-75': BigInteger;
-        '-74': BigInteger;
-        '-73': BigInteger;
-        '-72': BigInteger;
-        '-71': BigInteger;
-        '-70': BigInteger;
-        '-69': BigInteger;
-        '-68': BigInteger;
-        '-67': BigInteger;
-        '-66': BigInteger;
-        '-65': BigInteger;
-        '-64': BigInteger;
-        '-63': BigInteger;
-        '-62': BigInteger;
-        '-61': BigInteger;
-        '-60': BigInteger;
-        '-59': BigInteger;
-        '-58': BigInteger;
-        '-57': BigInteger;
-        '-56': BigInteger;
-        '-55': BigInteger;
-        '-54': BigInteger;
-        '-53': BigInteger;
-        '-52': BigInteger;
-        '-51': BigInteger;
-        '-50': BigInteger;
-        '-49': BigInteger;
-        '-48': BigInteger;
-        '-47': BigInteger;
-        '-46': BigInteger;
-        '-45': BigInteger;
-        '-44': BigInteger;
-        '-43': BigInteger;
-        '-42': BigInteger;
-        '-41': BigInteger;
-        '-40': BigInteger;
-        '-39': BigInteger;
-        '-38': BigInteger;
-        '-37': BigInteger;
-        '-36': BigInteger;
-        '-35': BigInteger;
-        '-34': BigInteger;
-        '-33': BigInteger;
-        '-32': BigInteger;
-        '-31': BigInteger;
-        '-30': BigInteger;
-        '-29': BigInteger;
-        '-28': BigInteger;
-        '-27': BigInteger;
-        '-26': BigInteger;
-        '-25': BigInteger;
-        '-24': BigInteger;
-        '-23': BigInteger;
-        '-22': BigInteger;
-        '-21': BigInteger;
-        '-20': BigInteger;
-        '-19': BigInteger;
-        '-18': BigInteger;
-        '-17': BigInteger;
-        '-16': BigInteger;
-        '-15': BigInteger;
-        '-14': BigInteger;
-        '-13': BigInteger;
-        '-12': BigInteger;
-        '-11': BigInteger;
-        '-10': BigInteger;
-        '-9': BigInteger;
-        '-8': BigInteger;
-        '-7': BigInteger;
-        '-6': BigInteger;
-        '-5': BigInteger;
-        '-4': BigInteger;
-        '-3': BigInteger;
-        '-2': BigInteger;
-        '-1': BigInteger;
-        '0': BigInteger;
-        '1': BigInteger;
-        '2': BigInteger;
-        '3': BigInteger;
-        '4': BigInteger;
-        '5': BigInteger;
-        '6': BigInteger;
-        '7': BigInteger;
-        '8': BigInteger;
-        '9': BigInteger;
-        '10': BigInteger;
-        '11': BigInteger;
-        '12': BigInteger;
-        '13': BigInteger;
-        '14': BigInteger;
-        '15': BigInteger;
-        '16': BigInteger;
-        '17': BigInteger;
-        '18': BigInteger;
-        '19': BigInteger;
-        '20': BigInteger;
-        '21': BigInteger;
-        '22': BigInteger;
-        '23': BigInteger;
-        '24': BigInteger;
-        '25': BigInteger;
-        '26': BigInteger;
-        '27': BigInteger;
-        '28': BigInteger;
-        '29': BigInteger;
-        '30': BigInteger;
-        '31': BigInteger;
-        '32': BigInteger;
-        '33': BigInteger;
-        '34': BigInteger;
-        '35': BigInteger;
-        '36': BigInteger;
-        '37': BigInteger;
-        '38': BigInteger;
-        '39': BigInteger;
-        '40': BigInteger;
-        '41': BigInteger;
-        '42': BigInteger;
-        '43': BigInteger;
-        '44': BigInteger;
-        '45': BigInteger;
-        '46': BigInteger;
-        '47': BigInteger;
-        '48': BigInteger;
-        '49': BigInteger;
-        '50': BigInteger;
-        '51': BigInteger;
-        '52': BigInteger;
-        '53': BigInteger;
-        '54': BigInteger;
-        '55': BigInteger;
-        '56': BigInteger;
-        '57': BigInteger;
-        '58': BigInteger;
-        '59': BigInteger;
-        '60': BigInteger;
-        '61': BigInteger;
-        '62': BigInteger;
-        '63': BigInteger;
-        '64': BigInteger;
-        '65': BigInteger;
-        '66': BigInteger;
-        '67': BigInteger;
-        '68': BigInteger;
-        '69': BigInteger;
-        '70': BigInteger;
-        '71': BigInteger;
-        '72': BigInteger;
-        '73': BigInteger;
-        '74': BigInteger;
-        '75': BigInteger;
-        '76': BigInteger;
-        '77': BigInteger;
-        '78': BigInteger;
-        '79': BigInteger;
-        '80': BigInteger;
-        '81': BigInteger;
-        '82': BigInteger;
-        '83': BigInteger;
-        '84': BigInteger;
-        '85': BigInteger;
-        '86': BigInteger;
-        '87': BigInteger;
-        '88': BigInteger;
-        '89': BigInteger;
-        '90': BigInteger;
-        '91': BigInteger;
-        '92': BigInteger;
-        '93': BigInteger;
-        '94': BigInteger;
-        '95': BigInteger;
-        '96': BigInteger;
-        '97': BigInteger;
-        '98': BigInteger;
-        '99': BigInteger;
-        '100': BigInteger;
-        '101': BigInteger;
-        '102': BigInteger;
-        '103': BigInteger;
-        '104': BigInteger;
-        '105': BigInteger;
-        '106': BigInteger;
-        '107': BigInteger;
-        '108': BigInteger;
-        '109': BigInteger;
-        '110': BigInteger;
-        '111': BigInteger;
-        '112': BigInteger;
-        '113': BigInteger;
-        '114': BigInteger;
-        '115': BigInteger;
-        '116': BigInteger;
-        '117': BigInteger;
-        '118': BigInteger;
-        '119': BigInteger;
-        '120': BigInteger;
-        '121': BigInteger;
-        '122': BigInteger;
-        '123': BigInteger;
-        '124': BigInteger;
-        '125': BigInteger;
-        '126': BigInteger;
-        '127': BigInteger;
-        '128': BigInteger;
-        '129': BigInteger;
-        '130': BigInteger;
-        '131': BigInteger;
-        '132': BigInteger;
-        '133': BigInteger;
-        '134': BigInteger;
-        '135': BigInteger;
-        '136': BigInteger;
-        '137': BigInteger;
-        '138': BigInteger;
-        '139': BigInteger;
-        '140': BigInteger;
-        '141': BigInteger;
-        '142': BigInteger;
-        '143': BigInteger;
-        '144': BigInteger;
-        '145': BigInteger;
-        '146': BigInteger;
-        '147': BigInteger;
-        '148': BigInteger;
-        '149': BigInteger;
-        '150': BigInteger;
-        '151': BigInteger;
-        '152': BigInteger;
-        '153': BigInteger;
-        '154': BigInteger;
-        '155': BigInteger;
-        '156': BigInteger;
-        '157': BigInteger;
-        '158': BigInteger;
-        '159': BigInteger;
-        '160': BigInteger;
-        '161': BigInteger;
-        '162': BigInteger;
-        '163': BigInteger;
-        '164': BigInteger;
-        '165': BigInteger;
-        '166': BigInteger;
-        '167': BigInteger;
-        '168': BigInteger;
-        '169': BigInteger;
-        '170': BigInteger;
-        '171': BigInteger;
-        '172': BigInteger;
-        '173': BigInteger;
-        '174': BigInteger;
-        '175': BigInteger;
-        '176': BigInteger;
-        '177': BigInteger;
-        '178': BigInteger;
-        '179': BigInteger;
-        '180': BigInteger;
-        '181': BigInteger;
-        '182': BigInteger;
-        '183': BigInteger;
-        '184': BigInteger;
-        '185': BigInteger;
-        '186': BigInteger;
-        '187': BigInteger;
-        '188': BigInteger;
-        '189': BigInteger;
-        '190': BigInteger;
-        '191': BigInteger;
-        '192': BigInteger;
-        '193': BigInteger;
-        '194': BigInteger;
-        '195': BigInteger;
-        '196': BigInteger;
-        '197': BigInteger;
-        '198': BigInteger;
-        '199': BigInteger;
-        '200': BigInteger;
-        '201': BigInteger;
-        '202': BigInteger;
-        '203': BigInteger;
-        '204': BigInteger;
-        '205': BigInteger;
-        '206': BigInteger;
-        '207': BigInteger;
-        '208': BigInteger;
-        '209': BigInteger;
-        '210': BigInteger;
-        '211': BigInteger;
-        '212': BigInteger;
-        '213': BigInteger;
-        '214': BigInteger;
-        '215': BigInteger;
-        '216': BigInteger;
-        '217': BigInteger;
-        '218': BigInteger;
-        '219': BigInteger;
-        '220': BigInteger;
-        '221': BigInteger;
-        '222': BigInteger;
-        '223': BigInteger;
-        '224': BigInteger;
-        '225': BigInteger;
-        '226': BigInteger;
-        '227': BigInteger;
-        '228': BigInteger;
-        '229': BigInteger;
-        '230': BigInteger;
-        '231': BigInteger;
-        '232': BigInteger;
-        '233': BigInteger;
-        '234': BigInteger;
-        '235': BigInteger;
-        '236': BigInteger;
-        '237': BigInteger;
-        '238': BigInteger;
-        '239': BigInteger;
-        '240': BigInteger;
-        '241': BigInteger;
-        '242': BigInteger;
-        '243': BigInteger;
-        '244': BigInteger;
-        '245': BigInteger;
-        '246': BigInteger;
-        '247': BigInteger;
-        '248': BigInteger;
-        '249': BigInteger;
-        '250': BigInteger;
-        '251': BigInteger;
-        '252': BigInteger;
-        '253': BigInteger;
-        '254': BigInteger;
-        '255': BigInteger;
-        '256': BigInteger;
-        '257': BigInteger;
-        '258': BigInteger;
-        '259': BigInteger;
-        '260': BigInteger;
-        '261': BigInteger;
-        '262': BigInteger;
-        '263': BigInteger;
-        '264': BigInteger;
-        '265': BigInteger;
-        '266': BigInteger;
-        '267': BigInteger;
-        '268': BigInteger;
-        '269': BigInteger;
-        '270': BigInteger;
-        '271': BigInteger;
-        '272': BigInteger;
-        '273': BigInteger;
-        '274': BigInteger;
-        '275': BigInteger;
-        '276': BigInteger;
-        '277': BigInteger;
-        '278': BigInteger;
-        '279': BigInteger;
-        '280': BigInteger;
-        '281': BigInteger;
-        '282': BigInteger;
-        '283': BigInteger;
-        '284': BigInteger;
-        '285': BigInteger;
-        '286': BigInteger;
-        '287': BigInteger;
-        '288': BigInteger;
-        '289': BigInteger;
-        '290': BigInteger;
-        '291': BigInteger;
-        '292': BigInteger;
-        '293': BigInteger;
-        '294': BigInteger;
-        '295': BigInteger;
-        '296': BigInteger;
-        '297': BigInteger;
-        '298': BigInteger;
-        '299': BigInteger;
-        '300': BigInteger;
-        '301': BigInteger;
-        '302': BigInteger;
-        '303': BigInteger;
-        '304': BigInteger;
-        '305': BigInteger;
-        '306': BigInteger;
-        '307': BigInteger;
-        '308': BigInteger;
-        '309': BigInteger;
-        '310': BigInteger;
-        '311': BigInteger;
-        '312': BigInteger;
-        '313': BigInteger;
-        '314': BigInteger;
-        '315': BigInteger;
-        '316': BigInteger;
-        '317': BigInteger;
-        '318': BigInteger;
-        '319': BigInteger;
-        '320': BigInteger;
-        '321': BigInteger;
-        '322': BigInteger;
-        '323': BigInteger;
-        '324': BigInteger;
-        '325': BigInteger;
-        '326': BigInteger;
-        '327': BigInteger;
-        '328': BigInteger;
-        '329': BigInteger;
-        '330': BigInteger;
-        '331': BigInteger;
-        '332': BigInteger;
-        '333': BigInteger;
-        '334': BigInteger;
-        '335': BigInteger;
-        '336': BigInteger;
-        '337': BigInteger;
-        '338': BigInteger;
-        '339': BigInteger;
-        '340': BigInteger;
-        '341': BigInteger;
-        '342': BigInteger;
-        '343': BigInteger;
-        '344': BigInteger;
-        '345': BigInteger;
-        '346': BigInteger;
-        '347': BigInteger;
-        '348': BigInteger;
-        '349': BigInteger;
-        '350': BigInteger;
-        '351': BigInteger;
-        '352': BigInteger;
-        '353': BigInteger;
-        '354': BigInteger;
-        '355': BigInteger;
-        '356': BigInteger;
-        '357': BigInteger;
-        '358': BigInteger;
-        '359': BigInteger;
-        '360': BigInteger;
-        '361': BigInteger;
-        '362': BigInteger;
-        '363': BigInteger;
-        '364': BigInteger;
-        '365': BigInteger;
-        '366': BigInteger;
-        '367': BigInteger;
-        '368': BigInteger;
-        '369': BigInteger;
-        '370': BigInteger;
-        '371': BigInteger;
-        '372': BigInteger;
-        '373': BigInteger;
-        '374': BigInteger;
-        '375': BigInteger;
-        '376': BigInteger;
-        '377': BigInteger;
-        '378': BigInteger;
-        '379': BigInteger;
-        '380': BigInteger;
-        '381': BigInteger;
-        '382': BigInteger;
-        '383': BigInteger;
-        '384': BigInteger;
-        '385': BigInteger;
-        '386': BigInteger;
-        '387': BigInteger;
-        '388': BigInteger;
-        '389': BigInteger;
-        '390': BigInteger;
-        '391': BigInteger;
-        '392': BigInteger;
-        '393': BigInteger;
-        '394': BigInteger;
-        '395': BigInteger;
-        '396': BigInteger;
-        '397': BigInteger;
-        '398': BigInteger;
-        '399': BigInteger;
-        '400': BigInteger;
-        '401': BigInteger;
-        '402': BigInteger;
-        '403': BigInteger;
-        '404': BigInteger;
-        '405': BigInteger;
-        '406': BigInteger;
-        '407': BigInteger;
-        '408': BigInteger;
-        '409': BigInteger;
-        '410': BigInteger;
-        '411': BigInteger;
-        '412': BigInteger;
-        '413': BigInteger;
-        '414': BigInteger;
-        '415': BigInteger;
-        '416': BigInteger;
-        '417': BigInteger;
-        '418': BigInteger;
-        '419': BigInteger;
-        '420': BigInteger;
-        '421': BigInteger;
-        '422': BigInteger;
-        '423': BigInteger;
-        '424': BigInteger;
-        '425': BigInteger;
-        '426': BigInteger;
-        '427': BigInteger;
-        '428': BigInteger;
-        '429': BigInteger;
-        '430': BigInteger;
-        '431': BigInteger;
-        '432': BigInteger;
-        '433': BigInteger;
-        '434': BigInteger;
-        '435': BigInteger;
-        '436': BigInteger;
-        '437': BigInteger;
-        '438': BigInteger;
-        '439': BigInteger;
-        '440': BigInteger;
-        '441': BigInteger;
-        '442': BigInteger;
-        '443': BigInteger;
-        '444': BigInteger;
-        '445': BigInteger;
-        '446': BigInteger;
-        '447': BigInteger;
-        '448': BigInteger;
-        '449': BigInteger;
-        '450': BigInteger;
-        '451': BigInteger;
-        '452': BigInteger;
-        '453': BigInteger;
-        '454': BigInteger;
-        '455': BigInteger;
-        '456': BigInteger;
-        '457': BigInteger;
-        '458': BigInteger;
-        '459': BigInteger;
-        '460': BigInteger;
-        '461': BigInteger;
-        '462': BigInteger;
-        '463': BigInteger;
-        '464': BigInteger;
-        '465': BigInteger;
-        '466': BigInteger;
-        '467': BigInteger;
-        '468': BigInteger;
-        '469': BigInteger;
-        '470': BigInteger;
-        '471': BigInteger;
-        '472': BigInteger;
-        '473': BigInteger;
-        '474': BigInteger;
-        '475': BigInteger;
-        '476': BigInteger;
-        '477': BigInteger;
-        '478': BigInteger;
-        '479': BigInteger;
-        '480': BigInteger;
-        '481': BigInteger;
-        '482': BigInteger;
-        '483': BigInteger;
-        '484': BigInteger;
-        '485': BigInteger;
-        '486': BigInteger;
-        '487': BigInteger;
-        '488': BigInteger;
-        '489': BigInteger;
-        '490': BigInteger;
-        '491': BigInteger;
-        '492': BigInteger;
-        '493': BigInteger;
-        '494': BigInteger;
-        '495': BigInteger;
-        '496': BigInteger;
-        '497': BigInteger;
-        '498': BigInteger;
-        '499': BigInteger;
-        '500': BigInteger;
-        '501': BigInteger;
-        '502': BigInteger;
-        '503': BigInteger;
-        '504': BigInteger;
-        '505': BigInteger;
-        '506': BigInteger;
-        '507': BigInteger;
-        '508': BigInteger;
-        '509': BigInteger;
-        '510': BigInteger;
-        '511': BigInteger;
-        '512': BigInteger;
-        '513': BigInteger;
-        '514': BigInteger;
-        '515': BigInteger;
-        '516': BigInteger;
-        '517': BigInteger;
-        '518': BigInteger;
-        '519': BigInteger;
-        '520': BigInteger;
-        '521': BigInteger;
-        '522': BigInteger;
-        '523': BigInteger;
-        '524': BigInteger;
-        '525': BigInteger;
-        '526': BigInteger;
-        '527': BigInteger;
-        '528': BigInteger;
-        '529': BigInteger;
-        '530': BigInteger;
-        '531': BigInteger;
-        '532': BigInteger;
-        '533': BigInteger;
-        '534': BigInteger;
-        '535': BigInteger;
-        '536': BigInteger;
-        '537': BigInteger;
-        '538': BigInteger;
-        '539': BigInteger;
-        '540': BigInteger;
-        '541': BigInteger;
-        '542': BigInteger;
-        '543': BigInteger;
-        '544': BigInteger;
-        '545': BigInteger;
-        '546': BigInteger;
-        '547': BigInteger;
-        '548': BigInteger;
-        '549': BigInteger;
-        '550': BigInteger;
-        '551': BigInteger;
-        '552': BigInteger;
-        '553': BigInteger;
-        '554': BigInteger;
-        '555': BigInteger;
-        '556': BigInteger;
-        '557': BigInteger;
-        '558': BigInteger;
-        '559': BigInteger;
-        '560': BigInteger;
-        '561': BigInteger;
-        '562': BigInteger;
-        '563': BigInteger;
-        '564': BigInteger;
-        '565': BigInteger;
-        '566': BigInteger;
-        '567': BigInteger;
-        '568': BigInteger;
-        '569': BigInteger;
-        '570': BigInteger;
-        '571': BigInteger;
-        '572': BigInteger;
-        '573': BigInteger;
-        '574': BigInteger;
-        '575': BigInteger;
-        '576': BigInteger;
-        '577': BigInteger;
-        '578': BigInteger;
-        '579': BigInteger;
-        '580': BigInteger;
-        '581': BigInteger;
-        '582': BigInteger;
-        '583': BigInteger;
-        '584': BigInteger;
-        '585': BigInteger;
-        '586': BigInteger;
-        '587': BigInteger;
-        '588': BigInteger;
-        '589': BigInteger;
-        '590': BigInteger;
-        '591': BigInteger;
-        '592': BigInteger;
-        '593': BigInteger;
-        '594': BigInteger;
-        '595': BigInteger;
-        '596': BigInteger;
-        '597': BigInteger;
-        '598': BigInteger;
-        '599': BigInteger;
-        '600': BigInteger;
-        '601': BigInteger;
-        '602': BigInteger;
-        '603': BigInteger;
-        '604': BigInteger;
-        '605': BigInteger;
-        '606': BigInteger;
-        '607': BigInteger;
-        '608': BigInteger;
-        '609': BigInteger;
-        '610': BigInteger;
-        '611': BigInteger;
-        '612': BigInteger;
-        '613': BigInteger;
-        '614': BigInteger;
-        '615': BigInteger;
-        '616': BigInteger;
-        '617': BigInteger;
-        '618': BigInteger;
-        '619': BigInteger;
-        '620': BigInteger;
-        '621': BigInteger;
-        '622': BigInteger;
-        '623': BigInteger;
-        '624': BigInteger;
-        '625': BigInteger;
-        '626': BigInteger;
-        '627': BigInteger;
-        '628': BigInteger;
-        '629': BigInteger;
-        '630': BigInteger;
-        '631': BigInteger;
-        '632': BigInteger;
-        '633': BigInteger;
-        '634': BigInteger;
-        '635': BigInteger;
-        '636': BigInteger;
-        '637': BigInteger;
-        '638': BigInteger;
-        '639': BigInteger;
-        '640': BigInteger;
-        '641': BigInteger;
-        '642': BigInteger;
-        '643': BigInteger;
-        '644': BigInteger;
-        '645': BigInteger;
-        '646': BigInteger;
-        '647': BigInteger;
-        '648': BigInteger;
-        '649': BigInteger;
-        '650': BigInteger;
-        '651': BigInteger;
-        '652': BigInteger;
-        '653': BigInteger;
-        '654': BigInteger;
-        '655': BigInteger;
-        '656': BigInteger;
-        '657': BigInteger;
-        '658': BigInteger;
-        '659': BigInteger;
-        '660': BigInteger;
-        '661': BigInteger;
-        '662': BigInteger;
-        '663': BigInteger;
-        '664': BigInteger;
-        '665': BigInteger;
-        '666': BigInteger;
-        '667': BigInteger;
-        '668': BigInteger;
-        '669': BigInteger;
-        '670': BigInteger;
-        '671': BigInteger;
-        '672': BigInteger;
-        '673': BigInteger;
-        '674': BigInteger;
-        '675': BigInteger;
-        '676': BigInteger;
-        '677': BigInteger;
-        '678': BigInteger;
-        '679': BigInteger;
-        '680': BigInteger;
-        '681': BigInteger;
-        '682': BigInteger;
-        '683': BigInteger;
-        '684': BigInteger;
-        '685': BigInteger;
-        '686': BigInteger;
-        '687': BigInteger;
-        '688': BigInteger;
-        '689': BigInteger;
-        '690': BigInteger;
-        '691': BigInteger;
-        '692': BigInteger;
-        '693': BigInteger;
-        '694': BigInteger;
-        '695': BigInteger;
-        '696': BigInteger;
-        '697': BigInteger;
-        '698': BigInteger;
-        '699': BigInteger;
-        '700': BigInteger;
-        '701': BigInteger;
-        '702': BigInteger;
-        '703': BigInteger;
-        '704': BigInteger;
-        '705': BigInteger;
-        '706': BigInteger;
-        '707': BigInteger;
-        '708': BigInteger;
-        '709': BigInteger;
-        '710': BigInteger;
-        '711': BigInteger;
-        '712': BigInteger;
-        '713': BigInteger;
-        '714': BigInteger;
-        '715': BigInteger;
-        '716': BigInteger;
-        '717': BigInteger;
-        '718': BigInteger;
-        '719': BigInteger;
-        '720': BigInteger;
-        '721': BigInteger;
-        '722': BigInteger;
-        '723': BigInteger;
-        '724': BigInteger;
-        '725': BigInteger;
-        '726': BigInteger;
-        '727': BigInteger;
-        '728': BigInteger;
-        '729': BigInteger;
-        '730': BigInteger;
-        '731': BigInteger;
-        '732': BigInteger;
-        '733': BigInteger;
-        '734': BigInteger;
-        '735': BigInteger;
-        '736': BigInteger;
-        '737': BigInteger;
-        '738': BigInteger;
-        '739': BigInteger;
-        '740': BigInteger;
-        '741': BigInteger;
-        '742': BigInteger;
-        '743': BigInteger;
-        '744': BigInteger;
-        '745': BigInteger;
-        '746': BigInteger;
-        '747': BigInteger;
-        '748': BigInteger;
-        '749': BigInteger;
-        '750': BigInteger;
-        '751': BigInteger;
-        '752': BigInteger;
-        '753': BigInteger;
-        '754': BigInteger;
-        '755': BigInteger;
-        '756': BigInteger;
-        '757': BigInteger;
-        '758': BigInteger;
-        '759': BigInteger;
-        '760': BigInteger;
-        '761': BigInteger;
-        '762': BigInteger;
-        '763': BigInteger;
-        '764': BigInteger;
-        '765': BigInteger;
-        '766': BigInteger;
-        '767': BigInteger;
-        '768': BigInteger;
-        '769': BigInteger;
-        '770': BigInteger;
-        '771': BigInteger;
-        '772': BigInteger;
-        '773': BigInteger;
-        '774': BigInteger;
-        '775': BigInteger;
-        '776': BigInteger;
-        '777': BigInteger;
-        '778': BigInteger;
-        '779': BigInteger;
-        '780': BigInteger;
-        '781': BigInteger;
-        '782': BigInteger;
-        '783': BigInteger;
-        '784': BigInteger;
-        '785': BigInteger;
-        '786': BigInteger;
-        '787': BigInteger;
-        '788': BigInteger;
-        '789': BigInteger;
-        '790': BigInteger;
-        '791': BigInteger;
-        '792': BigInteger;
-        '793': BigInteger;
-        '794': BigInteger;
-        '795': BigInteger;
-        '796': BigInteger;
-        '797': BigInteger;
-        '798': BigInteger;
-        '799': BigInteger;
-        '800': BigInteger;
-        '801': BigInteger;
-        '802': BigInteger;
-        '803': BigInteger;
-        '804': BigInteger;
-        '805': BigInteger;
-        '806': BigInteger;
-        '807': BigInteger;
-        '808': BigInteger;
-        '809': BigInteger;
-        '810': BigInteger;
-        '811': BigInteger;
-        '812': BigInteger;
-        '813': BigInteger;
-        '814': BigInteger;
-        '815': BigInteger;
-        '816': BigInteger;
-        '817': BigInteger;
-        '818': BigInteger;
-        '819': BigInteger;
-        '820': BigInteger;
-        '821': BigInteger;
-        '822': BigInteger;
-        '823': BigInteger;
-        '824': BigInteger;
-        '825': BigInteger;
-        '826': BigInteger;
-        '827': BigInteger;
-        '828': BigInteger;
-        '829': BigInteger;
-        '830': BigInteger;
-        '831': BigInteger;
-        '832': BigInteger;
-        '833': BigInteger;
-        '834': BigInteger;
-        '835': BigInteger;
-        '836': BigInteger;
-        '837': BigInteger;
-        '838': BigInteger;
-        '839': BigInteger;
-        '840': BigInteger;
-        '841': BigInteger;
-        '842': BigInteger;
-        '843': BigInteger;
-        '844': BigInteger;
-        '845': BigInteger;
-        '846': BigInteger;
-        '847': BigInteger;
-        '848': BigInteger;
-        '849': BigInteger;
-        '850': BigInteger;
-        '851': BigInteger;
-        '852': BigInteger;
-        '853': BigInteger;
-        '854': BigInteger;
-        '855': BigInteger;
-        '856': BigInteger;
-        '857': BigInteger;
-        '858': BigInteger;
-        '859': BigInteger;
-        '860': BigInteger;
-        '861': BigInteger;
-        '862': BigInteger;
-        '863': BigInteger;
-        '864': BigInteger;
-        '865': BigInteger;
-        '866': BigInteger;
-        '867': BigInteger;
-        '868': BigInteger;
-        '869': BigInteger;
-        '870': BigInteger;
-        '871': BigInteger;
-        '872': BigInteger;
-        '873': BigInteger;
-        '874': BigInteger;
-        '875': BigInteger;
-        '876': BigInteger;
-        '877': BigInteger;
-        '878': BigInteger;
-        '879': BigInteger;
-        '880': BigInteger;
-        '881': BigInteger;
-        '882': BigInteger;
-        '883': BigInteger;
-        '884': BigInteger;
-        '885': BigInteger;
-        '886': BigInteger;
-        '887': BigInteger;
-        '888': BigInteger;
-        '889': BigInteger;
-        '890': BigInteger;
-        '891': BigInteger;
-        '892': BigInteger;
-        '893': BigInteger;
-        '894': BigInteger;
-        '895': BigInteger;
-        '896': BigInteger;
-        '897': BigInteger;
-        '898': BigInteger;
-        '899': BigInteger;
-        '900': BigInteger;
-        '901': BigInteger;
-        '902': BigInteger;
-        '903': BigInteger;
-        '904': BigInteger;
-        '905': BigInteger;
-        '906': BigInteger;
-        '907': BigInteger;
-        '908': BigInteger;
-        '909': BigInteger;
-        '910': BigInteger;
-        '911': BigInteger;
-        '912': BigInteger;
-        '913': BigInteger;
-        '914': BigInteger;
-        '915': BigInteger;
-        '916': BigInteger;
-        '917': BigInteger;
-        '918': BigInteger;
-        '919': BigInteger;
-        '920': BigInteger;
-        '921': BigInteger;
-        '922': BigInteger;
-        '923': BigInteger;
-        '924': BigInteger;
-        '925': BigInteger;
-        '926': BigInteger;
-        '927': BigInteger;
-        '928': BigInteger;
-        '929': BigInteger;
-        '930': BigInteger;
-        '931': BigInteger;
-        '932': BigInteger;
-        '933': BigInteger;
-        '934': BigInteger;
-        '935': BigInteger;
-        '936': BigInteger;
-        '937': BigInteger;
-        '938': BigInteger;
-        '939': BigInteger;
-        '940': BigInteger;
-        '941': BigInteger;
-        '942': BigInteger;
-        '943': BigInteger;
-        '944': BigInteger;
-        '945': BigInteger;
-        '946': BigInteger;
-        '947': BigInteger;
-        '948': BigInteger;
-        '949': BigInteger;
-        '950': BigInteger;
-        '951': BigInteger;
-        '952': BigInteger;
-        '953': BigInteger;
-        '954': BigInteger;
-        '955': BigInteger;
-        '956': BigInteger;
-        '957': BigInteger;
-        '958': BigInteger;
-        '959': BigInteger;
-        '960': BigInteger;
-        '961': BigInteger;
-        '962': BigInteger;
-        '963': BigInteger;
-        '964': BigInteger;
-        '965': BigInteger;
-        '966': BigInteger;
-        '967': BigInteger;
-        '968': BigInteger;
-        '969': BigInteger;
-        '970': BigInteger;
-        '971': BigInteger;
-        '972': BigInteger;
-        '973': BigInteger;
-        '974': BigInteger;
-        '975': BigInteger;
-        '976': BigInteger;
-        '977': BigInteger;
-        '978': BigInteger;
-        '979': BigInteger;
-        '980': BigInteger;
-        '981': BigInteger;
-        '982': BigInteger;
-        '983': BigInteger;
-        '984': BigInteger;
-        '985': BigInteger;
-        '986': BigInteger;
-        '987': BigInteger;
-        '988': BigInteger;
-        '989': BigInteger;
-        '990': BigInteger;
-        '991': BigInteger;
-        '992': BigInteger;
-        '993': BigInteger;
-        '994': BigInteger;
-        '995': BigInteger;
-        '996': BigInteger;
-        '997': BigInteger;
-        '998': BigInteger;
-        '999': BigInteger;
-    }
-}
diff --git a/node_modules/big-integer/BigInteger.js b/node_modules/big-integer/BigInteger.js
deleted file mode 100644
index 8ba8843..0000000
--- a/node_modules/big-integer/BigInteger.js
+++ /dev/null
@@ -1,1253 +0,0 @@
-var bigInt = (function (undefined) {
-    "use strict";
-
-    var BASE = 1e7,
-        LOG_BASE = 7,
-        MAX_INT = 9007199254740992,
-        MAX_INT_ARR = smallToArray(MAX_INT),
-        LOG_MAX_INT = Math.log(MAX_INT);
-
-    function Integer(v, radix) {
-        if (typeof v === "undefined") return Integer[0];
-        if (typeof radix !== "undefined") return +radix === 10 ? parseValue(v) : parseBase(v, radix);
-        return parseValue(v);
-    }
-
-    function BigInteger(value, sign) {
-        this.value = value;
-        this.sign = sign;
-        this.isSmall = false;
-    }
-    BigInteger.prototype = Object.create(Integer.prototype);
-
-    function SmallInteger(value) {
-        this.value = value;
-        this.sign = value < 0;
-        this.isSmall = true;
-    }
-    SmallInteger.prototype = Object.create(Integer.prototype);
-
-    function isPrecise(n) {
-        return -MAX_INT < n && n < MAX_INT;
-    }
-
-    function smallToArray(n) { // For performance reasons doesn't reference BASE, need to change this function if BASE changes
-        if (n < 1e7)
-            return [n];
-        if (n < 1e14)
-            return [n % 1e7, Math.floor(n / 1e7)];
-        return [n % 1e7, Math.floor(n / 1e7) % 1e7, Math.floor(n / 1e14)];
-    }
-
-    function arrayToSmall(arr) { // If BASE changes this function may need to change
-        trim(arr);
-        var length = arr.length;
-        if (length < 4 && compareAbs(arr, MAX_INT_ARR) < 0) {
-            switch (length) {
-                case 0: return 0;
-                case 1: return arr[0];
-                case 2: return arr[0] + arr[1] * BASE;
-                default: return arr[0] + (arr[1] + arr[2] * BASE) * BASE;
-            }
-        }
-        return arr;
-    }
-
-    function trim(v) {
-        var i = v.length;
-        while (v[--i] === 0);
-        v.length = i + 1;
-    }
-
-    function createArray(length) { // function shamelessly stolen from Yaffle's library https://github.com/Yaffle/BigInteger
-        var x = new Array(length);
-        var i = -1;
-        while (++i < length) {
-            x[i] = 0;
-        }
-        return x;
-    }
-
-    function truncate(n) {
-        if (n > 0) return Math.floor(n);
-        return Math.ceil(n);
-    }
-
-    function add(a, b) { // assumes a and b are arrays with a.length >= b.length
-        var l_a = a.length,
-            l_b = b.length,
-            r = new Array(l_a),
-            carry = 0,
-            base = BASE,
-            sum, i;
-        for (i = 0; i < l_b; i++) {
-            sum = a[i] + b[i] + carry;
-            carry = sum >= base ? 1 : 0;
-            r[i] = sum - carry * base;
-        }
-        while (i < l_a) {
-            sum = a[i] + carry;
-            carry = sum === base ? 1 : 0;
-            r[i++] = sum - carry * base;
-        }
-        if (carry > 0) r.push(carry);
-        return r;
-    }
-
-    function addAny(a, b) {
-        if (a.length >= b.length) return add(a, b);
-        return add(b, a);
-    }
-
-    function addSmall(a, carry) { // assumes a is array, carry is number with 0 <= carry < MAX_INT
-        var l = a.length,
-            r = new Array(l),
-            base = BASE,
-            sum, i;
-        for (i = 0; i < l; i++) {
-            sum = a[i] - base + carry;
-            carry = Math.floor(sum / base);
-            r[i] = sum - carry * base;
-            carry += 1;
-        }
-        while (carry > 0) {
-            r[i++] = carry % base;
-            carry = Math.floor(carry / base);
-        }
-        return r;
-    }
-
-    BigInteger.prototype.add = function (v) {
-        var n = parseValue(v);
-        if (this.sign !== n.sign) {
-            return this.subtract(n.negate());
-        }
-        var a = this.value, b = n.value;
-        if (n.isSmall) {
-            return new BigInteger(addSmall(a, Math.abs(b)), this.sign);
-        }
-        return new BigInteger(addAny(a, b), this.sign);
-    };
-    BigInteger.prototype.plus = BigInteger.prototype.add;
-
-    SmallInteger.prototype.add = function (v) {
-        var n = parseValue(v);
-        var a = this.value;
-        if (a < 0 !== n.sign) {
-            return this.subtract(n.negate());
-        }
-        var b = n.value;
-        if (n.isSmall) {
-            if (isPrecise(a + b)) return new SmallInteger(a + b);
-            b = smallToArray(Math.abs(b));
-        }
-        return new BigInteger(addSmall(b, Math.abs(a)), a < 0);
-    };
-    SmallInteger.prototype.plus = SmallInteger.prototype.add;
-
-    function subtract(a, b) { // assumes a and b are arrays with a >= b
-        var a_l = a.length,
-            b_l = b.length,
-            r = new Array(a_l),
-            borrow = 0,
-            base = BASE,
-            i, difference;
-        for (i = 0; i < b_l; i++) {
-            difference = a[i] - borrow - b[i];
-            if (difference < 0) {
-                difference += base;
-                borrow = 1;
-            } else borrow = 0;
-            r[i] = difference;
-        }
-        for (i = b_l; i < a_l; i++) {
-            difference = a[i] - borrow;
-            if (difference < 0) difference += base;
-            else {
-                r[i++] = difference;
-                break;
-            }
-            r[i] = difference;
-        }
-        for (; i < a_l; i++) {
-            r[i] = a[i];
-        }
-        trim(r);
-        return r;
-    }
-
-    function subtractAny(a, b, sign) {
-        var value;
-        if (compareAbs(a, b) >= 0) {
-            value = subtract(a,b);
-        } else {
-            value = subtract(b, a);
-            sign = !sign;
-        }
-        value = arrayToSmall(value);
-        if (typeof value === "number") {
-            if (sign) value = -value;
-            return new SmallInteger(value);
-        }
-        return new BigInteger(value, sign);
-    }
-
-    function subtractSmall(a, b, sign) { // assumes a is array, b is number with 0 <= b < MAX_INT
-        var l = a.length,
-            r = new Array(l),
-            carry = -b,
-            base = BASE,
-            i, difference;
-        for (i = 0; i < l; i++) {
-            difference = a[i] + carry;
-            carry = Math.floor(difference / base);
-            difference %= base;
-            r[i] = difference < 0 ? difference + base : difference;
-        }
-        r = arrayToSmall(r);
-        if (typeof r === "number") {
-            if (sign) r = -r;
-            return new SmallInteger(r);
-        } return new BigInteger(r, sign);
-    }
-
-    BigInteger.prototype.subtract = function (v) {
-        var n = parseValue(v);
-        if (this.sign !== n.sign) {
-            return this.add(n.negate());
-        }
-        var a = this.value, b = n.value;
-        if (n.isSmall)
-            return subtractSmall(a, Math.abs(b), this.sign);
-        return subtractAny(a, b, this.sign);
-    };
-    BigInteger.prototype.minus = BigInteger.prototype.subtract;
-
-    SmallInteger.prototype.subtract = function (v) {
-        var n = parseValue(v);
-        var a = this.value;
-        if (a < 0 !== n.sign) {
-            return this.add(n.negate());
-        }
-        var b = n.value;
-        if (n.isSmall) {
-            return new SmallInteger(a - b);
-        }
-        return subtractSmall(b, Math.abs(a), a >= 0);
-    };
-    SmallInteger.prototype.minus = SmallInteger.prototype.subtract;
-
-    BigInteger.prototype.negate = function () {
-        return new BigInteger(this.value, !this.sign);
-    };
-    SmallInteger.prototype.negate = function () {
-        var sign = this.sign;
-        var small = new SmallInteger(-this.value);
-        small.sign = !sign;
-        return small;
-    };
-
-    BigInteger.prototype.abs = function () {
-        return new BigInteger(this.value, false);
-    };
-    SmallInteger.prototype.abs = function () {
-        return new SmallInteger(Math.abs(this.value));
-    };
-
-    function multiplyLong(a, b) {
-        var a_l = a.length,
-            b_l = b.length,
-            l = a_l + b_l,
-            r = createArray(l),
-            base = BASE,
-            product, carry, i, a_i, b_j;
-        for (i = 0; i < a_l; ++i) {
-            a_i = a[i];
-            for (var j = 0; j < b_l; ++j) {
-                b_j = b[j];
-                product = a_i * b_j + r[i + j];
-                carry = Math.floor(product / base);
-                r[i + j] = product - carry * base;
-                r[i + j + 1] += carry;
-            }
-        }
-        trim(r);
-        return r;
-    }
-
-    function multiplySmall(a, b) { // assumes a is array, b is number with |b| < BASE
-        var l = a.length,
-            r = new Array(l),
-            base = BASE,
-            carry = 0,
-            product, i;
-        for (i = 0; i < l; i++) {
-            product = a[i] * b + carry;
-            carry = Math.floor(product / base);
-            r[i] = product - carry * base;
-        }
-        while (carry > 0) {
-            r[i++] = carry % base;
-            carry = Math.floor(carry / base);
-        }
-        return r;
-    }
-
-    function shiftLeft(x, n) {
-        var r = [];
-        while (n-- > 0) r.push(0);
-        return r.concat(x);
-    }
-
-    function multiplyKaratsuba(x, y) {
-        var n = Math.max(x.length, y.length);
-
-        if (n <= 30) return multiplyLong(x, y);
-        n = Math.ceil(n / 2);
-
-        var b = x.slice(n),
-            a = x.slice(0, n),
-            d = y.slice(n),
-            c = y.slice(0, n);
-
-        var ac = multiplyKaratsuba(a, c),
-            bd = multiplyKaratsuba(b, d),
-            abcd = multiplyKaratsuba(addAny(a, b), addAny(c, d));
-
-        var product = addAny(addAny(ac, shiftLeft(subtract(subtract(abcd, ac), bd), n)), shiftLeft(bd, 2 * n));
-        trim(product);
-        return product;
-    }
-
-    // The following function is derived from a surface fit of a graph plotting the performance difference
-    // between long multiplication and karatsuba multiplication versus the lengths of the two arrays.
-    function useKaratsuba(l1, l2) {
-        return -0.012 * l1 - 0.012 * l2 + 0.000015 * l1 * l2 > 0;
-    }
-
-    BigInteger.prototype.multiply = function (v) {
-        var n = parseValue(v),
-            a = this.value, b = n.value,
-            sign = this.sign !== n.sign,
-            abs;
-        if (n.isSmall) {
-            if (b === 0) return Integer[0];
-            if (b === 1) return this;
-            if (b === -1) return this.negate();
-            abs = Math.abs(b);
-            if (abs < BASE) {
-                return new BigInteger(multiplySmall(a, abs), sign);
-            }
-            b = smallToArray(abs);
-        }
-        if (useKaratsuba(a.length, b.length)) // Karatsuba is only faster for certain array sizes
-            return new BigInteger(multiplyKaratsuba(a, b), sign);
-        return new BigInteger(multiplyLong(a, b), sign);
-    };
-
-    BigInteger.prototype.times = BigInteger.prototype.multiply;
-
-    function multiplySmallAndArray(a, b, sign) { // a >= 0
-        if (a < BASE) {
-            return new BigInteger(multiplySmall(b, a), sign);
-        }
-        return new BigInteger(multiplyLong(b, smallToArray(a)), sign);
-    }
-    SmallInteger.prototype._multiplyBySmall = function (a) {
-            if (isPrecise(a.value * this.value)) {
-                return new SmallInteger(a.value * this.value);
-            }
-            return multiplySmallAndArray(Math.abs(a.value), smallToArray(Math.abs(this.value)), this.sign !== a.sign);
-    };
-    BigInteger.prototype._multiplyBySmall = function (a) {
-            if (a.value === 0) return Integer[0];
-            if (a.value === 1) return this;
-            if (a.value === -1) return this.negate();
-            return multiplySmallAndArray(Math.abs(a.value), this.value, this.sign !== a.sign);
-    };
-    SmallInteger.prototype.multiply = function (v) {
-        return parseValue(v)._multiplyBySmall(this);
-    };
-    SmallInteger.prototype.times = SmallInteger.prototype.multiply;
-
-    function square(a) {
-        var l = a.length,
-            r = createArray(l + l),
-            base = BASE,
-            product, carry, i, a_i, a_j;
-        for (i = 0; i < l; i++) {
-            a_i = a[i];
-            for (var j = 0; j < l; j++) {
-                a_j = a[j];
-                product = a_i * a_j + r[i + j];
-                carry = Math.floor(product / base);
-                r[i + j] = product - carry * base;
-                r[i + j + 1] += carry;
-            }
-        }
-        trim(r);
-        return r;
-    }
-
-    BigInteger.prototype.square = function () {
-        return new BigInteger(square(this.value), false);
-    };
-
-    SmallInteger.prototype.square = function () {
-        var value = this.value * this.value;
-        if (isPrecise(value)) return new SmallInteger(value);
-        return new BigInteger(square(smallToArray(Math.abs(this.value))), false);
-    };
-
-    function divMod1(a, b) { // Left over from previous version. Performs faster than divMod2 on smaller input sizes.
-        var a_l = a.length,
-            b_l = b.length,
-            base = BASE,
-            result = createArray(b.length),
-            divisorMostSignificantDigit = b[b_l - 1],
-            // normalization
-            lambda = Math.ceil(base / (2 * divisorMostSignificantDigit)),
-            remainder = multiplySmall(a, lambda),
-            divisor = multiplySmall(b, lambda),
-            quotientDigit, shift, carry, borrow, i, l, q;
-        if (remainder.length <= a_l) remainder.push(0);
-        divisor.push(0);
-        divisorMostSignificantDigit = divisor[b_l - 1];
-        for (shift = a_l - b_l; shift >= 0; shift--) {
-            quotientDigit = base - 1;
-            if (remainder[shift + b_l] !== divisorMostSignificantDigit) {
-              quotientDigit = Math.floor((remainder[shift + b_l] * base + remainder[shift + b_l - 1]) / divisorMostSignificantDigit);
-            }
-            // quotientDigit <= base - 1
-            carry = 0;
-            borrow = 0;
-            l = divisor.length;
-            for (i = 0; i < l; i++) {
-                carry += quotientDigit * divisor[i];
-                q = Math.floor(carry / base);
-                borrow += remainder[shift + i] - (carry - q * base);
-                carry = q;
-                if (borrow < 0) {
-                    remainder[shift + i] = borrow + base;
-                    borrow = -1;
-                } else {
-                    remainder[shift + i] = borrow;
-                    borrow = 0;
-                }
-            }
-            while (borrow !== 0) {
-                quotientDigit -= 1;
-                carry = 0;
-                for (i = 0; i < l; i++) {
-                    carry += remainder[shift + i] - base + divisor[i];
-                    if (carry < 0) {
-                        remainder[shift + i] = carry + base;
-                        carry = 0;
-                    } else {
-                        remainder[shift + i] = carry;
-                        carry = 1;
-                    }
-                }
-                borrow += carry;
-            }
-            result[shift] = quotientDigit;
-        }
-        // denormalization
-        remainder = divModSmall(remainder, lambda)[0];
-        return [arrayToSmall(result), arrayToSmall(remainder)];
-    }
-
-    function divMod2(a, b) { // Implementation idea shamelessly stolen from Silent Matt's library http://silentmatt.com/biginteger/
-        // Performs faster than divMod1 on larger input sizes.
-        var a_l = a.length,
-            b_l = b.length,
-            result = [],
-            part = [],
-            base = BASE,
-            guess, xlen, highx, highy, check;
-        while (a_l) {
-            part.unshift(a[--a_l]);
-            trim(part);
-            if (compareAbs(part, b) < 0) {
-                result.push(0);
-                continue;
-            }
-            xlen = part.length;
-            highx = part[xlen - 1] * base + part[xlen - 2];
-            highy = b[b_l - 1] * base + b[b_l - 2];
-            if (xlen > b_l) {
-                highx = (highx + 1) * base;
-            }
-            guess = Math.ceil(highx / highy);
-            do {
-                check = multiplySmall(b, guess);
-                if (compareAbs(check, part) <= 0) break;
-                guess--;
-            } while (guess);
-            result.push(guess);
-            part = subtract(part, check);
-        }
-        result.reverse();
-        return [arrayToSmall(result), arrayToSmall(part)];
-    }
-
-    function divModSmall(value, lambda) {
-        var length = value.length,
-            quotient = createArray(length),
-            base = BASE,
-            i, q, remainder, divisor;
-        remainder = 0;
-        for (i = length - 1; i >= 0; --i) {
-            divisor = remainder * base + value[i];
-            q = truncate(divisor / lambda);
-            remainder = divisor - q * lambda;
-            quotient[i] = q | 0;
-        }
-        return [quotient, remainder | 0];
-    }
-
-    function divModAny(self, v) {
-        var value, n = parseValue(v);
-        var a = self.value, b = n.value;
-        var quotient;
-        if (b === 0) throw new Error("Cannot divide by zero");
-        if (self.isSmall) {
-            if (n.isSmall) {
-                return [new SmallInteger(truncate(a / b)), new SmallInteger(a % b)];
-            }
-            return [Integer[0], self];
-        }
-        if (n.isSmall) {
-            if (b === 1) return [self, Integer[0]];
-            if (b == -1) return [self.negate(), Integer[0]];
-            var abs = Math.abs(b);
-            if (abs < BASE) {
-                value = divModSmall(a, abs);
-                quotient = arrayToSmall(value[0]);
-                var remainder = value[1];
-                if (self.sign) remainder = -remainder;
-                if (typeof quotient === "number") {
-                    if (self.sign !== n.sign) quotient = -quotient;
-                    return [new SmallInteger(quotient), new SmallInteger(remainder)];
-                }
-                return [new BigInteger(quotient, self.sign !== n.sign), new SmallInteger(remainder)];
-            }
-            b = smallToArray(abs);
-        }
-        var comparison = compareAbs(a, b);
-        if (comparison === -1) return [Integer[0], self];
-        if (comparison === 0) return [Integer[self.sign === n.sign ? 1 : -1], Integer[0]];
-
-        // divMod1 is faster on smaller input sizes
-        if (a.length + b.length <= 200)
-            value = divMod1(a, b);
-        else value = divMod2(a, b);
-
-        quotient = value[0];
-        var qSign = self.sign !== n.sign,
-            mod = value[1],
-            mSign = self.sign;
-        if (typeof quotient === "number") {
-            if (qSign) quotient = -quotient;
-            quotient = new SmallInteger(quotient);
-        } else quotient = new BigInteger(quotient, qSign);
-        if (typeof mod === "number") {
-            if (mSign) mod = -mod;
-            mod = new SmallInteger(mod);
-        } else mod = new BigInteger(mod, mSign);
-        return [quotient, mod];
-    }
-
-    BigInteger.prototype.divmod = function (v) {
-        var result = divModAny(this, v);
-        return {
-            quotient: result[0],
-            remainder: result[1]
-        };
-    };
-    SmallInteger.prototype.divmod = BigInteger.prototype.divmod;
-
-    BigInteger.prototype.divide = function (v) {
-        return divModAny(this, v)[0];
-    };
-    SmallInteger.prototype.over = SmallInteger.prototype.divide = BigInteger.prototype.over = BigInteger.prototype.divide;
-
-    BigInteger.prototype.mod = function (v) {
-        return divModAny(this, v)[1];
-    };
-    SmallInteger.prototype.remainder = SmallInteger.prototype.mod = BigInteger.prototype.remainder = BigInteger.prototype.mod;
-
-    BigInteger.prototype.pow = function (v) {
-        var n = parseValue(v),
-            a = this.value,
-            b = n.value,
-            value, x, y;
-        if (b === 0) return Integer[1];
-        if (a === 0) return Integer[0];
-        if (a === 1) return Integer[1];
-        if (a === -1) return n.isEven() ? Integer[1] : Integer[-1];
-        if (n.sign) {
-            return Integer[0];
-        }
-        if (!n.isSmall) throw new Error("The exponent " + n.toString() + " is too large.");
-        if (this.isSmall) {
-            if (isPrecise(value = Math.pow(a, b)))
-                return new SmallInteger(truncate(value));
-        }
-        x = this;
-        y = Integer[1];
-        while (true) {
-            if (b & 1 === 1) {
-                y = y.times(x);
-                --b;
-            }
-            if (b === 0) break;
-            b /= 2;
-            x = x.square();
-        }
-        return y;
-    };
-    SmallInteger.prototype.pow = BigInteger.prototype.pow;
-
-    BigInteger.prototype.modPow = function (exp, mod) {
-        exp = parseValue(exp);
-        mod = parseValue(mod);
-        if (mod.isZero()) throw new Error("Cannot take modPow with modulus 0");
-        var r = Integer[1],
-            base = this.mod(mod);
-        while (exp.isPositive()) {
-            if (base.isZero()) return Integer[0];
-            if (exp.isOdd()) r = r.multiply(base).mod(mod);
-            exp = exp.divide(2);
-            base = base.square().mod(mod);
-        }
-        return r;
-    };
-    SmallInteger.prototype.modPow = BigInteger.prototype.modPow;
-
-    function compareAbs(a, b) {
-        if (a.length !== b.length) {
-            return a.length > b.length ? 1 : -1;
-        }
-        for (var i = a.length - 1; i >= 0; i--) {
-            if (a[i] !== b[i]) return a[i] > b[i] ? 1 : -1;
-        }
-        return 0;
-    }
-
-    BigInteger.prototype.compareAbs = function (v) {
-        var n = parseValue(v),
-            a = this.value,
-            b = n.value;
-        if (n.isSmall) return 1;
-        return compareAbs(a, b);
-    };
-    SmallInteger.prototype.compareAbs = function (v) {
-        var n = parseValue(v),
-            a = Math.abs(this.value),
-            b = n.value;
-        if (n.isSmall) {
-            b = Math.abs(b);
-            return a === b ? 0 : a > b ? 1 : -1;
-        }
-        return -1;
-    };
-
-    BigInteger.prototype.compare = function (v) {
-        // See discussion about comparison with Infinity:
-        // https://github.com/peterolson/BigInteger.js/issues/61
-        if (v === Infinity) {
-            return -1;
-        }
-        if (v === -Infinity) {
-            return 1;
-        }
-
-        var n = parseValue(v),
-            a = this.value,
-            b = n.value;
-        if (this.sign !== n.sign) {
-            return n.sign ? 1 : -1;
-        }
-        if (n.isSmall) {
-            return this.sign ? -1 : 1;
-        }
-        return compareAbs(a, b) * (this.sign ? -1 : 1);
-    };
-    BigInteger.prototype.compareTo = BigInteger.prototype.compare;
-
-    SmallInteger.prototype.compare = function (v) {
-        if (v === Infinity) {
-            return -1;
-        }
-        if (v === -Infinity) {
-            return 1;
-        }
-
-        var n = parseValue(v),
-            a = this.value,
-            b = n.value;
-        if (n.isSmall) {
-            return a == b ? 0 : a > b ? 1 : -1;
-        }
-        if (a < 0 !== n.sign) {
-            return a < 0 ? -1 : 1;
-        }
-        return a < 0 ? 1 : -1;
-    };
-    SmallInteger.prototype.compareTo = SmallInteger.prototype.compare;
-
-    BigInteger.prototype.equals = function (v) {
-        return this.compare(v) === 0;
-    };
-    SmallInteger.prototype.eq = SmallInteger.prototype.equals = BigInteger.prototype.eq = BigInteger.prototype.equals;
-
-    BigInteger.prototype.notEquals = function (v) {
-        return this.compare(v) !== 0;
-    };
-    SmallInteger.prototype.neq = SmallInteger.prototype.notEquals = BigInteger.prototype.neq = BigInteger.prototype.notEquals;
-
-    BigInteger.prototype.greater = function (v) {
-        return this.compare(v) > 0;
-    };
-    SmallInteger.prototype.gt = SmallInteger.prototype.greater = BigInteger.prototype.gt = BigInteger.prototype.greater;
-
-    BigInteger.prototype.lesser = function (v) {
-        return this.compare(v) < 0;
-    };
-    SmallInteger.prototype.lt = SmallInteger.prototype.lesser = BigInteger.prototype.lt = BigInteger.prototype.lesser;
-
-    BigInteger.prototype.greaterOrEquals = function (v) {
-        return this.compare(v) >= 0;
-    };
-    SmallInteger.prototype.geq = SmallInteger.prototype.greaterOrEquals = BigInteger.prototype.geq = BigInteger.prototype.greaterOrEquals;
-
-    BigInteger.prototype.lesserOrEquals = function (v) {
-        return this.compare(v) <= 0;
-    };
-    SmallInteger.prototype.leq = SmallInteger.prototype.lesserOrEquals = BigInteger.prototype.leq = BigInteger.prototype.lesserOrEquals;
-
-    BigInteger.prototype.isEven = function () {
-        return (this.value[0] & 1) === 0;
-    };
-    SmallInteger.prototype.isEven = function () {
-        return (this.value & 1) === 0;
-    };
-
-    BigInteger.prototype.isOdd = function () {
-        return (this.value[0] & 1) === 1;
-    };
-    SmallInteger.prototype.isOdd = function () {
-        return (this.value & 1) === 1;
-    };
-
-    BigInteger.prototype.isPositive = function () {
-        return !this.sign;
-    };
-    SmallInteger.prototype.isPositive = function () {
-        return this.value > 0;
-    };
-
-    BigInteger.prototype.isNegative = function () {
-        return this.sign;
-    };
-    SmallInteger.prototype.isNegative = function () {
-        return this.value < 0;
-    };
-
-    BigInteger.prototype.isUnit = function () {
-        return false;
-    };
-    SmallInteger.prototype.isUnit = function () {
-        return Math.abs(this.value) === 1;
-    };
-
-    BigInteger.prototype.isZero = function () {
-        return false;
-    };
-    SmallInteger.prototype.isZero = function () {
-        return this.value === 0;
-    };
-    BigInteger.prototype.isDivisibleBy = function (v) {
-        var n = parseValue(v);
-        var value = n.value;
-        if (value === 0) return false;
-        if (value === 1) return true;
-        if (value === 2) return this.isEven();
-        return this.mod(n).equals(Integer[0]);
-    };
-    SmallInteger.prototype.isDivisibleBy = BigInteger.prototype.isDivisibleBy;
-
-    function isBasicPrime(v) {
-        var n = v.abs();
-        if (n.isUnit()) return false;
-        if (n.equals(2) || n.equals(3) || n.equals(5)) return true;
-        if (n.isEven() || n.isDivisibleBy(3) || n.isDivisibleBy(5)) return false;
-        if (n.lesser(25)) return true;
-        // we don't know if it's prime: let the other functions figure it out
-    }
-
-    BigInteger.prototype.isPrime = function () {
-        var isPrime = isBasicPrime(this);
-        if (isPrime !== undefined) return isPrime;
-        var n = this.abs(),
-            nPrev = n.prev();
-        var a = [2, 3, 5, 7, 11, 13, 17, 19],
-            b = nPrev,
-            d, t, i, x;
-        while (b.isEven()) b = b.divide(2);
-        for (i = 0; i < a.length; i++) {
-            x = bigInt(a[i]).modPow(b, n);
-            if (x.equals(Integer[1]) || x.equals(nPrev)) continue;
-            for (t = true, d = b; t && d.lesser(nPrev) ; d = d.multiply(2)) {
-                x = x.square().mod(n);
-                if (x.equals(nPrev)) t = false;
-            }
-            if (t) return false;
-        }
-        return true;
-    };
-    SmallInteger.prototype.isPrime = BigInteger.prototype.isPrime;
-
-    BigInteger.prototype.isProbablePrime = function (iterations) {
-        var isPrime = isBasicPrime(this);
-        if (isPrime !== undefined) return isPrime;
-        var n = this.abs();
-        var t = iterations === undefined ? 5 : iterations;
-        // use the Fermat primality test
-        for (var i = 0; i < t; i++) {
-            var a = bigInt.randBetween(2, n.minus(2));
-            if (!a.modPow(n.prev(), n).isUnit()) return false; // definitely composite
-        }
-        return true; // large chance of being prime
-    };
-    SmallInteger.prototype.isProbablePrime = BigInteger.prototype.isProbablePrime;
-
-    BigInteger.prototype.modInv = function (n) {
-        var t = bigInt.zero, newT = bigInt.one, r = parseValue(n), newR = this.abs(), q, lastT, lastR;
-        while (!newR.equals(bigInt.zero)) {
-            q = r.divide(newR);
-            lastT = t;
-            lastR = r;
-            t = newT;
-            r = newR;
-            newT = lastT.subtract(q.multiply(newT));
-            newR = lastR.subtract(q.multiply(newR));
-        }
-        if (!r.equals(1)) throw new Error(this.toString() + " and " + n.toString() + " are not co-prime");
-        if (t.compare(0) === -1) {
-            t = t.add(n);
-        }
-        if (this.isNegative()) {
-            return t.negate();
-        }
-        return t;
-    };
-
-    SmallInteger.prototype.modInv = BigInteger.prototype.modInv;
-
-    BigInteger.prototype.next = function () {
-        var value = this.value;
-        if (this.sign) {
-            return subtractSmall(value, 1, this.sign);
-        }
-        return new BigInteger(addSmall(value, 1), this.sign);
-    };
-    SmallInteger.prototype.next = function () {
-        var value = this.value;
-        if (value + 1 < MAX_INT) return new SmallInteger(value + 1);
-        return new BigInteger(MAX_INT_ARR, false);
-    };
-
-    BigInteger.prototype.prev = function () {
-        var value = this.value;
-        if (this.sign) {
-            return new BigInteger(addSmall(value, 1), true);
-        }
-        return subtractSmall(value, 1, this.sign);
-    };
-    SmallInteger.prototype.prev = function () {
-        var value = this.value;
-        if (value - 1 > -MAX_INT) return new SmallInteger(value - 1);
-        return new BigInteger(MAX_INT_ARR, true);
-    };
-
-    var powersOfTwo = [1];
-    while (powersOfTwo[powersOfTwo.length - 1] <= BASE) powersOfTwo.push(2 * powersOfTwo[powersOfTwo.length - 1]);
-    var powers2Length = powersOfTwo.length, highestPower2 = powersOfTwo[powers2Length - 1];
-
-    function shift_isSmall(n) {
-        return ((typeof n === "number" || typeof n === "string") && +Math.abs(n) <= BASE) ||
-            (n instanceof BigInteger && n.value.length <= 1);
-    }
-
-    BigInteger.prototype.shiftLeft = function (n) {
-        if (!shift_isSmall(n)) {
-            throw new Error(String(n) + " is too large for shifting.");
-        }
-        n = +n;
-        if (n < 0) return this.shiftRight(-n);
-        var result = this;
-        while (n >= powers2Length) {
-            result = result.multiply(highestPower2);
-            n -= powers2Length - 1;
-        }
-        return result.multiply(powersOfTwo[n]);
-    };
-    SmallInteger.prototype.shiftLeft = BigInteger.prototype.shiftLeft;
-
-    BigInteger.prototype.shiftRight = function (n) {
-        var remQuo;
-        if (!shift_isSmall(n)) {
-            throw new Error(String(n) + " is too large for shifting.");
-        }
-        n = +n;
-        if (n < 0) return this.shiftLeft(-n);
-        var result = this;
-        while (n >= powers2Length) {
-            if (result.isZero()) return result;
-            remQuo = divModAny(result, highestPower2);
-            result = remQuo[1].isNegative() ? remQuo[0].prev() : remQuo[0];
-            n -= powers2Length - 1;
-        }
-        remQuo = divModAny(result, powersOfTwo[n]);
-        return remQuo[1].isNegative() ? remQuo[0].prev() : remQuo[0];
-    };
-    SmallInteger.prototype.shiftRight = BigInteger.prototype.shiftRight;
-
-    function bitwise(x, y, fn) {
-        y = parseValue(y);
-        var xSign = x.isNegative(), ySign = y.isNegative();
-        var xRem = xSign ? x.not() : x,
-            yRem = ySign ? y.not() : y;
-        var xBits = [], yBits = [];
-        var xStop = false, yStop = false;
-        while (!xStop || !yStop) {
-            if (xRem.isZero()) { // virtual sign extension for simulating two's complement
-                xStop = true;
-                xBits.push(xSign ? 1 : 0);
-            }
-            else if (xSign) xBits.push(xRem.isEven() ? 1 : 0); // two's complement for negative numbers
-            else xBits.push(xRem.isEven() ? 0 : 1);
-
-            if (yRem.isZero()) {
-                yStop = true;
-                yBits.push(ySign ? 1 : 0);
-            }
-            else if (ySign) yBits.push(yRem.isEven() ? 1 : 0);
-            else yBits.push(yRem.isEven() ? 0 : 1);
-
-            xRem = xRem.over(2);
-            yRem = yRem.over(2);
-        }
-        var result = [];
-        for (var i = 0; i < xBits.length; i++) result.push(fn(xBits[i], yBits[i]));
-        var sum = bigInt(result.pop()).negate().times(bigInt(2).pow(result.length));
-        while (result.length) {
-            sum = sum.add(bigInt(result.pop()).times(bigInt(2).pow(result.length)));
-        }
-        return sum;
-    }
-
-    BigInteger.prototype.not = function () {
-        return this.negate().prev();
-    };
-    SmallInteger.prototype.not = BigInteger.prototype.not;
-
-    BigInteger.prototype.and = function (n) {
-        return bitwise(this, n, function (a, b) { return a & b; });
-    };
-    SmallInteger.prototype.and = BigInteger.prototype.and;
-
-    BigInteger.prototype.or = function (n) {
-        return bitwise(this, n, function (a, b) { return a | b; });
-    };
-    SmallInteger.prototype.or = BigInteger.prototype.or;
-
-    BigInteger.prototype.xor = function (n) {
-        return bitwise(this, n, function (a, b) { return a ^ b; });
-    };
-    SmallInteger.prototype.xor = BigInteger.prototype.xor;
-
-    var LOBMASK_I = 1 << 30, LOBMASK_BI = (BASE & -BASE) * (BASE & -BASE) | LOBMASK_I;
-    function roughLOB(n) { // get lowestOneBit (rough)
-        // SmallInteger: return Min(lowestOneBit(n), 1 << 30)
-        // BigInteger: return Min(lowestOneBit(n), 1 << 14) [BASE=1e7]
-        var v = n.value, x = typeof v === "number" ? v | LOBMASK_I : v[0] + v[1] * BASE | LOBMASK_BI;
-        return x & -x;
-    }
-
-    function max(a, b) {
-        a = parseValue(a);
-        b = parseValue(b);
-        return a.greater(b) ? a : b;
-    }
-    function min(a, b) {
-        a = parseValue(a);
-        b = parseValue(b);
-        return a.lesser(b) ? a : b;
-    }
-    function gcd(a, b) {
-        a = parseValue(a).abs();
-        b = parseValue(b).abs();
-        if (a.equals(b)) return a;
-        if (a.isZero()) return b;
-        if (b.isZero()) return a;
-        var c = Integer[1], d, t;
-        while (a.isEven() && b.isEven()) {
-            d = Math.min(roughLOB(a), roughLOB(b));
-            a = a.divide(d);
-            b = b.divide(d);
-            c = c.multiply(d);
-        }
-        while (a.isEven()) {
-            a = a.divide(roughLOB(a));
-        }
-        do {
-            while (b.isEven()) {
-                b = b.divide(roughLOB(b));
-            }
-            if (a.greater(b)) {
-                t = b; b = a; a = t;
-            }
-            b = b.subtract(a);
-        } while (!b.isZero());
-        return c.isUnit() ? a : a.multiply(c);
-    }
-    function lcm(a, b) {
-        a = parseValue(a).abs();
-        b = parseValue(b).abs();
-        return a.divide(gcd(a, b)).multiply(b);
-    }
-    function randBetween(a, b) {
-        a = parseValue(a);
-        b = parseValue(b);
-        var low = min(a, b), high = max(a, b);
-        var range = high.subtract(low);
-        if (range.isSmall) return low.add(Math.round(Math.random() * range));
-        var length = range.value.length - 1;
-        var result = [], restricted = true;
-        for (var i = length; i >= 0; i--) {
-            var top = restricted ? range.value[i] : BASE;
-            var digit = truncate(Math.random() * top);
-            result.unshift(digit);
-            if (digit < top) restricted = false;
-        }
-        result = arrayToSmall(result);
-        return low.add(typeof result === "number" ? new SmallInteger(result) : new BigInteger(result, false));
-    }
-    var parseBase = function (text, base) {
-        var length = text.length;
-		var i;
-		var absBase = Math.abs(base);
-		for(var i = 0; i < length; i++) {
-			var c = text[i].toLowerCase();
-			if(c === "-") continue;
-			if(/[a-z0-9]/.test(c)) {
-			    if(/[0-9]/.test(c) && +c >= absBase) {
-					if(c === "1" && absBase === 1) continue;
-                    throw new Error(c + " is not a valid digit in base " + base + ".");
-				} else if(c.charCodeAt(0) - 87 >= absBase) {
-					throw new Error(c + " is not a valid digit in base " + base + ".");
-				}
-			}
-		}
-        if (2 <= base && base <= 36) {
-            if (length <= LOG_MAX_INT / Math.log(base)) {
-				var result = parseInt(text, base);
-				if(isNaN(result)) {
-					throw new Error(c + " is not a valid digit in base " + base + ".");
-				}
-                return new SmallInteger(parseInt(text, base));
-            }
-        }
-        base = parseValue(base);
-        var digits = [];
-        var isNegative = text[0] === "-";
-        for (i = isNegative ? 1 : 0; i < text.length; i++) {
-            var c = text[i].toLowerCase(),
-                charCode = c.charCodeAt(0);
-            if (48 <= charCode && charCode <= 57) digits.push(parseValue(c));
-            else if (97 <= charCode && charCode <= 122) digits.push(parseValue(c.charCodeAt(0) - 87));
-            else if (c === "<") {
-                var start = i;
-                do { i++; } while (text[i] !== ">");
-                digits.push(parseValue(text.slice(start + 1, i)));
-            }
-            else throw new Error(c + " is not a valid character");
-        }
-        return parseBaseFromArray(digits, base, isNegative);
-    };
-
-    function parseBaseFromArray(digits, base, isNegative) {
-        var val = Integer[0], pow = Integer[1], i;
-        for (i = digits.length - 1; i >= 0; i--) {
-            val = val.add(digits[i].times(pow));
-            pow = pow.times(base);
-        }
-        return isNegative ? val.negate() : val;
-    }
-
-    function stringify(digit) {
-        var v = digit.value;
-        if (typeof v === "number") v = [v];
-        if (v.length === 1 && v[0] <= 35) {
-            return "0123456789abcdefghijklmnopqrstuvwxyz".charAt(v[0]);
-        }
-        return "<" + v + ">";
-    }
-    function toBase(n, base) {
-        base = bigInt(base);
-        if (base.isZero()) {
-            if (n.isZero()) return "0";
-            throw new Error("Cannot convert nonzero numbers to base 0.");
-        }
-        if (base.equals(-1)) {
-            if (n.isZero()) return "0";
-            if (n.isNegative()) return new Array(1 - n).join("10");
-            return "1" + new Array(+n).join("01");
-        }
-        var minusSign = "";
-        if (n.isNegative() && base.isPositive()) {
-            minusSign = "-";
-            n = n.abs();
-        }
-        if (base.equals(1)) {
-            if (n.isZero()) return "0";
-            return minusSign + new Array(+n + 1).join(1);
-        }
-        var out = [];
-        var left = n, divmod;
-        while (left.isNegative() || left.compareAbs(base) >= 0) {
-            divmod = left.divmod(base);
-            left = divmod.quotient;
-            var digit = divmod.remainder;
-            if (digit.isNegative()) {
-                digit = base.minus(digit).abs();
-                left = left.next();
-            }
-            out.push(stringify(digit));
-        }
-        out.push(stringify(left));
-        return minusSign + out.reverse().join("");
-    }
-
-    BigInteger.prototype.toString = function (radix) {
-        if (radix === undefined) radix = 10;
-        if (radix !== 10) return toBase(this, radix);
-        var v = this.value, l = v.length, str = String(v[--l]), zeros = "0000000", digit;
-        while (--l >= 0) {
-            digit = String(v[l]);
-            str += zeros.slice(digit.length) + digit;
-        }
-        var sign = this.sign ? "-" : "";
-        return sign + str;
-    };
-
-    SmallInteger.prototype.toString = function (radix) {
-        if (radix === undefined) radix = 10;
-        if (radix != 10) return toBase(this, radix);
-        return String(this.value);
-    };
-    BigInteger.prototype.toJSON = SmallInteger.prototype.toJSON = function() { return this.toString(); }
-
-    BigInteger.prototype.valueOf = function () {
-        return +this.toString();
-    };
-    BigInteger.prototype.toJSNumber = BigInteger.prototype.valueOf;
-
-    SmallInteger.prototype.valueOf = function () {
-        return this.value;
-    };
-    SmallInteger.prototype.toJSNumber = SmallInteger.prototype.valueOf;
-
-    function parseStringValue(v) {
-            if (isPrecise(+v)) {
-                var x = +v;
-                if (x === truncate(x))
-                    return new SmallInteger(x);
-                throw "Invalid integer: " + v;
-            }
-            var sign = v[0] === "-";
-            if (sign) v = v.slice(1);
-            var split = v.split(/e/i);
-            if (split.length > 2) throw new Error("Invalid integer: " + split.join("e"));
-            if (split.length === 2) {
-                var exp = split[1];
-                if (exp[0] === "+") exp = exp.slice(1);
-                exp = +exp;
-                if (exp !== truncate(exp) || !isPrecise(exp)) throw new Error("Invalid integer: " + exp + " is not a valid exponent.");
-                var text = split[0];
-                var decimalPlace = text.indexOf(".");
-                if (decimalPlace >= 0) {
-                    exp -= text.length - decimalPlace - 1;
-                    text = text.slice(0, decimalPlace) + text.slice(decimalPlace + 1);
-                }
-                if (exp < 0) throw new Error("Cannot include negative exponent part for integers");
-                text += (new Array(exp + 1)).join("0");
-                v = text;
-            }
-            var isValid = /^([0-9][0-9]*)$/.test(v);
-            if (!isValid) throw new Error("Invalid integer: " + v);
-            var r = [], max = v.length, l = LOG_BASE, min = max - l;
-            while (max > 0) {
-                r.push(+v.slice(min, max));
-                min -= l;
-                if (min < 0) min = 0;
-                max -= l;
-            }
-            trim(r);
-            return new BigInteger(r, sign);
-    }
-
-    function parseNumberValue(v) {
-        if (isPrecise(v)) {
-            if (v !== truncate(v)) throw new Error(v + " is not an integer.");
-            return new SmallInteger(v);
-        }
-        return parseStringValue(v.toString());
-    }
-
-    function parseValue(v) {
-        if (typeof v === "number") {
-            return parseNumberValue(v);
-        }
-        if (typeof v === "string") {
-            return parseStringValue(v);
-        }
-        return v;
-    }
-    // Pre-define numbers in range [-999,999]
-    for (var i = 0; i < 1000; i++) {
-        Integer[i] = new SmallInteger(i);
-        if (i > 0) Integer[-i] = new SmallInteger(-i);
-    }
-    // Backwards compatibility
-    Integer.one = Integer[1];
-    Integer.zero = Integer[0];
-    Integer.minusOne = Integer[-1];
-    Integer.max = max;
-    Integer.min = min;
-    Integer.gcd = gcd;
-    Integer.lcm = lcm;
-    Integer.isInstance = function (x) { return x instanceof BigInteger || x instanceof SmallInteger; };
-    Integer.randBetween = randBetween;
-
-    Integer.fromArray = function (digits, base, isNegative) {
-        return parseBaseFromArray(digits.map(parseValue), parseValue(base || 10), isNegative);
-    };
-
-    return Integer;
-})();
-
-// Node.js check
-if (typeof module !== "undefined" && module.hasOwnProperty("exports")) {
-    module.exports = bigInt;
-}
-
-//amd check
-if ( typeof define === "function" && define.amd ) {
-  define( "big-integer", [], function() {
-    return bigInt;
-  });
-}
diff --git a/node_modules/big-integer/BigInteger.min.js b/node_modules/big-integer/BigInteger.min.js
deleted file mode 100644
index 99ea9fb..0000000
--- a/node_modules/big-integer/BigInteger.min.js
+++ /dev/null
@@ -1 +0,0 @@
-var bigInt=function(undefined){"use strict";var BASE=1e7,LOG_BASE=7,MAX_INT=9007199254740992,MAX_INT_ARR=smallToArray(MAX_INT),LOG_MAX_INT=Math.log(MAX_INT);function Integer(v,radix){if(typeof v==="undefined")return Integer[0];if(typeof radix!=="undefined")return+radix===10?parseValue(v):parseBase(v,radix);return parseValue(v)}function BigInteger(value,sign){this.value=value;this.sign=sign;this.isSmall=false}BigInteger.prototype=Object.create(Integer.prototype);function SmallInteger(valu [...]
\ No newline at end of file
diff --git a/node_modules/big-integer/LICENSE b/node_modules/big-integer/LICENSE
deleted file mode 100644
index cf1ab25..0000000
--- a/node_modules/big-integer/LICENSE
+++ /dev/null
@@ -1,24 +0,0 @@
-This is free and unencumbered software released into the public domain.
-
-Anyone is free to copy, modify, publish, use, compile, sell, or
-distribute this software, either in source code form or as a compiled
-binary, for any purpose, commercial or non-commercial, and by any
-means.
-
-In jurisdictions that recognize copyright laws, the author or authors
-of this software dedicate any and all copyright interest in the
-software to the public domain. We make this dedication for the benefit
-of the public at large and to the detriment of our heirs and
-successors. We intend this dedication to be an overt act of
-relinquishment in perpetuity of all present and future rights to this
-software under copyright law.
-
-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 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.
-
-For more information, please refer to <http://unlicense.org>
diff --git a/node_modules/big-integer/README.md b/node_modules/big-integer/README.md
deleted file mode 100644
index 5824f7e..0000000
--- a/node_modules/big-integer/README.md
+++ /dev/null
@@ -1,520 +0,0 @@
-# BigInteger.js [![Build Status][travis-img]][travis-url] [![Coverage Status][coveralls-img]][coveralls-url] [![Monthly Downloads][downloads-img]][downloads-url]
-
-[travis-url]: https://travis-ci.org/peterolson/BigInteger.js
-[travis-img]: https://travis-ci.org/peterolson/BigInteger.js.svg?branch=master
-[coveralls-url]: https://coveralls.io/github/peterolson/BigInteger.js?branch=master
-[coveralls-img]: https://coveralls.io/repos/peterolson/BigInteger.js/badge.svg?branch=master&service=github
-[downloads-url]: https://www.npmjs.com/package/big-integer
-[downloads-img]: https://img.shields.io/npm/dm/big-integer.svg
-
-**BigInteger.js** is an arbitrary-length integer library for Javascript, allowing arithmetic operations on integers of unlimited size, notwithstanding memory and time limitations.
-
-## Installation
-
-If you are using a browser, you can download [BigInteger.js from GitHub](http://peterolson.github.com/BigInteger.js/BigInteger.min.js) or just hotlink to it:
-
-	<script src="http://peterolson.github.com/BigInteger.js/BigInteger.min.js"></script>
-
-If you are using node, you can install BigInteger with [npm](https://npmjs.org/).
-
-    npm install big-integer
-
-Then you can include it in your code:
-
-	var bigInt = require("big-integer");
-
-
-## Usage
-### `bigInt(number, [base])`
-
-You can create a bigInt by calling the `bigInt` function. You can pass in
-
- - a string, which it will parse as an bigInt and throw an `"Invalid integer"` error if the parsing fails.
- - a Javascript number, which it will parse as an bigInt and throw an `"Invalid integer"` error if the parsing fails.
- - another bigInt.
- - nothing, and it will return `bigInt.zero`.
-
- If you provide a second parameter, then it will parse `number` as a number in base `base`. Note that `base` can be any bigInt (even negative or zero). The letters "a-z" and "A-Z" will be interpreted as the numbers 10 to 35. Higher digits can be specified in angle brackets (`<` and `>`).
-
-Examples:
-
-    var zero = bigInt();
-    var ninetyThree = bigInt(93);
-	var largeNumber = bigInt("75643564363473453456342378564387956906736546456235345");
-	var googol = bigInt("1e100");
-	var bigNumber = bigInt(largeNumber);
-	 
-	var maximumByte = bigInt("FF", 16);
-	var fiftyFiveGoogol = bigInt("<55>0", googol);
-
-Note that Javascript numbers larger than `9007199254740992` and smaller than `-9007199254740992` are not precisely represented numbers and will not produce exact results. If you are dealing with numbers outside that range, it is better to pass in strings.
-
-### Method Chaining
-
-Note that bigInt operations return bigInts, which allows you to chain methods, for example:
-
-    var salary = bigInt(dollarsPerHour).times(hoursWorked).plus(randomBonuses)
-
-### Constants
-
-There are three named constants already stored that you do not have to construct with the `bigInt` function yourself:
-
- - `bigInt.one`, equivalent to `bigInt(1)`
- - `bigInt.zero`, equivalent to `bigInt(0)`
- - `bigInt.minusOne`, equivalent to `bigInt(-1)`
- 
-The numbers from -999 to 999 are also already prestored and can be accessed using `bigInt[index]`, for example:
-
- - `bigInt[-999]`, equivalent to `bigInt(-999)`
- - `bigInt[256]`, equivalent to `bigInt(256)`
-
-### Methods
-
-#### `abs()`
-
-Returns the absolute value of a bigInt.
-
- - `bigInt(-45).abs()` => `45`
- - `bigInt(45).abs()` => `45`
-
-#### `add(number)`
-
-Performs addition.
-
- - `bigInt(5).add(7)` => `12`
- 
-[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Addition)
-
-#### `and(number)`
-
-Performs the bitwise AND operation. The operands are treated as if they were represented using [two's complement representation](http://en.wikipedia.org/wiki/Two%27s_complement).
-
- - `bigInt(6).and(3)` => `2`
- - `bigInt(6).and(-3)` => `4`
-
-#### `compare(number)`
-
-Performs a comparison between two numbers. If the numbers are equal, it returns `0`. If the first number is greater, it returns `1`. If the first number is lesser, it returns `-1`.
-
- - `bigInt(5).compare(5)` => `0`
- - `bigInt(5).compare(4)` => `1`
- - `bigInt(4).compare(5)` => `-1`
-
-#### `compareAbs(number)`
-
-Performs a comparison between the absolute value of two numbers.
-
- - `bigInt(5).compareAbs(-5)` => `0`
- - `bigInt(5).compareAbs(4)` => `1`
- - `bigInt(4).compareAbs(-5)` => `-1`
-
-#### `compareTo(number)`
-
-Alias for the `compare` method.
-
-#### `divide(number)`
-
-Performs integer division, disregarding the remainder.
-
- - `bigInt(59).divide(5)` => `11`
- 
-[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Division)
-
-#### `divmod(number)`
-
-Performs division and returns an object with two properties: `quotient` and `remainder`. The sign of the remainder will match the sign of the dividend.
-
- - `bigInt(59).divmod(5)` => `{quotient: bigInt(11), remainder: bigInt(4) }`
- - `bigInt(-5).divmod(2)` => `{quotient: bigInt(-2), remainder: bigInt(-1) }`
- 
-[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Division)
-
-#### `eq(number)`
-
-Alias for the `equals` method.
-
-#### `equals(number)`
-
-Checks if two numbers are equal.
-
- - `bigInt(5).equals(5)` => `true`
- - `bigInt(4).equals(7)` => `false`
-
-#### `geq(number)`
-
-Alias for the `greaterOrEquals` method.
-
-
-#### `greater(number)`
-
-Checks if the first number is greater than the second.
-
- - `bigInt(5).greater(6)` => `false`
- - `bigInt(5).greater(5)` => `false`
- - `bigInt(5).greater(4)` => `true`
-
-#### `greaterOrEquals(number)`
-
-Checks if the first number is greater than or equal to the second.
-
- - `bigInt(5).greaterOrEquals(6)` => `false`
- - `bigInt(5).greaterOrEquals(5)` => `true`
- - `bigInt(5).greaterOrEquals(4)` => `true`
-
-#### `gt(number)`
-
-Alias for the `greater` method.
-
-#### `isDivisibleBy(number)`
-
-Returns `true` if the first number is divisible by the second number, `false` otherwise.
-
- - `bigInt(999).isDivisibleBy(333)` => `true`
- - `bigInt(99).isDivisibleBy(5)` => `false`
-
-#### `isEven()`
-
-Returns `true` if the number is even, `false` otherwise.
-
- - `bigInt(6).isEven()` => `true`
- - `bigInt(3).isEven()` => `false`
-
-#### `isNegative()`
-
-Returns `true` if the number is negative, `false` otherwise.
-Returns `false` for `0` and `-0`.
-
- - `bigInt(-23).isNegative()` => `true`
- - `bigInt(50).isNegative()` => `false`
-
-#### `isOdd()`
-
-Returns `true` if the number is odd, `false` otherwise.
-
- - `bigInt(13).isOdd()` => `true`
- - `bigInt(40).isOdd()` => `false`
-
-#### `isPositive()`
-
-Return `true` if the number is positive, `false` otherwise.
-Returns `false` for `0` and `-0`.
-
- - `bigInt(54).isPositive()` => `true`
- - `bigInt(-1).isPositive()` => `false`
-
-#### `isPrime()`
-
-Returns `true` if the number is prime, `false` otherwise.
-
- - `bigInt(5).isPrime()` => `true`
- - `bigInt(6).isPrime()` => `false`
-
-#### `isProbablePrime([iterations])`
-
-Returns `true` if the number is very likely to be prime, `false` otherwise.
-Argument is optional and determines the amount of iterations of the test (default: `5`). The more iterations, the lower chance of getting a false positive.
-This uses the [Fermat primality test](https://en.wikipedia.org/wiki/Fermat_primality_test).
-
- - `bigInt(5).isProbablePrime()` => `true`
- - `bigInt(49).isProbablePrime()` => `false`
- - `bigInt(1729).isProbablePrime(50)` => `false`
- 
-Note that this function is not deterministic, since it relies on random sampling of factors, so the result for some numbers is not always the same. [Carmichael numbers](https://en.wikipedia.org/wiki/Carmichael_number) are particularly prone to give unreliable results.
-
-For example, `bigInt(1729).isProbablePrime()` returns `false` about 76% of the time and `true` about 24% of the time. The correct result is `false`.
-
-#### `isUnit()`
-
-Returns `true` if the number is `1` or `-1`, `false` otherwise.
-
- - `bigInt.one.isUnit()` => `true`
- - `bigInt.minusOne.isUnit()` => `true`
- - `bigInt(5).isUnit()` => `false`
-
-#### `isZero()`
-
-Return `true` if the number is `0` or `-0`, `false` otherwise.
-
- - `bigInt.zero.isZero()` => `true`
- - `bigInt("-0").isZero()` => `true`
- - `bigInt(50).isZero()` => `false`
-
-#### `leq(number)`
-
-Alias for the `lesserOrEquals` method.
-
-#### `lesser(number)`
-
-Checks if the first number is lesser than the second.
-
- - `bigInt(5).lesser(6)` => `true`
- - `bigInt(5).lesser(5)` => `false`
- - `bigInt(5).lesser(4)` => `false`
-
-#### `lesserOrEquals(number)`
-
-Checks if the first number is less than or equal to the second.
-
- - `bigInt(5).lesserOrEquals(6)` => `true`
- - `bigInt(5).lesserOrEquals(5)` => `true`
- - `bigInt(5).lesserOrEquals(4)` => `false`
-
-#### `lt(number)`
-
-Alias for the `lesser` method.
-
-#### `minus(number)`
-
-Alias for the `subtract` method.
-
- - `bigInt(3).minus(5)` => `-2`
- 
-[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Subtraction)
-
-#### `mod(number)`
-
-Performs division and returns the remainder, disregarding the quotient. The sign of the remainder will match the sign of the dividend.
-
- - `bigInt(59).mod(5)` =>  `4`
- - `bigInt(-5).mod(2)` => `-1`
- 
-[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Division)
-
-#### `modInv(mod)`
-
-Finds the [multiplicative inverse](https://en.wikipedia.org/wiki/Modular_multiplicative_inverse) of the number modulo `mod`.
-
- - `bigInt(3).modInv(11)` => `4`
- - `bigInt(42).modInv(2017)` => `1969`
-
-#### `modPow(exp, mod)`
-
-Takes the number to the power `exp` modulo `mod`.
-
- - `bigInt(10).modPow(3, 30)` => `10`
-
-#### `multiply(number)`
-
-Performs multiplication.
-
- - `bigInt(111).multiply(111)` => `12321`
-
-[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Multiplication)
-
-#### `neq(number)`
-
-Alias for the `notEquals` method.
-
-#### `next()`
-
-Adds one to the number.
-
- - `bigInt(6).next()` => `7`
-
-#### `not()`
-
-Performs the bitwise NOT operation. The operands are treated as if they were represented using [two's complement representation](http://en.wikipedia.org/wiki/Two%27s_complement).
-
- - `bigInt(10).not()` => `-11`
- - `bigInt(0).not()` => `-1`
-
-#### `notEquals(number)`
-
-Checks if two numbers are not equal.
-
- - `bigInt(5).notEquals(5)` => `false`
- - `bigInt(4).notEquals(7)` => `true`
-
-#### `or(number)`
-
-Performs the bitwise OR operation. The operands are treated as if they were represented using [two's complement representation](http://en.wikipedia.org/wiki/Two%27s_complement).
-
- - `bigInt(13).or(10)` => `15`
- - `bigInt(13).or(-8)` => `-3`
-
-#### `over(number)`
-
-Alias for the `divide` method.
-
- - `bigInt(59).over(5)` => `11`
- 
-[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Division)
-
-#### `plus(number)`
-
-Alias for the `add` method.
-
- - `bigInt(5).plus(7)` => `12`
- 
-[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Addition)
-
-#### `pow(number)`
-
-Performs exponentiation. If the exponent is less than `0`, `pow` returns `0`. `bigInt.zero.pow(0)` returns `1`.
-
- - `bigInt(16).pow(16)` => `18446744073709551616`
-
-[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Exponentiation)
-
-#### `prev(number)`
-
-Subtracts one from the number.
-
- - `bigInt(6).prev()` => `5`
-
-#### `remainder(number)`
-
-Alias for the `mod` method.
-
-[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Division)
-
-#### `shiftLeft(n)`
-
-Shifts the number left by `n` places in its binary representation. If a negative number is provided, it will shift right. Throws an error if `n` is outside of the range `[-9007199254740992, 9007199254740992]`.
-
- - `bigInt(8).shiftLeft(2)` => `32`
- - `bigInt(8).shiftLeft(-2)` => `2`
-
-#### `shiftRight(n)`
-
-Shifts the number right by `n` places in its binary representation. If a negative number is provided, it will shift left. Throws an error if `n` is outside of the range `[-9007199254740992, 9007199254740992]`.
-
- - `bigInt(8).shiftRight(2)` => `2`
- - `bigInt(8).shiftRight(-2)` => `32`
-
-#### `square()`
-
-Squares the number
-
- - `bigInt(3).square()` => `9`
- 
-[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Squaring)
-
-#### `subtract(number)`
-
-Performs subtraction.
-
- - `bigInt(3).subtract(5)` => `-2`
- 
-[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Subtraction)
-
-#### `times(number)`
-
-Alias for the `multiply` method.
-
- - `bigInt(111).times(111)` => `12321`
- 
-[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#Multiplication)
-
-#### `toJSNumber()`
-
-Converts a bigInt into a native Javascript number. Loses precision for numbers outside the range `[-9007199254740992, 9007199254740992]`.
-
- - `bigInt("18446744073709551616").toJSNumber()` => `18446744073709552000`
-
-#### `xor(number)`
-
-Performs the bitwise XOR operation. The operands are treated as if they were represented using [two's complement representation](http://en.wikipedia.org/wiki/Two%27s_complement).
-
- - `bigInt(12).xor(5)` => `9`
- - `bigInt(12).xor(-5)` => `-9`
- 
-### Static Methods
-
-#### `fromArray(digits, base = 10, isNegative?)`
-
-Constructs a bigInt from an array of digits in base `base`. The optional `isNegative` flag will make the number negative.
-
- - `bigInt.fromArray([1, 2, 3, 4, 5], 10)` => `12345`
- - `bigInt.fromArray([1, 0, 0], 2, true)` => `-4`
-
-#### `gcd(a, b)`
-
-Finds the greatest common denominator of `a` and `b`.
-
- - `bigInt.gcd(42,56)` => `14`
-
-#### `isInstance(x)`
-
-Returns `true` if `x` is a BigInteger, `false` otherwise.
-
- - `bigInt.isInstance(bigInt(14))` => `true`
- - `bigInt.isInstance(14)` => `false`
- 
-#### `lcm(a,b)`
-
-Finds the least common multiple of `a` and `b`.
- 
- - `bigInt.lcm(21, 6)` => `42`
- 
-#### `max(a,b)`
-
-Returns the largest of `a` and `b`.
-
- - `bigInt.max(77, 432)` => `432`
-
-#### `min(a,b)`
-
-Returns the smallest of `a` and `b`.
-
- - `bigInt.min(77, 432)` => `77`
-
-#### `randBetween(min, max)`
-
-Returns a random number between `min` and `max`.
-
- - `bigInt.randBetween("-1e100", "1e100")` => (for example) `8494907165436643479673097939554427056789510374838494147955756275846226209006506706784609314471378745`
-
-
-### Override Methods
-
-#### `toString(radix = 10)`
-
-Converts a bigInt to a string. There is an optional radix parameter (which defaults to 10) that converts the number to the given radix. Digits in the range `10-35` will use the letters `a-z`.
-
- - `bigInt("1e9").toString()` => `"1000000000"`
- - `bigInt("1e9").toString(16)` => `"3b9aca00"`
-
-**Note that arithmetical operators will trigger the `valueOf` function rather than the `toString` function.** When converting a bigInteger to a string, you should use the `toString` method or the `String` function instead of adding the empty string.
-
- - `bigInt("999999999999999999").toString()` => `"999999999999999999"`
- - `String(bigInt("999999999999999999"))` => `"999999999999999999"`
- - `bigInt("999999999999999999") + ""` => `1000000000000000000`
-
-Bases larger than 36 are supported. If a digit is greater than or equal to 36, it will be enclosed in angle brackets.
-
- - `bigInt(567890).toString(100)` => `"<56><78><90>"`
-
-Negative bases are also supported.
-
- - `bigInt(12345).toString(-10)` => `"28465"`
-
-Base 1 and base -1 are also supported.
-
- - `bigInt(-15).toString(1)` => `"-111111111111111"`
- - `bigInt(-15).toString(-1)` => `"101010101010101010101010101010"`
-
-Base 0 is only allowed for the number zero.
-
- - `bigInt(0).toString(0)` => `0`
- - `bigInt(1).toString(0)` => `Error: Cannot convert nonzero numbers to base 0.`
- 
-[View benchmarks for this method](http://peterolson.github.io/BigInteger.js/benchmark/#toString)
- 
-#### `valueOf()`
-
-Converts a bigInt to a native Javascript number. This override allows you to use native arithmetic operators without explicit conversion:
-
- - `bigInt("100") + bigInt("200") === 300; //true`
-
-## Contributors
-
-To contribute, just fork the project, make some changes, and submit a pull request. Please verify that the unit tests pass before submitting.
-
-The unit tests are contained in the `spec/spec.js` file. You can run them locally by opening the `spec/SpecRunner.html` or file or running `npm test`. You can also [run the tests online from GitHub](http://peterolson.github.io/BigInteger.js/spec/SpecRunner.html).
-
-There are performance benchmarks that can be viewed from the `benchmarks/index.html` page. You can [run them online from GitHub](http://peterolson.github.io/BigInteger.js/benchmark/).
-
-## License
-
-This project is public domain. For more details, read about the [Unlicense](http://unlicense.org/).
diff --git a/node_modules/big-integer/bower.json b/node_modules/big-integer/bower.json
deleted file mode 100644
index 22dc58f..0000000
--- a/node_modules/big-integer/bower.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
-  "name": "big-integer",
-  "description": "An arbitrary length integer library for Javascript",
-  "main": "./BigInteger.js",
-  "authors": [
-    "Peter Olson"
-  ],
-  "license": "Unlicense",
-  "keywords": [
-    "math",
-    "big",
-    "bignum",
-    "bigint",
-    "biginteger",
-    "integer",
-    "arbitrary",
-    "precision",
-    "arithmetic"
-  ],
-  "homepage": "https://github.com/peterolson/BigInteger.js",
-  "ignore": [
-    "**/.*",
-    "node_modules",
-    "bower_components",
-    "test",
-    "coverage",
-    "tests"
-  ]
-}
diff --git a/node_modules/big-integer/package.json b/node_modules/big-integer/package.json
deleted file mode 100644
index 42b476b..0000000
--- a/node_modules/big-integer/package.json
+++ /dev/null
@@ -1,116 +0,0 @@
-{
-  "_args": [
-    [
-      {
-        "raw": "big-integer@^1.6.7",
-        "scope": null,
-        "escapedName": "big-integer",
-        "name": "big-integer",
-        "rawSpec": "^1.6.7",
-        "spec": ">=1.6.7 <2.0.0",
-        "type": "range"
-      },
-      "/Users/spindori/Documents/Cordova/cordova-ios/node_modules/bplist-parser"
-    ]
-  ],
-  "_from": "big-integer@>=1.6.7 <2.0.0",
-  "_id": "big-integer@1.6.25",
-  "_inCache": true,
-  "_location": "/big-integer",
-  "_nodeVersion": "6.10.3",
-  "_npmOperationalInternal": {
-    "host": "s3://npm-registry-packages",
-    "tmp": "tmp/big-integer-1.6.25.tgz_1504748727289_0.9231066561769694"
-  },
-  "_npmUser": {
-    "name": "peterolson",
-    "email": "peter.e.c.olson+npm@gmail.com"
-  },
-  "_npmVersion": "3.10.10",
-  "_phantomChildren": {},
-  "_requested": {
-    "raw": "big-integer@^1.6.7",
-    "scope": null,
-    "escapedName": "big-integer",
-    "name": "big-integer",
-    "rawSpec": "^1.6.7",
-    "spec": ">=1.6.7 <2.0.0",
-    "type": "range"
-  },
-  "_requiredBy": [
-    "/bplist-parser"
-  ],
-  "_resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.25.tgz",
-  "_shasum": "1de45a9f57542ac20121c682f8d642220a34e823",
-  "_shrinkwrap": null,
-  "_spec": "big-integer@^1.6.7",
-  "_where": "/Users/spindori/Documents/Cordova/cordova-ios/node_modules/bplist-parser",
-  "author": {
-    "name": "Peter Olson",
-    "email": "peter.e.c.olson+npm@gmail.com"
-  },
-  "bin": {},
-  "bugs": {
-    "url": "https://github.com/peterolson/BigInteger.js/issues"
-  },
-  "contributors": [],
-  "dependencies": {},
-  "description": "An arbitrary length integer library for Javascript",
-  "devDependencies": {
-    "@types/lodash": "^4.14.64",
-    "@types/node": "^7.0.22",
-    "coveralls": "^2.11.4",
-    "jasmine": "2.1.x",
-    "jasmine-core": "^2.3.4",
-    "karma": "^0.13.3",
-    "karma-coverage": "^0.4.2",
-    "karma-jasmine": "^0.3.6",
-    "karma-phantomjs-launcher": "^1.0.4",
-    "lodash": "^4.17.4",
-    "typescript": "^2.3.3",
-    "uglifyjs": "^2.4.10"
-  },
-  "directories": {},
-  "dist": {
-    "shasum": "1de45a9f57542ac20121c682f8d642220a34e823",
-    "tarball": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.25.tgz"
-  },
-  "engines": {
-    "node": ">=0.6"
-  },
-  "gitHead": "a0c10d68aae8f5df56a67b3e3eb353b428abf170",
-  "homepage": "https://github.com/peterolson/BigInteger.js#readme",
-  "keywords": [
-    "math",
-    "big",
-    "bignum",
-    "bigint",
-    "biginteger",
-    "integer",
-    "arbitrary",
-    "precision",
-    "arithmetic"
-  ],
-  "license": "Unlicense",
-  "main": "./BigInteger",
-  "maintainers": [
-    {
-      "name": "peterolson",
-      "email": "peter.e.c.olson+npm@gmail.com"
-    }
-  ],
-  "name": "big-integer",
-  "optionalDependencies": {},
-  "readme": "# BigInteger.js [![Build Status][travis-img]][travis-url] [![Coverage Status][coveralls-img]][coveralls-url] [![Monthly Downloads][downloads-img]][downloads-url]\r\n\r\n[travis-url]: https://travis-ci.org/peterolson/BigInteger.js\r\n[travis-img]: https://travis-ci.org/peterolson/BigInteger.js.svg?branch=master\r\n[coveralls-url]: https://coveralls.io/github/peterolson/BigInteger.js?branch=master\r\n[coveralls-img]: https://coveralls.io/repos/peterolson/BigInteger.js/badge.sv [...]
-  "readmeFilename": "README.md",
-  "repository": {
-    "type": "git",
-    "url": "git+ssh://git@github.com/peterolson/BigInteger.js.git"
-  },
-  "scripts": {
-    "minify": "uglifyjs BigInteger.js -o BigInteger.min.js",
-    "test": "tsc && node_modules/.bin/karma start my.conf.js && node spec/tsDefinitions.js"
-  },
-  "typings": "./BigInteger.d.ts",
-  "version": "1.6.25"
-}
diff --git a/node_modules/big-integer/tsconfig.json b/node_modules/big-integer/tsconfig.json
deleted file mode 100644
index 62636e8..0000000
--- a/node_modules/big-integer/tsconfig.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-    "compilerOptions": {
-        "module": "commonjs",
-        "lib": [
-            "es6"
-        ],
-        "noImplicitAny": true,
-        "noImplicitThis": true,
-        "strictNullChecks": false,
-        "baseUrl": "./",
-        "moduleResolution": "node",
-        "allowJs": true,
-        "typeRoots": [
-            "./"
-        ],
-        "types": [
-            "node"
-        ],
-        "forceConsistentCasingInFileNames": true
-    },
-    "files": [
-        "BigInteger.d.ts",
-        "spec/tsDefinitions.ts"
-    ]
-}
\ No newline at end of file
diff --git a/node_modules/bplist-creator/.npmignore b/node_modules/bplist-creator/.npmignore
deleted file mode 100644
index a9b46ea..0000000
--- a/node_modules/bplist-creator/.npmignore
+++ /dev/null
@@ -1,8 +0,0 @@
-/build/*
-node_modules
-*.node
-*.sh
-*.swp
-.lock*
-npm-debug.log
-.idea
diff --git a/node_modules/bplist-creator/README.md b/node_modules/bplist-creator/README.md
deleted file mode 100644
index bf3080b..0000000
--- a/node_modules/bplist-creator/README.md
+++ /dev/null
@@ -1,64 +0,0 @@
-bplist-parser
-=============
-
-Binary Mac OS X Plist (property list) creator.
-
-## Installation
-
-```bash
-$ npm install bplist-creator
-```
-
-## Quick Examples
-
-```javascript
-var bplist = require('bplist-creator');
-
-var buffer = bplist({
-  key1: [1, 2, 3]
-});
-```
-
-## Real/Double/Float handling
-
-Javascript don't have different types for `1` and `1.0`. This package
-will automatically store numbers as the appropriate type, but can't
-detect floats that is also integers.
-
-If you need to force a value to be written with the `real` type pass
-an instance of `Real`.
-
-```javascript
-var buffer = bplist({
-  backgroundRed: new bplist.Real(1),
-  backgroundGreen: new bplist.Real(0),
-  backgroundBlue: new bplist.Real(0)
-});
-```
-
-In `xml` the corresponding tags is `<integer>` and `<real>`.
-
-## License
-
-(The MIT License)
-
-Copyright (c) 2012 Near Infinity Corporation
-
-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.
diff --git a/node_modules/bplist-creator/bplistCreator.js b/node_modules/bplist-creator/bplistCreator.js
deleted file mode 100644
index 7252e66..0000000
--- a/node_modules/bplist-creator/bplistCreator.js
+++ /dev/null
@@ -1,445 +0,0 @@
-'use strict';
-
-// adapted from http://code.google.com/p/plist/source/browse/trunk/src/main/java/com/dd/plist/BinaryPropertyListWriter.java
-
-var streamBuffers = require("stream-buffers");
-
-var debug = false;
-
-function Real(value) {
-  this.value = value;
-}
-
-module.exports = function(dicts) {
-  var buffer = new streamBuffers.WritableStreamBuffer();
-  buffer.write(new Buffer("bplist00"));
-
-  if (debug) {
-    console.log('create', require('util').inspect(dicts, false, 10));
-  }
-
-  if (dicts instanceof Array && dicts.length === 1) {
-    dicts = dicts[0];
-  }
-
-  var entries = toEntries(dicts);
-  if (debug) {
-    console.log('entries', entries);
-  }
-  var idSizeInBytes = computeIdSizeInBytes(entries.length);
-  var offsets = [];
-  var offsetSizeInBytes;
-  var offsetTableOffset;
-
-  updateEntryIds();
-
-  entries.forEach(function(entry, entryIdx) {
-    offsets[entryIdx] = buffer.size();
-    if (!entry) {
-      buffer.write(0x00);
-    } else {
-      write(entry);
-    }
-  });
-
-  writeOffsetTable();
-  writeTrailer();
-  return buffer.getContents();
-
-  function updateEntryIds() {
-    var strings = {};
-    var entryId = 0;
-    entries.forEach(function(entry) {
-      if (entry.id) {
-        return;
-      }
-      if (entry.type === 'string') {
-        if (!entry.bplistOverride && strings.hasOwnProperty(entry.value)) {
-          entry.type = 'stringref';
-          entry.id = strings[entry.value];
-        } else {
-          strings[entry.value] = entry.id = entryId++;
-        }
-      } else {
-        entry.id = entryId++;
-      }
-    });
-
-    entries = entries.filter(function(entry) {
-      return (entry.type !== 'stringref');
-    });
-  }
-
-  function writeTrailer() {
-    if (debug) {
-      console.log('0x' + buffer.size().toString(16), 'writeTrailer');
-    }
-    // 6 null bytes
-    buffer.write(new Buffer([0, 0, 0, 0, 0, 0]));
-
-    // size of an offset
-    if (debug) {
-      console.log('0x' + buffer.size().toString(16), 'writeTrailer(offsetSizeInBytes):', offsetSizeInBytes);
-    }
-    writeByte(offsetSizeInBytes);
-
-    // size of a ref
-    if (debug) {
-      console.log('0x' + buffer.size().toString(16), 'writeTrailer(offsetSizeInBytes):', idSizeInBytes);
-    }
-    writeByte(idSizeInBytes);
-
-    // number of objects
-    if (debug) {
-      console.log('0x' + buffer.size().toString(16), 'writeTrailer(number of objects):', entries.length);
-    }
-    writeLong(entries.length);
-
-    // top object
-    if (debug) {
-      console.log('0x' + buffer.size().toString(16), 'writeTrailer(top object)');
-    }
-    writeLong(0);
-
-    // offset table offset
-    if (debug) {
-      console.log('0x' + buffer.size().toString(16), 'writeTrailer(offset table offset):', offsetTableOffset);
-    }
-    writeLong(offsetTableOffset);
-  }
-
-  function writeOffsetTable() {
-    if (debug) {
-      console.log('0x' + buffer.size().toString(16), 'writeOffsetTable');
-    }
-    offsetTableOffset = buffer.size();
-    offsetSizeInBytes = computeOffsetSizeInBytes(offsetTableOffset);
-    offsets.forEach(function(offset) {
-      writeBytes(offset, offsetSizeInBytes);
-    });
-  }
-
-  function write(entry) {
-    switch (entry.type) {
-    case 'dict':
-      writeDict(entry);
-      break;
-    case 'number':
-    case 'double':
-      writeNumber(entry);
-      break;
-    case 'UID':
-      writeUID(entry);
-      break;
-    case 'array':
-      writeArray(entry);
-      break;
-    case 'boolean':
-      writeBoolean(entry);
-      break;
-    case 'string':
-    case 'string-utf16':
-      writeString(entry);
-      break;
-    case 'date':
-      writeDate(entry);
-      break;
-    case 'data':
-      writeData(entry);
-      break;
-    default:
-      throw new Error("unhandled entry type: " + entry.type);
-    }
-  }
-
-  function writeDate(entry) {
-    writeByte(0x33);
-    var date = (Date.parse(entry.value)/1000) - 978307200
-    writeDouble(date)
-  }
-
-  function writeDict(entry) {
-    if (debug) {
-      var keysStr = entry.entryKeys.map(function(k) {return k.id;});
-      var valsStr = entry.entryValues.map(function(k) {return k.id;});
-      console.log('0x' + buffer.size().toString(16), 'writeDict', '(id: ' + entry.id + ')', '(keys: ' + keysStr + ')', '(values: ' + valsStr + ')');
-    }
-    writeIntHeader(0xD, entry.entryKeys.length);
-    entry.entryKeys.forEach(function(entry) {
-      writeID(entry.id);
-    });
-    entry.entryValues.forEach(function(entry) {
-      writeID(entry.id);
-    });
-  }
-
-  function writeNumber(entry) {
-    if (debug) {
-      console.log('0x' + buffer.size().toString(16), 'writeNumber', entry.value, ' (type: ' + entry.type + ')', '(id: ' + entry.id + ')');
-    }
-
-    if (entry.type !== 'double' && parseFloat(entry.value.toFixed()) == entry.value) {
-      if (entry.value < 0) {
-        writeByte(0x13);
-        writeBytes(entry.value, 8);
-      } else if (entry.value <= 0xff) {
-        writeByte(0x10);
-        writeBytes(entry.value, 1);
-      } else if (entry.value <= 0xffff) {
-        writeByte(0x11);
-        writeBytes(entry.value, 2);
-      } else if (entry.value <= 0xffffffff) {
-        writeByte(0x12);
-        writeBytes(entry.value, 4);
-      } else {
-        writeByte(0x13);
-        writeBytes(entry.value, 8);
-      }
-    } else {
-      writeByte(0x23);
-      writeDouble(entry.value);
-    }
-  }
-
-  function writeUID(entry) {
-    if (debug) {
-      console.log('0x' + buffer.size().toString(16), 'writeUID', entry.value, ' (type: ' + entry.type + ')', '(id: ' + entry.id + ')');
-    }
-
-    writeIntHeader(0x8, 0x0);
-    writeID(entry.value);
-  }
-
-  function writeArray(entry) {
-    if (debug) {
-      console.log('0x' + buffer.size().toString(16), 'writeArray (length: ' + entry.entries.length + ')', '(id: ' + entry.id + ')');
-    }
-    writeIntHeader(0xA, entry.entries.length);
-    entry.entries.forEach(function(e) {
-      writeID(e.id);
-    });
-  }
-
-  function writeBoolean(entry) {
-    if (debug) {
-      console.log('0x' + buffer.size().toString(16), 'writeBoolean', entry.value, '(id: ' + entry.id + ')');
-    }
-    writeByte(entry.value ? 0x09 : 0x08);
-  }
-
-  function writeString(entry) {
-    if (debug) {
-      console.log('0x' + buffer.size().toString(16), 'writeString', entry.value, '(id: ' + entry.id + ')');
-    }
-    if (entry.type === 'string-utf16' || mustBeUtf16(entry.value)) {
-      var utf16 = new Buffer(entry.value, 'ucs2');
-      writeIntHeader(0x6, utf16.length / 2);
-      // needs to be big endian so swap the bytes
-      for (var i = 0; i < utf16.length; i += 2) {
-        var t = utf16[i + 0];
-        utf16[i + 0] = utf16[i + 1];
-        utf16[i + 1] = t;
-      }
-      buffer.write(utf16);
-    } else {
-      var utf8 = new Buffer(entry.value, 'ascii');
-      writeIntHeader(0x5, utf8.length);
-      buffer.write(utf8);
-    }
-  }
-
-  function writeData(entry) {
-    if (debug) {
-      console.log('0x' + buffer.size().toString(16), 'writeData', entry.value, '(id: ' + entry.id + ')');
-    }
-    writeIntHeader(0x4, entry.value.length);
-    buffer.write(entry.value);
-  }
-
-  function writeLong(l) {
-    writeBytes(l, 8);
-  }
-
-  function writeByte(b) {
-    buffer.write(new Buffer([b]));
-  }
-
-  function writeDouble(v) {
-    var buf = new Buffer(8);
-    buf.writeDoubleBE(v, 0);
-    buffer.write(buf);
-  }
-
-  function writeIntHeader(kind, value) {
-    if (value < 15) {
-      writeByte((kind << 4) + value);
-    } else if (value < 256) {
-      writeByte((kind << 4) + 15);
-      writeByte(0x10);
-      writeBytes(value, 1);
-    } else if (value < 65536) {
-      writeByte((kind << 4) + 15);
-      writeByte(0x11);
-      writeBytes(value, 2);
-    } else {
-      writeByte((kind << 4) + 15);
-      writeByte(0x12);
-      writeBytes(value, 4);
-    }
-  }
-
-  function writeID(id) {
-    writeBytes(id, idSizeInBytes);
-  }
-
-  function writeBytes(value, bytes) {
-    // write low-order bytes big-endian style
-    var buf = new Buffer(bytes);
-    var z = 0;
-    // javascript doesn't handle large numbers
-    while (bytes > 4) {
-      buf[z++] = 0;
-      bytes--;
-    }
-    for (var i = bytes - 1; i >= 0; i--) {
-      buf[z++] = value >> (8 * i);
-    }
-    buffer.write(buf);
-  }
-
-  function mustBeUtf16(string) {
-    return Buffer.byteLength(string, 'utf8') != string.length;
-  }
-};
-
-function toEntries(dicts) {
-  if (dicts.bplistOverride) {
-    return [dicts];
-  }
-
-  if (dicts instanceof Array) {
-    return toEntriesArray(dicts);
-  } else if (dicts instanceof Buffer) {
-    return [
-      {
-        type: 'data',
-        value: dicts
-      }
-    ];
-  } else if (dicts instanceof Real) {
-    return [
-      {
-        type: 'double',
-        value: dicts.value
-      }
-    ];
-  } else if (typeof(dicts) === 'object') {
-    if (dicts instanceof Date) {
-      return [
-        {
-          type: 'date',
-          value: dicts
-        }
-      ]
-    } else if (Object.keys(dicts).length == 1 && typeof(dicts.UID) === 'number') {
-      return [
-        {
-          type: 'UID',
-          value: dicts.UID
-        }
-      ]
-    } else {
-      return toEntriesObject(dicts);
-    }
-  } else if (typeof(dicts) === 'string') {
-    return [
-      {
-        type: 'string',
-        value: dicts
-      }
-    ];
-  } else if (typeof(dicts) === 'number') {
-    return [
-      {
-        type: 'number',
-        value: dicts
-      }
-    ];
-  } else if (typeof(dicts) === 'boolean') {
-    return [
-      {
-        type: 'boolean',
-        value: dicts
-      }
-    ];
-  } else {
-    throw new Error('unhandled entry: ' + dicts);
-  }
-}
-
-function toEntriesArray(arr) {
-  if (debug) {
-    console.log('toEntriesArray');
-  }
-  var results = [
-    {
-      type: 'array',
-      entries: []
-    }
-  ];
-  arr.forEach(function(v) {
-    var entry = toEntries(v);
-    results[0].entries.push(entry[0]);
-    results = results.concat(entry);
-  });
-  return results;
-}
-
-function toEntriesObject(dict) {
-  if (debug) {
-    console.log('toEntriesObject');
-  }
-  var results = [
-    {
-      type: 'dict',
-      entryKeys: [],
-      entryValues: []
-    }
-  ];
-  Object.keys(dict).forEach(function(key) {
-    var entryKey = toEntries(key);
-    results[0].entryKeys.push(entryKey[0]);
-    results = results.concat(entryKey[0]);
-  });
-  Object.keys(dict).forEach(function(key) {
-    var entryValue = toEntries(dict[key]);
-    results[0].entryValues.push(entryValue[0]);
-    results = results.concat(entryValue);
-  });
-  return results;
-}
-
-function computeOffsetSizeInBytes(maxOffset) {
-  if (maxOffset < 256) {
-    return 1;
-  }
-  if (maxOffset < 65536) {
-    return 2;
-  }
-  if (maxOffset < 4294967296) {
-    return 4;
-  }
-  return 8;
-}
-
-function computeIdSizeInBytes(numberOfIds) {
-  if (numberOfIds < 256) {
-    return 1;
-  }
-  if (numberOfIds < 65536) {
-    return 2;
-  }
-  return 4;
-}
-
-module.exports.Real = Real;
diff --git a/node_modules/bplist-creator/package.json b/node_modules/bplist-creator/package.json
deleted file mode 100644
index f35a5ce..0000000
--- a/node_modules/bplist-creator/package.json
+++ /dev/null
@@ -1,94 +0,0 @@
-{
-  "_args": [
-    [
-      {
-        "raw": "bplist-creator@0.0.7",
-        "scope": null,
-        "escapedName": "bplist-creator",
-        "name": "bplist-creator",
-        "rawSpec": "0.0.7",
-        "spec": "0.0.7",
-        "type": "version"
-      },
-      "/Users/spindori/Documents/Cordova/cordova-ios/node_modules/simple-plist"
-    ]
-  ],
-  "_from": "bplist-creator@0.0.7",
-  "_id": "bplist-creator@0.0.7",
-  "_inCache": true,
-  "_location": "/bplist-creator",
-  "_nodeVersion": "5.11.1",
-  "_npmOperationalInternal": {
-    "host": "packages-16-east.internal.npmjs.com",
-    "tmp": "tmp/bplist-creator-0.0.7.tgz_1472949121897_0.6429064173717052"
-  },
-  "_npmUser": {
-    "name": "joeferner",
-    "email": "joe@fernsroth.com"
-  },
-  "_npmVersion": "3.8.6",
-  "_phantomChildren": {},
-  "_requested": {
-    "raw": "bplist-creator@0.0.7",
-    "scope": null,
-    "escapedName": "bplist-creator",
-    "name": "bplist-creator",
-    "rawSpec": "0.0.7",
-    "spec": "0.0.7",
-    "type": "version"
-  },
-  "_requiredBy": [
-    "/simple-plist"
-  ],
-  "_resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.7.tgz",
-  "_shasum": "37df1536092824b87c42f957b01344117372ae45",
-  "_shrinkwrap": null,
-  "_spec": "bplist-creator@0.0.7",
-  "_where": "/Users/spindori/Documents/Cordova/cordova-ios/node_modules/simple-plist",
-  "author": {
-    "name": "https://github.com/nearinfinity/node-bplist-parser.git"
-  },
-  "bugs": {
-    "url": "https://github.com/nearinfinity/node-bplist-creator/issues"
-  },
-  "dependencies": {
-    "stream-buffers": "~2.2.0"
-  },
-  "description": "Binary Mac OS X Plist (property list) creator.",
-  "devDependencies": {
-    "bplist-parser": "~0.1.0",
-    "nodeunit": "0.9.1"
-  },
-  "directories": {},
-  "dist": {
-    "shasum": "37df1536092824b87c42f957b01344117372ae45",
-    "tarball": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.7.tgz"
-  },
-  "gitHead": "d39765ffd3fa678104fefc444a63ba6b60eee797",
-  "homepage": "https://github.com/nearinfinity/node-bplist-creator#readme",
-  "keywords": [
-    "bplist",
-    "plist",
-    "creator"
-  ],
-  "license": "MIT",
-  "main": "bplistCreator.js",
-  "maintainers": [
-    {
-      "name": "joeferner",
-      "email": "joe@fernsroth.com"
-    }
-  ],
-  "name": "bplist-creator",
-  "optionalDependencies": {},
-  "readme": "bplist-parser\n=============\n\nBinary Mac OS X Plist (property list) creator.\n\n## Installation\n\n```bash\n$ npm install bplist-creator\n```\n\n## Quick Examples\n\n```javascript\nvar bplist = require('bplist-creator');\n\nvar buffer = bplist({\n  key1: [1, 2, 3]\n});\n```\n\n## Real/Double/Float handling\n\nJavascript don't have different types for `1` and `1.0`. This package\nwill automatically store numbers as the appropriate type, but can't\ndetect floats that is also [...]
-  "readmeFilename": "README.md",
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/nearinfinity/node-bplist-creator.git"
-  },
-  "scripts": {
-    "test": "./node_modules/nodeunit/bin/nodeunit test"
-  },
-  "version": "0.0.7"
-}
diff --git a/node_modules/bplist-creator/test/airplay.bplist b/node_modules/bplist-creator/test/airplay.bplist
deleted file mode 100644
index 931adea..0000000
Binary files a/node_modules/bplist-creator/test/airplay.bplist and /dev/null differ
diff --git a/node_modules/bplist-creator/test/binaryData.bplist b/node_modules/bplist-creator/test/binaryData.bplist
deleted file mode 100644
index 2aa2066..0000000
Binary files a/node_modules/bplist-creator/test/binaryData.bplist and /dev/null differ
diff --git a/node_modules/bplist-creator/test/creatorTest.js b/node_modules/bplist-creator/test/creatorTest.js
deleted file mode 100644
index af427a1..0000000
--- a/node_modules/bplist-creator/test/creatorTest.js
+++ /dev/null
@@ -1,197 +0,0 @@
-'use strict';
-
-var fs = require('fs');
-var path = require('path');
-var nodeunit = require('nodeunit');
-var bplistParser = require('bplist-parser');
-var bplistCreator = require('../');
-
-module.exports = {
-//  'iTunes Small': function(test) {
-//    var file = path.join(__dirname, "iTunes-small.bplist");
-//    testFile(test, file);
-//  },
-
-  'sample1': function(test) {
-    var file = path.join(__dirname, "sample1.bplist");
-    testFile(test, file);
-  },
-
-  'sample2': function(test) {
-    var file = path.join(__dirname, "sample2.bplist");
-    testFile(test, file);
-  },
-
-  'binary data': function(test) {
-    var file = path.join(__dirname, "binaryData.bplist");
-    testFile(test, file);
-  },
-
-  'airplay': function(test) {
-    var file = path.join(__dirname, "airplay.bplist");
-    testFile(test, file);
-  },
-
-//  'utf16': function(test) {
-//    var file = path.join(__dirname, "utf16.bplist");
-//    testFile(test, file);
-//  },
-
-//  'uid': function(test) {
-//    var file = path.join(__dirname, "uid.bplist");
-//    testFile(test, file);
-//  }
-};
-
-function testFile(test, file) {
-  fs.readFile(file, function(err, fileData) {
-    if (err) {
-      return test.done(err);
-    }
-
-    bplistParser.parseFile(file, function(err, dicts) {
-      if (err) {
-        return test.done(err);
-      }
-
-      // airplay overrides
-      if (dicts && dicts[0] && dicts[0].loadedTimeRanges && dicts[0].loadedTimeRanges[0] && dicts[0].loadedTimeRanges[0].hasOwnProperty('start')) {
-        dicts[0].loadedTimeRanges[0].start = {
-          bplistOverride: true,
-          type: 'double',
-          value: dicts[0].loadedTimeRanges[0].start
-        };
-      }
-      if (dicts && dicts[0] && dicts[0].loadedTimeRanges && dicts[0].seekableTimeRanges[0] && dicts[0].seekableTimeRanges[0].hasOwnProperty('start')) {
-        dicts[0].seekableTimeRanges[0].start = {
-          bplistOverride: true,
-          type: 'double',
-          value: dicts[0].seekableTimeRanges[0].start
-        };
-      }
-      if (dicts && dicts[0] && dicts[0].hasOwnProperty('rate')) {
-        dicts[0].rate = {
-          bplistOverride: true,
-          type: 'double',
-          value: dicts[0].rate
-        };
-      }
-
-      // utf16
-      if (dicts && dicts[0] && dicts[0].hasOwnProperty('NSHumanReadableCopyright')) {
-        dicts[0].NSHumanReadableCopyright = {
-          bplistOverride: true,
-          type: 'string-utf16',
-          value: dicts[0].NSHumanReadableCopyright
-        };
-      }
-      if (dicts && dicts[0] && dicts[0].hasOwnProperty('CFBundleExecutable')) {
-        dicts[0].CFBundleExecutable = {
-          bplistOverride: true,
-          type: 'string',
-          value: dicts[0].CFBundleExecutable
-        };
-      }
-      if (dicts && dicts[0] && dicts[0].CFBundleURLTypes && dicts[0].CFBundleURLTypes[0] && dicts[0].CFBundleURLTypes[0].hasOwnProperty('CFBundleURLSchemes')) {
-        dicts[0].CFBundleURLTypes[0].CFBundleURLSchemes[0] = {
-          bplistOverride: true,
-          type: 'string',
-          value: dicts[0].CFBundleURLTypes[0].CFBundleURLSchemes[0]
-        };
-      }
-      if (dicts && dicts[0] && dicts[0].hasOwnProperty('CFBundleDisplayName')) {
-        dicts[0].CFBundleDisplayName = {
-          bplistOverride: true,
-          type: 'string',
-          value: dicts[0].CFBundleDisplayName
-        };
-      }
-      if (dicts && dicts[0] && dicts[0].hasOwnProperty('DTPlatformBuild')) {
-        dicts[0].DTPlatformBuild = {
-          bplistOverride: true,
-          type: 'string',
-          value: dicts[0].DTPlatformBuild
-        };
-      }
-
-      var buf = bplistCreator(dicts);
-      compareBuffers(test, buf, fileData);
-      return test.done();
-    });
-  });
-}
-
-function compareBuffers(test, buf1, buf2) {
-  if (buf1.length !== buf2.length) {
-    printBuffers(buf1, buf2);
-    return test.fail("buffer size mismatch. found: " + buf1.length + ", expected: " + buf2.length + ".");
-  }
-  for (var i = 0; i < buf1.length; i++) {
-    if (buf1[i] !== buf2[i]) {
-      printBuffers(buf1, buf2);
-      return test.fail("buffer mismatch at offset 0x" + i.toString(16) + ". found: 0x" + buf1[i].toString(16) + ", expected: 0x" + buf2[i].toString(16) + ".");
-    }
-  }
-}
-
-function printBuffers(buf1, buf2) {
-  var i, t;
-  for (var lineOffset = 0; lineOffset < buf1.length || lineOffset < buf2.length; lineOffset += 16) {
-    var line = '';
-
-    t = ('000000000' + lineOffset.toString(16));
-    line += t.substr(t.length - 8) + ': ';
-
-    for (i = 0; i < 16; i++) {
-      if (i == 8) {
-        line += ' ';
-      }
-      if (lineOffset + i < buf1.length) {
-        t = ('00' + buf1[lineOffset + i].toString(16));
-        line += t.substr(t.length - 2) + ' ';
-      } else {
-        line += '   ';
-      }
-    }
-    line += ' ';
-    for (i = 0; i < 16; i++) {
-      if (lineOffset + i < buf1.length) {
-        t = String.fromCharCode(buf1[lineOffset + i]);
-        if (t < ' ' || t > '~') {
-          t = '.';
-        }
-        line += t;
-      } else {
-        line += ' ';
-      }
-    }
-
-    line += ' - ';
-
-    for (i = 0; i < 16; i++) {
-      if (i == 8) {
-        line += ' ';
-      }
-      if (lineOffset + i < buf2.length) {
-        t = ('00' + buf2[lineOffset + i].toString(16));
-        line += t.substr(t.length - 2) + ' ';
-      } else {
-        line += '   ';
-      }
-    }
-    line += ' ';
-    for (i = 0; i < 16; i++) {
-      if (lineOffset + i < buf2.length) {
-        t = String.fromCharCode(buf2[lineOffset + i]);
-        if (t < ' ' || t > '~') {
-          t = '.';
-        }
-        line += t;
-      } else {
-        line += ' ';
-      }
-    }
-
-    console.log(line);
-  }
-}
diff --git a/node_modules/bplist-creator/test/iTunes-small.bplist b/node_modules/bplist-creator/test/iTunes-small.bplist
deleted file mode 100644
index b7edb14..0000000
Binary files a/node_modules/bplist-creator/test/iTunes-small.bplist and /dev/null differ
diff --git a/node_modules/bplist-creator/test/sample1.bplist b/node_modules/bplist-creator/test/sample1.bplist
deleted file mode 100644
index d5fa833..0000000
Binary files a/node_modules/bplist-creator/test/sample1.bplist and /dev/null differ
diff --git a/node_modules/bplist-creator/test/sample2.bplist b/node_modules/bplist-creator/test/sample2.bplist
deleted file mode 100644
index fc42979..0000000
Binary files a/node_modules/bplist-creator/test/sample2.bplist and /dev/null differ
diff --git a/node_modules/bplist-creator/test/uid.bplist b/node_modules/bplist-creator/test/uid.bplist
deleted file mode 100644
index 59f341e..0000000
Binary files a/node_modules/bplist-creator/test/uid.bplist and /dev/null differ
diff --git a/node_modules/bplist-creator/test/utf16.bplist b/node_modules/bplist-creator/test/utf16.bplist
deleted file mode 100644
index ba4bcfa..0000000
Binary files a/node_modules/bplist-creator/test/utf16.bplist and /dev/null differ
diff --git a/node_modules/bplist-parser/.npmignore b/node_modules/bplist-parser/.npmignore
deleted file mode 100644
index a9b46ea..0000000
--- a/node_modules/bplist-parser/.npmignore
+++ /dev/null
@@ -1,8 +0,0 @@
-/build/*
-node_modules
-*.node
-*.sh
-*.swp
-.lock*
-npm-debug.log
-.idea
diff --git a/node_modules/bplist-parser/README.md b/node_modules/bplist-parser/README.md
deleted file mode 100644
index 37e5e1c..0000000
--- a/node_modules/bplist-parser/README.md
+++ /dev/null
@@ -1,47 +0,0 @@
-bplist-parser
-=============
-
-Binary Mac OS X Plist (property list) parser.
-
-## Installation
-
-```bash
-$ npm install bplist-parser
-```
-
-## Quick Examples
-
-```javascript
-var bplist = require('bplist-parser');
-
-bplist.parseFile('myPlist.bplist', function(err, obj) {
-  if (err) throw err;
-
-  console.log(JSON.stringify(obj));
-});
-```
-
-## License
-
-(The MIT License)
-
-Copyright (c) 2012 Near Infinity Corporation
-
-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.
diff --git a/node_modules/bplist-parser/bplistParser.js b/node_modules/bplist-parser/bplistParser.js
deleted file mode 100644
index f8335bc..0000000
--- a/node_modules/bplist-parser/bplistParser.js
+++ /dev/null
@@ -1,357 +0,0 @@
-'use strict';
-
-// adapted from http://code.google.com/p/plist/source/browse/trunk/src/com/dd/plist/BinaryPropertyListParser.java
-
-var fs = require('fs');
-var bigInt = require("big-integer");
-var debug = false;
-
-exports.maxObjectSize = 100 * 1000 * 1000; // 100Meg
-exports.maxObjectCount = 32768;
-
-// EPOCH = new SimpleDateFormat("yyyy MM dd zzz").parse("2001 01 01 GMT").getTime();
-// ...but that's annoying in a static initializer because it can throw exceptions, ick.
-// So we just hardcode the correct value.
-var EPOCH = 978307200000;
-
-// UID object definition
-var UID = exports.UID = function(id) {
-  this.UID = id;
-}
-
-var parseFile = exports.parseFile = function (fileNameOrBuffer, callback) {
-  function tryParseBuffer(buffer) {
-    var err = null;
-    var result;
-    try {
-      result = parseBuffer(buffer);
-    } catch (ex) {
-      err = ex;
-    }
-    callback(err, result);
-  }
-
-  if (Buffer.isBuffer(fileNameOrBuffer)) {
-    return tryParseBuffer(fileNameOrBuffer);
-  } else {
-    fs.readFile(fileNameOrBuffer, function (err, data) {
-      if (err) { return callback(err); }
-      tryParseBuffer(data);
-    });
-  }
-};
-
-var parseBuffer = exports.parseBuffer = function (buffer) {
-  var result = {};
-
-  // check header
-  var header = buffer.slice(0, 'bplist'.length).toString('utf8');
-  if (header !== 'bplist') {
-    throw new Error("Invalid binary plist. Expected 'bplist' at offset 0.");
-  }
-
-  // Handle trailer, last 32 bytes of the file
-  var trailer = buffer.slice(buffer.length - 32, buffer.length);
-  // 6 null bytes (index 0 to 5)
-  var offsetSize = trailer.readUInt8(6);
-  if (debug) {
-    console.log("offsetSize: " + offsetSize);
-  }
-  var objectRefSize = trailer.readUInt8(7);
-  if (debug) {
-    console.log("objectRefSize: " + objectRefSize);
-  }
-  var numObjects = readUInt64BE(trailer, 8);
-  if (debug) {
-    console.log("numObjects: " + numObjects);
-  }
-  var topObject = readUInt64BE(trailer, 16);
-  if (debug) {
-    console.log("topObject: " + topObject);
-  }
-  var offsetTableOffset = readUInt64BE(trailer, 24);
-  if (debug) {
-    console.log("offsetTableOffset: " + offsetTableOffset);
-  }
-
-  if (numObjects > exports.maxObjectCount) {
-    throw new Error("maxObjectCount exceeded");
-  }
-
-  // Handle offset table
-  var offsetTable = [];
-
-  for (var i = 0; i < numObjects; i++) {
-    var offsetBytes = buffer.slice(offsetTableOffset + i * offsetSize, offsetTableOffset + (i + 1) * offsetSize);
-    offsetTable[i] = readUInt(offsetBytes, 0);
-    if (debug) {
-      console.log("Offset for Object #" + i + " is " + offsetTable[i] + " [" + offsetTable[i].toString(16) + "]");
-    }
-  }
-
-  // Parses an object inside the currently parsed binary property list.
-  // For the format specification check
-  // <a href="http://www.opensource.apple.com/source/CF/CF-635/CFBinaryPList.c">
-  // Apple's binary property list parser implementation</a>.
-  function parseObject(tableOffset) {
-    var offset = offsetTable[tableOffset];
-    var type = buffer[offset];
-    var objType = (type & 0xF0) >> 4; //First  4 bits
-    var objInfo = (type & 0x0F);      //Second 4 bits
-    switch (objType) {
-    case 0x0:
-      return parseSimple();
-    case 0x1:
-      return parseInteger();
-    case 0x8:
-      return parseUID();
-    case 0x2:
-      return parseReal();
-    case 0x3:
-      return parseDate();
-    case 0x4:
-      return parseData();
-    case 0x5: // ASCII
-      return parsePlistString();
-    case 0x6: // UTF-16
-      return parsePlistString(true);
-    case 0xA:
-      return parseArray();
-    case 0xD:
-      return parseDictionary();
-    default:
-      throw new Error("Unhandled type 0x" + objType.toString(16));
-    }
-
-    function parseSimple() {
-      //Simple
-      switch (objInfo) {
-      case 0x0: // null
-        return null;
-      case 0x8: // false
-        return false;
-      case 0x9: // true
-        return true;
-      case 0xF: // filler byte
-        return null;
-      default:
-        throw new Error("Unhandled simple type 0x" + objType.toString(16));
-      }
-    }
-
-    function bufferToHexString(buffer) {
-      var str = '';
-      var i;
-      for (i = 0; i < buffer.length; i++) {
-        if (buffer[i] != 0x00) {
-          break;
-        }
-      }
-      for (; i < buffer.length; i++) {
-        var part = '00' + buffer[i].toString(16);
-        str += part.substr(part.length - 2);
-      }
-      return str;
-    }
-
-    function parseInteger() {
-      var length = Math.pow(2, objInfo);
-      if (length > 4) {
-        var data = buffer.slice(offset + 1, offset + 1 + length);
-        var str = bufferToHexString(data);
-        return bigInt(str, 16);
-      } if (length < exports.maxObjectSize) {
-        return readUInt(buffer.slice(offset + 1, offset + 1 + length));
-      } else {
-        throw new Error("To little heap space available! Wanted to read " + length + " bytes, but only " + exports.maxObjectSize + " are available.");
-      }
-    }
-
-    function parseUID() {
-      var length = objInfo + 1;
-      if (length < exports.maxObjectSize) {
-        return new UID(readUInt(buffer.slice(offset + 1, offset + 1 + length)));
-      } else {
-        throw new Error("To little heap space available! Wanted to read " + length + " bytes, but only " + exports.maxObjectSize + " are available.");
-      }
-    }
-
-    function parseReal() {
-      var length = Math.pow(2, objInfo);
-      if (length < exports.maxObjectSize) {
-        var realBuffer = buffer.slice(offset + 1, offset + 1 + length);
-        if (length === 4) {
-          return realBuffer.readFloatBE(0);
-        }
-        else if (length === 8) {
-          return realBuffer.readDoubleBE(0);
-        }
-      } else {
-        throw new Error("To little heap space available! Wanted to read " + length + " bytes, but only " + exports.maxObjectSize + " are available.");
-      }
-    }
-
-    function parseDate() {
-      if (objInfo != 0x3) {
-        console.error("Unknown date type :" + objInfo + ". Parsing anyway...");
-      }
-      var dateBuffer = buffer.slice(offset + 1, offset + 9);
-      return new Date(EPOCH + (1000 * dateBuffer.readDoubleBE(0)));
-    }
-
-    function parseData() {
-      var dataoffset = 1;
-      var length = objInfo;
-      if (objInfo == 0xF) {
-        var int_type = buffer[offset + 1];
-        var intType = (int_type & 0xF0) / 0x10;
-        if (intType != 0x1) {
-          console.error("0x4: UNEXPECTED LENGTH-INT TYPE! " + intType);
-        }
-        var intInfo = int_type & 0x0F;
-        var intLength = Math.pow(2, intInfo);
-        dataoffset = 2 + intLength;
-        if (intLength < 3) {
-          length = readUInt(buffer.slice(offset + 2, offset + 2 + intLength));
-        } else {
-          length = readUInt(buffer.slice(offset + 2, offset + 2 + intLength));
-        }
-      }
-      if (length < exports.maxObjectSize) {
-        return buffer.slice(offset + dataoffset, offset + dataoffset + length);
-      } else {
-        throw new Error("To little heap space available! Wanted to read " + length + " bytes, but only " + exports.maxObjectSize + " are available.");
-      }
-    }
-
-    function parsePlistString (isUtf16) {
-      isUtf16 = isUtf16 || 0;
-      var enc = "utf8";
-      var length = objInfo;
-      var stroffset = 1;
-      if (objInfo == 0xF) {
-        var int_type = buffer[offset + 1];
-        var intType = (int_type & 0xF0) / 0x10;
-        if (intType != 0x1) {
-          console.err("UNEXPECTED LENGTH-INT TYPE! " + intType);
-        }
-        var intInfo = int_type & 0x0F;
-        var intLength = Math.pow(2, intInfo);
-        var stroffset = 2 + intLength;
-        if (intLength < 3) {
-          length = readUInt(buffer.slice(offset + 2, offset + 2 + intLength));
-        } else {
-          length = readUInt(buffer.slice(offset + 2, offset + 2 + intLength));
-        }
-      }
-      // length is String length -> to get byte length multiply by 2, as 1 character takes 2 bytes in UTF-16
-      length *= (isUtf16 + 1);
-      if (length < exports.maxObjectSize) {
-        var plistString = new Buffer(buffer.slice(offset + stroffset, offset + stroffset + length));
-        if (isUtf16) {
-          plistString = swapBytes(plistString);
-          enc = "ucs2";
-        }
-        return plistString.toString(enc);
-      } else {
-        throw new Error("To little heap space available! Wanted to read " + length + " bytes, but only " + exports.maxObjectSize + " are available.");
-      }
-    }
-
-    function parseArray() {
-      var length = objInfo;
-      var arrayoffset = 1;
-      if (objInfo == 0xF) {
-        var int_type = buffer[offset + 1];
-        var intType = (int_type & 0xF0) / 0x10;
-        if (intType != 0x1) {
-          console.error("0xa: UNEXPECTED LENGTH-INT TYPE! " + intType);
-        }
-        var intInfo = int_type & 0x0F;
-        var intLength = Math.pow(2, intInfo);
-        arrayoffset = 2 + intLength;
-        if (intLength < 3) {
-          length = readUInt(buffer.slice(offset + 2, offset + 2 + intLength));
-        } else {
-          length = readUInt(buffer.slice(offset + 2, offset + 2 + intLength));
-        }
-      }
-      if (length * objectRefSize > exports.maxObjectSize) {
-        throw new Error("To little heap space available!");
-      }
-      var array = [];
-      for (var i = 0; i < length; i++) {
-        var objRef = readUInt(buffer.slice(offset + arrayoffset + i * objectRefSize, offset + arrayoffset + (i + 1) * objectRefSize));
-        array[i] = parseObject(objRef);
-      }
-      return array;
-    }
-
-    function parseDictionary() {
-      var length = objInfo;
-      var dictoffset = 1;
-      if (objInfo == 0xF) {
-        var int_type = buffer[offset + 1];
-        var intType = (int_type & 0xF0) / 0x10;
-        if (intType != 0x1) {
-          console.error("0xD: UNEXPECTED LENGTH-INT TYPE! " + intType);
-        }
-        var intInfo = int_type & 0x0F;
-        var intLength = Math.pow(2, intInfo);
-        dictoffset = 2 + intLength;
-        if (intLength < 3) {
-          length = readUInt(buffer.slice(offset + 2, offset + 2 + intLength));
-        } else {
-          length = readUInt(buffer.slice(offset + 2, offset + 2 + intLength));
-        }
-      }
-      if (length * 2 * objectRefSize > exports.maxObjectSize) {
-        throw new Error("To little heap space available!");
-      }
-      if (debug) {
-        console.log("Parsing dictionary #" + tableOffset);
-      }
-      var dict = {};
-      for (var i = 0; i < length; i++) {
-        var keyRef = readUInt(buffer.slice(offset + dictoffset + i * objectRefSize, offset + dictoffset + (i + 1) * objectRefSize));
-        var valRef = readUInt(buffer.slice(offset + dictoffset + (length * objectRefSize) + i * objectRefSize, offset + dictoffset + (length * objectRefSize) + (i + 1) * objectRefSize));
-        var key = parseObject(keyRef);
-        var val = parseObject(valRef);
-        if (debug) {
-          console.log("  DICT #" + tableOffset + ": Mapped " + key + " to " + val);
-        }
-        dict[key] = val;
-      }
-      return dict;
-    }
-  }
-
-  return [ parseObject(topObject) ];
-};
-
-function readUInt(buffer, start) {
-  start = start || 0;
-
-  var l = 0;
-  for (var i = start; i < buffer.length; i++) {
-    l <<= 8;
-    l |= buffer[i] & 0xFF;
-  }
-  return l;
-}
-
-// we're just going to toss the high order bits because javascript doesn't have 64-bit ints
-function readUInt64BE(buffer, start) {
-  var data = buffer.slice(start, start + 8);
-  return data.readUInt32BE(4, 8);
-}
-
-function swapBytes(buffer) {
-  var len = buffer.length;
-  for (var i = 0; i < len; i += 2) {
-    var a = buffer[i];
-    buffer[i] = buffer[i+1];
-    buffer[i+1] = a;
-  }
-  return buffer;
-}
diff --git a/node_modules/bplist-parser/package.json b/node_modules/bplist-parser/package.json
deleted file mode 100644
index 688fea2..0000000
--- a/node_modules/bplist-parser/package.json
+++ /dev/null
@@ -1,91 +0,0 @@
-{
-  "_args": [
-    [
-      {
-        "raw": "bplist-parser@^0.1.0",
-        "scope": null,
-        "escapedName": "bplist-parser",
-        "name": "bplist-parser",
-        "rawSpec": "^0.1.0",
-        "spec": ">=0.1.0 <0.2.0",
-        "type": "range"
-      },
-      "/Users/spindori/Documents/Cordova/cordova-ios/node_modules/cordova-common"
-    ]
-  ],
-  "_from": "bplist-parser@>=0.1.0 <0.2.0",
-  "_id": "bplist-parser@0.1.1",
-  "_inCache": true,
-  "_location": "/bplist-parser",
-  "_nodeVersion": "5.1.0",
-  "_npmUser": {
-    "name": "joeferner",
-    "email": "joe@fernsroth.com"
-  },
-  "_npmVersion": "3.4.0",
-  "_phantomChildren": {},
-  "_requested": {
-    "raw": "bplist-parser@^0.1.0",
-    "scope": null,
-    "escapedName": "bplist-parser",
-    "name": "bplist-parser",
-    "rawSpec": "^0.1.0",
-    "spec": ">=0.1.0 <0.2.0",
-    "type": "range"
-  },
-  "_requiredBy": [
-    "/cordova-common",
-    "/simple-plist"
-  ],
-  "_resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz",
-  "_shasum": "d60d5dcc20cba6dc7e1f299b35d3e1f95dafbae6",
-  "_shrinkwrap": null,
-  "_spec": "bplist-parser@^0.1.0",
-  "_where": "/Users/spindori/Documents/Cordova/cordova-ios/node_modules/cordova-common",
-  "author": {
-    "name": "Joe Ferner",
-    "email": "joe.ferner@nearinfinity.com"
-  },
-  "bugs": {
-    "url": "https://github.com/nearinfinity/node-bplist-parser/issues"
-  },
-  "dependencies": {
-    "big-integer": "^1.6.7"
-  },
-  "description": "Binary plist parser.",
-  "devDependencies": {
-    "nodeunit": "~0.9.1"
-  },
-  "directories": {},
-  "dist": {
-    "shasum": "d60d5dcc20cba6dc7e1f299b35d3e1f95dafbae6",
-    "tarball": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz"
-  },
-  "gitHead": "c4f22650de2cc95edd21a6e609ff0654a2b951bd",
-  "homepage": "https://github.com/nearinfinity/node-bplist-parser#readme",
-  "keywords": [
-    "bplist",
-    "plist",
-    "parser"
-  ],
-  "license": "MIT",
-  "main": "bplistParser.js",
-  "maintainers": [
-    {
-      "name": "joeferner",
-      "email": "joe@fernsroth.com"
-    }
-  ],
-  "name": "bplist-parser",
-  "optionalDependencies": {},
-  "readme": "bplist-parser\n=============\n\nBinary Mac OS X Plist (property list) parser.\n\n## Installation\n\n```bash\n$ npm install bplist-parser\n```\n\n## Quick Examples\n\n```javascript\nvar bplist = require('bplist-parser');\n\nbplist.parseFile('myPlist.bplist', function(err, obj) {\n  if (err) throw err;\n\n  console.log(JSON.stringify(obj));\n});\n```\n\n## License\n\n(The MIT License)\n\nCopyright (c) 2012 Near Infinity Corporation\n\nPermission is hereby granted, free of char [...]
-  "readmeFilename": "README.md",
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/nearinfinity/node-bplist-parser.git"
-  },
-  "scripts": {
-    "test": "./node_modules/nodeunit/bin/nodeunit test"
-  },
-  "version": "0.1.1"
-}
diff --git a/node_modules/bplist-parser/test/airplay.bplist b/node_modules/bplist-parser/test/airplay.bplist
deleted file mode 100644
index 931adea..0000000
Binary files a/node_modules/bplist-parser/test/airplay.bplist and /dev/null differ
diff --git a/node_modules/bplist-parser/test/iTunes-small.bplist b/node_modules/bplist-parser/test/iTunes-small.bplist
deleted file mode 100644
index b7edb14..0000000
Binary files a/node_modules/bplist-parser/test/iTunes-small.bplist and /dev/null differ
diff --git a/node_modules/bplist-parser/test/int64.bplist b/node_modules/bplist-parser/test/int64.bplist
deleted file mode 100644
index 6da9c04..0000000
Binary files a/node_modules/bplist-parser/test/int64.bplist and /dev/null differ
diff --git a/node_modules/bplist-parser/test/int64.xml b/node_modules/bplist-parser/test/int64.xml
deleted file mode 100644
index cc6cb03..0000000
--- a/node_modules/bplist-parser/test/int64.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?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">
-  <dict>
-    <key>zero</key>
-    <integer>0</integer>
-    <key>int64item</key>
-    <integer>12345678901234567890</integer>
-  </dict>
-</plist>
diff --git a/node_modules/bplist-parser/test/parseTest.js b/node_modules/bplist-parser/test/parseTest.js
deleted file mode 100644
index 67e7bfa..0000000
--- a/node_modules/bplist-parser/test/parseTest.js
+++ /dev/null
@@ -1,159 +0,0 @@
-'use strict';
-
-// tests are adapted from https://github.com/TooTallNate/node-plist
-
-var path = require('path');
-var nodeunit = require('nodeunit');
-var bplist = require('../');
-
-module.exports = {
-  'iTunes Small': function (test) {
-    var file = path.join(__dirname, "iTunes-small.bplist");
-    var startTime1 = new Date();
-
-    bplist.parseFile(file, function (err, dicts) {
-      if (err) {
-        throw err;
-      }
-
-      var endTime = new Date();
-      console.log('Parsed "' + file + '" in ' + (endTime - startTime1) + 'ms');
-      var dict = dicts[0];
-      test.equal(dict['Application Version'], "9.0.3");
-      test.equal(dict['Library Persistent ID'], "6F81D37F95101437");
-      test.done();
-    });
-  },
-
-  'sample1': function (test) {
-    var file = path.join(__dirname, "sample1.bplist");
-    var startTime = new Date();
-
-    bplist.parseFile(file, function (err, dicts) {
-      if (err) {
-        throw err;
-      }
-
-      var endTime = new Date();
-      console.log('Parsed "' + file + '" in ' + (endTime - startTime) + 'ms');
-      var dict = dicts[0];
-      test.equal(dict['CFBundleIdentifier'], 'com.apple.dictionary.MySample');
-      test.done();
-    });
-  },
-
-  'sample2': function (test) {
-    var file = path.join(__dirname, "sample2.bplist");
-    var startTime = new Date();
-
-    bplist.parseFile(file, function (err, dicts) {
-      if (err) {
-        throw err;
-      }
-
-      var endTime = new Date();
-      console.log('Parsed "' + file + '" in ' + (endTime - startTime) + 'ms');
-      var dict = dicts[0];
-      test.equal(dict['PopupMenu'][2]['Key'], "\n        #import <Cocoa/Cocoa.h>\n\n#import <MacRuby/MacRuby.h>\n\nint main(int argc, char *argv[])\n{\n  return macruby_main(\"rb_main.rb\", argc, argv);\n}\n");
-      test.done();
-    });
-  },
-
-  'airplay': function (test) {
-    var file = path.join(__dirname, "airplay.bplist");
-    var startTime = new Date();
-
-    bplist.parseFile(file, function (err, dicts) {
-      if (err) {
-        throw err;
-      }
-
-      var endTime = new Date();
-      console.log('Parsed "' + file + '" in ' + (endTime - startTime) + 'ms');
-
-      var dict = dicts[0];
-      test.equal(dict['duration'], 5555.0495000000001);
-      test.equal(dict['position'], 4.6269989039999997);
-      test.done();
-    });
-  },
-
-  'utf16': function (test) {
-    var file = path.join(__dirname, "utf16.bplist");
-    var startTime = new Date();
-
-    bplist.parseFile(file, function (err, dicts) {
-      if (err) {
-        throw err;
-      }
-
-      var endTime = new Date();
-      console.log('Parsed "' + file + '" in ' + (endTime - startTime) + 'ms');
-
-      var dict = dicts[0];
-      test.equal(dict['CFBundleName'], 'sellStuff');
-      test.equal(dict['CFBundleShortVersionString'], '2.6.1');
-      test.equal(dict['NSHumanReadableCopyright'], '©2008-2012, sellStuff, Inc.');
-      test.done();
-    });
-  },
-
-  'utf16chinese': function (test) {
-    var file = path.join(__dirname, "utf16_chinese.plist");
-    var startTime = new Date();
-
-    bplist.parseFile(file, function (err, dicts) {
-      if (err) {
-        throw err;
-      }
-
-      var endTime = new Date();
-      console.log('Parsed "' + file + '" in ' + (endTime - startTime) + 'ms');
-
-      var dict = dicts[0];
-      test.equal(dict['CFBundleName'], '天翼阅读');
-      test.equal(dict['CFBundleDisplayName'], '天翼阅读');
-      test.done();
-    });
-  },
-
-
-
-  'uid': function (test) {
-    var file = path.join(__dirname, "uid.bplist");
-    var startTime = new Date();
-
-    bplist.parseFile(file, function (err, dicts) {
-      if (err) {
-        throw err;
-      }
-
-      var endTime = new Date();
-      console.log('Parsed "' + file + '" in ' + (endTime - startTime) + 'ms');
-
-      var dict = dicts[0];
-      test.deepEqual(dict['$objects'][1]['NS.keys'], [{UID:2}, {UID:3}, {UID:4}]);
-      test.deepEqual(dict['$objects'][1]['NS.objects'], [{UID: 5}, {UID:6}, {UID:7}]);
-      test.deepEqual(dict['$top']['root'], {UID:1});
-      test.done();
-    });
-  },
-  
-  'int64': function (test) {
-    var file = path.join(__dirname, "int64.bplist");
-    var startTime = new Date();
-
-    bplist.parseFile(file, function (err, dicts) {
-      if (err) {
-        throw err;
-      }
-
-      var endTime = new Date();
-      console.log('Parsed "' + file + '" in ' + (endTime - startTime) + 'ms');
-      var dict = dicts[0];
-      test.equal(dict['zero'], '0');
-      test.equal(dict['int64item'], '12345678901234567890');
-      test.done();
-    });
-  }
-};
diff --git a/node_modules/bplist-parser/test/sample1.bplist b/node_modules/bplist-parser/test/sample1.bplist
deleted file mode 100644
index 5b808ff..0000000
Binary files a/node_modules/bplist-parser/test/sample1.bplist and /dev/null differ
diff --git a/node_modules/bplist-parser/test/sample2.bplist b/node_modules/bplist-parser/test/sample2.bplist
deleted file mode 100644
index fc42979..0000000
Binary files a/node_modules/bplist-parser/test/sample2.bplist and /dev/null differ
diff --git a/node_modules/bplist-parser/test/uid.bplist b/node_modules/bplist-parser/test/uid.bplist
deleted file mode 100644
index 59f341e..0000000
Binary files a/node_modules/bplist-parser/test/uid.bplist and /dev/null differ
diff --git a/node_modules/bplist-parser/test/utf16.bplist b/node_modules/bplist-parser/test/utf16.bplist
deleted file mode 100644
index ba4bcfa..0000000
Binary files a/node_modules/bplist-parser/test/utf16.bplist and /dev/null differ
diff --git a/node_modules/bplist-parser/test/utf16_chinese.plist b/node_modules/bplist-parser/test/utf16_chinese.plist
deleted file mode 100755
index ba1e2d7..0000000
Binary files a/node_modules/bplist-parser/test/utf16_chinese.plist and /dev/null differ
diff --git a/node_modules/brace-expansion/README.md b/node_modules/brace-expansion/README.md
deleted file mode 100644
index ed2ec1f..0000000
--- a/node_modules/brace-expansion/README.md
+++ /dev/null
@@ -1,123 +0,0 @@
-# brace-expansion
-
-[Brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html), 
-as known from sh/bash, in JavaScript.
-
-[![build status](https://secure.travis-ci.org/juliangruber/brace-expansion.svg)](http://travis-ci.org/juliangruber/brace-expansion)
-[![downloads](https://img.shields.io/npm/dm/brace-expansion.svg)](https://www.npmjs.org/package/brace-expansion)
-[![Greenkeeper badge](https://badges.greenkeeper.io/juliangruber/brace-expansion.svg)](https://greenkeeper.io/)
-
-[![testling badge](https://ci.testling.com/juliangruber/brace-expansion.png)](https://ci.testling.com/juliangruber/brace-expansion)
-
-## Example
-
-```js
-var expand = require('brace-expansion');
-
-expand('file-{a,b,c}.jpg')
-// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg']
-
-expand('-v{,,}')
-// => ['-v', '-v', '-v']
-
-expand('file{0..2}.jpg')
-// => ['file0.jpg', 'file1.jpg', 'file2.jpg']
-
-expand('file-{a..c}.jpg')
-// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg']
-
-expand('file{2..0}.jpg')
-// => ['file2.jpg', 'file1.jpg', 'file0.jpg']
-
-expand('file{0..4..2}.jpg')
-// => ['file0.jpg', 'file2.jpg', 'file4.jpg']
-
-expand('file-{a..e..2}.jpg')
-// => ['file-a.jpg', 'file-c.jpg', 'file-e.jpg']
-
-expand('file{00..10..5}.jpg')
-// => ['file00.jpg', 'file05.jpg', 'file10.jpg']
-
-expand('{{A..C},{a..c}}')
-// => ['A', 'B', 'C', 'a', 'b', 'c']
-
-expand('ppp{,config,oe{,conf}}')
-// => ['ppp', 'pppconfig', 'pppoe', 'pppoeconf']
-```
-
-## API
-
-```js
-var expand = require('brace-expansion');
-```
-
-### var expanded = expand(str)
-
-Return an array of all possible and valid expansions of `str`. If none are
-found, `[str]` is returned.
-
-Valid expansions are:
-
-```js
-/^(.*,)+(.+)?$/
-// {a,b,...}
-```
-
-A comma seperated list of options, like `{a,b}` or `{a,{b,c}}` or `{,a,}`.
-
-```js
-/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/
-// {x..y[..incr]}
-```
-
-A numeric sequence from `x` to `y` inclusive, with optional increment.
-If `x` or `y` start with a leading `0`, all the numbers will be padded
-to have equal length. Negative numbers and backwards iteration work too.
-
-```js
-/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/
-// {x..y[..incr]}
-```
-
-An alphabetic sequence from `x` to `y` inclusive, with optional increment.
-`x` and `y` must be exactly one character, and if given, `incr` must be a
-number.
-
-For compatibility reasons, the string `${` is not eligible for brace expansion.
-
-## Installation
-
-With [npm](https://npmjs.org) do:
-
-```bash
-npm install brace-expansion
-```
-
-## Contributors
-
-- [Julian Gruber](https://github.com/juliangruber)
-- [Isaac Z. Schlueter](https://github.com/isaacs)
-
-## License
-
-(MIT)
-
-Copyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;
-
-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.
diff --git a/node_modules/brace-expansion/index.js b/node_modules/brace-expansion/index.js
deleted file mode 100644
index 0478be8..0000000
--- a/node_modules/brace-expansion/index.js
+++ /dev/null
@@ -1,201 +0,0 @@
-var concatMap = require('concat-map');
-var balanced = require('balanced-match');
-
-module.exports = expandTop;
-
-var escSlash = '\0SLASH'+Math.random()+'\0';
-var escOpen = '\0OPEN'+Math.random()+'\0';
-var escClose = '\0CLOSE'+Math.random()+'\0';
-var escComma = '\0COMMA'+Math.random()+'\0';
-var escPeriod = '\0PERIOD'+Math.random()+'\0';
-
-function numeric(str) {
-  return parseInt(str, 10) == str
-    ? parseInt(str, 10)
-    : str.charCodeAt(0);
-}
-
-function escapeBraces(str) {
-  return str.split('\\\\').join(escSlash)
-            .split('\\{').join(escOpen)
-            .split('\\}').join(escClose)
-            .split('\\,').join(escComma)
-            .split('\\.').join(escPeriod);
-}
-
-function unescapeBraces(str) {
-  return str.split(escSlash).join('\\')
-            .split(escOpen).join('{')
-            .split(escClose).join('}')
-            .split(escComma).join(',')
-            .split(escPeriod).join('.');
-}
-
-
-// Basically just str.split(","), but handling cases
-// where we have nested braced sections, which should be
-// treated as individual members, like {a,{b,c},d}
-function parseCommaParts(str) {
-  if (!str)
-    return [''];
-
-  var parts = [];
-  var m = balanced('{', '}', str);
-
-  if (!m)
-    return str.split(',');
-
-  var pre = m.pre;
-  var body = m.body;
-  var post = m.post;
-  var p = pre.split(',');
-
-  p[p.length-1] += '{' + body + '}';
-  var postParts = parseCommaParts(post);
-  if (post.length) {
-    p[p.length-1] += postParts.shift();
-    p.push.apply(p, postParts);
-  }
-
-  parts.push.apply(parts, p);
-
-  return parts;
-}
-
-function expandTop(str) {
-  if (!str)
-    return [];
-
-  // I don't know why Bash 4.3 does this, but it does.
-  // Anything starting with {} will have the first two bytes preserved
-  // but *only* at the top level, so {},a}b will not expand to anything,
-  // but a{},b}c will be expanded to [a}c,abc].
-  // One could argue that this is a bug in Bash, but since the goal of
-  // this module is to match Bash's rules, we escape a leading {}
-  if (str.substr(0, 2) === '{}') {
-    str = '\\{\\}' + str.substr(2);
-  }
-
-  return expand(escapeBraces(str), true).map(unescapeBraces);
-}
-
-function identity(e) {
-  return e;
-}
-
-function embrace(str) {
-  return '{' + str + '}';
-}
-function isPadded(el) {
-  return /^-?0\d/.test(el);
-}
-
-function lte(i, y) {
-  return i <= y;
-}
-function gte(i, y) {
-  return i >= y;
-}
-
-function expand(str, isTop) {
-  var expansions = [];
-
-  var m = balanced('{', '}', str);
-  if (!m || /\$$/.test(m.pre)) return [str];
-
-  var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
-  var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
-  var isSequence = isNumericSequence || isAlphaSequence;
-  var isOptions = m.body.indexOf(',') >= 0;
-  if (!isSequence && !isOptions) {
-    // {a},b}
-    if (m.post.match(/,.*\}/)) {
-      str = m.pre + '{' + m.body + escClose + m.post;
-      return expand(str);
-    }
-    return [str];
-  }
-
-  var n;
-  if (isSequence) {
-    n = m.body.split(/\.\./);
-  } else {
-    n = parseCommaParts(m.body);
-    if (n.length === 1) {
-      // x{{a,b}}y ==> x{a}y x{b}y
-      n = expand(n[0], false).map(embrace);
-      if (n.length === 1) {
-        var post = m.post.length
-          ? expand(m.post, false)
-          : [''];
-        return post.map(function(p) {
-          return m.pre + n[0] + p;
-        });
-      }
-    }
-  }
-
-  // at this point, n is the parts, and we know it's not a comma set
-  // with a single entry.
-
-  // no need to expand pre, since it is guaranteed to be free of brace-sets
-  var pre = m.pre;
-  var post = m.post.length
-    ? expand(m.post, false)
-    : [''];
-
-  var N;
-
-  if (isSequence) {
-    var x = numeric(n[0]);
-    var y = numeric(n[1]);
-    var width = Math.max(n[0].length, n[1].length)
-    var incr = n.length == 3
-      ? Math.abs(numeric(n[2]))
-      : 1;
-    var test = lte;
-    var reverse = y < x;
-    if (reverse) {
-      incr *= -1;
-      test = gte;
-    }
-    var pad = n.some(isPadded);
-
-    N = [];
-
-    for (var i = x; test(i, y); i += incr) {
-      var c;
-      if (isAlphaSequence) {
-        c = String.fromCharCode(i);
-        if (c === '\\')
-          c = '';
-      } else {
-        c = String(i);
-        if (pad) {
-          var need = width - c.length;
-          if (need > 0) {
-            var z = new Array(need + 1).join('0');
-            if (i < 0)
-              c = '-' + z + c.slice(1);
-            else
-              c = z + c;
-          }
-        }
-      }
-      N.push(c);
-    }
-  } else {
-    N = concatMap(n, function(el) { return expand(el, false) });
-  }
-
-  for (var j = 0; j < N.length; j++) {
-    for (var k = 0; k < post.length; k++) {
-      var expansion = pre + N[j] + post[k];
-      if (!isTop || isSequence || expansion)
-        expansions.push(expansion);
-    }
-  }
-
-  return expansions;
-}
-
diff --git a/node_modules/brace-expansion/package.json b/node_modules/brace-expansion/package.json
deleted file mode 100644
index c9cdebd..0000000
--- a/node_modules/brace-expansion/package.json
+++ /dev/null
@@ -1,115 +0,0 @@
-{
-  "_args": [
-    [
-      {
-        "raw": "brace-expansion@^1.1.7",
-        "scope": null,
-        "escapedName": "brace-expansion",
-        "name": "brace-expansion",
-        "rawSpec": "^1.1.7",
-        "spec": ">=1.1.7 <2.0.0",
-        "type": "range"
-      },
-      "/Users/spindori/Documents/Cordova/cordova-ios/node_modules/minimatch"
-    ]
-  ],
-  "_from": "brace-expansion@>=1.1.7 <2.0.0",
-  "_id": "brace-expansion@1.1.8",
-  "_inCache": true,
-  "_location": "/brace-expansion",
-  "_nodeVersion": "7.8.0",
-  "_npmOperationalInternal": {
-    "host": "s3://npm-registry-packages",
-    "tmp": "tmp/brace-expansion-1.1.8.tgz_1497251980593_0.6575565172825009"
-  },
-  "_npmUser": {
-    "name": "juliangruber",
-    "email": "julian@juliangruber.com"
-  },
-  "_npmVersion": "4.2.0",
-  "_phantomChildren": {},
-  "_requested": {
-    "raw": "brace-expansion@^1.1.7",
-    "scope": null,
-    "escapedName": "brace-expansion",
-    "name": "brace-expansion",
-    "rawSpec": "^1.1.7",
-    "spec": ">=1.1.7 <2.0.0",
-    "type": "range"
-  },
-  "_requiredBy": [
-    "/minimatch"
-  ],
-  "_resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
-  "_shasum": "c07b211c7c952ec1f8efd51a77ef0d1d3990a292",
-  "_shrinkwrap": null,
-  "_spec": "brace-expansion@^1.1.7",
-  "_where": "/Users/spindori/Documents/Cordova/cordova-ios/node_modules/minimatch",
-  "author": {
-    "name": "Julian Gruber",
-    "email": "mail@juliangruber.com",
-    "url": "http://juliangruber.com"
-  },
-  "bugs": {
-    "url": "https://github.com/juliangruber/brace-expansion/issues"
-  },
-  "dependencies": {
-    "balanced-match": "^1.0.0",
-    "concat-map": "0.0.1"
-  },
-  "description": "Brace expansion as known from sh/bash",
-  "devDependencies": {
-    "matcha": "^0.7.0",
-    "tape": "^4.6.0"
-  },
-  "directories": {},
-  "dist": {
-    "shasum": "c07b211c7c952ec1f8efd51a77ef0d1d3990a292",
-    "tarball": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz"
-  },
-  "gitHead": "8f59e68bd5c915a0d624e8e39354e1ccf672edf6",
-  "homepage": "https://github.com/juliangruber/brace-expansion",
-  "keywords": [],
-  "license": "MIT",
-  "main": "index.js",
-  "maintainers": [
-    {
-      "name": "juliangruber",
-      "email": "julian@juliangruber.com"
-    },
-    {
-      "name": "isaacs",
-      "email": "isaacs@npmjs.com"
-    }
-  ],
-  "name": "brace-expansion",
-  "optionalDependencies": {},
-  "readme": "# brace-expansion\n\n[Brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html), \nas known from sh/bash, in JavaScript.\n\n[![build status](https://secure.travis-ci.org/juliangruber/brace-expansion.svg)](http://travis-ci.org/juliangruber/brace-expansion)\n[![downloads](https://img.shields.io/npm/dm/brace-expansion.svg)](https://www.npmjs.org/package/brace-expansion)\n[![Greenkeeper badge](https://badges.greenkeeper.io/juliangruber/brace-expan [...]
-  "readmeFilename": "README.md",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/juliangruber/brace-expansion.git"
-  },
-  "scripts": {
-    "bench": "matcha test/perf/bench.js",
-    "gentest": "bash test/generate.sh",
-    "test": "tape test/*.js"
-  },
-  "testling": {
-    "files": "test/*.js",
-    "browsers": [
-      "ie/8..latest",
-      "firefox/20..latest",
-      "firefox/nightly",
-      "chrome/25..latest",
-      "chrome/canary",
-      "opera/12..latest",
-      "opera/next",
-      "safari/5.1..latest",
-      "ipad/6.0..latest",
-      "iphone/6.0..latest",
-      "android-browser/4.2..latest"
-    ]
-  },
-  "version": "1.1.8"
-}
diff --git a/node_modules/concat-map/.travis.yml b/node_modules/concat-map/.travis.yml
deleted file mode 100644
index f1d0f13..0000000
--- a/node_modules/concat-map/.travis.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-language: node_js
-node_js:
-  - 0.4
-  - 0.6
diff --git a/node_modules/concat-map/LICENSE b/node_modules/concat-map/LICENSE
deleted file mode 100644
index ee27ba4..0000000
--- a/node_modules/concat-map/LICENSE
+++ /dev/null
@@ -1,18 +0,0 @@
-This software is released under the MIT license:
-
-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.
diff --git a/node_modules/concat-map/README.markdown b/node_modules/concat-map/README.markdown
deleted file mode 100644
index 408f70a..0000000
--- a/node_modules/concat-map/README.markdown
+++ /dev/null
@@ -1,62 +0,0 @@
-concat-map
-==========
-
-Concatenative mapdashery.
-
-[![browser support](http://ci.testling.com/substack/node-concat-map.png)](http://ci.testling.com/substack/node-concat-map)
-
-[![build status](https://secure.travis-ci.org/substack/node-concat-map.png)](http://travis-ci.org/substack/node-concat-map)
-
-example
-=======
-
-``` js
-var concatMap = require('concat-map');
-var xs = [ 1, 2, 3, 4, 5, 6 ];
-var ys = concatMap(xs, function (x) {
-    return x % 2 ? [ x - 0.1, x, x + 0.1 ] : [];
-});
-console.dir(ys);
-```
-
-***
-
-```
-[ 0.9, 1, 1.1, 2.9, 3, 3.1, 4.9, 5, 5.1 ]
-```
-
-methods
-=======
-
-``` js
-var concatMap = require('concat-map')
-```
-
-concatMap(xs, fn)
------------------
-
-Return an array of concatenated elements by calling `fn(x, i)` for each element
-`x` and each index `i` in the array `xs`.
-
-When `fn(x, i)` returns an array, its result will be concatenated with the
-result array. If `fn(x, i)` returns anything else, that value will be pushed
-onto the end of the result array.
-
-install
-=======
-
-With [npm](http://npmjs.org) do:
-
-```
-npm install concat-map
-```
-
-license
-=======
-
-MIT
-
-notes
-=====
-
-This module was written while sitting high above the ground in a tree.
diff --git a/node_modules/concat-map/example/map.js b/node_modules/concat-map/example/map.js
deleted file mode 100644
index 3365621..0000000
--- a/node_modules/concat-map/example/map.js
+++ /dev/null
@@ -1,6 +0,0 @@
-var concatMap = require('../');
-var xs = [ 1, 2, 3, 4, 5, 6 ];
-var ys = concatMap(xs, function (x) {
-    return x % 2 ? [ x - 0.1, x, x + 0.1 ] : [];
-});
-console.dir(ys);
diff --git a/node_modules/concat-map/index.js b/node_modules/concat-map/index.js
deleted file mode 100644
index b29a781..0000000
--- a/node_modules/concat-map/index.js
+++ /dev/null
@@ -1,13 +0,0 @@
-module.exports = function (xs, fn) {
-    var res = [];
-    for (var i = 0; i < xs.length; i++) {
-        var x = fn(xs[i], i);
-        if (isArray(x)) res.push.apply(res, x);
-        else res.push(x);
-    }
-    return res;
-};
-
-var isArray = Array.isArray || function (xs) {
-    return Object.prototype.toString.call(xs) === '[object Array]';
-};
diff --git a/node_modules/concat-map/package.json b/node_modules/concat-map/package.json
deleted file mode 100644
index b5c82f8..0000000
--- a/node_modules/concat-map/package.json
+++ /dev/null
@@ -1,118 +0,0 @@
-{
-  "_args": [
-    [
-      {
-        "raw": "concat-map@0.0.1",
-        "scope": null,
-        "escapedName": "concat-map",
-        "name": "concat-map",
-        "rawSpec": "0.0.1",
-        "spec": "0.0.1",
-        "type": "version"
-      },
-      "/Users/spindori/Documents/Cordova/cordova-ios/node_modules/brace-expansion"
-    ]
-  ],
-  "_from": "concat-map@0.0.1",
-  "_id": "concat-map@0.0.1",
-  "_inCache": true,
-  "_location": "/concat-map",
-  "_npmUser": {
-    "name": "substack",
-    "email": "mail@substack.net"
-  },
-  "_npmVersion": "1.3.21",
-  "_phantomChildren": {},
-  "_requested": {
-    "raw": "concat-map@0.0.1",
-    "scope": null,
-    "escapedName": "concat-map",
-    "name": "concat-map",
-    "rawSpec": "0.0.1",
-    "spec": "0.0.1",
-    "type": "version"
-  },
-  "_requiredBy": [
-    "/brace-expansion"
-  ],
-  "_resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
-  "_shasum": "d8a96bd77fd68df7793a73036a3ba0d5405d477b",
-  "_shrinkwrap": null,
-  "_spec": "concat-map@0.0.1",
-  "_where": "/Users/spindori/Documents/Cordova/cordova-ios/node_modules/brace-expansion",
-  "author": {
-    "name": "James Halliday",
-    "email": "mail@substack.net",
-    "url": "http://substack.net"
-  },
-  "bugs": {
-    "url": "https://github.com/substack/node-concat-map/issues"
-  },
-  "dependencies": {},
-  "description": "concatenative mapdashery",
-  "devDependencies": {
-    "tape": "~2.4.0"
-  },
-  "directories": {
-    "example": "example",
-    "test": "test"
-  },
-  "dist": {
-    "shasum": "d8a96bd77fd68df7793a73036a3ba0d5405d477b",
-    "tarball": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
-  },
-  "homepage": "https://github.com/substack/node-concat-map#readme",
-  "keywords": [
-    "concat",
-    "concatMap",
-    "map",
-    "functional",
-    "higher-order"
-  ],
-  "license": "MIT",
-  "main": "index.js",
-  "maintainers": [
-    {
-      "name": "substack",
-      "email": "mail@substack.net"
-    }
-  ],
-  "name": "concat-map",
-  "optionalDependencies": {},
-  "readme": "concat-map\n==========\n\nConcatenative mapdashery.\n\n[![browser support](http://ci.testling.com/substack/node-concat-map.png)](http://ci.testling.com/substack/node-concat-map)\n\n[![build status](https://secure.travis-ci.org/substack/node-concat-map.png)](http://travis-ci.org/substack/node-concat-map)\n\nexample\n=======\n\n``` js\nvar concatMap = require('concat-map');\nvar xs = [ 1, 2, 3, 4, 5, 6 ];\nvar ys = concatMap(xs, function (x) {\n    return x % 2 ? [ x - 0.1, x, [...]
-  "readmeFilename": "README.markdown",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/substack/node-concat-map.git"
-  },
-  "scripts": {
-    "test": "tape test/*.js"
-  },
-  "testling": {
-    "files": "test/*.js",
-    "browsers": {
-      "ie": [
-        6,
-        7,
-        8,
-        9
-      ],
-      "ff": [
-        3.5,
-        10,
-        15
-      ],
-      "chrome": [
-        10,
-        22
-      ],
-      "safari": [
-        5.1
-      ],
-      "opera": [
-        12
-      ]
-    }
-  },
-  "version": "0.0.1"
-}
diff --git a/node_modules/concat-map/test/map.js b/node_modules/concat-map/test/map.js
deleted file mode 100644
index fdbd702..0000000
--- a/node_modules/concat-map/test/map.js
+++ /dev/null
@@ -1,39 +0,0 @@
-var concatMap = require('../');
-var test = require('tape');
-
-test('empty or not', function (t) {
-    var xs = [ 1, 2, 3, 4, 5, 6 ];
-    var ixes = [];
-    var ys = concatMap(xs, function (x, ix) {
-        ixes.push(ix);
-        return x % 2 ? [ x - 0.1, x, x + 0.1 ] : [];
-    });
-    t.same(ys, [ 0.9, 1, 1.1, 2.9, 3, 3.1, 4.9, 5, 5.1 ]);
-    t.same(ixes, [ 0, 1, 2, 3, 4, 5 ]);
-    t.end();
-});
-
-test('always something', function (t) {
-    var xs = [ 'a', 'b', 'c', 'd' ];
-    var ys = concatMap(xs, function (x) {
-        return x === 'b' ? [ 'B', 'B', 'B' ] : [ x ];
-    });
-    t.same(ys, [ 'a', 'B', 'B', 'B', 'c', 'd' ]);
-    t.end();
-});
-
-test('scalars', function (t) {
-    var xs = [ 'a', 'b', 'c', 'd' ];
-    var ys = concatMap(xs, function (x) {
-        return x === 'b' ? [ 'B', 'B', 'B' ] : x;
-    });
-    t.same(ys, [ 'a', 'B', 'B', 'B', 'c', 'd' ]);
-    t.end();
-});
-
-test('undefs', function (t) {
-    var xs = [ 'a', 'b', 'c', 'd' ];
-    var ys = concatMap(xs, function () {});
-    t.same(ys, [ undefined, undefined, undefined, undefined ]);
-    t.end();
-});
diff --git a/node_modules/cordova-common/.eslintignore b/node_modules/cordova-common/.eslintignore
deleted file mode 100644
index 161d0c6..0000000
--- a/node_modules/cordova-common/.eslintignore
+++ /dev/null
@@ -1 +0,0 @@
-spec/fixtures/*
\ No newline at end of file
diff --git a/node_modules/cordova-common/.eslintrc.yml b/node_modules/cordova-common/.eslintrc.yml
deleted file mode 100644
index 7701c82..0000000
--- a/node_modules/cordova-common/.eslintrc.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-root: true
-extends: semistandard
-rules:
-  indent:
-    - error
-    - 4
-  camelcase: off
-  padded-blocks: off
-  operator-linebreak: off
-  no-throw-literal: off
-  
\ No newline at end of file
diff --git a/node_modules/cordova-common/.jscs.json b/node_modules/cordova-common/.jscs.json
deleted file mode 100644
index 5cc7e26..0000000
--- a/node_modules/cordova-common/.jscs.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-    "disallowMixedSpacesAndTabs": true,
-    "disallowTrailingWhitespace": true,
-    "validateLineBreaks": "LF",
-    "validateIndentation": 4,
-    "requireLineFeedAtFileEnd": true,
-
-    "disallowSpaceAfterPrefixUnaryOperators": true,
-    "disallowSpaceBeforePostfixUnaryOperators": true,
-    "requireSpaceAfterLineComment": true,
-    "requireCapitalizedConstructors": true,
-
-    "disallowSpacesInNamedFunctionExpression": {
-        "beforeOpeningRoundBrace": true
-    },
-
-    "requireSpaceAfterKeywords": [
-      "if",
-      "else",
-      "for",
-      "while",
-      "do"
-    ]
-}
diff --git a/node_modules/cordova-common/.npmignore b/node_modules/cordova-common/.npmignore
deleted file mode 100644
index 5d14118..0000000
--- a/node_modules/cordova-common/.npmignore
+++ /dev/null
@@ -1,2 +0,0 @@
-spec
-coverage
diff --git a/node_modules/cordova-common/.ratignore b/node_modules/cordova-common/.ratignore
deleted file mode 100644
index f107416..0000000
--- a/node_modules/cordova-common/.ratignore
+++ /dev/null
@@ -1,4 +0,0 @@
-fixtures
-coverage
-jasmine.json
-appveyor.yml
diff --git a/node_modules/cordova-common/.travis.yml b/node_modules/cordova-common/.travis.yml
deleted file mode 100644
index 459273a..0000000
--- a/node_modules/cordova-common/.travis.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-language: node_js
-sudo: false
-git:
-  depth: 10
-node_js:
-  - "4"
-  - "6"
-install:
-  - npm install
-  - npm install -g codecov
-script:
-  - npm test
-  - npm run cover
-after_script:
-  - codecov
diff --git a/node_modules/cordova-common/README.md b/node_modules/cordova-common/README.md
deleted file mode 100644
index 5659c57..0000000
--- a/node_modules/cordova-common/README.md
+++ /dev/null
@@ -1,157 +0,0 @@
-<!--
-#
-# 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.
-#
--->
-
-[![Build status](https://ci.appveyor.com/api/projects/status/wxkmo0jalsr8gane?svg=true)](https://ci.appveyor.com/project/ApacheSoftwareFoundation/cordova-common/branch/master)
-[![Build Status](https://travis-ci.org/apache/cordova-common.svg?branch=master)](https://travis-ci.org/apache/cordova-common)
-[![NPM](https://nodei.co/npm/cordova-common.png)](https://nodei.co/npm/cordova-common/)
-
-# cordova-common
-Expoeses shared functionality used by [cordova-lib](https://github.com/apache/cordova-lib/) and Cordova platforms.
-## Exposed APIs
-
-### `events`
-  
-Represents special instance of NodeJS EventEmitter which is intended to be used to post events to cordova-lib and cordova-cli
-
-Usage:
-```js
-var events = require('cordova-common').events;
-events.emit('warn', 'Some warning message')
-```
-
-There are the following events supported by cordova-cli: `verbose`, `log`, `info`, `warn`, `error`.
-
-### `CordovaError`
-
-An error class used by Cordova to throw cordova-specific errors. The CordovaError class is inherited from Error, so CordovaError instances is also valid Error instances (`instanceof` check succeeds).
-
-Usage:
-
-```js
-var CordovaError = require('cordova-common').CordovaError;
-throw new CordovaError('Some error message', SOME_ERR_CODE);
-```
-
-See [CordovaError](src/CordovaError/CordovaError.js) for supported error codes.
-
-### `ConfigParser`
-
-Exposes functionality to deal with cordova project `config.xml` files. For ConfigParser API reference check [ConfigParser Readme](src/ConfigParser/README.md).
-
-Usage:
-```js
-var ConfigParser = require('cordova-common').ConfigParser;
-var appConfig = new ConfigParser('path/to/cordova-app/config.xml');
-console.log(appconfig.name() + ':' + appConfig.version());
-```
-
-### `PluginInfoProvider` and `PluginInfo`
-
-`PluginInfo` is a wrapper for cordova plugins' `plugin.xml` files. This class may be instantiated directly or via `PluginInfoProvider`. The difference is that `PluginInfoProvider` caches `PluginInfo` instances based on plugin source directory.
-
-Usage:
-```js
-var PluginInfo: require('cordova-common').PluginInfo;
-var PluginInfoProvider: require('cordova-common').PluginInfoProvider;
-
-// The following instances are equal
-var plugin1 = new PluginInfo('path/to/plugin_directory');
-var plugin2 = new PluginInfoProvider().get('path/to/plugin_directory');
-
-console.log('The plugin ' + plugin1.id + ' has version ' + plugin1.version)
-```
-
-### `ActionStack`
-
-Utility module for dealing with sequential tasks. Provides a set of tasks that are needed to be done and reverts all tasks that are already completed if one of those tasks fail to complete. Used internally by cordova-lib and platform's plugin installation routines.
-
-Usage:
-```js
-var ActionStack = require('cordova-common').ActionStack;
-var stack = new ActionStack()
-
-var action1 = stack.createAction(task1, [<task parameters>], task1_reverter, [<reverter_parameters>]);
-var action2 = stack.createAction(task2, [<task parameters>], task2_reverter, [<reverter_parameters>]);
-
-stack.push(action1);
-stack.push(action2);
-
-stack.process()
-.then(function() {
-    // all actions succeded
-})
-.catch(function(error){
-    // One of actions failed with error
-})
-```
-
-### `superspawn`
-
-Module for spawning child processes with some advanced logic.
-
-Usage:
-```js
-var superspawn = require('cordova-common').superspawn;
-superspawn.spawn('adb', ['devices'])
-.progress(function(data){
-    if (data.stderr)
-        console.error('"adb devices" raised an error: ' + data.stderr);
-})
-.then(function(devices){
-    // Do something...
-})
-```
-
-### `xmlHelpers`
-
-A set of utility methods for dealing with xml files.
-
-Usage:
-```js
-var xml = require('cordova-common').xmlHelpers;
-
-var xmlDoc1 = xml.parseElementtreeSync('some/xml/file');
-var xmlDoc2 = xml.parseElementtreeSync('another/xml/file');
-
-xml.mergeXml(doc1, doc2); // doc2 now contains all the nodes from doc1
-```
-
-### Other APIs
-
-The APIs listed below are also exposed but are intended to be only used internally by cordova plugin installation routines.
-
-```
-PlatformJson
-ConfigChanges
-ConfigKeeper
-ConfigFile
-mungeUtil
-```
-
-## Setup
-* Clone this repository onto your local machine
-    `git clone https://git-wip-us.apache.org/repos/asf/cordova-lib.git`
-* In terminal, navigate to the inner cordova-common directory
-    `cd cordova-lib/cordova-common`
-* Install dependencies and npm-link
-    `npm install && npm link`
-* Navigate to cordova-lib directory and link cordova-common
-    `cd ../cordova-lib && npm link cordova-common && npm install`
diff --git a/node_modules/cordova-common/RELEASENOTES.md b/node_modules/cordova-common/RELEASENOTES.md
deleted file mode 100644
index 5dc4460..0000000
--- a/node_modules/cordova-common/RELEASENOTES.md
+++ /dev/null
@@ -1,119 +0,0 @@
-<!--
-#
-# 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
... 136464 lines suppressed ...


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