text: /**
   * lodash 3.0.2 (Custom Build) <https://lodash.com/>
   * Build: `lodash modern modularize exports="npm" -o ./`
   * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
   * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
   * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
   * Available under MIT license <https://lodash.com/license>
   */
  var createWrapper = require('lodash._createwrapper'),
      isIterateeCall = require('lodash._isiterateecall');
  
  /** Used to compose bitmasks for wrapper metadata. */
  var CURRY_RIGHT_FLAG = 16;
  
  /**
   * Creates a `_.curry` or `_.curryRight` function.
   *
   * @private
   * @param {boolean} flag The curry bit flag.
   * @returns {Function} Returns the new curry function.
   */
  function createCurry(flag) {
    function curryFunc(func, arity, guard) {
      if (guard && isIterateeCall(func, arity, guard)) {
        arity = undefined;
      }
      var result = createWrapper(func, flag, undefined, undefined, undefined, undefined, undefined, arity);
      result.placeholder = curryFunc.placeholder;
      return result;
    }
    return curryFunc;
  }
  
  /**
   * This method is like `_.curry` except that arguments are applied to `func`
   * in the manner of `_.partialRight` instead of `_.partial`.
   *
   * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic
   * builds, may be used as a placeholder for provided arguments.
   *
   * **Note:** This method does not set the "length" property of curried functions.
   *
   * @static
   * @memberOf _
   * @category Function
   * @param {Function} func The function to curry.
   * @param {number} [arity=func.length] The arity of `func`.
   * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
   * @returns {Function} Returns the new curried function.
   * @example
   *
   * var abc = function(a, b, c) {
   *   return [a, b, c];
   * };
   *
   * var curried = _.curryRight(abc);
   *
   * curried(3)(2)(1);
   * // => [1, 2, 3]
   *
   * curried(2, 3)(1);
   * // => [1, 2, 3]
   *
   * curried(1, 2, 3);
   * // => [1, 2, 3]
   *
   * // using placeholders
   * curried(3)(1, _)(2);
   * // => [1, 2, 3]
   */
  var curryRight = createCurry(CURRY_RIGHT_FLAG);
  
  // Assign default placeholders.
  curryRight.placeholder = {};
  
  module.exports = curryRight;
  