/*

* Curve 25519-based cryptography collection.
*
* EC Diffie-Hellman (ECDH) based on Curve25519 and digital signatures (EdDSA)
* based on Ed25519.
*
* Copyright (c) 2012 Ron Garret
* Copyright (c) 2007, 2013, 2014 Michele Bini
* Copyright (c) 2014 Mega Limited
* under the MIT License.
*
* You should have received a copy of the license along with this program.
*/

// See github.com/jrburke/almond#exporting-a-public-api (function (root, factory) {

if (typeof define === 'function' && define.amd) {
    // Allow using this built library as an AMD module
    // in another project. That other project will only
    // see this AMD call, not the internal modules in
    // the closure below.
    define([], factory);
} else if (typeof module === 'object' && module.exports) {
    // Allow using this built library as a CommonJS module
    module.exports = factory();
} else {
    // Browser globals case. Just assign the
    // result to a property on the global.
    root.jodid25519 = factory();
}

}(this, function () {

if (typeof module === 'object' && module.exports) {
    // If we're running under CommonJS, our dependencies get confused and
    // each clobber module.exports which leads to bad behaviour because
    // almond does asynchronous loading. So just pretend we're in the
    // browser globals case, and make them write to those values instead.
    // TODO: ditch requirejs/almond and use browserify or something.
    var __oldModule = module;
    var __oldExports = exports;
    var window = global;
    module = undefined;
    exports = undefined;
}