diff --git a/bower.json b/bower.json index 09721d9..4fac1d4 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "fluxxor", - "version": "1.4.0", + "version": "1.4.1", "main": "build/fluxxor.min.js", "description": "Flux architecture tools for React", "homepage": "", diff --git a/build/fluxxor.js b/build/fluxxor.js index 1cec809..f4dcec2 100644 --- a/build/fluxxor.js +++ b/build/fluxxor.js @@ -69,7 +69,7 @@ return /******/ (function(modules) { // webpackBootstrap FluxChildMixin: FluxChildMixin, StoreWatchMixin: StoreWatchMixin, createStore: createStore, - version: __webpack_require__(1).version + version: __webpack_require__(1) }; module.exports = Fluxxor; @@ -79,22 +79,22 @@ return /******/ (function(modules) { // webpackBootstrap /* 1 */ /***/ function(module, exports, __webpack_require__) { - module.exports = {"name":"fluxxor","version":"1.4.0","description":"Flux architecture tools for React","repository":{"type":"git","url":"https://github.com/BinaryMuse/fluxxor.git"},"main":"index.js","scripts":{"test":"npm run jshint && mocha --recursive","jshint":"jsxhint lib/ test/","build":"./script/build-fluxxor && ./script/build-examples","preview-site":"wintersmith preview -C site","build-site":"wintersmith build -C site"},"keywords":["react","flux"],"author":"Brandon Tilley ","license":"MIT","devDependencies":{"chai":"^1.9.1","css-loader":"^0.6.12","envify":"^1.2.1","jsdom":"^0.10.5","json-loader":"^0.5.0","jsx-loader":"^0.10.2","jsxhint":"^0.4.9","less":"^1.7.0","less-loader":"^0.7.3","mocha":"^1.18.2","react":"^0.11.0 >0.11.0-rc1","sinon":"^1.9.1","sinon-chai":"^2.5.0","style-loader":"^0.6.3","webpack":"^1.1.11","webpack-dev-server":"^1.2.7","wintersmith":"^2.0.10","wintersmith-ejs":"^0.1.4","wintersmith-less":"^0.2.2"},"dependencies":{"lodash-node":"^2.4.1"},"jshintConfig":{"camelcase":true,"curly":true,"eqeqeq":true,"forin":true,"latedef":true,"newcap":false,"undef":true,"unused":true,"trailing":true,"node":true,"browser":true,"predef":["it","describe","beforeEach","afterEach"]}} + module.exports = "1.4.1" /***/ }, /* 2 */ /***/ function(module, exports, __webpack_require__) { - var _clone = __webpack_require__(11), - _mapValues = __webpack_require__(12), - _forOwn = __webpack_require__(13), - _intersection = __webpack_require__(16), - _keys = __webpack_require__(14), - _map = __webpack_require__(18), - _each = __webpack_require__(19), - _size = __webpack_require__(20), - _findKey = __webpack_require__(15), - _uniq = __webpack_require__(17); + var _clone = __webpack_require__(10), + _mapValues = __webpack_require__(11), + _forOwn = __webpack_require__(12), + _intersection = __webpack_require__(15), + _keys = __webpack_require__(13), + _map = __webpack_require__(17), + _each = __webpack_require__(18), + _size = __webpack_require__(19), + _findKey = __webpack_require__(14), + _uniq = __webpack_require__(16); var Dispatcher = function(stores) { this.stores = stores; @@ -322,7 +322,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 6 */ /***/ function(module, exports, __webpack_require__) { - var _each = __webpack_require__(19); + var _each = __webpack_require__(18); var StoreWatchMixin = function() { var storeNames = Array.prototype.slice.call(arguments); @@ -366,9 +366,9 @@ return /******/ (function(modules) { // webpackBootstrap /* 7 */ /***/ function(module, exports, __webpack_require__) { - var _each = __webpack_require__(19), + var _each = __webpack_require__(18), Store = __webpack_require__(8), - util = __webpack_require__(9); + inherits = __webpack_require__(9); var RESERVED_KEYS = ["flux", "waitFor"]; @@ -400,7 +400,7 @@ return /******/ (function(modules) { // webpackBootstrap } }; - util.inherits(constructor, Store); + inherits(constructor, Store); return constructor; }; @@ -411,8 +411,8 @@ return /******/ (function(modules) { // webpackBootstrap /* 8 */ /***/ function(module, exports, __webpack_require__) { - var EventEmitter = __webpack_require__(10).EventEmitter, - util = __webpack_require__(9); + var EventEmitter = __webpack_require__(20).EventEmitter, + inherits = __webpack_require__(9); function Store(dispatcher) { this.dispatcher = dispatcher; @@ -420,7 +420,7 @@ return /******/ (function(modules) { // webpackBootstrap EventEmitter.call(this); } - util.inherits(Store, EventEmitter); + inherits(Store, EventEmitter); Store.prototype.__handleAction__ = function(action) { var handler; @@ -458,597 +458,678 @@ return /******/ (function(modules) { // webpackBootstrap /* 9 */ /***/ function(module, exports, __webpack_require__) { - /* WEBPACK VAR INJECTION */(function(global, process) {// Copyright Joyent, Inc. and other Node contributors. - // - // 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. - - var formatRegExp = /%[sdj%]/g; - exports.format = function(f) { - if (!isString(f)) { - var objects = []; - for (var i = 0; i < arguments.length; i++) { - objects.push(inspect(arguments[i])); - } - return objects.join(' '); - } - - var i = 1; - var args = arguments; - var len = args.length; - var str = String(f).replace(formatRegExp, function(x) { - if (x === '%%') return '%'; - if (i >= len) return x; - switch (x) { - case '%s': return String(args[i++]); - case '%d': return Number(args[i++]); - case '%j': - try { - return JSON.stringify(args[i++]); - } catch (_) { - return '[Circular]'; - } - default: - return x; - } - }); - for (var x = args[i]; i < len; x = args[++i]) { - if (isNull(x) || !isObject(x)) { - str += ' ' + x; - } else { - str += ' ' + inspect(x); - } - } - return str; - }; - - - // Mark that a method should not be used. - // Returns a modified function which warns once by default. - // If --no-deprecation is set, then it is a no-op. - exports.deprecate = function(fn, msg) { - // Allow for deprecating things in the process of starting up. - if (isUndefined(global.process)) { - return function() { - return exports.deprecate(fn, msg).apply(this, arguments); - }; - } - - if (process.noDeprecation === true) { - return fn; - } - - var warned = false; - function deprecated() { - if (!warned) { - if (process.throwDeprecation) { - throw new Error(msg); - } else if (process.traceDeprecation) { - console.trace(msg); - } else { - console.error(msg); + if (typeof Object.create === 'function') { + // implementation from standard node.js 'util' module + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true } - warned = true; - } - return fn.apply(this, arguments); - } - - return deprecated; - }; - - - var debugs = {}; - var debugEnviron; - exports.debuglog = function(set) { - if (isUndefined(debugEnviron)) - debugEnviron = process.env.NODE_DEBUG || ''; - set = set.toUpperCase(); - if (!debugs[set]) { - if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) { - var pid = process.pid; - debugs[set] = function() { - var msg = exports.format.apply(exports, arguments); - console.error('%s %d: %s', set, pid, msg); - }; - } else { - debugs[set] = function() {}; - } + }); + }; + } else { + // old school shim for old browsers + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + var TempCtor = function () {} + TempCtor.prototype = superCtor.prototype + ctor.prototype = new TempCtor() + ctor.prototype.constructor = ctor } - return debugs[set]; - }; - + } + + +/***/ }, +/* 10 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Lo-Dash 2.4.1 (Custom Build) + * Build: `lodash modularize modern exports="node" -o ./modern/` + * Copyright 2012-2013 The Dojo Foundation + * Based on Underscore.js 1.5.2 + * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + * Available under MIT license + */ + var baseClone = __webpack_require__(24), + baseCreateCallback = __webpack_require__(25); /** - * Echos the value of a value. Trys to print the value out - * in the best way possible given the different types. + * Creates a clone of `value`. If `isDeep` is `true` nested objects will also + * be cloned, otherwise they will be assigned by reference. If a callback + * is provided it will be executed to produce the cloned values. If the + * callback returns `undefined` cloning will be handled by the method instead. + * The callback is bound to `thisArg` and invoked with one argument; (value). + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to clone. + * @param {boolean} [isDeep=false] Specify a deep clone. + * @param {Function} [callback] The function to customize cloning values. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {*} Returns the cloned value. + * @example + * + * var characters = [ + * { 'name': 'barney', 'age': 36 }, + * { 'name': 'fred', 'age': 40 } + * ]; + * + * var shallow = _.clone(characters); + * shallow[0] === characters[0]; + * // => true + * + * var deep = _.clone(characters, true); + * deep[0] === characters[0]; + * // => false + * + * _.mixin({ + * 'clone': _.partialRight(_.clone, function(value) { + * return _.isElement(value) ? value.cloneNode(false) : undefined; + * }) + * }); * - * @param {Object} obj The object to print out. - * @param {Object} opts Optional options object that alters the output. + * var clone = _.clone(document.body); + * clone.childNodes.length; + * // => 0 */ - /* legacy: obj, showHidden, depth, colors*/ - function inspect(obj, opts) { - // default options - var ctx = { - seen: [], - stylize: stylizeNoColor - }; - // legacy... - if (arguments.length >= 3) ctx.depth = arguments[2]; - if (arguments.length >= 4) ctx.colors = arguments[3]; - if (isBoolean(opts)) { - // legacy... - ctx.showHidden = opts; - } else if (opts) { - // got an "options" object - exports._extend(ctx, opts); - } - // set default options - if (isUndefined(ctx.showHidden)) ctx.showHidden = false; - if (isUndefined(ctx.depth)) ctx.depth = 2; - if (isUndefined(ctx.colors)) ctx.colors = false; - if (isUndefined(ctx.customInspect)) ctx.customInspect = true; - if (ctx.colors) ctx.stylize = stylizeWithColor; - return formatValue(ctx, obj, ctx.depth); - } - exports.inspect = inspect; - - - // http://en.wikipedia.org/wiki/ANSI_escape_code#graphics - inspect.colors = { - 'bold' : [1, 22], - 'italic' : [3, 23], - 'underline' : [4, 24], - 'inverse' : [7, 27], - 'white' : [37, 39], - 'grey' : [90, 39], - 'black' : [30, 39], - 'blue' : [34, 39], - 'cyan' : [36, 39], - 'green' : [32, 39], - 'magenta' : [35, 39], - 'red' : [31, 39], - 'yellow' : [33, 39] - }; - - // Don't use 'blue' not visible on cmd.exe - inspect.styles = { - 'special': 'cyan', - 'number': 'yellow', - 'boolean': 'yellow', - 'undefined': 'grey', - 'null': 'bold', - 'string': 'green', - 'date': 'magenta', - // "name": intentionally not styling - 'regexp': 'red' - }; - - - function stylizeWithColor(str, styleType) { - var style = inspect.styles[styleType]; - - if (style) { - return '\u001b[' + inspect.colors[style][0] + 'm' + str + - '\u001b[' + inspect.colors[style][1] + 'm'; - } else { - return str; + function clone(value, isDeep, callback, thisArg) { + // allows working with "Collections" methods without using their `index` + // and `collection` arguments for `isDeep` and `callback` + if (typeof isDeep != 'boolean' && isDeep != null) { + thisArg = callback; + callback = isDeep; + isDeep = false; } + return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1)); } + module.exports = clone; + + +/***/ }, +/* 11 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Lo-Dash 2.4.1 (Custom Build) + * Build: `lodash modularize modern exports="node" -o ./modern/` + * Copyright 2012-2013 The Dojo Foundation + * Based on Underscore.js 1.5.2 + * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + * Available under MIT license + */ + var createCallback = __webpack_require__(37), + forOwn = __webpack_require__(12); - function stylizeNoColor(str, styleType) { - return str; - } - - - function arrayToHash(array) { - var hash = {}; + /** + * Creates an object with the same keys as `object` and values generated by + * running each own enumerable property of `object` through the callback. + * The callback is bound to `thisArg` and invoked with three arguments; + * (value, key, object). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a new object with values of the results of each `callback` execution. + * @example + * + * _.mapValues({ 'a': 1, 'b': 2, 'c': 3} , function(num) { return num * 3; }); + * // => { 'a': 3, 'b': 6, 'c': 9 } + * + * var characters = { + * 'fred': { 'name': 'fred', 'age': 40 }, + * 'pebbles': { 'name': 'pebbles', 'age': 1 } + * }; + * + * // using "_.pluck" callback shorthand + * _.mapValues(characters, 'age'); + * // => { 'fred': 40, 'pebbles': 1 } + */ + function mapValues(object, callback, thisArg) { + var result = {}; + callback = createCallback(callback, thisArg, 3); - array.forEach(function(val, idx) { - hash[val] = true; + forOwn(object, function(value, key, object) { + result[key] = callback(value, key, object); }); - - return hash; + return result; } + module.exports = mapValues; + + +/***/ }, +/* 12 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Lo-Dash 2.4.1 (Custom Build) + * Build: `lodash modularize modern exports="node" -o ./modern/` + * Copyright 2012-2013 The Dojo Foundation + * Based on Underscore.js 1.5.2 + * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + * Available under MIT license + */ + var baseCreateCallback = __webpack_require__(25), + keys = __webpack_require__(13), + objectTypes = __webpack_require__(26); - function formatValue(ctx, value, recurseTimes) { - // Provide a hook for user-specified inspect functions. - // Check that value is an object with an inspect function on it - if (ctx.customInspect && - value && - isFunction(value.inspect) && - // Filter out the util module, it's inspect function is special - value.inspect !== exports.inspect && - // Also filter out any prototype objects using the circular check. - !(value.constructor && value.constructor.prototype === value)) { - var ret = value.inspect(recurseTimes, ctx); - if (!isString(ret)) { - ret = formatValue(ctx, ret, recurseTimes); - } - return ret; - } - - // Primitive types cannot have properties - var primitive = formatPrimitive(ctx, value); - if (primitive) { - return primitive; - } + /** + * Iterates over own enumerable properties of an object, executing the callback + * for each property. The callback is bound to `thisArg` and invoked with three + * arguments; (value, key, object). Callbacks may exit iteration early by + * explicitly returning `false`. + * + * @static + * @memberOf _ + * @type Function + * @category Objects + * @param {Object} object The object to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns `object`. + * @example + * + * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) { + * console.log(key); + * }); + * // => logs '0', '1', and 'length' (property order is not guaranteed across environments) + */ + var forOwn = function(collection, callback, thisArg) { + var index, iterable = collection, result = iterable; + if (!iterable) return result; + if (!objectTypes[typeof iterable]) return result; + callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3); + var ownIndex = -1, + ownProps = objectTypes[typeof iterable] && keys(iterable), + length = ownProps ? ownProps.length : 0; - // Look up the keys of the object. - var keys = Object.keys(value); - var visibleKeys = arrayToHash(keys); + while (++ownIndex < length) { + index = ownProps[ownIndex]; + if (callback(iterable[index], index, collection) === false) return result; + } + return result + }; - if (ctx.showHidden) { - keys = Object.getOwnPropertyNames(value); - } - - // IE doesn't make error fields non-enumerable - // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx - if (isError(value) - && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) { - return formatError(value); - } - - // Some type of object without properties can be shortcutted. - if (keys.length === 0) { - if (isFunction(value)) { - var name = value.name ? ': ' + value.name : ''; - return ctx.stylize('[Function' + name + ']', 'special'); - } - if (isRegExp(value)) { - return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); - } - if (isDate(value)) { - return ctx.stylize(Date.prototype.toString.call(value), 'date'); - } - if (isError(value)) { - return formatError(value); - } - } - - var base = '', array = false, braces = ['{', '}']; - - // Make Array say that they are Array - if (isArray(value)) { - array = true; - braces = ['[', ']']; - } - - // Make functions say that they are functions - if (isFunction(value)) { - var n = value.name ? ': ' + value.name : ''; - base = ' [Function' + n + ']'; - } - - // Make RegExps say that they are RegExps - if (isRegExp(value)) { - base = ' ' + RegExp.prototype.toString.call(value); - } + module.exports = forOwn; + + +/***/ }, +/* 13 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Lo-Dash 2.4.1 (Custom Build) + * Build: `lodash modularize modern exports="node" -o ./modern/` + * Copyright 2012-2013 The Dojo Foundation + * Based on Underscore.js 1.5.2 + * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + * Available under MIT license + */ + var isNative = __webpack_require__(27), + isObject = __webpack_require__(21), + shimKeys = __webpack_require__(28); - // Make dates with properties first say the date - if (isDate(value)) { - base = ' ' + Date.prototype.toUTCString.call(value); - } + /* Native method shortcuts for methods with the same name as other `lodash` methods */ + var nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys; - // Make error with message first say the error - if (isError(value)) { - base = ' ' + formatError(value); + /** + * Creates an array composed of the own enumerable property names of an object. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to inspect. + * @returns {Array} Returns an array of property names. + * @example + * + * _.keys({ 'one': 1, 'two': 2, 'three': 3 }); + * // => ['one', 'two', 'three'] (property order is not guaranteed across environments) + */ + var keys = !nativeKeys ? shimKeys : function(object) { + if (!isObject(object)) { + return []; } + return nativeKeys(object); + }; - if (keys.length === 0 && (!array || value.length == 0)) { - return braces[0] + base + braces[1]; - } + module.exports = keys; + + +/***/ }, +/* 14 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Lo-Dash 2.4.1 (Custom Build) + * Build: `lodash modularize modern exports="node" -o ./modern/` + * Copyright 2012-2013 The Dojo Foundation + * Based on Underscore.js 1.5.2 + * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + * Available under MIT license + */ + var createCallback = __webpack_require__(37), + forOwn = __webpack_require__(12); - if (recurseTimes < 0) { - if (isRegExp(value)) { - return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); - } else { - return ctx.stylize('[Object]', 'special'); + /** + * This method is like `_.findIndex` except that it returns the key of the + * first element that passes the callback check, instead of the element itself. + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to search. + * @param {Function|Object|string} [callback=identity] The function called per + * iteration. If a property name or object is provided it will be used to + * create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {string|undefined} Returns the key of the found element, else `undefined`. + * @example + * + * var characters = { + * 'barney': { 'age': 36, 'blocked': false }, + * 'fred': { 'age': 40, 'blocked': true }, + * 'pebbles': { 'age': 1, 'blocked': false } + * }; + * + * _.findKey(characters, function(chr) { + * return chr.age < 40; + * }); + * // => 'barney' (property order is not guaranteed across environments) + * + * // using "_.where" callback shorthand + * _.findKey(characters, { 'age': 1 }); + * // => 'pebbles' + * + * // using "_.pluck" callback shorthand + * _.findKey(characters, 'blocked'); + * // => 'fred' + */ + function findKey(object, callback, thisArg) { + var result; + callback = createCallback(callback, thisArg, 3); + forOwn(object, function(value, key, object) { + if (callback(value, key, object)) { + result = key; + return false; } - } - - ctx.seen.push(value); - - var output; - if (array) { - output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); - } else { - output = keys.map(function(key) { - return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); - }); - } - - ctx.seen.pop(); - - return reduceToSingleString(output, base, braces); - } - - - function formatPrimitive(ctx, value) { - if (isUndefined(value)) - return ctx.stylize('undefined', 'undefined'); - if (isString(value)) { - var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '') - .replace(/'/g, "\\'") - .replace(/\\"/g, '"') + '\''; - return ctx.stylize(simple, 'string'); - } - if (isNumber(value)) - return ctx.stylize('' + value, 'number'); - if (isBoolean(value)) - return ctx.stylize('' + value, 'boolean'); - // For some reason typeof null is "object", so special case here. - if (isNull(value)) - return ctx.stylize('null', 'null'); + }); + return result; } + module.exports = findKey; + + +/***/ }, +/* 15 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Lo-Dash 2.4.1 (Custom Build) + * Build: `lodash modularize modern exports="node" -o ./modern/` + * Copyright 2012-2013 The Dojo Foundation + * Based on Underscore.js 1.5.2 + * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + * Available under MIT license + */ + var baseIndexOf = __webpack_require__(29), + cacheIndexOf = __webpack_require__(30), + createCache = __webpack_require__(31), + getArray = __webpack_require__(32), + isArguments = __webpack_require__(22), + isArray = __webpack_require__(23), + largeArraySize = __webpack_require__(33), + releaseArray = __webpack_require__(34), + releaseObject = __webpack_require__(35); - function formatError(value) { - return '[' + Error.prototype.toString.call(value) + ']'; - } - + /** + * Creates an array of unique values present in all provided arrays using + * strict equality for comparisons, i.e. `===`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {...Array} [array] The arrays to inspect. + * @returns {Array} Returns an array of shared values. + * @example + * + * _.intersection([1, 2, 3], [5, 2, 1, 4], [2, 1]); + * // => [1, 2] + */ + function intersection() { + var args = [], + argsIndex = -1, + argsLength = arguments.length, + caches = getArray(), + indexOf = baseIndexOf, + trustIndexOf = indexOf === baseIndexOf, + seen = getArray(); - function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { - var output = []; - for (var i = 0, l = value.length; i < l; ++i) { - if (hasOwnProperty(value, String(i))) { - output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, - String(i), true)); - } else { - output.push(''); + while (++argsIndex < argsLength) { + var value = arguments[argsIndex]; + if (isArray(value) || isArguments(value)) { + args.push(value); + caches.push(trustIndexOf && value.length >= largeArraySize && + createCache(argsIndex ? args[argsIndex] : seen)); } } - keys.forEach(function(key) { - if (!key.match(/^\d+$/)) { - output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, - key, true)); - } - }); - return output; - } + var array = args[0], + index = -1, + length = array ? array.length : 0, + result = []; + outer: + while (++index < length) { + var cache = caches[0]; + value = array[index]; - function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { - var name, str, desc; - desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] }; - if (desc.get) { - if (desc.set) { - str = ctx.stylize('[Getter/Setter]', 'special'); - } else { - str = ctx.stylize('[Getter]', 'special'); - } - } else { - if (desc.set) { - str = ctx.stylize('[Setter]', 'special'); - } - } - if (!hasOwnProperty(visibleKeys, key)) { - name = '[' + key + ']'; - } - if (!str) { - if (ctx.seen.indexOf(desc.value) < 0) { - if (isNull(recurseTimes)) { - str = formatValue(ctx, desc.value, null); - } else { - str = formatValue(ctx, desc.value, recurseTimes - 1); - } - if (str.indexOf('\n') > -1) { - if (array) { - str = str.split('\n').map(function(line) { - return ' ' + line; - }).join('\n').substr(2); - } else { - str = '\n' + str.split('\n').map(function(line) { - return ' ' + line; - }).join('\n'); + if ((cache ? cacheIndexOf(cache, value) : indexOf(seen, value)) < 0) { + argsIndex = argsLength; + (cache || seen).push(value); + while (--argsIndex) { + cache = caches[argsIndex]; + if ((cache ? cacheIndexOf(cache, value) : indexOf(args[argsIndex], value)) < 0) { + continue outer; } } - } else { - str = ctx.stylize('[Circular]', 'special'); + result.push(value); } } - if (isUndefined(name)) { - if (array && key.match(/^\d+$/)) { - return str; - } - name = JSON.stringify('' + key); - if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { - name = name.substr(1, name.length - 2); - name = ctx.stylize(name, 'name'); - } else { - name = name.replace(/'/g, "\\'") - .replace(/\\"/g, '"') - .replace(/(^"|"$)/g, "'"); - name = ctx.stylize(name, 'string'); + while (argsLength--) { + cache = caches[argsLength]; + if (cache) { + releaseObject(cache); } } - - return name + ': ' + str; - } - - - function reduceToSingleString(output, base, braces) { - var numLinesEst = 0; - var length = output.reduce(function(prev, cur) { - numLinesEst++; - if (cur.indexOf('\n') >= 0) numLinesEst++; - return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1; - }, 0); - - if (length > 60) { - return braces[0] + - (base === '' ? '' : base + '\n ') + - ' ' + - output.join(',\n ') + - ' ' + - braces[1]; - } - - return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; - } - - - // NOTE: These type checking functions intentionally don't use `instanceof` - // because it is fragile and can be easily faked with `Object.create()`. - function isArray(ar) { - return Array.isArray(ar); - } - exports.isArray = isArray; - - function isBoolean(arg) { - return typeof arg === 'boolean'; - } - exports.isBoolean = isBoolean; - - function isNull(arg) { - return arg === null; - } - exports.isNull = isNull; - - function isNullOrUndefined(arg) { - return arg == null; - } - exports.isNullOrUndefined = isNullOrUndefined; - - function isNumber(arg) { - return typeof arg === 'number'; - } - exports.isNumber = isNumber; - - function isString(arg) { - return typeof arg === 'string'; - } - exports.isString = isString; - - function isSymbol(arg) { - return typeof arg === 'symbol'; - } - exports.isSymbol = isSymbol; - - function isUndefined(arg) { - return arg === void 0; + releaseArray(caches); + releaseArray(seen); + return result; } - exports.isUndefined = isUndefined; - function isRegExp(re) { - return isObject(re) && objectToString(re) === '[object RegExp]'; - } - exports.isRegExp = isRegExp; + module.exports = intersection; + + +/***/ }, +/* 16 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Lo-Dash 2.4.1 (Custom Build) + * Build: `lodash modularize modern exports="node" -o ./modern/` + * Copyright 2012-2013 The Dojo Foundation + * Based on Underscore.js 1.5.2 + * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + * Available under MIT license + */ + var baseUniq = __webpack_require__(36), + createCallback = __webpack_require__(37); - function isObject(arg) { - return typeof arg === 'object' && arg !== null; - } - exports.isObject = isObject; - - function isDate(d) { - return isObject(d) && objectToString(d) === '[object Date]'; - } - exports.isDate = isDate; - - function isError(e) { - return isObject(e) && - (objectToString(e) === '[object Error]' || e instanceof Error); - } - exports.isError = isError; - - function isFunction(arg) { - return typeof arg === 'function'; - } - exports.isFunction = isFunction; - - function isPrimitive(arg) { - return arg === null || - typeof arg === 'boolean' || - typeof arg === 'number' || - typeof arg === 'string' || - typeof arg === 'symbol' || // ES6 symbol - typeof arg === 'undefined'; + /** + * Creates a duplicate-value-free version of an array using strict equality + * for comparisons, i.e. `===`. If the array is sorted, providing + * `true` for `isSorted` will use a faster algorithm. If a callback is provided + * each element of `array` is passed through the callback before uniqueness + * is computed. The callback is bound to `thisArg` and invoked with three + * arguments; (value, index, array). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias unique + * @category Arrays + * @param {Array} array The array to process. + * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a duplicate-value-free array. + * @example + * + * _.uniq([1, 2, 1, 3, 1]); + * // => [1, 2, 3] + * + * _.uniq([1, 1, 2, 2, 3], true); + * // => [1, 2, 3] + * + * _.uniq(['A', 'b', 'C', 'a', 'B', 'c'], function(letter) { return letter.toLowerCase(); }); + * // => ['A', 'b', 'C'] + * + * _.uniq([1, 2.5, 3, 1.5, 2, 3.5], function(num) { return this.floor(num); }, Math); + * // => [1, 2.5, 3] + * + * // using "_.pluck" callback shorthand + * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }, { 'x': 2 }] + */ + function uniq(array, isSorted, callback, thisArg) { + // juggle arguments + if (typeof isSorted != 'boolean' && isSorted != null) { + thisArg = callback; + callback = (typeof isSorted != 'function' && thisArg && thisArg[isSorted] === array) ? null : isSorted; + isSorted = false; + } + if (callback != null) { + callback = createCallback(callback, thisArg, 3); + } + return baseUniq(array, isSorted, callback); } - exports.isPrimitive = isPrimitive; - exports.isBuffer = __webpack_require__(21); - - function objectToString(o) { - return Object.prototype.toString.call(o); - } + module.exports = uniq; + + +/***/ }, +/* 17 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Lo-Dash 2.4.1 (Custom Build) + * Build: `lodash modularize modern exports="node" -o ./modern/` + * Copyright 2012-2013 The Dojo Foundation + * Based on Underscore.js 1.5.2 + * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + * Available under MIT license + */ + var createCallback = __webpack_require__(37), + forOwn = __webpack_require__(12); + /** + * Creates an array of values by running each element in the collection + * through the callback. The callback is bound to `thisArg` and invoked with + * three arguments; (value, index|key, collection). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias collect + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a new array of the results of each `callback` execution. + * @example + * + * _.map([1, 2, 3], function(num) { return num * 3; }); + * // => [3, 6, 9] + * + * _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; }); + * // => [3, 6, 9] (property order is not guaranteed across environments) + * + * var characters = [ + * { 'name': 'barney', 'age': 36 }, + * { 'name': 'fred', 'age': 40 } + * ]; + * + * // using "_.pluck" callback shorthand + * _.map(characters, 'name'); + * // => ['barney', 'fred'] + */ + function map(collection, callback, thisArg) { + var index = -1, + length = collection ? collection.length : 0; - function pad(n) { - return n < 10 ? '0' + n.toString(10) : n.toString(10); + callback = createCallback(callback, thisArg, 3); + if (typeof length == 'number') { + var result = Array(length); + while (++index < length) { + result[index] = callback(collection[index], index, collection); + } + } else { + result = []; + forOwn(collection, function(value, key, collection) { + result[++index] = callback(value, key, collection); + }); + } + return result; } + module.exports = map; + + +/***/ }, +/* 18 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Lo-Dash 2.4.1 (Custom Build) + * Build: `lodash modularize modern exports="node" -o ./modern/` + * Copyright 2012-2013 The Dojo Foundation + * Based on Underscore.js 1.5.2 + * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + * Available under MIT license + */ + var baseCreateCallback = __webpack_require__(25), + forOwn = __webpack_require__(12); - var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', - 'Oct', 'Nov', 'Dec']; + /** + * Iterates over elements of a collection, executing the callback for each + * element. The callback is bound to `thisArg` and invoked with three arguments; + * (value, index|key, collection). Callbacks may exit iteration early by + * explicitly returning `false`. + * + * Note: As with other "Collections" methods, objects with a `length` property + * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn` + * may be used for object iteration. + * + * @static + * @memberOf _ + * @alias each + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array|Object|string} Returns `collection`. + * @example + * + * _([1, 2, 3]).forEach(function(num) { console.log(num); }).join(','); + * // => logs each number and returns '1,2,3' + * + * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { console.log(num); }); + * // => logs each number and returns the object (property order is not guaranteed across environments) + */ + function forEach(collection, callback, thisArg) { + var index = -1, + length = collection ? collection.length : 0; - // 26 Feb 16:19:34 - function timestamp() { - var d = new Date(); - var time = [pad(d.getHours()), - pad(d.getMinutes()), - pad(d.getSeconds())].join(':'); - return [d.getDate(), months[d.getMonth()], time].join(' '); + callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3); + if (typeof length == 'number') { + while (++index < length) { + if (callback(collection[index], index, collection) === false) { + break; + } + } + } else { + forOwn(collection, callback); + } + return collection; } - - // log is just a thin wrapper to console.log that prepends a timestamp - exports.log = function() { - console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments)); - }; - + module.exports = forEach; + + +/***/ }, +/* 19 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Lo-Dash 2.4.1 (Custom Build) + * Build: `lodash modularize modern exports="node" -o ./modern/` + * Copyright 2012-2013 The Dojo Foundation + * Based on Underscore.js 1.5.2 + * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + * Available under MIT license + */ + var keys = __webpack_require__(13); /** - * Inherit the prototype methods from one constructor into another. + * Gets the size of the `collection` by returning `collection.length` for arrays + * and array-like objects or the number of own enumerable properties for objects. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to inspect. + * @returns {number} Returns `collection.length` or number of own enumerable properties. + * @example * - * The Function.prototype.inherits from lang.js rewritten as a standalone - * function (not on Function.prototype). NOTE: If this file is to be loaded - * during bootstrapping this function needs to be rewritten using some native - * functions as prototype setup using normal JavaScript does not work as - * expected during bootstrapping (see mirror.js in r114903). + * _.size([1, 2]); + * // => 2 + * + * _.size({ 'one': 1, 'two': 2, 'three': 3 }); + * // => 3 * - * @param {function} ctor Constructor function which needs to inherit the - * prototype. - * @param {function} superCtor Constructor function to inherit prototype from. + * _.size('pebbles'); + * // => 7 */ - exports.inherits = __webpack_require__(40); - - exports._extend = function(origin, add) { - // Don't do anything if add isn't an object - if (!add || !isObject(add)) return origin; - - var keys = Object.keys(add); - var i = keys.length; - while (i--) { - origin[keys[i]] = add[keys[i]]; - } - return origin; - }; - - function hasOwnProperty(obj, prop) { - return Object.prototype.hasOwnProperty.call(obj, prop); + function size(collection) { + var length = collection ? collection.length : 0; + return typeof length == 'number' ? length : keys(collection).length; } - /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(25))) + module.exports = size; + /***/ }, -/* 10 */ +/* 20 */ /***/ function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -1265,755 +1346,99 @@ return /******/ (function(modules) { // webpackBootstrap if (list.length === 1) { list.length = 0; - delete this._events[type]; - } else { - list.splice(position, 1); - } - - if (this._events.removeListener) - this.emit('removeListener', type, listener); - } - - return this; - }; - - EventEmitter.prototype.removeAllListeners = function(type) { - var key, listeners; - - if (!this._events) - return this; - - // not listening for removeListener, no need to emit - if (!this._events.removeListener) { - if (arguments.length === 0) - this._events = {}; - else if (this._events[type]) - delete this._events[type]; - return this; - } - - // emit removeListener for all listeners on all events - if (arguments.length === 0) { - for (key in this._events) { - if (key === 'removeListener') continue; - this.removeAllListeners(key); - } - this.removeAllListeners('removeListener'); - this._events = {}; - return this; - } - - listeners = this._events[type]; - - if (isFunction(listeners)) { - this.removeListener(type, listeners); - } else { - // LIFO order - while (listeners.length) - this.removeListener(type, listeners[listeners.length - 1]); - } - delete this._events[type]; - - return this; - }; - - EventEmitter.prototype.listeners = function(type) { - var ret; - if (!this._events || !this._events[type]) - ret = []; - else if (isFunction(this._events[type])) - ret = [this._events[type]]; - else - ret = this._events[type].slice(); - return ret; - }; - - EventEmitter.listenerCount = function(emitter, type) { - var ret; - if (!emitter._events || !emitter._events[type]) - ret = 0; - else if (isFunction(emitter._events[type])) - ret = 1; - else - ret = emitter._events[type].length; - return ret; - }; - - function isFunction(arg) { - return typeof arg === 'function'; - } - - function isNumber(arg) { - return typeof arg === 'number'; - } - - function isObject(arg) { - return typeof arg === 'object' && arg !== null; - } - - function isUndefined(arg) { - return arg === void 0; - } - - -/***/ }, -/* 11 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * Lo-Dash 2.4.1 (Custom Build) - * Build: `lodash modularize modern exports="node" -o ./modern/` - * Copyright 2012-2013 The Dojo Foundation - * Based on Underscore.js 1.5.2 - * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - * Available under MIT license - */ - var baseClone = __webpack_require__(26), - baseCreateCallback = __webpack_require__(27); - - /** - * Creates a clone of `value`. If `isDeep` is `true` nested objects will also - * be cloned, otherwise they will be assigned by reference. If a callback - * is provided it will be executed to produce the cloned values. If the - * callback returns `undefined` cloning will be handled by the method instead. - * The callback is bound to `thisArg` and invoked with one argument; (value). - * - * @static - * @memberOf _ - * @category Objects - * @param {*} value The value to clone. - * @param {boolean} [isDeep=false] Specify a deep clone. - * @param {Function} [callback] The function to customize cloning values. - * @param {*} [thisArg] The `this` binding of `callback`. - * @returns {*} Returns the cloned value. - * @example - * - * var characters = [ - * { 'name': 'barney', 'age': 36 }, - * { 'name': 'fred', 'age': 40 } - * ]; - * - * var shallow = _.clone(characters); - * shallow[0] === characters[0]; - * // => true - * - * var deep = _.clone(characters, true); - * deep[0] === characters[0]; - * // => false - * - * _.mixin({ - * 'clone': _.partialRight(_.clone, function(value) { - * return _.isElement(value) ? value.cloneNode(false) : undefined; - * }) - * }); - * - * var clone = _.clone(document.body); - * clone.childNodes.length; - * // => 0 - */ - function clone(value, isDeep, callback, thisArg) { - // allows working with "Collections" methods without using their `index` - // and `collection` arguments for `isDeep` and `callback` - if (typeof isDeep != 'boolean' && isDeep != null) { - thisArg = callback; - callback = isDeep; - isDeep = false; - } - return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1)); - } - - module.exports = clone; - - -/***/ }, -/* 12 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * Lo-Dash 2.4.1 (Custom Build) - * Build: `lodash modularize modern exports="node" -o ./modern/` - * Copyright 2012-2013 The Dojo Foundation - * Based on Underscore.js 1.5.2 - * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - * Available under MIT license - */ - var createCallback = __webpack_require__(39), - forOwn = __webpack_require__(13); - - /** - * Creates an object with the same keys as `object` and values generated by - * running each own enumerable property of `object` through the callback. - * The callback is bound to `thisArg` and invoked with three arguments; - * (value, key, object). - * - * If a property name is provided for `callback` the created "_.pluck" style - * callback will return the property value of the given element. - * - * If an object is provided for `callback` the created "_.where" style callback - * will return `true` for elements that have the properties of the given object, - * else `false`. - * - * @static - * @memberOf _ - * @category Objects - * @param {Object} object The object to iterate over. - * @param {Function|Object|string} [callback=identity] The function called - * per iteration. If a property name or object is provided it will be used - * to create a "_.pluck" or "_.where" style callback, respectively. - * @param {*} [thisArg] The `this` binding of `callback`. - * @returns {Array} Returns a new object with values of the results of each `callback` execution. - * @example - * - * _.mapValues({ 'a': 1, 'b': 2, 'c': 3} , function(num) { return num * 3; }); - * // => { 'a': 3, 'b': 6, 'c': 9 } - * - * var characters = { - * 'fred': { 'name': 'fred', 'age': 40 }, - * 'pebbles': { 'name': 'pebbles', 'age': 1 } - * }; - * - * // using "_.pluck" callback shorthand - * _.mapValues(characters, 'age'); - * // => { 'fred': 40, 'pebbles': 1 } - */ - function mapValues(object, callback, thisArg) { - var result = {}; - callback = createCallback(callback, thisArg, 3); - - forOwn(object, function(value, key, object) { - result[key] = callback(value, key, object); - }); - return result; - } - - module.exports = mapValues; - - -/***/ }, -/* 13 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * Lo-Dash 2.4.1 (Custom Build) - * Build: `lodash modularize modern exports="node" -o ./modern/` - * Copyright 2012-2013 The Dojo Foundation - * Based on Underscore.js 1.5.2 - * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - * Available under MIT license - */ - var baseCreateCallback = __webpack_require__(27), - keys = __webpack_require__(14), - objectTypes = __webpack_require__(28); - - /** - * Iterates over own enumerable properties of an object, executing the callback - * for each property. The callback is bound to `thisArg` and invoked with three - * arguments; (value, key, object). Callbacks may exit iteration early by - * explicitly returning `false`. - * - * @static - * @memberOf _ - * @type Function - * @category Objects - * @param {Object} object The object to iterate over. - * @param {Function} [callback=identity] The function called per iteration. - * @param {*} [thisArg] The `this` binding of `callback`. - * @returns {Object} Returns `object`. - * @example - * - * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) { - * console.log(key); - * }); - * // => logs '0', '1', and 'length' (property order is not guaranteed across environments) - */ - var forOwn = function(collection, callback, thisArg) { - var index, iterable = collection, result = iterable; - if (!iterable) return result; - if (!objectTypes[typeof iterable]) return result; - callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3); - var ownIndex = -1, - ownProps = objectTypes[typeof iterable] && keys(iterable), - length = ownProps ? ownProps.length : 0; - - while (++ownIndex < length) { - index = ownProps[ownIndex]; - if (callback(iterable[index], index, collection) === false) return result; - } - return result - }; - - module.exports = forOwn; - - -/***/ }, -/* 14 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * Lo-Dash 2.4.1 (Custom Build) - * Build: `lodash modularize modern exports="node" -o ./modern/` - * Copyright 2012-2013 The Dojo Foundation - * Based on Underscore.js 1.5.2 - * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - * Available under MIT license - */ - var isNative = __webpack_require__(29), - isObject = __webpack_require__(22), - shimKeys = __webpack_require__(30); - - /* Native method shortcuts for methods with the same name as other `lodash` methods */ - var nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys; - - /** - * Creates an array composed of the own enumerable property names of an object. - * - * @static - * @memberOf _ - * @category Objects - * @param {Object} object The object to inspect. - * @returns {Array} Returns an array of property names. - * @example - * - * _.keys({ 'one': 1, 'two': 2, 'three': 3 }); - * // => ['one', 'two', 'three'] (property order is not guaranteed across environments) - */ - var keys = !nativeKeys ? shimKeys : function(object) { - if (!isObject(object)) { - return []; - } - return nativeKeys(object); - }; - - module.exports = keys; - - -/***/ }, -/* 15 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * Lo-Dash 2.4.1 (Custom Build) - * Build: `lodash modularize modern exports="node" -o ./modern/` - * Copyright 2012-2013 The Dojo Foundation - * Based on Underscore.js 1.5.2 - * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - * Available under MIT license - */ - var createCallback = __webpack_require__(39), - forOwn = __webpack_require__(13); - - /** - * This method is like `_.findIndex` except that it returns the key of the - * first element that passes the callback check, instead of the element itself. - * - * If a property name is provided for `callback` the created "_.pluck" style - * callback will return the property value of the given element. - * - * If an object is provided for `callback` the created "_.where" style callback - * will return `true` for elements that have the properties of the given object, - * else `false`. - * - * @static - * @memberOf _ - * @category Objects - * @param {Object} object The object to search. - * @param {Function|Object|string} [callback=identity] The function called per - * iteration. If a property name or object is provided it will be used to - * create a "_.pluck" or "_.where" style callback, respectively. - * @param {*} [thisArg] The `this` binding of `callback`. - * @returns {string|undefined} Returns the key of the found element, else `undefined`. - * @example - * - * var characters = { - * 'barney': { 'age': 36, 'blocked': false }, - * 'fred': { 'age': 40, 'blocked': true }, - * 'pebbles': { 'age': 1, 'blocked': false } - * }; - * - * _.findKey(characters, function(chr) { - * return chr.age < 40; - * }); - * // => 'barney' (property order is not guaranteed across environments) - * - * // using "_.where" callback shorthand - * _.findKey(characters, { 'age': 1 }); - * // => 'pebbles' - * - * // using "_.pluck" callback shorthand - * _.findKey(characters, 'blocked'); - * // => 'fred' - */ - function findKey(object, callback, thisArg) { - var result; - callback = createCallback(callback, thisArg, 3); - forOwn(object, function(value, key, object) { - if (callback(value, key, object)) { - result = key; - return false; - } - }); - return result; - } - - module.exports = findKey; - - -/***/ }, -/* 16 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * Lo-Dash 2.4.1 (Custom Build) - * Build: `lodash modularize modern exports="node" -o ./modern/` - * Copyright 2012-2013 The Dojo Foundation - * Based on Underscore.js 1.5.2 - * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - * Available under MIT license - */ - var baseIndexOf = __webpack_require__(31), - cacheIndexOf = __webpack_require__(32), - createCache = __webpack_require__(33), - getArray = __webpack_require__(34), - isArguments = __webpack_require__(23), - isArray = __webpack_require__(24), - largeArraySize = __webpack_require__(35), - releaseArray = __webpack_require__(36), - releaseObject = __webpack_require__(37); - - /** - * Creates an array of unique values present in all provided arrays using - * strict equality for comparisons, i.e. `===`. - * - * @static - * @memberOf _ - * @category Arrays - * @param {...Array} [array] The arrays to inspect. - * @returns {Array} Returns an array of shared values. - * @example - * - * _.intersection([1, 2, 3], [5, 2, 1, 4], [2, 1]); - * // => [1, 2] - */ - function intersection() { - var args = [], - argsIndex = -1, - argsLength = arguments.length, - caches = getArray(), - indexOf = baseIndexOf, - trustIndexOf = indexOf === baseIndexOf, - seen = getArray(); - - while (++argsIndex < argsLength) { - var value = arguments[argsIndex]; - if (isArray(value) || isArguments(value)) { - args.push(value); - caches.push(trustIndexOf && value.length >= largeArraySize && - createCache(argsIndex ? args[argsIndex] : seen)); - } - } - var array = args[0], - index = -1, - length = array ? array.length : 0, - result = []; - - outer: - while (++index < length) { - var cache = caches[0]; - value = array[index]; - - if ((cache ? cacheIndexOf(cache, value) : indexOf(seen, value)) < 0) { - argsIndex = argsLength; - (cache || seen).push(value); - while (--argsIndex) { - cache = caches[argsIndex]; - if ((cache ? cacheIndexOf(cache, value) : indexOf(args[argsIndex], value)) < 0) { - continue outer; - } - } - result.push(value); - } - } - while (argsLength--) { - cache = caches[argsLength]; - if (cache) { - releaseObject(cache); - } - } - releaseArray(caches); - releaseArray(seen); - return result; - } - - module.exports = intersection; - - -/***/ }, -/* 17 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * Lo-Dash 2.4.1 (Custom Build) - * Build: `lodash modularize modern exports="node" -o ./modern/` - * Copyright 2012-2013 The Dojo Foundation - * Based on Underscore.js 1.5.2 - * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - * Available under MIT license - */ - var baseUniq = __webpack_require__(38), - createCallback = __webpack_require__(39); - - /** - * Creates a duplicate-value-free version of an array using strict equality - * for comparisons, i.e. `===`. If the array is sorted, providing - * `true` for `isSorted` will use a faster algorithm. If a callback is provided - * each element of `array` is passed through the callback before uniqueness - * is computed. The callback is bound to `thisArg` and invoked with three - * arguments; (value, index, array). - * - * If a property name is provided for `callback` the created "_.pluck" style - * callback will return the property value of the given element. - * - * If an object is provided for `callback` the created "_.where" style callback - * will return `true` for elements that have the properties of the given object, - * else `false`. - * - * @static - * @memberOf _ - * @alias unique - * @category Arrays - * @param {Array} array The array to process. - * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted. - * @param {Function|Object|string} [callback=identity] The function called - * per iteration. If a property name or object is provided it will be used - * to create a "_.pluck" or "_.where" style callback, respectively. - * @param {*} [thisArg] The `this` binding of `callback`. - * @returns {Array} Returns a duplicate-value-free array. - * @example - * - * _.uniq([1, 2, 1, 3, 1]); - * // => [1, 2, 3] - * - * _.uniq([1, 1, 2, 2, 3], true); - * // => [1, 2, 3] - * - * _.uniq(['A', 'b', 'C', 'a', 'B', 'c'], function(letter) { return letter.toLowerCase(); }); - * // => ['A', 'b', 'C'] - * - * _.uniq([1, 2.5, 3, 1.5, 2, 3.5], function(num) { return this.floor(num); }, Math); - * // => [1, 2.5, 3] - * - * // using "_.pluck" callback shorthand - * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 1 }, { 'x': 2 }] - */ - function uniq(array, isSorted, callback, thisArg) { - // juggle arguments - if (typeof isSorted != 'boolean' && isSorted != null) { - thisArg = callback; - callback = (typeof isSorted != 'function' && thisArg && thisArg[isSorted] === array) ? null : isSorted; - isSorted = false; - } - if (callback != null) { - callback = createCallback(callback, thisArg, 3); - } - return baseUniq(array, isSorted, callback); - } - - module.exports = uniq; - - -/***/ }, -/* 18 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * Lo-Dash 2.4.1 (Custom Build) - * Build: `lodash modularize modern exports="node" -o ./modern/` - * Copyright 2012-2013 The Dojo Foundation - * Based on Underscore.js 1.5.2 - * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - * Available under MIT license - */ - var createCallback = __webpack_require__(39), - forOwn = __webpack_require__(13); - - /** - * Creates an array of values by running each element in the collection - * through the callback. The callback is bound to `thisArg` and invoked with - * three arguments; (value, index|key, collection). - * - * If a property name is provided for `callback` the created "_.pluck" style - * callback will return the property value of the given element. - * - * If an object is provided for `callback` the created "_.where" style callback - * will return `true` for elements that have the properties of the given object, - * else `false`. - * - * @static - * @memberOf _ - * @alias collect - * @category Collections - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function|Object|string} [callback=identity] The function called - * per iteration. If a property name or object is provided it will be used - * to create a "_.pluck" or "_.where" style callback, respectively. - * @param {*} [thisArg] The `this` binding of `callback`. - * @returns {Array} Returns a new array of the results of each `callback` execution. - * @example - * - * _.map([1, 2, 3], function(num) { return num * 3; }); - * // => [3, 6, 9] - * - * _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; }); - * // => [3, 6, 9] (property order is not guaranteed across environments) - * - * var characters = [ - * { 'name': 'barney', 'age': 36 }, - * { 'name': 'fred', 'age': 40 } - * ]; - * - * // using "_.pluck" callback shorthand - * _.map(characters, 'name'); - * // => ['barney', 'fred'] - */ - function map(collection, callback, thisArg) { - var index = -1, - length = collection ? collection.length : 0; - - callback = createCallback(callback, thisArg, 3); - if (typeof length == 'number') { - var result = Array(length); - while (++index < length) { - result[index] = callback(collection[index], index, collection); - } - } else { - result = []; - forOwn(collection, function(value, key, collection) { - result[++index] = callback(value, key, collection); - }); - } - return result; - } - - module.exports = map; - - -/***/ }, -/* 19 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * Lo-Dash 2.4.1 (Custom Build) - * Build: `lodash modularize modern exports="node" -o ./modern/` - * Copyright 2012-2013 The Dojo Foundation - * Based on Underscore.js 1.5.2 - * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - * Available under MIT license - */ - var baseCreateCallback = __webpack_require__(27), - forOwn = __webpack_require__(13); - - /** - * Iterates over elements of a collection, executing the callback for each - * element. The callback is bound to `thisArg` and invoked with three arguments; - * (value, index|key, collection). Callbacks may exit iteration early by - * explicitly returning `false`. - * - * Note: As with other "Collections" methods, objects with a `length` property - * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn` - * may be used for object iteration. - * - * @static - * @memberOf _ - * @alias each - * @category Collections - * @param {Array|Object|string} collection The collection to iterate over. - * @param {Function} [callback=identity] The function called per iteration. - * @param {*} [thisArg] The `this` binding of `callback`. - * @returns {Array|Object|string} Returns `collection`. - * @example - * - * _([1, 2, 3]).forEach(function(num) { console.log(num); }).join(','); - * // => logs each number and returns '1,2,3' - * - * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { console.log(num); }); - * // => logs each number and returns the object (property order is not guaranteed across environments) - */ - function forEach(collection, callback, thisArg) { - var index = -1, - length = collection ? collection.length : 0; + delete this._events[type]; + } else { + list.splice(position, 1); + } - callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3); - if (typeof length == 'number') { - while (++index < length) { - if (callback(collection[index], index, collection) === false) { - break; - } + if (this._events.removeListener) + this.emit('removeListener', type, listener); + } + + return this; + }; + + EventEmitter.prototype.removeAllListeners = function(type) { + var key, listeners; + + if (!this._events) + return this; + + // not listening for removeListener, no need to emit + if (!this._events.removeListener) { + if (arguments.length === 0) + this._events = {}; + else if (this._events[type]) + delete this._events[type]; + return this; + } + + // emit removeListener for all listeners on all events + if (arguments.length === 0) { + for (key in this._events) { + if (key === 'removeListener') continue; + this.removeAllListeners(key); } + this.removeAllListeners('removeListener'); + this._events = {}; + return this; + } + + listeners = this._events[type]; + + if (isFunction(listeners)) { + this.removeListener(type, listeners); } else { - forOwn(collection, callback); + // LIFO order + while (listeners.length) + this.removeListener(type, listeners[listeners.length - 1]); } - return collection; + delete this._events[type]; + + return this; + }; + + EventEmitter.prototype.listeners = function(type) { + var ret; + if (!this._events || !this._events[type]) + ret = []; + else if (isFunction(this._events[type])) + ret = [this._events[type]]; + else + ret = this._events[type].slice(); + return ret; + }; + + EventEmitter.listenerCount = function(emitter, type) { + var ret; + if (!emitter._events || !emitter._events[type]) + ret = 0; + else if (isFunction(emitter._events[type])) + ret = 1; + else + ret = emitter._events[type].length; + return ret; + }; + + function isFunction(arg) { + return typeof arg === 'function'; } - module.exports = forEach; - - -/***/ }, -/* 20 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * Lo-Dash 2.4.1 (Custom Build) - * Build: `lodash modularize modern exports="node" -o ./modern/` - * Copyright 2012-2013 The Dojo Foundation - * Based on Underscore.js 1.5.2 - * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - * Available under MIT license - */ - var keys = __webpack_require__(14); + function isNumber(arg) { + return typeof arg === 'number'; + } - /** - * Gets the size of the `collection` by returning `collection.length` for arrays - * and array-like objects or the number of own enumerable properties for objects. - * - * @static - * @memberOf _ - * @category Collections - * @param {Array|Object|string} collection The collection to inspect. - * @returns {number} Returns `collection.length` or number of own enumerable properties. - * @example - * - * _.size([1, 2]); - * // => 2 - * - * _.size({ 'one': 1, 'two': 2, 'three': 3 }); - * // => 3 - * - * _.size('pebbles'); - * // => 7 - */ - function size(collection) { - var length = collection ? collection.length : 0; - return typeof length == 'number' ? length : keys(collection).length; + function isObject(arg) { + return typeof arg === 'object' && arg !== null; } - module.exports = size; + function isUndefined(arg) { + return arg === void 0; + } /***/ }, /* 21 */ -/***/ function(module, exports, __webpack_require__) { - - module.exports = function isBuffer(arg) { - return arg && typeof arg === 'object' - && typeof arg.copy === 'function' - && typeof arg.fill === 'function' - && typeof arg.readUInt8 === 'function'; - } - -/***/ }, -/* 22 */ /***/ function(module, exports, __webpack_require__) { /** @@ -2024,7 +1449,7 @@ return /******/ (function(modules) { // webpackBootstrap * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var objectTypes = __webpack_require__(28); + var objectTypes = __webpack_require__(26); /** * Checks if `value` is the language type of Object. @@ -2058,7 +1483,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 23 */ +/* 22 */ /***/ function(module, exports, __webpack_require__) { /** @@ -2104,7 +1529,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 24 */ +/* 23 */ /***/ function(module, exports, __webpack_require__) { /** @@ -2115,7 +1540,7 @@ return /******/ (function(modules) { // webpackBootstrap * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var isNative = __webpack_require__(29); + var isNative = __webpack_require__(27); /** `Object#toString` result shortcuts */ var arrayClass = '[object Array]'; @@ -2155,73 +1580,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 25 */ -/***/ function(module, exports, __webpack_require__) { - - // shim for using process in browser - - var process = module.exports = {}; - - process.nextTick = (function () { - var canSetImmediate = typeof window !== 'undefined' - && window.setImmediate; - var canPost = typeof window !== 'undefined' - && window.postMessage && window.addEventListener - ; - - if (canSetImmediate) { - return function (f) { return window.setImmediate(f) }; - } - - if (canPost) { - var queue = []; - window.addEventListener('message', function (ev) { - var source = ev.source; - if ((source === window || source === null) && ev.data === 'process-tick') { - ev.stopPropagation(); - if (queue.length > 0) { - var fn = queue.shift(); - fn(); - } - } - }, true); - - return function nextTick(fn) { - queue.push(fn); - window.postMessage('process-tick', '*'); - }; - } - - return function nextTick(fn) { - setTimeout(fn, 0); - }; - })(); - - process.title = 'browser'; - process.browser = true; - process.env = {}; - process.argv = []; - - function noop() {} - - process.on = noop; - process.once = noop; - process.off = noop; - process.emit = noop; - - process.binding = function (name) { - throw new Error('process.binding is not supported'); - } - - // TODO(shtylman) - process.cwd = function () { return '/' }; - process.chdir = function (dir) { - throw new Error('process.chdir is not supported'); - }; - - -/***/ }, -/* 26 */ +/* 24 */ /***/ function(module, exports, __webpack_require__) { /** @@ -2232,14 +1591,14 @@ return /******/ (function(modules) { // webpackBootstrap * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var assign = __webpack_require__(41), - forEach = __webpack_require__(19), - forOwn = __webpack_require__(13), - getArray = __webpack_require__(34), - isArray = __webpack_require__(24), - isObject = __webpack_require__(22), - releaseArray = __webpack_require__(36), - slice = __webpack_require__(42); + var assign = __webpack_require__(38), + forEach = __webpack_require__(18), + forOwn = __webpack_require__(12), + getArray = __webpack_require__(32), + isArray = __webpack_require__(23), + isObject = __webpack_require__(21), + releaseArray = __webpack_require__(34), + slice = __webpack_require__(39); /** Used to match regexp flags from their coerced string values */ var reFlags = /\w*$/; @@ -2379,7 +1738,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 27 */ +/* 25 */ /***/ function(module, exports, __webpack_require__) { /** @@ -2390,10 +1749,10 @@ return /******/ (function(modules) { // webpackBootstrap * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var bind = __webpack_require__(43), - identity = __webpack_require__(53), - setBindData = __webpack_require__(44), - support = __webpack_require__(45); + var bind = __webpack_require__(40), + identity = __webpack_require__(50), + setBindData = __webpack_require__(41), + support = __webpack_require__(42); /** Used to detected named functions */ var reFuncName = /^\s*function[ \n\r\t]+\w/; @@ -2465,7 +1824,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 28 */ +/* 26 */ /***/ function(module, exports, __webpack_require__) { /** @@ -2491,7 +1850,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 29 */ +/* 27 */ /***/ function(module, exports, __webpack_require__) { /** @@ -2531,7 +1890,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 30 */ +/* 28 */ /***/ function(module, exports, __webpack_require__) { /** @@ -2542,7 +1901,7 @@ return /******/ (function(modules) { // webpackBootstrap * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var objectTypes = __webpack_require__(28); + var objectTypes = __webpack_require__(26); /** Used for native method references */ var objectProto = Object.prototype; @@ -2575,7 +1934,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 31 */ +/* 29 */ /***/ function(module, exports, __webpack_require__) { /** @@ -2613,7 +1972,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 32 */ +/* 30 */ /***/ function(module, exports, __webpack_require__) { /** @@ -2624,8 +1983,8 @@ return /******/ (function(modules) { // webpackBootstrap * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var baseIndexOf = __webpack_require__(31), - keyPrefix = __webpack_require__(46); + var baseIndexOf = __webpack_require__(29), + keyPrefix = __webpack_require__(43); /** * An implementation of `_.contains` for cache objects that mimics the return @@ -2658,7 +2017,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 33 */ +/* 31 */ /***/ function(module, exports, __webpack_require__) { /** @@ -2669,9 +2028,9 @@ return /******/ (function(modules) { // webpackBootstrap * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var cachePush = __webpack_require__(47), - getObject = __webpack_require__(48), - releaseObject = __webpack_require__(37); + var cachePush = __webpack_require__(44), + getObject = __webpack_require__(45), + releaseObject = __webpack_require__(35); /** * Creates a cache object to optimize linear searches of large arrays. @@ -2709,7 +2068,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 34 */ +/* 32 */ /***/ function(module, exports, __webpack_require__) { /** @@ -2720,7 +2079,7 @@ return /******/ (function(modules) { // webpackBootstrap * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var arrayPool = __webpack_require__(49); + var arrayPool = __webpack_require__(46); /** * Gets an array from the array pool or creates a new one if the pool is empty. @@ -2736,7 +2095,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 35 */ +/* 33 */ /***/ function(module, exports, __webpack_require__) { /** @@ -2755,7 +2114,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 36 */ +/* 34 */ /***/ function(module, exports, __webpack_require__) { /** @@ -2766,8 +2125,8 @@ return /******/ (function(modules) { // webpackBootstrap * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var arrayPool = __webpack_require__(49), - maxPoolSize = __webpack_require__(50); + var arrayPool = __webpack_require__(46), + maxPoolSize = __webpack_require__(47); /** * Releases the given array back to the array pool. @@ -2786,7 +2145,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 37 */ +/* 35 */ /***/ function(module, exports, __webpack_require__) { /** @@ -2797,8 +2156,8 @@ return /******/ (function(modules) { // webpackBootstrap * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var maxPoolSize = __webpack_require__(50), - objectPool = __webpack_require__(51); + var maxPoolSize = __webpack_require__(47), + objectPool = __webpack_require__(48); /** * Releases the given object back to the object pool. @@ -2821,7 +2180,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 38 */ +/* 36 */ /***/ function(module, exports, __webpack_require__) { /** @@ -2832,13 +2191,13 @@ return /******/ (function(modules) { // webpackBootstrap * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var baseIndexOf = __webpack_require__(31), - cacheIndexOf = __webpack_require__(32), - createCache = __webpack_require__(33), - getArray = __webpack_require__(34), - largeArraySize = __webpack_require__(35), - releaseArray = __webpack_require__(36), - releaseObject = __webpack_require__(37); + var baseIndexOf = __webpack_require__(29), + cacheIndexOf = __webpack_require__(30), + createCache = __webpack_require__(31), + getArray = __webpack_require__(32), + largeArraySize = __webpack_require__(33), + releaseArray = __webpack_require__(34), + releaseObject = __webpack_require__(35); /** * The base implementation of `_.uniq` without support for callback shorthands @@ -2891,7 +2250,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 39 */ +/* 37 */ /***/ function(module, exports, __webpack_require__) { /** @@ -2902,11 +2261,11 @@ return /******/ (function(modules) { // webpackBootstrap * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var baseCreateCallback = __webpack_require__(27), - baseIsEqual = __webpack_require__(52), - isObject = __webpack_require__(22), - keys = __webpack_require__(14), - property = __webpack_require__(54); + var baseCreateCallback = __webpack_require__(25), + baseIsEqual = __webpack_require__(49), + isObject = __webpack_require__(21), + keys = __webpack_require__(13), + property = __webpack_require__(51); /** * Produces a callback bound to an optional `thisArg`. If `func` is a property @@ -2978,36 +2337,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 40 */ -/***/ function(module, exports, __webpack_require__) { - - if (typeof Object.create === 'function') { - // implementation from standard node.js 'util' module - module.exports = function inherits(ctor, superCtor) { - ctor.super_ = superCtor - ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: false, - writable: true, - configurable: true - } - }); - }; - } else { - // old school shim for old browsers - module.exports = function inherits(ctor, superCtor) { - ctor.super_ = superCtor - var TempCtor = function () {} - TempCtor.prototype = superCtor.prototype - ctor.prototype = new TempCtor() - ctor.prototype.constructor = ctor - } - } - - -/***/ }, -/* 41 */ +/* 38 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3018,9 +2348,9 @@ return /******/ (function(modules) { // webpackBootstrap * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var baseCreateCallback = __webpack_require__(27), - keys = __webpack_require__(14), - objectTypes = __webpack_require__(28); + var baseCreateCallback = __webpack_require__(25), + keys = __webpack_require__(13), + objectTypes = __webpack_require__(26); /** * Assigns own enumerable properties of source object(s) to the destination @@ -3083,7 +2413,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 42 */ +/* 39 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3127,7 +2457,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 43 */ +/* 40 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3138,8 +2468,8 @@ return /******/ (function(modules) { // webpackBootstrap * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var createWrapper = __webpack_require__(55), - slice = __webpack_require__(42); + var createWrapper = __webpack_require__(52), + slice = __webpack_require__(39); /** * Creates a function that, when called, invokes `func` with the `this` @@ -3173,7 +2503,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 44 */ +/* 41 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3184,8 +2514,8 @@ return /******/ (function(modules) { // webpackBootstrap * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var isNative = __webpack_require__(29), - noop = __webpack_require__(56); + var isNative = __webpack_require__(27), + noop = __webpack_require__(53); /** Used as the property descriptor for `__bindData__` */ var descriptor = { @@ -3222,7 +2552,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 45 */ +/* 42 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(global) {/** @@ -3233,7 +2563,7 @@ return /******/ (function(modules) { // webpackBootstrap * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var isNative = __webpack_require__(29); + var isNative = __webpack_require__(27); /** Used to detect functions containing a `this` reference */ var reThis = /\bthis\b/; @@ -3269,7 +2599,7 @@ return /******/ (function(modules) { // webpackBootstrap /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) /***/ }, -/* 46 */ +/* 43 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3288,7 +2618,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 47 */ +/* 44 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3299,7 +2629,7 @@ return /******/ (function(modules) { // webpackBootstrap * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var keyPrefix = __webpack_require__(46); + var keyPrefix = __webpack_require__(43); /** * Adds a given value to the corresponding cache object. @@ -3332,7 +2662,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 48 */ +/* 45 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3343,7 +2673,7 @@ return /******/ (function(modules) { // webpackBootstrap * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var objectPool = __webpack_require__(51); + var objectPool = __webpack_require__(48); /** * Gets an object from the object pool or creates a new one if the pool is empty. @@ -3373,7 +2703,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 49 */ +/* 46 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3392,7 +2722,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 50 */ +/* 47 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3411,7 +2741,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 51 */ +/* 48 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3430,7 +2760,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 52 */ +/* 49 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3441,11 +2771,11 @@ return /******/ (function(modules) { // webpackBootstrap * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var forIn = __webpack_require__(57), - getArray = __webpack_require__(34), - isFunction = __webpack_require__(58), - objectTypes = __webpack_require__(28), - releaseArray = __webpack_require__(36); + var forIn = __webpack_require__(54), + getArray = __webpack_require__(32), + isFunction = __webpack_require__(55), + objectTypes = __webpack_require__(26), + releaseArray = __webpack_require__(34); /** `Object#toString` result shortcuts */ var argsClass = '[object Arguments]', @@ -3645,7 +2975,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 53 */ +/* 50 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3679,7 +3009,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 54 */ +/* 51 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3725,7 +3055,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 55 */ +/* 52 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3736,10 +3066,10 @@ return /******/ (function(modules) { // webpackBootstrap * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var baseBind = __webpack_require__(59), - baseCreateWrapper = __webpack_require__(60), - isFunction = __webpack_require__(58), - slice = __webpack_require__(42); + var baseBind = __webpack_require__(56), + baseCreateWrapper = __webpack_require__(57), + isFunction = __webpack_require__(55), + slice = __webpack_require__(39); /** * Used for `Array` method references. @@ -3837,7 +3167,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 56 */ +/* 53 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3869,7 +3199,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 57 */ +/* 54 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3880,8 +3210,8 @@ return /******/ (function(modules) { // webpackBootstrap * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var baseCreateCallback = __webpack_require__(27), - objectTypes = __webpack_require__(28); + var baseCreateCallback = __webpack_require__(25), + objectTypes = __webpack_require__(26); /** * Iterates over own and inherited enumerable properties of an object, @@ -3929,7 +3259,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 58 */ +/* 55 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3962,7 +3292,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 59 */ +/* 56 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3973,10 +3303,10 @@ return /******/ (function(modules) { // webpackBootstrap * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var baseCreate = __webpack_require__(61), - isObject = __webpack_require__(22), - setBindData = __webpack_require__(44), - slice = __webpack_require__(42); + var baseCreate = __webpack_require__(58), + isObject = __webpack_require__(21), + setBindData = __webpack_require__(41), + slice = __webpack_require__(39); /** * Used for `Array` method references. @@ -4030,7 +3360,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 60 */ +/* 57 */ /***/ function(module, exports, __webpack_require__) { /** @@ -4041,10 +3371,10 @@ return /******/ (function(modules) { // webpackBootstrap * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var baseCreate = __webpack_require__(61), - isObject = __webpack_require__(22), - setBindData = __webpack_require__(44), - slice = __webpack_require__(42); + var baseCreate = __webpack_require__(58), + isObject = __webpack_require__(21), + setBindData = __webpack_require__(41), + slice = __webpack_require__(39); /** * Used for `Array` method references. @@ -4114,7 +3444,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 61 */ +/* 58 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(global) {/** @@ -4125,9 +3455,9 @@ return /******/ (function(modules) { // webpackBootstrap * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var isNative = __webpack_require__(29), - isObject = __webpack_require__(22), - noop = __webpack_require__(56); + var isNative = __webpack_require__(27), + isObject = __webpack_require__(21), + noop = __webpack_require__(53); /* Native method shortcuts for methods with the same name as other `lodash` methods */ var nativeCreate = isNative(nativeCreate = Object.create) && nativeCreate; diff --git a/build/fluxxor.js.map b/build/fluxxor.js.map index 28a8589..fce54af 100644 --- a/build/fluxxor.js.map +++ b/build/fluxxor.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack/universalModuleDefinition","webpack/bootstrap e537ea92997925e1266a","./index.js","./version.js","./lib/dispatcher.js","./lib/flux.js","./lib/flux_mixin.js","./lib/flux_child_mixin.js","./lib/store_watch_mixin.js","./lib/create_store.js","./lib/store.js","(webpack)/~/node-libs-browser/~/util/util.js","(webpack)/~/node-libs-browser/~/events/events.js","./~/lodash-node/modern/objects/clone.js","./~/lodash-node/modern/objects/mapValues.js","./~/lodash-node/modern/objects/forOwn.js","./~/lodash-node/modern/objects/keys.js","./~/lodash-node/modern/objects/findKey.js","./~/lodash-node/modern/arrays/intersection.js","./~/lodash-node/modern/arrays/uniq.js","./~/lodash-node/modern/collections/map.js","./~/lodash-node/modern/collections/forEach.js","./~/lodash-node/modern/collections/size.js","(webpack)/~/node-libs-browser/~/util/support/isBufferBrowser.js","./~/lodash-node/modern/objects/isObject.js","./~/lodash-node/modern/objects/isArguments.js","./~/lodash-node/modern/objects/isArray.js","(webpack)/~/node-libs-browser/~/process/browser.js","./~/lodash-node/modern/internals/baseClone.js","./~/lodash-node/modern/internals/baseCreateCallback.js","./~/lodash-node/modern/internals/objectTypes.js","./~/lodash-node/modern/internals/isNative.js","./~/lodash-node/modern/internals/shimKeys.js","./~/lodash-node/modern/internals/baseIndexOf.js","./~/lodash-node/modern/internals/cacheIndexOf.js","./~/lodash-node/modern/internals/createCache.js","./~/lodash-node/modern/internals/getArray.js","./~/lodash-node/modern/internals/largeArraySize.js","./~/lodash-node/modern/internals/releaseArray.js","./~/lodash-node/modern/internals/releaseObject.js","./~/lodash-node/modern/internals/baseUniq.js","./~/lodash-node/modern/functions/createCallback.js","(webpack)/~/node-libs-browser/~/util/~/inherits/inherits_browser.js","./~/lodash-node/modern/objects/assign.js","./~/lodash-node/modern/internals/slice.js","./~/lodash-node/modern/functions/bind.js","./~/lodash-node/modern/internals/setBindData.js","./~/lodash-node/modern/support.js","./~/lodash-node/modern/internals/keyPrefix.js","./~/lodash-node/modern/internals/cachePush.js","./~/lodash-node/modern/internals/getObject.js","./~/lodash-node/modern/internals/arrayPool.js","./~/lodash-node/modern/internals/maxPoolSize.js","./~/lodash-node/modern/internals/objectPool.js","./~/lodash-node/modern/internals/baseIsEqual.js","./~/lodash-node/modern/utilities/identity.js","./~/lodash-node/modern/utilities/property.js","./~/lodash-node/modern/internals/createWrapper.js","./~/lodash-node/modern/utilities/noop.js","./~/lodash-node/modern/objects/forIn.js","./~/lodash-node/modern/objects/isFunction.js","./~/lodash-node/modern/internals/baseBind.js","./~/lodash-node/modern/internals/baseCreateWrapper.js","./~/lodash-node/modern/internals/baseCreate.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;;ACTA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAa;AACb;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA,wC;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA,mBAAkB,mGAAmG,+DAA+D,8BAA8B,6NAA6N,sHAAsH,maAAma,iBAAiB,uBAAuB,iBAAiB,kN;;;;;;ACAjgC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,aAAY;AACZ,IAAG;;AAEH;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA;;;;;;;AC5HA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAA+B,6BAA6B;AAC5D;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;ACzCA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;;AAEL;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;;AAEL;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kBAAiB,oBAAoB;AACrC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,wBAAuB,SAAS;AAChC;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA4C,KAAK;;AAEjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,MAAK;AACL;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,oCAAmC,OAAO;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;;AAGA;AACA;AACA,0DAAyD;AACzD;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX,UAAS;AACT;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB;AACA,YAAW,SAAS;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;ACzkBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB,QAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,SAAS;AAC5B;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,gBAAe,SAAS;AACxB;;AAEA;AACA;AACA,gBAAe,SAAS;AACxB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAG;AACH,qBAAoB,SAAS;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;AC9SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qEAAoE;AACpE;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA;AACA,OAAM,8BAA8B;AACpC,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,uBAAuB;AAClC;AACA;AACA,YAAW,EAAE;AACb,cAAa,MAAM;AACnB;AACA;AACA,iBAAgB,wBAAwB,kBAAkB,gBAAgB,EAAE;AAC5E,WAAU;AACV;AACA;AACA,eAAc,4BAA4B;AAC1C,kBAAiB;AACjB;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA,cAAa,uCAAuC;AACpD;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA,YAAW,iCAAiC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,uBAAuB;AAClC;AACA;AACA,YAAW,EAAE;AACb,cAAa,iBAAiB;AAC9B;AACA;AACA;AACA,iBAAgB,+BAA+B;AAC/C,eAAc,gCAAgC;AAC9C,kBAAiB;AACjB;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,2BAA0B,WAAW;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AChEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,QAAQ;AACnB,YAAW,uBAAuB;AAClC;AACA;AACA,YAAW,EAAE;AACb,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA4D,6BAA6B,EAAE;AAC3F;AACA;AACA,oDAAmD,wBAAwB,EAAE;AAC7E;AACA;AACA;AACA,aAAY,SAAS,GAAG,SAAS,GAAG,SAAS;AAC7C,YAAW,SAAS,GAAG,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,oBAAoB;AAC/B,YAAW,uBAAuB;AAClC;AACA;AACA,YAAW,EAAE;AACb,cAAa,MAAM;AACnB;AACA;AACA,oCAAmC,gBAAgB,EAAE;AACrD;AACA;AACA,WAAU,iCAAiC,iBAAiB,gBAAgB,EAAE;AAC9E;AACA;AACA;AACA,OAAM,8BAA8B;AACpC,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,oBAAoB;AAC/B,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,oBAAoB;AACjC;AACA;AACA,wCAAuC,kBAAkB,EAAE;AAC3D;AACA;AACA,eAAc,iCAAiC,iBAAiB,kBAAkB,EAAE;AACpF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,oBAAoB;AAC/B,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,YAAW,iCAAiC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB,iCAAiC,EAAE;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB,6BAA6B,EAAE;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA6B;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4BAA2B;AAC3B;AACA;AACA;;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,wBAAuB;AACvB;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA,OAAM,8BAA8B;AACpC,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA,YAAW,4BAA4B;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,UAAU;AACrB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA,cAAa,iBAAiB,GAAG,sBAAsB;AACvD,WAAU;AACV;AACA;AACA;AACA,KAAI;AACJ;AACA,kBAAiB;AACjB,sBAAqB,sCAAsC;AAC3D,WAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,oBAAoB;AAC/B,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,KAAK;AAChB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA,IAAG,WAAW;AACd;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA6E,aAAa,EAAE;;AAE5F;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,qDAAoD;;AAEpD;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA,OAAM,8BAA8B;AACpC,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,8BAA8B,GAAG,8BAA8B;AAC1E;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,gBAAgB;AAC3B,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA,YAAW,MAAM;AACjB;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Fluxxor\"] = factory();\n\telse\n\t\troot[\"Fluxxor\"] = factory();\n})(this, function() {\nreturn ","\n// The module cache\nvar installedModules = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(installedModules[moduleId])\n\t\treturn installedModules[moduleId].exports;\n\t\n\t// Create a new module (and put it into the cache)\n\tvar module = installedModules[moduleId] = {\n\t\texports: {},\n\t\tid: moduleId,\n\t\tloaded: false\n\t};\n\t\n\t// Execute the module function\n\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\t\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\t\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = modules;\n\n// expose the module cache\n__webpack_require__.c = installedModules;\n\n// __webpack_public_path__\n__webpack_require__.p = \"\";\n\n\n// Load entry module and return exports\nreturn __webpack_require__(0);","var Dispatcher = require(\"./lib/dispatcher\"),\n Flux = require(\"./lib/flux\"),\n FluxMixin = require(\"./lib/flux_mixin\"),\n FluxChildMixin = require(\"./lib/flux_child_mixin\"),\n StoreWatchMixin = require(\"./lib/store_watch_mixin\"),\n createStore = require(\"./lib/create_store\");\n\nvar Fluxxor = {\n Dispatcher: Dispatcher,\n Flux: Flux,\n FluxMixin: FluxMixin,\n FluxChildMixin: FluxChildMixin,\n StoreWatchMixin: StoreWatchMixin,\n createStore: createStore,\n version: require(\"./version\").version\n};\n\nmodule.exports = Fluxxor;\n","module.exports = {\"name\":\"fluxxor\",\"version\":\"1.4.0\",\"description\":\"Flux architecture tools for React\",\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/BinaryMuse/fluxxor.git\"},\"main\":\"index.js\",\"scripts\":{\"test\":\"npm run jshint && mocha --recursive\",\"jshint\":\"jsxhint lib/ test/\",\"build\":\"./script/build-fluxxor && ./script/build-examples\",\"preview-site\":\"wintersmith preview -C site\",\"build-site\":\"wintersmith build -C site\"},\"keywords\":[\"react\",\"flux\"],\"author\":\"Brandon Tilley \",\"license\":\"MIT\",\"devDependencies\":{\"chai\":\"^1.9.1\",\"css-loader\":\"^0.6.12\",\"envify\":\"^1.2.1\",\"jsdom\":\"^0.10.5\",\"json-loader\":\"^0.5.0\",\"jsx-loader\":\"^0.10.2\",\"jsxhint\":\"^0.4.9\",\"less\":\"^1.7.0\",\"less-loader\":\"^0.7.3\",\"mocha\":\"^1.18.2\",\"react\":\"^0.11.0 >0.11.0-rc1\",\"sinon\":\"^1.9.1\",\"sinon-chai\":\"^2.5.0\",\"style-loader\":\"^0.6.3\",\"webpack\":\"^1.1.11\",\"webpack-dev-server\":\"^1.2.7\",\"wintersmith\":\"^2.0.10\",\"wintersmith-ejs\":\"^0.1.4\",\"wintersmith-less\":\"^0.2.2\"},\"dependencies\":{\"lodash-node\":\"^2.4.1\"},\"jshintConfig\":{\"camelcase\":true,\"curly\":true,\"eqeqeq\":true,\"forin\":true,\"latedef\":true,\"newcap\":false,\"undef\":true,\"unused\":true,\"trailing\":true,\"node\":true,\"browser\":true,\"predef\":[\"it\",\"describe\",\"beforeEach\",\"afterEach\"]}}","var _clone = require(\"lodash-node/modern/objects/clone\"),\n _mapValues = require(\"lodash-node/modern/objects/mapValues\"),\n _forOwn = require(\"lodash-node/modern/objects/forOwn\"),\n _intersection = require(\"lodash-node/modern/arrays/intersection\"),\n _keys = require(\"lodash-node/modern/objects/keys\"),\n _map = require(\"lodash-node/modern/collections/map\"),\n _each = require(\"lodash-node/modern/collections/forEach\"),\n _size = require(\"lodash-node/modern/collections/size\"),\n _findKey = require(\"lodash-node/modern/objects/findKey\"),\n _uniq = require(\"lodash-node/modern/arrays/uniq\");\n\nvar Dispatcher = function(stores) {\n this.stores = stores;\n this.currentDispatch = null;\n this.waitingToDispatch = [];\n\n for (var key in stores) {\n if (stores.hasOwnProperty(key)) {\n stores[key].dispatcher = this;\n }\n }\n};\n\nDispatcher.prototype.dispatch = function(action) {\n if (this.currentDispatch) {\n throw new Error(\"Cannot dispatch an action while another action is being dispatched\");\n }\n\n if (!action || !action.type) {\n throw new Error(\"Can only dispatch actions with a 'type' property\");\n }\n\n this.waitingToDispatch = _clone(this.stores);\n\n this.currentDispatch = _mapValues(this.stores, function() {\n return { resolved: false, waitingOn: [], waitCallback: null };\n });\n\n try {\n this.doDispatchLoop(action);\n } finally {\n this.currentDispatch = null;\n }\n};\n\nDispatcher.prototype.doDispatchLoop = function(action) {\n var dispatch, canBeDispatchedTo,\n removeFromDispatchQueue = [], dispatchedThisLoop = [];\n\n _forOwn(this.waitingToDispatch, function(value, key) {\n dispatch = this.currentDispatch[key];\n canBeDispatchedTo = !dispatch.waitingOn.length ||\n !_intersection(dispatch.waitingOn, _keys(this.waitingToDispatch)).length;\n if (canBeDispatchedTo) {\n if (dispatch.waitCallback) {\n var stores = _map(dispatch.waitingOn, function(key) {\n return this.stores[key];\n }, this);\n var fn = dispatch.waitCallback;\n dispatch.waitCallback = null;\n dispatch.waitingOn = [];\n dispatch.resolved = true;\n fn.apply(null, stores);\n } else {\n dispatch.resolved = true;\n this.stores[key].__handleAction__(action);\n }\n\n dispatchedThisLoop.push(key);\n\n if (this.currentDispatch[key].resolved) {\n removeFromDispatchQueue.push(key);\n }\n }\n }, this);\n\n if (!dispatchedThisLoop.length) {\n var storesWithCircularWaits = _keys(this.waitingToDispatch).join(\", \");\n throw new Error(\"Indirect circular wait detected among: \" + storesWithCircularWaits);\n }\n\n _each(removeFromDispatchQueue, function(key) {\n delete this.waitingToDispatch[key];\n }, this);\n\n if (_size(this.waitingToDispatch)) {\n this.doDispatchLoop(action);\n }\n};\n\nDispatcher.prototype.waitForStores = function(store, stores, fn) {\n if (!this.currentDispatch) {\n throw new Error(\"Cannot wait unless an action is being dispatched\");\n }\n\n var waitingStoreName = _findKey(this.stores, function(val) {\n return val === store;\n });\n\n if (stores.indexOf(waitingStoreName) > -1) {\n throw new Error(\"A store cannot wait on itself\");\n }\n\n var dispatch = this.currentDispatch[waitingStoreName];\n\n if (dispatch.waitingOn.length) {\n throw new Error(waitingStoreName + \" already waiting on stores\");\n }\n\n _each(stores, function(storeName) {\n var storeDispatch = this.currentDispatch[storeName];\n if (!this.stores[storeName]) {\n throw new Error(\"Cannot wait for non-existent store \" + storeName);\n }\n if (storeDispatch.waitingOn.indexOf(waitingStoreName) > -1) {\n throw new Error(\"Circular wait detected between \" + waitingStoreName + \" and \" + storeName);\n }\n }, this);\n\n dispatch.resolved = false;\n dispatch.waitingOn = _uniq(dispatch.waitingOn.concat(stores));\n dispatch.waitCallback = fn;\n};\n\nmodule.exports = Dispatcher;\n","var Dispatcher = require(\"./dispatcher\");\n\nfunction bindActions(target, actions, dispatchBinder) {\n for (var key in actions) {\n if (actions.hasOwnProperty(key)) {\n if (typeof actions[key] === \"function\") {\n target[key] = actions[key].bind(dispatchBinder);\n } else if (typeof actions[key] === \"object\") {\n target[key] = {};\n bindActions(target[key], actions[key], dispatchBinder);\n }\n }\n }\n}\n\nvar Flux = function(stores, actions) {\n var dispatcher = new Dispatcher(stores),\n dispatchBinder = {\n flux: this,\n dispatch: function(type, payload) {\n dispatcher.dispatch({type: type, payload: payload});\n }\n };\n\n this.dispatcher = dispatcher;\n this.actions = {};\n this.stores = stores;\n\n bindActions(this.actions, actions, dispatchBinder);\n\n for (var key in stores) {\n if (stores.hasOwnProperty(key)) {\n stores[key].flux = this;\n }\n }\n};\n\nFlux.prototype.store = function(name) {\n return this.stores[name];\n};\n\nmodule.exports = Flux;\n","var FluxMixin = function(React) {\n return {\n propTypes: {\n flux: React.PropTypes.object.isRequired\n },\n\n childContextTypes: {\n flux: React.PropTypes.object\n },\n\n getChildContext: function() {\n return {\n flux: this.props.flux\n };\n },\n\n getFlux: function() {\n return this.props.flux;\n }\n };\n};\n\nFluxMixin.componentWillMount = function() {\n throw new Error(\"Fluxxor.FluxMixin is a function that takes React as a \" +\n \"parameter and returns the mixin, e.g.: mixins[Fluxxor.FluxMixin(React)]\");\n};\n\nmodule.exports = FluxMixin;\n","var FluxChildMixin = function(React) {\n return {\n contextTypes: {\n flux: React.PropTypes.object\n },\n\n getFlux: function() {\n return this.context.flux;\n }\n };\n};\n\nFluxChildMixin.componentWillMount = function() {\n throw new Error(\"Fluxxor.FluxChildMixin is a function that takes React as a \" +\n \"parameter and returns the mixin, e.g.: mixins[Fluxxor.FluxChildMixin(React)]\");\n};\n\nmodule.exports = FluxChildMixin;\n","var _each = require(\"lodash-node/modern/collections/forEach\");\n\nvar StoreWatchMixin = function() {\n var storeNames = Array.prototype.slice.call(arguments);\n return {\n componentWillMount: function() {\n var flux = this.props.flux || this.context.flux;\n _each(storeNames, function(store) {\n flux.store(store).on(\"change\", this._setStateFromFlux);\n }, this);\n },\n\n componentWillUnmount: function() {\n var flux = this.props.flux || this.context.flux;\n _each(storeNames, function(store) {\n flux.store(store).removeListener(\"change\", this._setStateFromFlux);\n }, this);\n },\n\n _setStateFromFlux: function() {\n if(this.isMounted()) {\n this.setState(this.getStateFromFlux());\n }\n },\n\n getInitialState: function() {\n return this.getStateFromFlux();\n }\n };\n};\n\nStoreWatchMixin.componentWillMount = function() {\n throw new Error(\"Fluxxor.StoreWatchMixin is a function that takes one or more \" +\n \"store names as parameters and returns the mixin, e.g.: \" +\n \"mixins[Fluxxor.StoreWatchMixin(\\\"Store1\\\", \\\"Store2\\\")]\");\n};\n\nmodule.exports = StoreWatchMixin;\n","var _each = require(\"lodash-node/modern/collections/forEach\"),\n Store = require(\"./store\"),\n util = require(\"util\");\n\nvar RESERVED_KEYS = [\"flux\", \"waitFor\"];\n\nvar createStore = function(spec) {\n _each(RESERVED_KEYS, function(key) {\n if (spec[key]) {\n throw new Error(\"Reserved key '\" + key + \"' found in store definition\");\n }\n });\n\n var constructor = function(options) {\n options = options || {};\n Store.call(this);\n\n for (var key in spec) {\n if (key === \"actions\") {\n this.__actions__ = spec[key];\n } else if (key === \"initialize\") {\n // do nothing\n } else if (typeof spec[key] === \"function\") {\n this[key] = spec[key].bind(this);\n } else {\n this[key] = spec[key];\n }\n }\n\n if (spec.initialize) {\n spec.initialize.call(this, options);\n }\n };\n\n util.inherits(constructor, Store);\n return constructor;\n};\n\nmodule.exports = createStore;\n","var EventEmitter = require(\"events\").EventEmitter,\n util = require(\"util\");\n\nfunction Store(dispatcher) {\n this.dispatcher = dispatcher;\n this.__actions__ = {};\n EventEmitter.call(this);\n}\n\nutil.inherits(Store, EventEmitter);\n\nStore.prototype.__handleAction__ = function(action) {\n var handler;\n if (!!(handler = this.__actions__[action.type])) {\n if (typeof handler === \"function\") {\n handler.call(this, action.payload, action.type);\n } else if (handler && typeof this[handler] === \"function\") {\n this[handler].call(this, action.payload, action.type);\n }\n }\n};\n\nStore.prototype.bindActions = function() {\n var actions = Array.prototype.slice.call(arguments);\n if (actions.length % 2 !== 0) {\n throw new Error(\"bindActions must take an even number of arguments.\");\n }\n\n for (var i = 0; i < actions.length; i += 2) {\n var type = actions[i],\n handler = actions[i+1];\n\n this.__actions__[type] = handler;\n }\n};\n\nStore.prototype.waitFor = function(stores, fn) {\n this.dispatcher.waitForStores(this, stores, fn.bind(this));\n};\n\nmodule.exports = Store;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n // Allow for deprecating things in the process of starting up.\n if (isUndefined(global.process)) {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n if (process.noDeprecation === true) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nfunction EventEmitter() {\n this._events = this._events || {};\n this._maxListeners = this._maxListeners || undefined;\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nEventEmitter.defaultMaxListeners = 10;\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function(n) {\n if (!isNumber(n) || n < 0 || isNaN(n))\n throw TypeError('n must be a positive number');\n this._maxListeners = n;\n return this;\n};\n\nEventEmitter.prototype.emit = function(type) {\n var er, handler, len, args, i, listeners;\n\n if (!this._events)\n this._events = {};\n\n // If there is no 'error' event listener then throw.\n if (type === 'error') {\n if (!this._events.error ||\n (isObject(this._events.error) && !this._events.error.length)) {\n er = arguments[1];\n if (er instanceof Error) {\n throw er; // Unhandled 'error' event\n } else {\n throw TypeError('Uncaught, unspecified \"error\" event.');\n }\n return false;\n }\n }\n\n handler = this._events[type];\n\n if (isUndefined(handler))\n return false;\n\n if (isFunction(handler)) {\n switch (arguments.length) {\n // fast cases\n case 1:\n handler.call(this);\n break;\n case 2:\n handler.call(this, arguments[1]);\n break;\n case 3:\n handler.call(this, arguments[1], arguments[2]);\n break;\n // slower\n default:\n len = arguments.length;\n args = new Array(len - 1);\n for (i = 1; i < len; i++)\n args[i - 1] = arguments[i];\n handler.apply(this, args);\n }\n } else if (isObject(handler)) {\n len = arguments.length;\n args = new Array(len - 1);\n for (i = 1; i < len; i++)\n args[i - 1] = arguments[i];\n\n listeners = handler.slice();\n len = listeners.length;\n for (i = 0; i < len; i++)\n listeners[i].apply(this, args);\n }\n\n return true;\n};\n\nEventEmitter.prototype.addListener = function(type, listener) {\n var m;\n\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n if (!this._events)\n this._events = {};\n\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (this._events.newListener)\n this.emit('newListener', type,\n isFunction(listener.listener) ?\n listener.listener : listener);\n\n if (!this._events[type])\n // Optimize the case of one listener. Don't need the extra array object.\n this._events[type] = listener;\n else if (isObject(this._events[type]))\n // If we've already got an array, just append.\n this._events[type].push(listener);\n else\n // Adding the second element, need to change to array.\n this._events[type] = [this._events[type], listener];\n\n // Check for listener leak\n if (isObject(this._events[type]) && !this._events[type].warned) {\n var m;\n if (!isUndefined(this._maxListeners)) {\n m = this._maxListeners;\n } else {\n m = EventEmitter.defaultMaxListeners;\n }\n\n if (m && m > 0 && this._events[type].length > m) {\n this._events[type].warned = true;\n console.error('(node) warning: possible EventEmitter memory ' +\n 'leak detected. %d listeners added. ' +\n 'Use emitter.setMaxListeners() to increase limit.',\n this._events[type].length);\n if (typeof console.trace === 'function') {\n // not supported in IE 10\n console.trace();\n }\n }\n }\n\n return this;\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.once = function(type, listener) {\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n var fired = false;\n\n function g() {\n this.removeListener(type, g);\n\n if (!fired) {\n fired = true;\n listener.apply(this, arguments);\n }\n }\n\n g.listener = listener;\n this.on(type, g);\n\n return this;\n};\n\n// emits a 'removeListener' event iff the listener was removed\nEventEmitter.prototype.removeListener = function(type, listener) {\n var list, position, length, i;\n\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n if (!this._events || !this._events[type])\n return this;\n\n list = this._events[type];\n length = list.length;\n position = -1;\n\n if (list === listener ||\n (isFunction(list.listener) && list.listener === listener)) {\n delete this._events[type];\n if (this._events.removeListener)\n this.emit('removeListener', type, listener);\n\n } else if (isObject(list)) {\n for (i = length; i-- > 0;) {\n if (list[i] === listener ||\n (list[i].listener && list[i].listener === listener)) {\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (list.length === 1) {\n list.length = 0;\n delete this._events[type];\n } else {\n list.splice(position, 1);\n }\n\n if (this._events.removeListener)\n this.emit('removeListener', type, listener);\n }\n\n return this;\n};\n\nEventEmitter.prototype.removeAllListeners = function(type) {\n var key, listeners;\n\n if (!this._events)\n return this;\n\n // not listening for removeListener, no need to emit\n if (!this._events.removeListener) {\n if (arguments.length === 0)\n this._events = {};\n else if (this._events[type])\n delete this._events[type];\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n for (key in this._events) {\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = {};\n return this;\n }\n\n listeners = this._events[type];\n\n if (isFunction(listeners)) {\n this.removeListener(type, listeners);\n } else {\n // LIFO order\n while (listeners.length)\n this.removeListener(type, listeners[listeners.length - 1]);\n }\n delete this._events[type];\n\n return this;\n};\n\nEventEmitter.prototype.listeners = function(type) {\n var ret;\n if (!this._events || !this._events[type])\n ret = [];\n else if (isFunction(this._events[type]))\n ret = [this._events[type]];\n else\n ret = this._events[type].slice();\n return ret;\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n var ret;\n if (!emitter._events || !emitter._events[type])\n ret = 0;\n else if (isFunction(emitter._events[type]))\n ret = 1;\n else\n ret = emitter._events[type].length;\n return ret;\n};\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseClone = require('../internals/baseClone'),\n baseCreateCallback = require('../internals/baseCreateCallback');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects will also\n * be cloned, otherwise they will be assigned by reference. If a callback\n * is provided it will be executed to produce the cloned values. If the\n * callback returns `undefined` cloning will be handled by the method instead.\n * The callback is bound to `thisArg` and invoked with one argument; (value).\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep=false] Specify a deep clone.\n * @param {Function} [callback] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var characters = [\n * { 'name': 'barney', 'age': 36 },\n * { 'name': 'fred', 'age': 40 }\n * ];\n *\n * var shallow = _.clone(characters);\n * shallow[0] === characters[0];\n * // => true\n *\n * var deep = _.clone(characters, true);\n * deep[0] === characters[0];\n * // => false\n *\n * _.mixin({\n * 'clone': _.partialRight(_.clone, function(value) {\n * return _.isElement(value) ? value.cloneNode(false) : undefined;\n * })\n * });\n *\n * var clone = _.clone(document.body);\n * clone.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, callback, thisArg) {\n // allows working with \"Collections\" methods without using their `index`\n // and `collection` arguments for `isDeep` and `callback`\n if (typeof isDeep != 'boolean' && isDeep != null) {\n thisArg = callback;\n callback = isDeep;\n isDeep = false;\n }\n return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));\n}\n\nmodule.exports = clone;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar createCallback = require('../functions/createCallback'),\n forOwn = require('./forOwn');\n\n/**\n * Creates an object with the same keys as `object` and values generated by\n * running each own enumerable property of `object` through the callback.\n * The callback is bound to `thisArg` and invoked with three arguments;\n * (value, key, object).\n *\n * If a property name is provided for `callback` the created \"_.pluck\" style\n * callback will return the property value of the given element.\n *\n * If an object is provided for `callback` the created \"_.where\" style callback\n * will return `true` for elements that have the properties of the given object,\n * else `false`.\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {Object} object The object to iterate over.\n * @param {Function|Object|string} [callback=identity] The function called\n * per iteration. If a property name or object is provided it will be used\n * to create a \"_.pluck\" or \"_.where\" style callback, respectively.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Array} Returns a new object with values of the results of each `callback` execution.\n * @example\n *\n * _.mapValues({ 'a': 1, 'b': 2, 'c': 3} , function(num) { return num * 3; });\n * // => { 'a': 3, 'b': 6, 'c': 9 }\n *\n * var characters = {\n * 'fred': { 'name': 'fred', 'age': 40 },\n * 'pebbles': { 'name': 'pebbles', 'age': 1 }\n * };\n *\n * // using \"_.pluck\" callback shorthand\n * _.mapValues(characters, 'age');\n * // => { 'fred': 40, 'pebbles': 1 }\n */\nfunction mapValues(object, callback, thisArg) {\n var result = {};\n callback = createCallback(callback, thisArg, 3);\n\n forOwn(object, function(value, key, object) {\n result[key] = callback(value, key, object);\n });\n return result;\n}\n\nmodule.exports = mapValues;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreateCallback = require('../internals/baseCreateCallback'),\n keys = require('./keys'),\n objectTypes = require('../internals/objectTypes');\n\n/**\n * Iterates over own enumerable properties of an object, executing the callback\n * for each property. The callback is bound to `thisArg` and invoked with three\n * arguments; (value, key, object). Callbacks may exit iteration early by\n * explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @type Function\n * @category Objects\n * @param {Object} object The object to iterate over.\n * @param {Function} [callback=identity] The function called per iteration.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Object} Returns `object`.\n * @example\n *\n * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) {\n * console.log(key);\n * });\n * // => logs '0', '1', and 'length' (property order is not guaranteed across environments)\n */\nvar forOwn = function(collection, callback, thisArg) {\n var index, iterable = collection, result = iterable;\n if (!iterable) return result;\n if (!objectTypes[typeof iterable]) return result;\n callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n if (callback(iterable[index], index, collection) === false) return result;\n }\n return result\n};\n\nmodule.exports = forOwn;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar isNative = require('../internals/isNative'),\n isObject = require('./isObject'),\n shimKeys = require('../internals/shimKeys');\n\n/* Native method shortcuts for methods with the same name as other `lodash` methods */\nvar nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys;\n\n/**\n * Creates an array composed of the own enumerable property names of an object.\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns an array of property names.\n * @example\n *\n * _.keys({ 'one': 1, 'two': 2, 'three': 3 });\n * // => ['one', 'two', 'three'] (property order is not guaranteed across environments)\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n if (!isObject(object)) {\n return [];\n }\n return nativeKeys(object);\n};\n\nmodule.exports = keys;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar createCallback = require('../functions/createCallback'),\n forOwn = require('./forOwn');\n\n/**\n * This method is like `_.findIndex` except that it returns the key of the\n * first element that passes the callback check, instead of the element itself.\n *\n * If a property name is provided for `callback` the created \"_.pluck\" style\n * callback will return the property value of the given element.\n *\n * If an object is provided for `callback` the created \"_.where\" style callback\n * will return `true` for elements that have the properties of the given object,\n * else `false`.\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {Object} object The object to search.\n * @param {Function|Object|string} [callback=identity] The function called per\n * iteration. If a property name or object is provided it will be used to\n * create a \"_.pluck\" or \"_.where\" style callback, respectively.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {string|undefined} Returns the key of the found element, else `undefined`.\n * @example\n *\n * var characters = {\n * 'barney': { 'age': 36, 'blocked': false },\n * 'fred': { 'age': 40, 'blocked': true },\n * 'pebbles': { 'age': 1, 'blocked': false }\n * };\n *\n * _.findKey(characters, function(chr) {\n * return chr.age < 40;\n * });\n * // => 'barney' (property order is not guaranteed across environments)\n *\n * // using \"_.where\" callback shorthand\n * _.findKey(characters, { 'age': 1 });\n * // => 'pebbles'\n *\n * // using \"_.pluck\" callback shorthand\n * _.findKey(characters, 'blocked');\n * // => 'fred'\n */\nfunction findKey(object, callback, thisArg) {\n var result;\n callback = createCallback(callback, thisArg, 3);\n forOwn(object, function(value, key, object) {\n if (callback(value, key, object)) {\n result = key;\n return false;\n }\n });\n return result;\n}\n\nmodule.exports = findKey;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseIndexOf = require('../internals/baseIndexOf'),\n cacheIndexOf = require('../internals/cacheIndexOf'),\n createCache = require('../internals/createCache'),\n getArray = require('../internals/getArray'),\n isArguments = require('../objects/isArguments'),\n isArray = require('../objects/isArray'),\n largeArraySize = require('../internals/largeArraySize'),\n releaseArray = require('../internals/releaseArray'),\n releaseObject = require('../internals/releaseObject');\n\n/**\n * Creates an array of unique values present in all provided arrays using\n * strict equality for comparisons, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @category Arrays\n * @param {...Array} [array] The arrays to inspect.\n * @returns {Array} Returns an array of shared values.\n * @example\n *\n * _.intersection([1, 2, 3], [5, 2, 1, 4], [2, 1]);\n * // => [1, 2]\n */\nfunction intersection() {\n var args = [],\n argsIndex = -1,\n argsLength = arguments.length,\n caches = getArray(),\n indexOf = baseIndexOf,\n trustIndexOf = indexOf === baseIndexOf,\n seen = getArray();\n\n while (++argsIndex < argsLength) {\n var value = arguments[argsIndex];\n if (isArray(value) || isArguments(value)) {\n args.push(value);\n caches.push(trustIndexOf && value.length >= largeArraySize &&\n createCache(argsIndex ? args[argsIndex] : seen));\n }\n }\n var array = args[0],\n index = -1,\n length = array ? array.length : 0,\n result = [];\n\n outer:\n while (++index < length) {\n var cache = caches[0];\n value = array[index];\n\n if ((cache ? cacheIndexOf(cache, value) : indexOf(seen, value)) < 0) {\n argsIndex = argsLength;\n (cache || seen).push(value);\n while (--argsIndex) {\n cache = caches[argsIndex];\n if ((cache ? cacheIndexOf(cache, value) : indexOf(args[argsIndex], value)) < 0) {\n continue outer;\n }\n }\n result.push(value);\n }\n }\n while (argsLength--) {\n cache = caches[argsLength];\n if (cache) {\n releaseObject(cache);\n }\n }\n releaseArray(caches);\n releaseArray(seen);\n return result;\n}\n\nmodule.exports = intersection;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseUniq = require('../internals/baseUniq'),\n createCallback = require('../functions/createCallback');\n\n/**\n * Creates a duplicate-value-free version of an array using strict equality\n * for comparisons, i.e. `===`. If the array is sorted, providing\n * `true` for `isSorted` will use a faster algorithm. If a callback is provided\n * each element of `array` is passed through the callback before uniqueness\n * is computed. The callback is bound to `thisArg` and invoked with three\n * arguments; (value, index, array).\n *\n * If a property name is provided for `callback` the created \"_.pluck\" style\n * callback will return the property value of the given element.\n *\n * If an object is provided for `callback` the created \"_.where\" style callback\n * will return `true` for elements that have the properties of the given object,\n * else `false`.\n *\n * @static\n * @memberOf _\n * @alias unique\n * @category Arrays\n * @param {Array} array The array to process.\n * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.\n * @param {Function|Object|string} [callback=identity] The function called\n * per iteration. If a property name or object is provided it will be used\n * to create a \"_.pluck\" or \"_.where\" style callback, respectively.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Array} Returns a duplicate-value-free array.\n * @example\n *\n * _.uniq([1, 2, 1, 3, 1]);\n * // => [1, 2, 3]\n *\n * _.uniq([1, 1, 2, 2, 3], true);\n * // => [1, 2, 3]\n *\n * _.uniq(['A', 'b', 'C', 'a', 'B', 'c'], function(letter) { return letter.toLowerCase(); });\n * // => ['A', 'b', 'C']\n *\n * _.uniq([1, 2.5, 3, 1.5, 2, 3.5], function(num) { return this.floor(num); }, Math);\n * // => [1, 2.5, 3]\n *\n * // using \"_.pluck\" callback shorthand\n * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniq(array, isSorted, callback, thisArg) {\n // juggle arguments\n if (typeof isSorted != 'boolean' && isSorted != null) {\n thisArg = callback;\n callback = (typeof isSorted != 'function' && thisArg && thisArg[isSorted] === array) ? null : isSorted;\n isSorted = false;\n }\n if (callback != null) {\n callback = createCallback(callback, thisArg, 3);\n }\n return baseUniq(array, isSorted, callback);\n}\n\nmodule.exports = uniq;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar createCallback = require('../functions/createCallback'),\n forOwn = require('../objects/forOwn');\n\n/**\n * Creates an array of values by running each element in the collection\n * through the callback. The callback is bound to `thisArg` and invoked with\n * three arguments; (value, index|key, collection).\n *\n * If a property name is provided for `callback` the created \"_.pluck\" style\n * callback will return the property value of the given element.\n *\n * If an object is provided for `callback` the created \"_.where\" style callback\n * will return `true` for elements that have the properties of the given object,\n * else `false`.\n *\n * @static\n * @memberOf _\n * @alias collect\n * @category Collections\n * @param {Array|Object|string} collection The collection to iterate over.\n * @param {Function|Object|string} [callback=identity] The function called\n * per iteration. If a property name or object is provided it will be used\n * to create a \"_.pluck\" or \"_.where\" style callback, respectively.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Array} Returns a new array of the results of each `callback` execution.\n * @example\n *\n * _.map([1, 2, 3], function(num) { return num * 3; });\n * // => [3, 6, 9]\n *\n * _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; });\n * // => [3, 6, 9] (property order is not guaranteed across environments)\n *\n * var characters = [\n * { 'name': 'barney', 'age': 36 },\n * { 'name': 'fred', 'age': 40 }\n * ];\n *\n * // using \"_.pluck\" callback shorthand\n * _.map(characters, 'name');\n * // => ['barney', 'fred']\n */\nfunction map(collection, callback, thisArg) {\n var index = -1,\n length = collection ? collection.length : 0;\n\n callback = createCallback(callback, thisArg, 3);\n if (typeof length == 'number') {\n var result = Array(length);\n while (++index < length) {\n result[index] = callback(collection[index], index, collection);\n }\n } else {\n result = [];\n forOwn(collection, function(value, key, collection) {\n result[++index] = callback(value, key, collection);\n });\n }\n return result;\n}\n\nmodule.exports = map;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreateCallback = require('../internals/baseCreateCallback'),\n forOwn = require('../objects/forOwn');\n\n/**\n * Iterates over elements of a collection, executing the callback for each\n * element. The callback is bound to `thisArg` and invoked with three arguments;\n * (value, index|key, collection). Callbacks may exit iteration early by\n * explicitly returning `false`.\n *\n * Note: As with other \"Collections\" methods, objects with a `length` property\n * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn`\n * may be used for object iteration.\n *\n * @static\n * @memberOf _\n * @alias each\n * @category Collections\n * @param {Array|Object|string} collection The collection to iterate over.\n * @param {Function} [callback=identity] The function called per iteration.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Array|Object|string} Returns `collection`.\n * @example\n *\n * _([1, 2, 3]).forEach(function(num) { console.log(num); }).join(',');\n * // => logs each number and returns '1,2,3'\n *\n * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { console.log(num); });\n * // => logs each number and returns the object (property order is not guaranteed across environments)\n */\nfunction forEach(collection, callback, thisArg) {\n var index = -1,\n length = collection ? collection.length : 0;\n\n callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);\n if (typeof length == 'number') {\n while (++index < length) {\n if (callback(collection[index], index, collection) === false) {\n break;\n }\n }\n } else {\n forOwn(collection, callback);\n }\n return collection;\n}\n\nmodule.exports = forEach;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar keys = require('../objects/keys');\n\n/**\n * Gets the size of the `collection` by returning `collection.length` for arrays\n * and array-like objects or the number of own enumerable properties for objects.\n *\n * @static\n * @memberOf _\n * @category Collections\n * @param {Array|Object|string} collection The collection to inspect.\n * @returns {number} Returns `collection.length` or number of own enumerable properties.\n * @example\n *\n * _.size([1, 2]);\n * // => 2\n *\n * _.size({ 'one': 1, 'two': 2, 'three': 3 });\n * // => 3\n *\n * _.size('pebbles');\n * // => 7\n */\nfunction size(collection) {\n var length = collection ? collection.length : 0;\n return typeof length == 'number' ? length : keys(collection).length;\n}\n\nmodule.exports = size;\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar objectTypes = require('../internals/objectTypes');\n\n/**\n * Checks if `value` is the language type of Object.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if the `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // check if the value is the ECMAScript language type of Object\n // http://es5.github.io/#x8\n // and avoid a V8 bug\n // http://code.google.com/p/v8/issues/detail?id=2291\n return !!(value && objectTypes[typeof value]);\n}\n\nmodule.exports = isObject;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** `Object#toString` result shortcuts */\nvar argsClass = '[object Arguments]';\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the internal [[Class]] of values */\nvar toString = objectProto.toString;\n\n/**\n * Checks if `value` is an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if the `value` is an `arguments` object, else `false`.\n * @example\n *\n * (function() { return _.isArguments(arguments); })(1, 2, 3);\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return value && typeof value == 'object' && typeof value.length == 'number' &&\n toString.call(value) == argsClass || false;\n}\n\nmodule.exports = isArguments;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar isNative = require('../internals/isNative');\n\n/** `Object#toString` result shortcuts */\nvar arrayClass = '[object Array]';\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the internal [[Class]] of values */\nvar toString = objectProto.toString;\n\n/* Native method shortcuts for methods with the same name as other `lodash` methods */\nvar nativeIsArray = isNative(nativeIsArray = Array.isArray) && nativeIsArray;\n\n/**\n * Checks if `value` is an array.\n *\n * @static\n * @memberOf _\n * @type Function\n * @category Objects\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if the `value` is an array, else `false`.\n * @example\n *\n * (function() { return _.isArray(arguments); })();\n * // => false\n *\n * _.isArray([1, 2, 3]);\n * // => true\n */\nvar isArray = nativeIsArray || function(value) {\n return value && typeof value == 'object' && typeof value.length == 'number' &&\n toString.call(value) == arrayClass || false;\n};\n\nmodule.exports = isArray;\n","// shim for using process in browser\n\nvar process = module.exports = {};\n\nprocess.nextTick = (function () {\n var canSetImmediate = typeof window !== 'undefined'\n && window.setImmediate;\n var canPost = typeof window !== 'undefined'\n && window.postMessage && window.addEventListener\n ;\n\n if (canSetImmediate) {\n return function (f) { return window.setImmediate(f) };\n }\n\n if (canPost) {\n var queue = [];\n window.addEventListener('message', function (ev) {\n var source = ev.source;\n if ((source === window || source === null) && ev.data === 'process-tick') {\n ev.stopPropagation();\n if (queue.length > 0) {\n var fn = queue.shift();\n fn();\n }\n }\n }, true);\n\n return function nextTick(fn) {\n queue.push(fn);\n window.postMessage('process-tick', '*');\n };\n }\n\n return function nextTick(fn) {\n setTimeout(fn, 0);\n };\n})();\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.emit = noop;\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n}\n\n// TODO(shtylman)\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar assign = require('../objects/assign'),\n forEach = require('../collections/forEach'),\n forOwn = require('../objects/forOwn'),\n getArray = require('./getArray'),\n isArray = require('../objects/isArray'),\n isObject = require('../objects/isObject'),\n releaseArray = require('./releaseArray'),\n slice = require('./slice');\n\n/** Used to match regexp flags from their coerced string values */\nvar reFlags = /\\w*$/;\n\n/** `Object#toString` result shortcuts */\nvar argsClass = '[object Arguments]',\n arrayClass = '[object Array]',\n boolClass = '[object Boolean]',\n dateClass = '[object Date]',\n funcClass = '[object Function]',\n numberClass = '[object Number]',\n objectClass = '[object Object]',\n regexpClass = '[object RegExp]',\n stringClass = '[object String]';\n\n/** Used to identify object classifications that `_.clone` supports */\nvar cloneableClasses = {};\ncloneableClasses[funcClass] = false;\ncloneableClasses[argsClass] = cloneableClasses[arrayClass] =\ncloneableClasses[boolClass] = cloneableClasses[dateClass] =\ncloneableClasses[numberClass] = cloneableClasses[objectClass] =\ncloneableClasses[regexpClass] = cloneableClasses[stringClass] = true;\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the internal [[Class]] of values */\nvar toString = objectProto.toString;\n\n/** Native method shortcuts */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to lookup a built-in constructor by [[Class]] */\nvar ctorByClass = {};\nctorByClass[arrayClass] = Array;\nctorByClass[boolClass] = Boolean;\nctorByClass[dateClass] = Date;\nctorByClass[funcClass] = Function;\nctorByClass[objectClass] = Object;\nctorByClass[numberClass] = Number;\nctorByClass[regexpClass] = RegExp;\nctorByClass[stringClass] = String;\n\n/**\n * The base implementation of `_.clone` without argument juggling or support\n * for `thisArg` binding.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep=false] Specify a deep clone.\n * @param {Function} [callback] The function to customize cloning values.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, callback, stackA, stackB) {\n if (callback) {\n var result = callback(value);\n if (typeof result != 'undefined') {\n return result;\n }\n }\n // inspect [[Class]]\n var isObj = isObject(value);\n if (isObj) {\n var className = toString.call(value);\n if (!cloneableClasses[className]) {\n return value;\n }\n var ctor = ctorByClass[className];\n switch (className) {\n case boolClass:\n case dateClass:\n return new ctor(+value);\n\n case numberClass:\n case stringClass:\n return new ctor(value);\n\n case regexpClass:\n result = ctor(value.source, reFlags.exec(value));\n result.lastIndex = value.lastIndex;\n return result;\n }\n } else {\n return value;\n }\n var isArr = isArray(value);\n if (isDeep) {\n // check for circular references and return corresponding clone\n var initedStack = !stackA;\n stackA || (stackA = getArray());\n stackB || (stackB = getArray());\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n result = isArr ? ctor(value.length) : {};\n }\n else {\n result = isArr ? slice(value) : assign({}, value);\n }\n // add array properties assigned by `RegExp#exec`\n if (isArr) {\n if (hasOwnProperty.call(value, 'index')) {\n result.index = value.index;\n }\n if (hasOwnProperty.call(value, 'input')) {\n result.input = value.input;\n }\n }\n // exit for shallow clone\n if (!isDeep) {\n return result;\n }\n // add the source value to the stack of traversed objects\n // and associate it with its clone\n stackA.push(value);\n stackB.push(result);\n\n // recursively populate clone (susceptible to call stack limits)\n (isArr ? forEach : forOwn)(value, function(objValue, key) {\n result[key] = baseClone(objValue, isDeep, callback, stackA, stackB);\n });\n\n if (initedStack) {\n releaseArray(stackA);\n releaseArray(stackB);\n }\n return result;\n}\n\nmodule.exports = baseClone;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar bind = require('../functions/bind'),\n identity = require('../utilities/identity'),\n setBindData = require('./setBindData'),\n support = require('../support');\n\n/** Used to detected named functions */\nvar reFuncName = /^\\s*function[ \\n\\r\\t]+\\w/;\n\n/** Used to detect functions containing a `this` reference */\nvar reThis = /\\bthis\\b/;\n\n/** Native method shortcuts */\nvar fnToString = Function.prototype.toString;\n\n/**\n * The base implementation of `_.createCallback` without support for creating\n * \"_.pluck\" or \"_.where\" style callbacks.\n *\n * @private\n * @param {*} [func=identity] The value to convert to a callback.\n * @param {*} [thisArg] The `this` binding of the created callback.\n * @param {number} [argCount] The number of arguments the callback accepts.\n * @returns {Function} Returns a callback function.\n */\nfunction baseCreateCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n // exit early for no `thisArg` or already bound by `Function#bind`\n if (typeof thisArg == 'undefined' || !('prototype' in func)) {\n return func;\n }\n var bindData = func.__bindData__;\n if (typeof bindData == 'undefined') {\n if (support.funcNames) {\n bindData = !func.name;\n }\n bindData = bindData || !support.funcDecomp;\n if (!bindData) {\n var source = fnToString.call(func);\n if (!support.funcNames) {\n bindData = !reFuncName.test(source);\n }\n if (!bindData) {\n // checks if `func` references the `this` keyword and stores the result\n bindData = reThis.test(source);\n setBindData(func, bindData);\n }\n }\n }\n // exit early if there are no `this` references or `func` is bound\n if (bindData === false || (bindData !== true && bindData[1] & 1)) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 2: return function(a, b) {\n return func.call(thisArg, a, b);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n }\n return bind(func, thisArg);\n}\n\nmodule.exports = baseCreateCallback;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used to determine if values are of the language type Object */\nvar objectTypes = {\n 'boolean': false,\n 'function': true,\n 'object': true,\n 'number': false,\n 'string': false,\n 'undefined': false\n};\n\nmodule.exports = objectTypes;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the internal [[Class]] of values */\nvar toString = objectProto.toString;\n\n/** Used to detect if a method is native */\nvar reNative = RegExp('^' +\n String(toString)\n .replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n .replace(/toString| for [^\\]]+/g, '.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if the `value` is a native function, else `false`.\n */\nfunction isNative(value) {\n return typeof value == 'function' && reNative.test(value);\n}\n\nmodule.exports = isNative;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar objectTypes = require('./objectTypes');\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Native method shortcuts */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which produces an array of the\n * given object's own enumerable property names.\n *\n * @private\n * @type Function\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns an array of property names.\n */\nvar shimKeys = function(object) {\n var index, iterable = object, result = [];\n if (!iterable) return result;\n if (!(objectTypes[typeof object])) return result;\n for (index in iterable) {\n if (hasOwnProperty.call(iterable, index)) {\n result.push(index);\n }\n }\n return result\n};\n\nmodule.exports = shimKeys;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/**\n * The base implementation of `_.indexOf` without support for binary searches\n * or `fromIndex` constraints.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the matched value or `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n var index = (fromIndex || 0) - 1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseIndexOf;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseIndexOf = require('./baseIndexOf'),\n keyPrefix = require('./keyPrefix');\n\n/**\n * An implementation of `_.contains` for cache objects that mimics the return\n * signature of `_.indexOf` by returning `0` if the value is found, else `-1`.\n *\n * @private\n * @param {Object} cache The cache object to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns `0` if `value` is found, else `-1`.\n */\nfunction cacheIndexOf(cache, value) {\n var type = typeof value;\n cache = cache.cache;\n\n if (type == 'boolean' || value == null) {\n return cache[value] ? 0 : -1;\n }\n if (type != 'number' && type != 'string') {\n type = 'object';\n }\n var key = type == 'number' ? value : keyPrefix + value;\n cache = (cache = cache[type]) && cache[key];\n\n return type == 'object'\n ? (cache && baseIndexOf(cache, value) > -1 ? 0 : -1)\n : (cache ? 0 : -1);\n}\n\nmodule.exports = cacheIndexOf;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar cachePush = require('./cachePush'),\n getObject = require('./getObject'),\n releaseObject = require('./releaseObject');\n\n/**\n * Creates a cache object to optimize linear searches of large arrays.\n *\n * @private\n * @param {Array} [array=[]] The array to search.\n * @returns {null|Object} Returns the cache object or `null` if caching should not be used.\n */\nfunction createCache(array) {\n var index = -1,\n length = array.length,\n first = array[0],\n mid = array[(length / 2) | 0],\n last = array[length - 1];\n\n if (first && typeof first == 'object' &&\n mid && typeof mid == 'object' && last && typeof last == 'object') {\n return false;\n }\n var cache = getObject();\n cache['false'] = cache['null'] = cache['true'] = cache['undefined'] = false;\n\n var result = getObject();\n result.array = array;\n result.cache = cache;\n result.push = cachePush;\n\n while (++index < length) {\n result.push(array[index]);\n }\n return result;\n}\n\nmodule.exports = createCache;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar arrayPool = require('./arrayPool');\n\n/**\n * Gets an array from the array pool or creates a new one if the pool is empty.\n *\n * @private\n * @returns {Array} The array from the pool.\n */\nfunction getArray() {\n return arrayPool.pop() || [];\n}\n\nmodule.exports = getArray;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used as the size when optimizations are enabled for large arrays */\nvar largeArraySize = 75;\n\nmodule.exports = largeArraySize;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar arrayPool = require('./arrayPool'),\n maxPoolSize = require('./maxPoolSize');\n\n/**\n * Releases the given array back to the array pool.\n *\n * @private\n * @param {Array} [array] The array to release.\n */\nfunction releaseArray(array) {\n array.length = 0;\n if (arrayPool.length < maxPoolSize) {\n arrayPool.push(array);\n }\n}\n\nmodule.exports = releaseArray;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar maxPoolSize = require('./maxPoolSize'),\n objectPool = require('./objectPool');\n\n/**\n * Releases the given object back to the object pool.\n *\n * @private\n * @param {Object} [object] The object to release.\n */\nfunction releaseObject(object) {\n var cache = object.cache;\n if (cache) {\n releaseObject(cache);\n }\n object.array = object.cache = object.criteria = object.object = object.number = object.string = object.value = null;\n if (objectPool.length < maxPoolSize) {\n objectPool.push(object);\n }\n}\n\nmodule.exports = releaseObject;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseIndexOf = require('./baseIndexOf'),\n cacheIndexOf = require('./cacheIndexOf'),\n createCache = require('./createCache'),\n getArray = require('./getArray'),\n largeArraySize = require('./largeArraySize'),\n releaseArray = require('./releaseArray'),\n releaseObject = require('./releaseObject');\n\n/**\n * The base implementation of `_.uniq` without support for callback shorthands\n * or `thisArg` binding.\n *\n * @private\n * @param {Array} array The array to process.\n * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.\n * @param {Function} [callback] The function called per iteration.\n * @returns {Array} Returns a duplicate-value-free array.\n */\nfunction baseUniq(array, isSorted, callback) {\n var index = -1,\n indexOf = baseIndexOf,\n length = array ? array.length : 0,\n result = [];\n\n var isLarge = !isSorted && length >= largeArraySize,\n seen = (callback || isLarge) ? getArray() : result;\n\n if (isLarge) {\n var cache = createCache(seen);\n indexOf = cacheIndexOf;\n seen = cache;\n }\n while (++index < length) {\n var value = array[index],\n computed = callback ? callback(value, index, array) : value;\n\n if (isSorted\n ? !index || seen[seen.length - 1] !== computed\n : indexOf(seen, computed) < 0\n ) {\n if (callback || isLarge) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n if (isLarge) {\n releaseArray(seen.array);\n releaseObject(seen);\n } else if (callback) {\n releaseArray(seen);\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreateCallback = require('../internals/baseCreateCallback'),\n baseIsEqual = require('../internals/baseIsEqual'),\n isObject = require('../objects/isObject'),\n keys = require('../objects/keys'),\n property = require('../utilities/property');\n\n/**\n * Produces a callback bound to an optional `thisArg`. If `func` is a property\n * name the created callback will return the property value for a given element.\n * If `func` is an object the created callback will return `true` for elements\n * that contain the equivalent object properties, otherwise it will return `false`.\n *\n * @static\n * @memberOf _\n * @category Utilities\n * @param {*} [func=identity] The value to convert to a callback.\n * @param {*} [thisArg] The `this` binding of the created callback.\n * @param {number} [argCount] The number of arguments the callback accepts.\n * @returns {Function} Returns a callback function.\n * @example\n *\n * var characters = [\n * { 'name': 'barney', 'age': 36 },\n * { 'name': 'fred', 'age': 40 }\n * ];\n *\n * // wrap to create custom callback shorthands\n * _.createCallback = _.wrap(_.createCallback, function(func, callback, thisArg) {\n * var match = /^(.+?)__([gl]t)(.+)$/.exec(callback);\n * return !match ? func(callback, thisArg) : function(object) {\n * return match[2] == 'gt' ? object[match[1]] > match[3] : object[match[1]] < match[3];\n * };\n * });\n *\n * _.filter(characters, 'age__gt38');\n * // => [{ 'name': 'fred', 'age': 40 }]\n */\nfunction createCallback(func, thisArg, argCount) {\n var type = typeof func;\n if (func == null || type == 'function') {\n return baseCreateCallback(func, thisArg, argCount);\n }\n // handle \"_.pluck\" style callback shorthands\n if (type != 'object') {\n return property(func);\n }\n var props = keys(func),\n key = props[0],\n a = func[key];\n\n // handle \"_.where\" style callback shorthands\n if (props.length == 1 && a === a && !isObject(a)) {\n // fast path the common case of providing an object with a single\n // property containing a primitive value\n return function(object) {\n var b = object[key];\n return a === b && (a !== 0 || (1 / a == 1 / b));\n };\n }\n return function(object) {\n var length = props.length,\n result = false;\n\n while (length--) {\n if (!(result = baseIsEqual(object[props[length]], func[props[length]], null, true))) {\n break;\n }\n }\n return result;\n };\n}\n\nmodule.exports = createCallback;\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreateCallback = require('../internals/baseCreateCallback'),\n keys = require('./keys'),\n objectTypes = require('../internals/objectTypes');\n\n/**\n * Assigns own enumerable properties of source object(s) to the destination\n * object. Subsequent sources will overwrite property assignments of previous\n * sources. If a callback is provided it will be executed to produce the\n * assigned values. The callback is bound to `thisArg` and invoked with two\n * arguments; (objectValue, sourceValue).\n *\n * @static\n * @memberOf _\n * @type Function\n * @alias extend\n * @category Objects\n * @param {Object} object The destination object.\n * @param {...Object} [source] The source objects.\n * @param {Function} [callback] The function to customize assigning values.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Object} Returns the destination object.\n * @example\n *\n * _.assign({ 'name': 'fred' }, { 'employer': 'slate' });\n * // => { 'name': 'fred', 'employer': 'slate' }\n *\n * var defaults = _.partialRight(_.assign, function(a, b) {\n * return typeof a == 'undefined' ? b : a;\n * });\n *\n * var object = { 'name': 'barney' };\n * defaults(object, { 'name': 'fred', 'employer': 'slate' });\n * // => { 'name': 'barney', 'employer': 'slate' }\n */\nvar assign = function(object, source, guard) {\n var index, iterable = object, result = iterable;\n if (!iterable) return result;\n var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\n if (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n } else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n }\n while (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n result[index] = callback ? callback(result[index], iterable[index]) : iterable[index];\n }\n }\n }\n return result\n};\n\nmodule.exports = assign;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/**\n * Slices the `collection` from the `start` index up to, but not including,\n * the `end` index.\n *\n * Note: This function is used instead of `Array#slice` to support node lists\n * in IE < 9 and to ensure dense arrays are returned.\n *\n * @private\n * @param {Array|Object|string} collection The collection to slice.\n * @param {number} start The start index.\n * @param {number} end The end index.\n * @returns {Array} Returns the new array.\n */\nfunction slice(array, start, end) {\n start || (start = 0);\n if (typeof end == 'undefined') {\n end = array ? array.length : 0;\n }\n var index = -1,\n length = end - start || 0,\n result = Array(length < 0 ? 0 : length);\n\n while (++index < length) {\n result[index] = array[start + index];\n }\n return result;\n}\n\nmodule.exports = slice;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar createWrapper = require('../internals/createWrapper'),\n slice = require('../internals/slice');\n\n/**\n * Creates a function that, when called, invokes `func` with the `this`\n * binding of `thisArg` and prepends any additional `bind` arguments to those\n * provided to the bound function.\n *\n * @static\n * @memberOf _\n * @category Functions\n * @param {Function} func The function to bind.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {...*} [arg] Arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * var func = function(greeting) {\n * return greeting + ' ' + this.name;\n * };\n *\n * func = _.bind(func, { 'name': 'fred' }, 'hi');\n * func();\n * // => 'hi fred'\n */\nfunction bind(func, thisArg) {\n return arguments.length > 2\n ? createWrapper(func, 17, slice(arguments, 2), null, thisArg)\n : createWrapper(func, 1, null, null, thisArg);\n}\n\nmodule.exports = bind;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar isNative = require('./isNative'),\n noop = require('../utilities/noop');\n\n/** Used as the property descriptor for `__bindData__` */\nvar descriptor = {\n 'configurable': false,\n 'enumerable': false,\n 'value': null,\n 'writable': false\n};\n\n/** Used to set meta data on functions */\nvar defineProperty = (function() {\n // IE 8 only accepts DOM elements\n try {\n var o = {},\n func = isNative(func = Object.defineProperty) && func,\n result = func(o, o, o) && func;\n } catch(e) { }\n return result;\n}());\n\n/**\n * Sets `this` binding data on a given function.\n *\n * @private\n * @param {Function} func The function to set data on.\n * @param {Array} value The data array to set.\n */\nvar setBindData = !defineProperty ? noop : function(func, value) {\n descriptor.value = value;\n defineProperty(func, '__bindData__', descriptor);\n};\n\nmodule.exports = setBindData;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar isNative = require('./internals/isNative');\n\n/** Used to detect functions containing a `this` reference */\nvar reThis = /\\bthis\\b/;\n\n/**\n * An object used to flag environments features.\n *\n * @static\n * @memberOf _\n * @type Object\n */\nvar support = {};\n\n/**\n * Detect if functions can be decompiled by `Function#toString`\n * (all but PS3 and older Opera mobile browsers & avoided in Windows 8 apps).\n *\n * @memberOf _.support\n * @type boolean\n */\nsupport.funcDecomp = !isNative(global.WinRTError) && reThis.test(function() { return this; });\n\n/**\n * Detect if `Function#name` is supported (all but IE).\n *\n * @memberOf _.support\n * @type boolean\n */\nsupport.funcNames = typeof Function.name == 'string';\n\nmodule.exports = support;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used to prefix keys to avoid issues with `__proto__` and properties on `Object.prototype` */\nvar keyPrefix = +new Date + '';\n\nmodule.exports = keyPrefix;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar keyPrefix = require('./keyPrefix');\n\n/**\n * Adds a given value to the corresponding cache object.\n *\n * @private\n * @param {*} value The value to add to the cache.\n */\nfunction cachePush(value) {\n var cache = this.cache,\n type = typeof value;\n\n if (type == 'boolean' || value == null) {\n cache[value] = true;\n } else {\n if (type != 'number' && type != 'string') {\n type = 'object';\n }\n var key = type == 'number' ? value : keyPrefix + value,\n typeCache = cache[type] || (cache[type] = {});\n\n if (type == 'object') {\n (typeCache[key] || (typeCache[key] = [])).push(value);\n } else {\n typeCache[key] = true;\n }\n }\n}\n\nmodule.exports = cachePush;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar objectPool = require('./objectPool');\n\n/**\n * Gets an object from the object pool or creates a new one if the pool is empty.\n *\n * @private\n * @returns {Object} The object from the pool.\n */\nfunction getObject() {\n return objectPool.pop() || {\n 'array': null,\n 'cache': null,\n 'criteria': null,\n 'false': false,\n 'index': 0,\n 'null': false,\n 'number': null,\n 'object': null,\n 'push': null,\n 'string': null,\n 'true': false,\n 'undefined': false,\n 'value': null\n };\n}\n\nmodule.exports = getObject;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used to pool arrays and objects used internally */\nvar arrayPool = [];\n\nmodule.exports = arrayPool;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used as the max size of the `arrayPool` and `objectPool` */\nvar maxPoolSize = 40;\n\nmodule.exports = maxPoolSize;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used to pool arrays and objects used internally */\nvar objectPool = [];\n\nmodule.exports = objectPool;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar forIn = require('../objects/forIn'),\n getArray = require('./getArray'),\n isFunction = require('../objects/isFunction'),\n objectTypes = require('./objectTypes'),\n releaseArray = require('./releaseArray');\n\n/** `Object#toString` result shortcuts */\nvar argsClass = '[object Arguments]',\n arrayClass = '[object Array]',\n boolClass = '[object Boolean]',\n dateClass = '[object Date]',\n numberClass = '[object Number]',\n objectClass = '[object Object]',\n regexpClass = '[object RegExp]',\n stringClass = '[object String]';\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the internal [[Class]] of values */\nvar toString = objectProto.toString;\n\n/** Native method shortcuts */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.isEqual`, without support for `thisArg` binding,\n * that allows partial \"_.where\" style comparisons.\n *\n * @private\n * @param {*} a The value to compare.\n * @param {*} b The other value to compare.\n * @param {Function} [callback] The function to customize comparing values.\n * @param {Function} [isWhere=false] A flag to indicate performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `a` objects.\n * @param {Array} [stackB=[]] Tracks traversed `b` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(a, b, callback, isWhere, stackA, stackB) {\n // used to indicate that when comparing objects, `a` has at least the properties of `b`\n if (callback) {\n var result = callback(a, b);\n if (typeof result != 'undefined') {\n return !!result;\n }\n }\n // exit early for identical values\n if (a === b) {\n // treat `+0` vs. `-0` as not equal\n return a !== 0 || (1 / a == 1 / b);\n }\n var type = typeof a,\n otherType = typeof b;\n\n // exit early for unlike primitive values\n if (a === a &&\n !(a && objectTypes[type]) &&\n !(b && objectTypes[otherType])) {\n return false;\n }\n // exit early for `null` and `undefined` avoiding ES3's Function#call behavior\n // http://es5.github.io/#x15.3.4.4\n if (a == null || b == null) {\n return a === b;\n }\n // compare [[Class]] names\n var className = toString.call(a),\n otherClass = toString.call(b);\n\n if (className == argsClass) {\n className = objectClass;\n }\n if (otherClass == argsClass) {\n otherClass = objectClass;\n }\n if (className != otherClass) {\n return false;\n }\n switch (className) {\n case boolClass:\n case dateClass:\n // coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal\n return +a == +b;\n\n case numberClass:\n // treat `NaN` vs. `NaN` as equal\n return (a != +a)\n ? b != +b\n // but treat `+0` vs. `-0` as not equal\n : (a == 0 ? (1 / a == 1 / b) : a == +b);\n\n case regexpClass:\n case stringClass:\n // coerce regexes to strings (http://es5.github.io/#x15.10.6.4)\n // treat string primitives and their corresponding object instances as equal\n return a == String(b);\n }\n var isArr = className == arrayClass;\n if (!isArr) {\n // unwrap any `lodash` wrapped values\n var aWrapped = hasOwnProperty.call(a, '__wrapped__'),\n bWrapped = hasOwnProperty.call(b, '__wrapped__');\n\n if (aWrapped || bWrapped) {\n return baseIsEqual(aWrapped ? a.__wrapped__ : a, bWrapped ? b.__wrapped__ : b, callback, isWhere, stackA, stackB);\n }\n // exit for functions and DOM nodes\n if (className != objectClass) {\n return false;\n }\n // in older versions of Opera, `arguments` objects have `Array` constructors\n var ctorA = a.constructor,\n ctorB = b.constructor;\n\n // non `Object` object instances with different constructors are not equal\n if (ctorA != ctorB &&\n !(isFunction(ctorA) && ctorA instanceof ctorA && isFunction(ctorB) && ctorB instanceof ctorB) &&\n ('constructor' in a && 'constructor' in b)\n ) {\n return false;\n }\n }\n // assume cyclic structures are equal\n // the algorithm for detecting cyclic structures is adapted from ES 5.1\n // section 15.12.3, abstract operation `JO` (http://es5.github.io/#x15.12.3)\n var initedStack = !stackA;\n stackA || (stackA = getArray());\n stackB || (stackB = getArray());\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == a) {\n return stackB[length] == b;\n }\n }\n var size = 0;\n result = true;\n\n // add `a` and `b` to the stack of traversed objects\n stackA.push(a);\n stackB.push(b);\n\n // recursively compare objects and arrays (susceptible to call stack limits)\n if (isArr) {\n // compare lengths to determine if a deep comparison is necessary\n length = a.length;\n size = b.length;\n result = size == length;\n\n if (result || isWhere) {\n // deep compare the contents, ignoring non-numeric properties\n while (size--) {\n var index = length,\n value = b[size];\n\n if (isWhere) {\n while (index--) {\n if ((result = baseIsEqual(a[index], value, callback, isWhere, stackA, stackB))) {\n break;\n }\n }\n } else if (!(result = baseIsEqual(a[size], value, callback, isWhere, stackA, stackB))) {\n break;\n }\n }\n }\n }\n else {\n // deep compare objects using `forIn`, instead of `forOwn`, to avoid `Object.keys`\n // which, in this case, is more costly\n forIn(b, function(value, key, b) {\n if (hasOwnProperty.call(b, key)) {\n // count the number of properties.\n size++;\n // deep compare each property value.\n return (result = hasOwnProperty.call(a, key) && baseIsEqual(a[key], value, callback, isWhere, stackA, stackB));\n }\n });\n\n if (result && !isWhere) {\n // ensure both objects have the same number of properties\n forIn(a, function(value, key, a) {\n if (hasOwnProperty.call(a, key)) {\n // `size` will be `-1` if `a` has more properties than `b`\n return (result = --size > -1);\n }\n });\n }\n }\n stackA.pop();\n stackB.pop();\n\n if (initedStack) {\n releaseArray(stackA);\n releaseArray(stackB);\n }\n return result;\n}\n\nmodule.exports = baseIsEqual;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utilities\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'name': 'fred' };\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/**\n * Creates a \"_.pluck\" style function, which returns the `key` value of a\n * given object.\n *\n * @static\n * @memberOf _\n * @category Utilities\n * @param {string} key The name of the property to retrieve.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var characters = [\n * { 'name': 'fred', 'age': 40 },\n * { 'name': 'barney', 'age': 36 }\n * ];\n *\n * var getName = _.property('name');\n *\n * _.map(characters, getName);\n * // => ['barney', 'fred']\n *\n * _.sortBy(characters, getName);\n * // => [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred', 'age': 40 }]\n */\nfunction property(key) {\n return function(object) {\n return object[key];\n };\n}\n\nmodule.exports = property;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseBind = require('./baseBind'),\n baseCreateWrapper = require('./baseCreateWrapper'),\n isFunction = require('../objects/isFunction'),\n slice = require('./slice');\n\n/**\n * Used for `Array` method references.\n *\n * Normally `Array.prototype` would suffice, however, using an array literal\n * avoids issues in Narwhal.\n */\nvar arrayRef = [];\n\n/** Native method shortcuts */\nvar push = arrayRef.push,\n unshift = arrayRef.unshift;\n\n/**\n * Creates a function that, when called, either curries or invokes `func`\n * with an optional `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to reference.\n * @param {number} bitmask The bitmask of method flags to compose.\n * The bitmask may be composed of the following flags:\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry`\n * 8 - `_.curry` (bound)\n * 16 - `_.partial`\n * 32 - `_.partialRight`\n * @param {Array} [partialArgs] An array of arguments to prepend to those\n * provided to the new function.\n * @param {Array} [partialRightArgs] An array of arguments to append to those\n * provided to the new function.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new function.\n */\nfunction createWrapper(func, bitmask, partialArgs, partialRightArgs, thisArg, arity) {\n var isBind = bitmask & 1,\n isBindKey = bitmask & 2,\n isCurry = bitmask & 4,\n isCurryBound = bitmask & 8,\n isPartial = bitmask & 16,\n isPartialRight = bitmask & 32;\n\n if (!isBindKey && !isFunction(func)) {\n throw new TypeError;\n }\n if (isPartial && !partialArgs.length) {\n bitmask &= ~16;\n isPartial = partialArgs = false;\n }\n if (isPartialRight && !partialRightArgs.length) {\n bitmask &= ~32;\n isPartialRight = partialRightArgs = false;\n }\n var bindData = func && func.__bindData__;\n if (bindData && bindData !== true) {\n // clone `bindData`\n bindData = slice(bindData);\n if (bindData[2]) {\n bindData[2] = slice(bindData[2]);\n }\n if (bindData[3]) {\n bindData[3] = slice(bindData[3]);\n }\n // set `thisBinding` is not previously bound\n if (isBind && !(bindData[1] & 1)) {\n bindData[4] = thisArg;\n }\n // set if previously bound but not currently (subsequent curried functions)\n if (!isBind && bindData[1] & 1) {\n bitmask |= 8;\n }\n // set curried arity if not yet set\n if (isCurry && !(bindData[1] & 4)) {\n bindData[5] = arity;\n }\n // append partial left arguments\n if (isPartial) {\n push.apply(bindData[2] || (bindData[2] = []), partialArgs);\n }\n // append partial right arguments\n if (isPartialRight) {\n unshift.apply(bindData[3] || (bindData[3] = []), partialRightArgs);\n }\n // merge flags\n bindData[1] |= bitmask;\n return createWrapper.apply(null, bindData);\n }\n // fast path for `_.bind`\n var creater = (bitmask == 1 || bitmask === 17) ? baseBind : baseCreateWrapper;\n return creater([func, bitmask, partialArgs, partialRightArgs, thisArg, arity]);\n}\n\nmodule.exports = createWrapper;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/**\n * A no-operation function.\n *\n * @static\n * @memberOf _\n * @category Utilities\n * @example\n *\n * var object = { 'name': 'fred' };\n * _.noop(object) === undefined;\n * // => true\n */\nfunction noop() {\n // no operation performed\n}\n\nmodule.exports = noop;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreateCallback = require('../internals/baseCreateCallback'),\n objectTypes = require('../internals/objectTypes');\n\n/**\n * Iterates over own and inherited enumerable properties of an object,\n * executing the callback for each property. The callback is bound to `thisArg`\n * and invoked with three arguments; (value, key, object). Callbacks may exit\n * iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @type Function\n * @category Objects\n * @param {Object} object The object to iterate over.\n * @param {Function} [callback=identity] The function called per iteration.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function Shape() {\n * this.x = 0;\n * this.y = 0;\n * }\n *\n * Shape.prototype.move = function(x, y) {\n * this.x += x;\n * this.y += y;\n * };\n *\n * _.forIn(new Shape, function(value, key) {\n * console.log(key);\n * });\n * // => logs 'x', 'y', and 'move' (property order is not guaranteed across environments)\n */\nvar forIn = function(collection, callback, thisArg) {\n var index, iterable = collection, result = iterable;\n if (!iterable) return result;\n if (!objectTypes[typeof iterable]) return result;\n callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);\n for (index in iterable) {\n if (callback(iterable[index], index, collection) === false) return result;\n }\n return result\n};\n\nmodule.exports = forIn;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/**\n * Checks if `value` is a function.\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if the `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n */\nfunction isFunction(value) {\n return typeof value == 'function';\n}\n\nmodule.exports = isFunction;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreate = require('./baseCreate'),\n isObject = require('../objects/isObject'),\n setBindData = require('./setBindData'),\n slice = require('./slice');\n\n/**\n * Used for `Array` method references.\n *\n * Normally `Array.prototype` would suffice, however, using an array literal\n * avoids issues in Narwhal.\n */\nvar arrayRef = [];\n\n/** Native method shortcuts */\nvar push = arrayRef.push;\n\n/**\n * The base implementation of `_.bind` that creates the bound function and\n * sets its meta data.\n *\n * @private\n * @param {Array} bindData The bind data array.\n * @returns {Function} Returns the new bound function.\n */\nfunction baseBind(bindData) {\n var func = bindData[0],\n partialArgs = bindData[2],\n thisArg = bindData[4];\n\n function bound() {\n // `Function#bind` spec\n // http://es5.github.io/#x15.3.4.5\n if (partialArgs) {\n // avoid `arguments` object deoptimizations by using `slice` instead\n // of `Array.prototype.slice.call` and not assigning `arguments` to a\n // variable as a ternary expression\n var args = slice(partialArgs);\n push.apply(args, arguments);\n }\n // mimic the constructor's `return` behavior\n // http://es5.github.io/#x13.2.2\n if (this instanceof bound) {\n // ensure `new bound` is an instance of `func`\n var thisBinding = baseCreate(func.prototype),\n result = func.apply(thisBinding, args || arguments);\n return isObject(result) ? result : thisBinding;\n }\n return func.apply(thisArg, args || arguments);\n }\n setBindData(bound, bindData);\n return bound;\n}\n\nmodule.exports = baseBind;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreate = require('./baseCreate'),\n isObject = require('../objects/isObject'),\n setBindData = require('./setBindData'),\n slice = require('./slice');\n\n/**\n * Used for `Array` method references.\n *\n * Normally `Array.prototype` would suffice, however, using an array literal\n * avoids issues in Narwhal.\n */\nvar arrayRef = [];\n\n/** Native method shortcuts */\nvar push = arrayRef.push;\n\n/**\n * The base implementation of `createWrapper` that creates the wrapper and\n * sets its meta data.\n *\n * @private\n * @param {Array} bindData The bind data array.\n * @returns {Function} Returns the new function.\n */\nfunction baseCreateWrapper(bindData) {\n var func = bindData[0],\n bitmask = bindData[1],\n partialArgs = bindData[2],\n partialRightArgs = bindData[3],\n thisArg = bindData[4],\n arity = bindData[5];\n\n var isBind = bitmask & 1,\n isBindKey = bitmask & 2,\n isCurry = bitmask & 4,\n isCurryBound = bitmask & 8,\n key = func;\n\n function bound() {\n var thisBinding = isBind ? thisArg : this;\n if (partialArgs) {\n var args = slice(partialArgs);\n push.apply(args, arguments);\n }\n if (partialRightArgs || isCurry) {\n args || (args = slice(arguments));\n if (partialRightArgs) {\n push.apply(args, partialRightArgs);\n }\n if (isCurry && args.length < arity) {\n bitmask |= 16 & ~32;\n return baseCreateWrapper([func, (isCurryBound ? bitmask : bitmask & ~3), args, null, thisArg, arity]);\n }\n }\n args || (args = arguments);\n if (isBindKey) {\n func = thisBinding[key];\n }\n if (this instanceof bound) {\n thisBinding = baseCreate(func.prototype);\n var result = func.apply(thisBinding, args);\n return isObject(result) ? result : thisBinding;\n }\n return func.apply(thisBinding, args);\n }\n setBindData(bound, bindData);\n return bound;\n}\n\nmodule.exports = baseCreateWrapper;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar isNative = require('./isNative'),\n isObject = require('../objects/isObject'),\n noop = require('../utilities/noop');\n\n/* Native method shortcuts for methods with the same name as other `lodash` methods */\nvar nativeCreate = isNative(nativeCreate = Object.create) && nativeCreate;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(prototype, properties) {\n return isObject(prototype) ? nativeCreate(prototype) : {};\n}\n// fallback for browsers without `Object.create`\nif (!nativeCreate) {\n baseCreate = (function() {\n function Object() {}\n return function(prototype) {\n if (isObject(prototype)) {\n Object.prototype = prototype;\n var result = new Object;\n Object.prototype = null;\n }\n return result || global.Object();\n };\n }());\n}\n\nmodule.exports = baseCreate;\n"],"sourceRoot":"webpack-module://"} \ No newline at end of file +{"version":3,"sources":["webpack/universalModuleDefinition","webpack/bootstrap 005a88761fec5d71d089","./index.js","./version.js","./lib/dispatcher.js","./lib/flux.js","./lib/flux_mixin.js","./lib/flux_child_mixin.js","./lib/store_watch_mixin.js","./lib/create_store.js","./lib/store.js","./~/inherits/inherits_browser.js","./~/lodash-node/modern/objects/clone.js","./~/lodash-node/modern/objects/mapValues.js","./~/lodash-node/modern/objects/forOwn.js","./~/lodash-node/modern/objects/keys.js","./~/lodash-node/modern/objects/findKey.js","./~/lodash-node/modern/arrays/intersection.js","./~/lodash-node/modern/arrays/uniq.js","./~/lodash-node/modern/collections/map.js","./~/lodash-node/modern/collections/forEach.js","./~/lodash-node/modern/collections/size.js","(webpack)/~/node-libs-browser/~/events/events.js","./~/lodash-node/modern/objects/isObject.js","./~/lodash-node/modern/objects/isArguments.js","./~/lodash-node/modern/objects/isArray.js","./~/lodash-node/modern/internals/baseClone.js","./~/lodash-node/modern/internals/baseCreateCallback.js","./~/lodash-node/modern/internals/objectTypes.js","./~/lodash-node/modern/internals/isNative.js","./~/lodash-node/modern/internals/shimKeys.js","./~/lodash-node/modern/internals/baseIndexOf.js","./~/lodash-node/modern/internals/cacheIndexOf.js","./~/lodash-node/modern/internals/createCache.js","./~/lodash-node/modern/internals/getArray.js","./~/lodash-node/modern/internals/largeArraySize.js","./~/lodash-node/modern/internals/releaseArray.js","./~/lodash-node/modern/internals/releaseObject.js","./~/lodash-node/modern/internals/baseUniq.js","./~/lodash-node/modern/functions/createCallback.js","./~/lodash-node/modern/objects/assign.js","./~/lodash-node/modern/internals/slice.js","./~/lodash-node/modern/functions/bind.js","./~/lodash-node/modern/internals/setBindData.js","./~/lodash-node/modern/support.js","./~/lodash-node/modern/internals/keyPrefix.js","./~/lodash-node/modern/internals/cachePush.js","./~/lodash-node/modern/internals/getObject.js","./~/lodash-node/modern/internals/arrayPool.js","./~/lodash-node/modern/internals/maxPoolSize.js","./~/lodash-node/modern/internals/objectPool.js","./~/lodash-node/modern/internals/baseIsEqual.js","./~/lodash-node/modern/utilities/identity.js","./~/lodash-node/modern/utilities/property.js","./~/lodash-node/modern/internals/createWrapper.js","./~/lodash-node/modern/utilities/noop.js","./~/lodash-node/modern/objects/forIn.js","./~/lodash-node/modern/objects/isFunction.js","./~/lodash-node/modern/internals/baseBind.js","./~/lodash-node/modern/internals/baseCreateWrapper.js","./~/lodash-node/modern/internals/baseCreate.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;;ACTA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAa;AACb;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA,wC;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA,yB;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,aAAY;AACZ,IAAG;;AAEH;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA;;;;;;;AC5HA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAA+B,6BAA6B;AAC5D;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;ACzCA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;;AAEL;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;;AAEL;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kBAAiB,oBAAoB;AACrC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qEAAoE;AACpE;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA;AACA,OAAM,8BAA8B;AACpC,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,uBAAuB;AAClC;AACA;AACA,YAAW,EAAE;AACb,cAAa,MAAM;AACnB;AACA;AACA,iBAAgB,wBAAwB,kBAAkB,gBAAgB,EAAE;AAC5E,WAAU;AACV;AACA;AACA,eAAc,4BAA4B;AAC1C,kBAAiB;AACjB;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA,cAAa,uCAAuC;AACpD;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA,YAAW,iCAAiC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,uBAAuB;AAClC;AACA;AACA,YAAW,EAAE;AACb,cAAa,iBAAiB;AAC9B;AACA;AACA;AACA,iBAAgB,+BAA+B;AAC/C,eAAc,gCAAgC;AAC9C,kBAAiB;AACjB;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,2BAA0B,WAAW;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AChEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,QAAQ;AACnB,YAAW,uBAAuB;AAClC;AACA;AACA,YAAW,EAAE;AACb,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA4D,6BAA6B,EAAE;AAC3F;AACA;AACA,oDAAmD,wBAAwB,EAAE;AAC7E;AACA;AACA;AACA,aAAY,SAAS,GAAG,SAAS,GAAG,SAAS;AAC7C,YAAW,SAAS,GAAG,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,oBAAoB;AAC/B,YAAW,uBAAuB;AAClC;AACA;AACA,YAAW,EAAE;AACb,cAAa,MAAM;AACnB;AACA;AACA,oCAAmC,gBAAgB,EAAE;AACrD;AACA;AACA,WAAU,iCAAiC,iBAAiB,gBAAgB,EAAE;AAC9E;AACA;AACA;AACA,OAAM,8BAA8B;AACpC,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,oBAAoB;AAC/B,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,oBAAoB;AACjC;AACA;AACA,wCAAuC,kBAAkB,EAAE;AAC3D;AACA;AACA,eAAc,iCAAiC,iBAAiB,kBAAkB,EAAE;AACpF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,oBAAoB;AAC/B,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,YAAW,iCAAiC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB,QAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,SAAS;AAC5B;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,gBAAe,SAAS;AACxB;;AAEA;AACA;AACA,gBAAe,SAAS;AACxB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAG;AACH,qBAAoB,SAAS;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;AC9SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB,iCAAiC,EAAE;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB,6BAA6B,EAAE;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,wBAAuB;AACvB;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA,OAAM,8BAA8B;AACpC,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA,YAAW,4BAA4B;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,UAAU;AACrB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA,cAAa,iBAAiB,GAAG,sBAAsB;AACvD,WAAU;AACV;AACA;AACA;AACA,KAAI;AACJ;AACA,kBAAiB;AACjB,sBAAqB,sCAAsC;AAC3D,WAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,oBAAoB;AAC/B,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,KAAK;AAChB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA,IAAG,WAAW;AACd;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA6E,aAAa,EAAE;;AAE5F;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,qDAAoD;;AAEpD;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA,OAAM,8BAA8B;AACpC,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,8BAA8B,GAAG,8BAA8B;AAC1E;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,gBAAgB;AAC3B,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA,YAAW,MAAM;AACjB;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Fluxxor\"] = factory();\n\telse\n\t\troot[\"Fluxxor\"] = factory();\n})(this, function() {\nreturn ","\n// The module cache\nvar installedModules = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(installedModules[moduleId])\n\t\treturn installedModules[moduleId].exports;\n\t\n\t// Create a new module (and put it into the cache)\n\tvar module = installedModules[moduleId] = {\n\t\texports: {},\n\t\tid: moduleId,\n\t\tloaded: false\n\t};\n\t\n\t// Execute the module function\n\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\t\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\t\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = modules;\n\n// expose the module cache\n__webpack_require__.c = installedModules;\n\n// __webpack_public_path__\n__webpack_require__.p = \"\";\n\n\n// Load entry module and return exports\nreturn __webpack_require__(0);","var Dispatcher = require(\"./lib/dispatcher\"),\n Flux = require(\"./lib/flux\"),\n FluxMixin = require(\"./lib/flux_mixin\"),\n FluxChildMixin = require(\"./lib/flux_child_mixin\"),\n StoreWatchMixin = require(\"./lib/store_watch_mixin\"),\n createStore = require(\"./lib/create_store\");\n\nvar Fluxxor = {\n Dispatcher: Dispatcher,\n Flux: Flux,\n FluxMixin: FluxMixin,\n FluxChildMixin: FluxChildMixin,\n StoreWatchMixin: StoreWatchMixin,\n createStore: createStore,\n version: require(\"./version\")\n};\n\nmodule.exports = Fluxxor;\n","module.exports = \"1.4.1\"","var _clone = require(\"lodash-node/modern/objects/clone\"),\n _mapValues = require(\"lodash-node/modern/objects/mapValues\"),\n _forOwn = require(\"lodash-node/modern/objects/forOwn\"),\n _intersection = require(\"lodash-node/modern/arrays/intersection\"),\n _keys = require(\"lodash-node/modern/objects/keys\"),\n _map = require(\"lodash-node/modern/collections/map\"),\n _each = require(\"lodash-node/modern/collections/forEach\"),\n _size = require(\"lodash-node/modern/collections/size\"),\n _findKey = require(\"lodash-node/modern/objects/findKey\"),\n _uniq = require(\"lodash-node/modern/arrays/uniq\");\n\nvar Dispatcher = function(stores) {\n this.stores = stores;\n this.currentDispatch = null;\n this.waitingToDispatch = [];\n\n for (var key in stores) {\n if (stores.hasOwnProperty(key)) {\n stores[key].dispatcher = this;\n }\n }\n};\n\nDispatcher.prototype.dispatch = function(action) {\n if (this.currentDispatch) {\n throw new Error(\"Cannot dispatch an action while another action is being dispatched\");\n }\n\n if (!action || !action.type) {\n throw new Error(\"Can only dispatch actions with a 'type' property\");\n }\n\n this.waitingToDispatch = _clone(this.stores);\n\n this.currentDispatch = _mapValues(this.stores, function() {\n return { resolved: false, waitingOn: [], waitCallback: null };\n });\n\n try {\n this.doDispatchLoop(action);\n } finally {\n this.currentDispatch = null;\n }\n};\n\nDispatcher.prototype.doDispatchLoop = function(action) {\n var dispatch, canBeDispatchedTo,\n removeFromDispatchQueue = [], dispatchedThisLoop = [];\n\n _forOwn(this.waitingToDispatch, function(value, key) {\n dispatch = this.currentDispatch[key];\n canBeDispatchedTo = !dispatch.waitingOn.length ||\n !_intersection(dispatch.waitingOn, _keys(this.waitingToDispatch)).length;\n if (canBeDispatchedTo) {\n if (dispatch.waitCallback) {\n var stores = _map(dispatch.waitingOn, function(key) {\n return this.stores[key];\n }, this);\n var fn = dispatch.waitCallback;\n dispatch.waitCallback = null;\n dispatch.waitingOn = [];\n dispatch.resolved = true;\n fn.apply(null, stores);\n } else {\n dispatch.resolved = true;\n this.stores[key].__handleAction__(action);\n }\n\n dispatchedThisLoop.push(key);\n\n if (this.currentDispatch[key].resolved) {\n removeFromDispatchQueue.push(key);\n }\n }\n }, this);\n\n if (!dispatchedThisLoop.length) {\n var storesWithCircularWaits = _keys(this.waitingToDispatch).join(\", \");\n throw new Error(\"Indirect circular wait detected among: \" + storesWithCircularWaits);\n }\n\n _each(removeFromDispatchQueue, function(key) {\n delete this.waitingToDispatch[key];\n }, this);\n\n if (_size(this.waitingToDispatch)) {\n this.doDispatchLoop(action);\n }\n};\n\nDispatcher.prototype.waitForStores = function(store, stores, fn) {\n if (!this.currentDispatch) {\n throw new Error(\"Cannot wait unless an action is being dispatched\");\n }\n\n var waitingStoreName = _findKey(this.stores, function(val) {\n return val === store;\n });\n\n if (stores.indexOf(waitingStoreName) > -1) {\n throw new Error(\"A store cannot wait on itself\");\n }\n\n var dispatch = this.currentDispatch[waitingStoreName];\n\n if (dispatch.waitingOn.length) {\n throw new Error(waitingStoreName + \" already waiting on stores\");\n }\n\n _each(stores, function(storeName) {\n var storeDispatch = this.currentDispatch[storeName];\n if (!this.stores[storeName]) {\n throw new Error(\"Cannot wait for non-existent store \" + storeName);\n }\n if (storeDispatch.waitingOn.indexOf(waitingStoreName) > -1) {\n throw new Error(\"Circular wait detected between \" + waitingStoreName + \" and \" + storeName);\n }\n }, this);\n\n dispatch.resolved = false;\n dispatch.waitingOn = _uniq(dispatch.waitingOn.concat(stores));\n dispatch.waitCallback = fn;\n};\n\nmodule.exports = Dispatcher;\n","var Dispatcher = require(\"./dispatcher\");\n\nfunction bindActions(target, actions, dispatchBinder) {\n for (var key in actions) {\n if (actions.hasOwnProperty(key)) {\n if (typeof actions[key] === \"function\") {\n target[key] = actions[key].bind(dispatchBinder);\n } else if (typeof actions[key] === \"object\") {\n target[key] = {};\n bindActions(target[key], actions[key], dispatchBinder);\n }\n }\n }\n}\n\nvar Flux = function(stores, actions) {\n var dispatcher = new Dispatcher(stores),\n dispatchBinder = {\n flux: this,\n dispatch: function(type, payload) {\n dispatcher.dispatch({type: type, payload: payload});\n }\n };\n\n this.dispatcher = dispatcher;\n this.actions = {};\n this.stores = stores;\n\n bindActions(this.actions, actions, dispatchBinder);\n\n for (var key in stores) {\n if (stores.hasOwnProperty(key)) {\n stores[key].flux = this;\n }\n }\n};\n\nFlux.prototype.store = function(name) {\n return this.stores[name];\n};\n\nmodule.exports = Flux;\n","var FluxMixin = function(React) {\n return {\n propTypes: {\n flux: React.PropTypes.object.isRequired\n },\n\n childContextTypes: {\n flux: React.PropTypes.object\n },\n\n getChildContext: function() {\n return {\n flux: this.props.flux\n };\n },\n\n getFlux: function() {\n return this.props.flux;\n }\n };\n};\n\nFluxMixin.componentWillMount = function() {\n throw new Error(\"Fluxxor.FluxMixin is a function that takes React as a \" +\n \"parameter and returns the mixin, e.g.: mixins[Fluxxor.FluxMixin(React)]\");\n};\n\nmodule.exports = FluxMixin;\n","var FluxChildMixin = function(React) {\n return {\n contextTypes: {\n flux: React.PropTypes.object\n },\n\n getFlux: function() {\n return this.context.flux;\n }\n };\n};\n\nFluxChildMixin.componentWillMount = function() {\n throw new Error(\"Fluxxor.FluxChildMixin is a function that takes React as a \" +\n \"parameter and returns the mixin, e.g.: mixins[Fluxxor.FluxChildMixin(React)]\");\n};\n\nmodule.exports = FluxChildMixin;\n","var _each = require(\"lodash-node/modern/collections/forEach\");\n\nvar StoreWatchMixin = function() {\n var storeNames = Array.prototype.slice.call(arguments);\n return {\n componentWillMount: function() {\n var flux = this.props.flux || this.context.flux;\n _each(storeNames, function(store) {\n flux.store(store).on(\"change\", this._setStateFromFlux);\n }, this);\n },\n\n componentWillUnmount: function() {\n var flux = this.props.flux || this.context.flux;\n _each(storeNames, function(store) {\n flux.store(store).removeListener(\"change\", this._setStateFromFlux);\n }, this);\n },\n\n _setStateFromFlux: function() {\n if(this.isMounted()) {\n this.setState(this.getStateFromFlux());\n }\n },\n\n getInitialState: function() {\n return this.getStateFromFlux();\n }\n };\n};\n\nStoreWatchMixin.componentWillMount = function() {\n throw new Error(\"Fluxxor.StoreWatchMixin is a function that takes one or more \" +\n \"store names as parameters and returns the mixin, e.g.: \" +\n \"mixins[Fluxxor.StoreWatchMixin(\\\"Store1\\\", \\\"Store2\\\")]\");\n};\n\nmodule.exports = StoreWatchMixin;\n","var _each = require(\"lodash-node/modern/collections/forEach\"),\n Store = require(\"./store\"),\n inherits = require(\"inherits\");\n\nvar RESERVED_KEYS = [\"flux\", \"waitFor\"];\n\nvar createStore = function(spec) {\n _each(RESERVED_KEYS, function(key) {\n if (spec[key]) {\n throw new Error(\"Reserved key '\" + key + \"' found in store definition\");\n }\n });\n\n var constructor = function(options) {\n options = options || {};\n Store.call(this);\n\n for (var key in spec) {\n if (key === \"actions\") {\n this.__actions__ = spec[key];\n } else if (key === \"initialize\") {\n // do nothing\n } else if (typeof spec[key] === \"function\") {\n this[key] = spec[key].bind(this);\n } else {\n this[key] = spec[key];\n }\n }\n\n if (spec.initialize) {\n spec.initialize.call(this, options);\n }\n };\n\n inherits(constructor, Store);\n return constructor;\n};\n\nmodule.exports = createStore;\n","var EventEmitter = require(\"events\").EventEmitter,\n inherits = require(\"inherits\");\n\nfunction Store(dispatcher) {\n this.dispatcher = dispatcher;\n this.__actions__ = {};\n EventEmitter.call(this);\n}\n\ninherits(Store, EventEmitter);\n\nStore.prototype.__handleAction__ = function(action) {\n var handler;\n if (!!(handler = this.__actions__[action.type])) {\n if (typeof handler === \"function\") {\n handler.call(this, action.payload, action.type);\n } else if (handler && typeof this[handler] === \"function\") {\n this[handler].call(this, action.payload, action.type);\n }\n }\n};\n\nStore.prototype.bindActions = function() {\n var actions = Array.prototype.slice.call(arguments);\n if (actions.length % 2 !== 0) {\n throw new Error(\"bindActions must take an even number of arguments.\");\n }\n\n for (var i = 0; i < actions.length; i += 2) {\n var type = actions[i],\n handler = actions[i+1];\n\n this.__actions__[type] = handler;\n }\n};\n\nStore.prototype.waitFor = function(stores, fn) {\n this.dispatcher.waitForStores(this, stores, fn.bind(this));\n};\n\nmodule.exports = Store;\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseClone = require('../internals/baseClone'),\n baseCreateCallback = require('../internals/baseCreateCallback');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects will also\n * be cloned, otherwise they will be assigned by reference. If a callback\n * is provided it will be executed to produce the cloned values. If the\n * callback returns `undefined` cloning will be handled by the method instead.\n * The callback is bound to `thisArg` and invoked with one argument; (value).\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep=false] Specify a deep clone.\n * @param {Function} [callback] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var characters = [\n * { 'name': 'barney', 'age': 36 },\n * { 'name': 'fred', 'age': 40 }\n * ];\n *\n * var shallow = _.clone(characters);\n * shallow[0] === characters[0];\n * // => true\n *\n * var deep = _.clone(characters, true);\n * deep[0] === characters[0];\n * // => false\n *\n * _.mixin({\n * 'clone': _.partialRight(_.clone, function(value) {\n * return _.isElement(value) ? value.cloneNode(false) : undefined;\n * })\n * });\n *\n * var clone = _.clone(document.body);\n * clone.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, callback, thisArg) {\n // allows working with \"Collections\" methods without using their `index`\n // and `collection` arguments for `isDeep` and `callback`\n if (typeof isDeep != 'boolean' && isDeep != null) {\n thisArg = callback;\n callback = isDeep;\n isDeep = false;\n }\n return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));\n}\n\nmodule.exports = clone;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar createCallback = require('../functions/createCallback'),\n forOwn = require('./forOwn');\n\n/**\n * Creates an object with the same keys as `object` and values generated by\n * running each own enumerable property of `object` through the callback.\n * The callback is bound to `thisArg` and invoked with three arguments;\n * (value, key, object).\n *\n * If a property name is provided for `callback` the created \"_.pluck\" style\n * callback will return the property value of the given element.\n *\n * If an object is provided for `callback` the created \"_.where\" style callback\n * will return `true` for elements that have the properties of the given object,\n * else `false`.\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {Object} object The object to iterate over.\n * @param {Function|Object|string} [callback=identity] The function called\n * per iteration. If a property name or object is provided it will be used\n * to create a \"_.pluck\" or \"_.where\" style callback, respectively.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Array} Returns a new object with values of the results of each `callback` execution.\n * @example\n *\n * _.mapValues({ 'a': 1, 'b': 2, 'c': 3} , function(num) { return num * 3; });\n * // => { 'a': 3, 'b': 6, 'c': 9 }\n *\n * var characters = {\n * 'fred': { 'name': 'fred', 'age': 40 },\n * 'pebbles': { 'name': 'pebbles', 'age': 1 }\n * };\n *\n * // using \"_.pluck\" callback shorthand\n * _.mapValues(characters, 'age');\n * // => { 'fred': 40, 'pebbles': 1 }\n */\nfunction mapValues(object, callback, thisArg) {\n var result = {};\n callback = createCallback(callback, thisArg, 3);\n\n forOwn(object, function(value, key, object) {\n result[key] = callback(value, key, object);\n });\n return result;\n}\n\nmodule.exports = mapValues;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreateCallback = require('../internals/baseCreateCallback'),\n keys = require('./keys'),\n objectTypes = require('../internals/objectTypes');\n\n/**\n * Iterates over own enumerable properties of an object, executing the callback\n * for each property. The callback is bound to `thisArg` and invoked with three\n * arguments; (value, key, object). Callbacks may exit iteration early by\n * explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @type Function\n * @category Objects\n * @param {Object} object The object to iterate over.\n * @param {Function} [callback=identity] The function called per iteration.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Object} Returns `object`.\n * @example\n *\n * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) {\n * console.log(key);\n * });\n * // => logs '0', '1', and 'length' (property order is not guaranteed across environments)\n */\nvar forOwn = function(collection, callback, thisArg) {\n var index, iterable = collection, result = iterable;\n if (!iterable) return result;\n if (!objectTypes[typeof iterable]) return result;\n callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n if (callback(iterable[index], index, collection) === false) return result;\n }\n return result\n};\n\nmodule.exports = forOwn;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar isNative = require('../internals/isNative'),\n isObject = require('./isObject'),\n shimKeys = require('../internals/shimKeys');\n\n/* Native method shortcuts for methods with the same name as other `lodash` methods */\nvar nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys;\n\n/**\n * Creates an array composed of the own enumerable property names of an object.\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns an array of property names.\n * @example\n *\n * _.keys({ 'one': 1, 'two': 2, 'three': 3 });\n * // => ['one', 'two', 'three'] (property order is not guaranteed across environments)\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n if (!isObject(object)) {\n return [];\n }\n return nativeKeys(object);\n};\n\nmodule.exports = keys;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar createCallback = require('../functions/createCallback'),\n forOwn = require('./forOwn');\n\n/**\n * This method is like `_.findIndex` except that it returns the key of the\n * first element that passes the callback check, instead of the element itself.\n *\n * If a property name is provided for `callback` the created \"_.pluck\" style\n * callback will return the property value of the given element.\n *\n * If an object is provided for `callback` the created \"_.where\" style callback\n * will return `true` for elements that have the properties of the given object,\n * else `false`.\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {Object} object The object to search.\n * @param {Function|Object|string} [callback=identity] The function called per\n * iteration. If a property name or object is provided it will be used to\n * create a \"_.pluck\" or \"_.where\" style callback, respectively.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {string|undefined} Returns the key of the found element, else `undefined`.\n * @example\n *\n * var characters = {\n * 'barney': { 'age': 36, 'blocked': false },\n * 'fred': { 'age': 40, 'blocked': true },\n * 'pebbles': { 'age': 1, 'blocked': false }\n * };\n *\n * _.findKey(characters, function(chr) {\n * return chr.age < 40;\n * });\n * // => 'barney' (property order is not guaranteed across environments)\n *\n * // using \"_.where\" callback shorthand\n * _.findKey(characters, { 'age': 1 });\n * // => 'pebbles'\n *\n * // using \"_.pluck\" callback shorthand\n * _.findKey(characters, 'blocked');\n * // => 'fred'\n */\nfunction findKey(object, callback, thisArg) {\n var result;\n callback = createCallback(callback, thisArg, 3);\n forOwn(object, function(value, key, object) {\n if (callback(value, key, object)) {\n result = key;\n return false;\n }\n });\n return result;\n}\n\nmodule.exports = findKey;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseIndexOf = require('../internals/baseIndexOf'),\n cacheIndexOf = require('../internals/cacheIndexOf'),\n createCache = require('../internals/createCache'),\n getArray = require('../internals/getArray'),\n isArguments = require('../objects/isArguments'),\n isArray = require('../objects/isArray'),\n largeArraySize = require('../internals/largeArraySize'),\n releaseArray = require('../internals/releaseArray'),\n releaseObject = require('../internals/releaseObject');\n\n/**\n * Creates an array of unique values present in all provided arrays using\n * strict equality for comparisons, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @category Arrays\n * @param {...Array} [array] The arrays to inspect.\n * @returns {Array} Returns an array of shared values.\n * @example\n *\n * _.intersection([1, 2, 3], [5, 2, 1, 4], [2, 1]);\n * // => [1, 2]\n */\nfunction intersection() {\n var args = [],\n argsIndex = -1,\n argsLength = arguments.length,\n caches = getArray(),\n indexOf = baseIndexOf,\n trustIndexOf = indexOf === baseIndexOf,\n seen = getArray();\n\n while (++argsIndex < argsLength) {\n var value = arguments[argsIndex];\n if (isArray(value) || isArguments(value)) {\n args.push(value);\n caches.push(trustIndexOf && value.length >= largeArraySize &&\n createCache(argsIndex ? args[argsIndex] : seen));\n }\n }\n var array = args[0],\n index = -1,\n length = array ? array.length : 0,\n result = [];\n\n outer:\n while (++index < length) {\n var cache = caches[0];\n value = array[index];\n\n if ((cache ? cacheIndexOf(cache, value) : indexOf(seen, value)) < 0) {\n argsIndex = argsLength;\n (cache || seen).push(value);\n while (--argsIndex) {\n cache = caches[argsIndex];\n if ((cache ? cacheIndexOf(cache, value) : indexOf(args[argsIndex], value)) < 0) {\n continue outer;\n }\n }\n result.push(value);\n }\n }\n while (argsLength--) {\n cache = caches[argsLength];\n if (cache) {\n releaseObject(cache);\n }\n }\n releaseArray(caches);\n releaseArray(seen);\n return result;\n}\n\nmodule.exports = intersection;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseUniq = require('../internals/baseUniq'),\n createCallback = require('../functions/createCallback');\n\n/**\n * Creates a duplicate-value-free version of an array using strict equality\n * for comparisons, i.e. `===`. If the array is sorted, providing\n * `true` for `isSorted` will use a faster algorithm. If a callback is provided\n * each element of `array` is passed through the callback before uniqueness\n * is computed. The callback is bound to `thisArg` and invoked with three\n * arguments; (value, index, array).\n *\n * If a property name is provided for `callback` the created \"_.pluck\" style\n * callback will return the property value of the given element.\n *\n * If an object is provided for `callback` the created \"_.where\" style callback\n * will return `true` for elements that have the properties of the given object,\n * else `false`.\n *\n * @static\n * @memberOf _\n * @alias unique\n * @category Arrays\n * @param {Array} array The array to process.\n * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.\n * @param {Function|Object|string} [callback=identity] The function called\n * per iteration. If a property name or object is provided it will be used\n * to create a \"_.pluck\" or \"_.where\" style callback, respectively.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Array} Returns a duplicate-value-free array.\n * @example\n *\n * _.uniq([1, 2, 1, 3, 1]);\n * // => [1, 2, 3]\n *\n * _.uniq([1, 1, 2, 2, 3], true);\n * // => [1, 2, 3]\n *\n * _.uniq(['A', 'b', 'C', 'a', 'B', 'c'], function(letter) { return letter.toLowerCase(); });\n * // => ['A', 'b', 'C']\n *\n * _.uniq([1, 2.5, 3, 1.5, 2, 3.5], function(num) { return this.floor(num); }, Math);\n * // => [1, 2.5, 3]\n *\n * // using \"_.pluck\" callback shorthand\n * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniq(array, isSorted, callback, thisArg) {\n // juggle arguments\n if (typeof isSorted != 'boolean' && isSorted != null) {\n thisArg = callback;\n callback = (typeof isSorted != 'function' && thisArg && thisArg[isSorted] === array) ? null : isSorted;\n isSorted = false;\n }\n if (callback != null) {\n callback = createCallback(callback, thisArg, 3);\n }\n return baseUniq(array, isSorted, callback);\n}\n\nmodule.exports = uniq;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar createCallback = require('../functions/createCallback'),\n forOwn = require('../objects/forOwn');\n\n/**\n * Creates an array of values by running each element in the collection\n * through the callback. The callback is bound to `thisArg` and invoked with\n * three arguments; (value, index|key, collection).\n *\n * If a property name is provided for `callback` the created \"_.pluck\" style\n * callback will return the property value of the given element.\n *\n * If an object is provided for `callback` the created \"_.where\" style callback\n * will return `true` for elements that have the properties of the given object,\n * else `false`.\n *\n * @static\n * @memberOf _\n * @alias collect\n * @category Collections\n * @param {Array|Object|string} collection The collection to iterate over.\n * @param {Function|Object|string} [callback=identity] The function called\n * per iteration. If a property name or object is provided it will be used\n * to create a \"_.pluck\" or \"_.where\" style callback, respectively.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Array} Returns a new array of the results of each `callback` execution.\n * @example\n *\n * _.map([1, 2, 3], function(num) { return num * 3; });\n * // => [3, 6, 9]\n *\n * _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; });\n * // => [3, 6, 9] (property order is not guaranteed across environments)\n *\n * var characters = [\n * { 'name': 'barney', 'age': 36 },\n * { 'name': 'fred', 'age': 40 }\n * ];\n *\n * // using \"_.pluck\" callback shorthand\n * _.map(characters, 'name');\n * // => ['barney', 'fred']\n */\nfunction map(collection, callback, thisArg) {\n var index = -1,\n length = collection ? collection.length : 0;\n\n callback = createCallback(callback, thisArg, 3);\n if (typeof length == 'number') {\n var result = Array(length);\n while (++index < length) {\n result[index] = callback(collection[index], index, collection);\n }\n } else {\n result = [];\n forOwn(collection, function(value, key, collection) {\n result[++index] = callback(value, key, collection);\n });\n }\n return result;\n}\n\nmodule.exports = map;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreateCallback = require('../internals/baseCreateCallback'),\n forOwn = require('../objects/forOwn');\n\n/**\n * Iterates over elements of a collection, executing the callback for each\n * element. The callback is bound to `thisArg` and invoked with three arguments;\n * (value, index|key, collection). Callbacks may exit iteration early by\n * explicitly returning `false`.\n *\n * Note: As with other \"Collections\" methods, objects with a `length` property\n * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn`\n * may be used for object iteration.\n *\n * @static\n * @memberOf _\n * @alias each\n * @category Collections\n * @param {Array|Object|string} collection The collection to iterate over.\n * @param {Function} [callback=identity] The function called per iteration.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Array|Object|string} Returns `collection`.\n * @example\n *\n * _([1, 2, 3]).forEach(function(num) { console.log(num); }).join(',');\n * // => logs each number and returns '1,2,3'\n *\n * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { console.log(num); });\n * // => logs each number and returns the object (property order is not guaranteed across environments)\n */\nfunction forEach(collection, callback, thisArg) {\n var index = -1,\n length = collection ? collection.length : 0;\n\n callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);\n if (typeof length == 'number') {\n while (++index < length) {\n if (callback(collection[index], index, collection) === false) {\n break;\n }\n }\n } else {\n forOwn(collection, callback);\n }\n return collection;\n}\n\nmodule.exports = forEach;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar keys = require('../objects/keys');\n\n/**\n * Gets the size of the `collection` by returning `collection.length` for arrays\n * and array-like objects or the number of own enumerable properties for objects.\n *\n * @static\n * @memberOf _\n * @category Collections\n * @param {Array|Object|string} collection The collection to inspect.\n * @returns {number} Returns `collection.length` or number of own enumerable properties.\n * @example\n *\n * _.size([1, 2]);\n * // => 2\n *\n * _.size({ 'one': 1, 'two': 2, 'three': 3 });\n * // => 3\n *\n * _.size('pebbles');\n * // => 7\n */\nfunction size(collection) {\n var length = collection ? collection.length : 0;\n return typeof length == 'number' ? length : keys(collection).length;\n}\n\nmodule.exports = size;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nfunction EventEmitter() {\n this._events = this._events || {};\n this._maxListeners = this._maxListeners || undefined;\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nEventEmitter.defaultMaxListeners = 10;\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function(n) {\n if (!isNumber(n) || n < 0 || isNaN(n))\n throw TypeError('n must be a positive number');\n this._maxListeners = n;\n return this;\n};\n\nEventEmitter.prototype.emit = function(type) {\n var er, handler, len, args, i, listeners;\n\n if (!this._events)\n this._events = {};\n\n // If there is no 'error' event listener then throw.\n if (type === 'error') {\n if (!this._events.error ||\n (isObject(this._events.error) && !this._events.error.length)) {\n er = arguments[1];\n if (er instanceof Error) {\n throw er; // Unhandled 'error' event\n } else {\n throw TypeError('Uncaught, unspecified \"error\" event.');\n }\n return false;\n }\n }\n\n handler = this._events[type];\n\n if (isUndefined(handler))\n return false;\n\n if (isFunction(handler)) {\n switch (arguments.length) {\n // fast cases\n case 1:\n handler.call(this);\n break;\n case 2:\n handler.call(this, arguments[1]);\n break;\n case 3:\n handler.call(this, arguments[1], arguments[2]);\n break;\n // slower\n default:\n len = arguments.length;\n args = new Array(len - 1);\n for (i = 1; i < len; i++)\n args[i - 1] = arguments[i];\n handler.apply(this, args);\n }\n } else if (isObject(handler)) {\n len = arguments.length;\n args = new Array(len - 1);\n for (i = 1; i < len; i++)\n args[i - 1] = arguments[i];\n\n listeners = handler.slice();\n len = listeners.length;\n for (i = 0; i < len; i++)\n listeners[i].apply(this, args);\n }\n\n return true;\n};\n\nEventEmitter.prototype.addListener = function(type, listener) {\n var m;\n\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n if (!this._events)\n this._events = {};\n\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (this._events.newListener)\n this.emit('newListener', type,\n isFunction(listener.listener) ?\n listener.listener : listener);\n\n if (!this._events[type])\n // Optimize the case of one listener. Don't need the extra array object.\n this._events[type] = listener;\n else if (isObject(this._events[type]))\n // If we've already got an array, just append.\n this._events[type].push(listener);\n else\n // Adding the second element, need to change to array.\n this._events[type] = [this._events[type], listener];\n\n // Check for listener leak\n if (isObject(this._events[type]) && !this._events[type].warned) {\n var m;\n if (!isUndefined(this._maxListeners)) {\n m = this._maxListeners;\n } else {\n m = EventEmitter.defaultMaxListeners;\n }\n\n if (m && m > 0 && this._events[type].length > m) {\n this._events[type].warned = true;\n console.error('(node) warning: possible EventEmitter memory ' +\n 'leak detected. %d listeners added. ' +\n 'Use emitter.setMaxListeners() to increase limit.',\n this._events[type].length);\n if (typeof console.trace === 'function') {\n // not supported in IE 10\n console.trace();\n }\n }\n }\n\n return this;\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.once = function(type, listener) {\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n var fired = false;\n\n function g() {\n this.removeListener(type, g);\n\n if (!fired) {\n fired = true;\n listener.apply(this, arguments);\n }\n }\n\n g.listener = listener;\n this.on(type, g);\n\n return this;\n};\n\n// emits a 'removeListener' event iff the listener was removed\nEventEmitter.prototype.removeListener = function(type, listener) {\n var list, position, length, i;\n\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n if (!this._events || !this._events[type])\n return this;\n\n list = this._events[type];\n length = list.length;\n position = -1;\n\n if (list === listener ||\n (isFunction(list.listener) && list.listener === listener)) {\n delete this._events[type];\n if (this._events.removeListener)\n this.emit('removeListener', type, listener);\n\n } else if (isObject(list)) {\n for (i = length; i-- > 0;) {\n if (list[i] === listener ||\n (list[i].listener && list[i].listener === listener)) {\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (list.length === 1) {\n list.length = 0;\n delete this._events[type];\n } else {\n list.splice(position, 1);\n }\n\n if (this._events.removeListener)\n this.emit('removeListener', type, listener);\n }\n\n return this;\n};\n\nEventEmitter.prototype.removeAllListeners = function(type) {\n var key, listeners;\n\n if (!this._events)\n return this;\n\n // not listening for removeListener, no need to emit\n if (!this._events.removeListener) {\n if (arguments.length === 0)\n this._events = {};\n else if (this._events[type])\n delete this._events[type];\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n for (key in this._events) {\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = {};\n return this;\n }\n\n listeners = this._events[type];\n\n if (isFunction(listeners)) {\n this.removeListener(type, listeners);\n } else {\n // LIFO order\n while (listeners.length)\n this.removeListener(type, listeners[listeners.length - 1]);\n }\n delete this._events[type];\n\n return this;\n};\n\nEventEmitter.prototype.listeners = function(type) {\n var ret;\n if (!this._events || !this._events[type])\n ret = [];\n else if (isFunction(this._events[type]))\n ret = [this._events[type]];\n else\n ret = this._events[type].slice();\n return ret;\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n var ret;\n if (!emitter._events || !emitter._events[type])\n ret = 0;\n else if (isFunction(emitter._events[type]))\n ret = 1;\n else\n ret = emitter._events[type].length;\n return ret;\n};\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar objectTypes = require('../internals/objectTypes');\n\n/**\n * Checks if `value` is the language type of Object.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if the `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // check if the value is the ECMAScript language type of Object\n // http://es5.github.io/#x8\n // and avoid a V8 bug\n // http://code.google.com/p/v8/issues/detail?id=2291\n return !!(value && objectTypes[typeof value]);\n}\n\nmodule.exports = isObject;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** `Object#toString` result shortcuts */\nvar argsClass = '[object Arguments]';\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the internal [[Class]] of values */\nvar toString = objectProto.toString;\n\n/**\n * Checks if `value` is an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if the `value` is an `arguments` object, else `false`.\n * @example\n *\n * (function() { return _.isArguments(arguments); })(1, 2, 3);\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return value && typeof value == 'object' && typeof value.length == 'number' &&\n toString.call(value) == argsClass || false;\n}\n\nmodule.exports = isArguments;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar isNative = require('../internals/isNative');\n\n/** `Object#toString` result shortcuts */\nvar arrayClass = '[object Array]';\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the internal [[Class]] of values */\nvar toString = objectProto.toString;\n\n/* Native method shortcuts for methods with the same name as other `lodash` methods */\nvar nativeIsArray = isNative(nativeIsArray = Array.isArray) && nativeIsArray;\n\n/**\n * Checks if `value` is an array.\n *\n * @static\n * @memberOf _\n * @type Function\n * @category Objects\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if the `value` is an array, else `false`.\n * @example\n *\n * (function() { return _.isArray(arguments); })();\n * // => false\n *\n * _.isArray([1, 2, 3]);\n * // => true\n */\nvar isArray = nativeIsArray || function(value) {\n return value && typeof value == 'object' && typeof value.length == 'number' &&\n toString.call(value) == arrayClass || false;\n};\n\nmodule.exports = isArray;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar assign = require('../objects/assign'),\n forEach = require('../collections/forEach'),\n forOwn = require('../objects/forOwn'),\n getArray = require('./getArray'),\n isArray = require('../objects/isArray'),\n isObject = require('../objects/isObject'),\n releaseArray = require('./releaseArray'),\n slice = require('./slice');\n\n/** Used to match regexp flags from their coerced string values */\nvar reFlags = /\\w*$/;\n\n/** `Object#toString` result shortcuts */\nvar argsClass = '[object Arguments]',\n arrayClass = '[object Array]',\n boolClass = '[object Boolean]',\n dateClass = '[object Date]',\n funcClass = '[object Function]',\n numberClass = '[object Number]',\n objectClass = '[object Object]',\n regexpClass = '[object RegExp]',\n stringClass = '[object String]';\n\n/** Used to identify object classifications that `_.clone` supports */\nvar cloneableClasses = {};\ncloneableClasses[funcClass] = false;\ncloneableClasses[argsClass] = cloneableClasses[arrayClass] =\ncloneableClasses[boolClass] = cloneableClasses[dateClass] =\ncloneableClasses[numberClass] = cloneableClasses[objectClass] =\ncloneableClasses[regexpClass] = cloneableClasses[stringClass] = true;\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the internal [[Class]] of values */\nvar toString = objectProto.toString;\n\n/** Native method shortcuts */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to lookup a built-in constructor by [[Class]] */\nvar ctorByClass = {};\nctorByClass[arrayClass] = Array;\nctorByClass[boolClass] = Boolean;\nctorByClass[dateClass] = Date;\nctorByClass[funcClass] = Function;\nctorByClass[objectClass] = Object;\nctorByClass[numberClass] = Number;\nctorByClass[regexpClass] = RegExp;\nctorByClass[stringClass] = String;\n\n/**\n * The base implementation of `_.clone` without argument juggling or support\n * for `thisArg` binding.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep=false] Specify a deep clone.\n * @param {Function} [callback] The function to customize cloning values.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, callback, stackA, stackB) {\n if (callback) {\n var result = callback(value);\n if (typeof result != 'undefined') {\n return result;\n }\n }\n // inspect [[Class]]\n var isObj = isObject(value);\n if (isObj) {\n var className = toString.call(value);\n if (!cloneableClasses[className]) {\n return value;\n }\n var ctor = ctorByClass[className];\n switch (className) {\n case boolClass:\n case dateClass:\n return new ctor(+value);\n\n case numberClass:\n case stringClass:\n return new ctor(value);\n\n case regexpClass:\n result = ctor(value.source, reFlags.exec(value));\n result.lastIndex = value.lastIndex;\n return result;\n }\n } else {\n return value;\n }\n var isArr = isArray(value);\n if (isDeep) {\n // check for circular references and return corresponding clone\n var initedStack = !stackA;\n stackA || (stackA = getArray());\n stackB || (stackB = getArray());\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n result = isArr ? ctor(value.length) : {};\n }\n else {\n result = isArr ? slice(value) : assign({}, value);\n }\n // add array properties assigned by `RegExp#exec`\n if (isArr) {\n if (hasOwnProperty.call(value, 'index')) {\n result.index = value.index;\n }\n if (hasOwnProperty.call(value, 'input')) {\n result.input = value.input;\n }\n }\n // exit for shallow clone\n if (!isDeep) {\n return result;\n }\n // add the source value to the stack of traversed objects\n // and associate it with its clone\n stackA.push(value);\n stackB.push(result);\n\n // recursively populate clone (susceptible to call stack limits)\n (isArr ? forEach : forOwn)(value, function(objValue, key) {\n result[key] = baseClone(objValue, isDeep, callback, stackA, stackB);\n });\n\n if (initedStack) {\n releaseArray(stackA);\n releaseArray(stackB);\n }\n return result;\n}\n\nmodule.exports = baseClone;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar bind = require('../functions/bind'),\n identity = require('../utilities/identity'),\n setBindData = require('./setBindData'),\n support = require('../support');\n\n/** Used to detected named functions */\nvar reFuncName = /^\\s*function[ \\n\\r\\t]+\\w/;\n\n/** Used to detect functions containing a `this` reference */\nvar reThis = /\\bthis\\b/;\n\n/** Native method shortcuts */\nvar fnToString = Function.prototype.toString;\n\n/**\n * The base implementation of `_.createCallback` without support for creating\n * \"_.pluck\" or \"_.where\" style callbacks.\n *\n * @private\n * @param {*} [func=identity] The value to convert to a callback.\n * @param {*} [thisArg] The `this` binding of the created callback.\n * @param {number} [argCount] The number of arguments the callback accepts.\n * @returns {Function} Returns a callback function.\n */\nfunction baseCreateCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n // exit early for no `thisArg` or already bound by `Function#bind`\n if (typeof thisArg == 'undefined' || !('prototype' in func)) {\n return func;\n }\n var bindData = func.__bindData__;\n if (typeof bindData == 'undefined') {\n if (support.funcNames) {\n bindData = !func.name;\n }\n bindData = bindData || !support.funcDecomp;\n if (!bindData) {\n var source = fnToString.call(func);\n if (!support.funcNames) {\n bindData = !reFuncName.test(source);\n }\n if (!bindData) {\n // checks if `func` references the `this` keyword and stores the result\n bindData = reThis.test(source);\n setBindData(func, bindData);\n }\n }\n }\n // exit early if there are no `this` references or `func` is bound\n if (bindData === false || (bindData !== true && bindData[1] & 1)) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 2: return function(a, b) {\n return func.call(thisArg, a, b);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n }\n return bind(func, thisArg);\n}\n\nmodule.exports = baseCreateCallback;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used to determine if values are of the language type Object */\nvar objectTypes = {\n 'boolean': false,\n 'function': true,\n 'object': true,\n 'number': false,\n 'string': false,\n 'undefined': false\n};\n\nmodule.exports = objectTypes;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the internal [[Class]] of values */\nvar toString = objectProto.toString;\n\n/** Used to detect if a method is native */\nvar reNative = RegExp('^' +\n String(toString)\n .replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n .replace(/toString| for [^\\]]+/g, '.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if the `value` is a native function, else `false`.\n */\nfunction isNative(value) {\n return typeof value == 'function' && reNative.test(value);\n}\n\nmodule.exports = isNative;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar objectTypes = require('./objectTypes');\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Native method shortcuts */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which produces an array of the\n * given object's own enumerable property names.\n *\n * @private\n * @type Function\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns an array of property names.\n */\nvar shimKeys = function(object) {\n var index, iterable = object, result = [];\n if (!iterable) return result;\n if (!(objectTypes[typeof object])) return result;\n for (index in iterable) {\n if (hasOwnProperty.call(iterable, index)) {\n result.push(index);\n }\n }\n return result\n};\n\nmodule.exports = shimKeys;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/**\n * The base implementation of `_.indexOf` without support for binary searches\n * or `fromIndex` constraints.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the matched value or `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n var index = (fromIndex || 0) - 1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseIndexOf;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseIndexOf = require('./baseIndexOf'),\n keyPrefix = require('./keyPrefix');\n\n/**\n * An implementation of `_.contains` for cache objects that mimics the return\n * signature of `_.indexOf` by returning `0` if the value is found, else `-1`.\n *\n * @private\n * @param {Object} cache The cache object to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns `0` if `value` is found, else `-1`.\n */\nfunction cacheIndexOf(cache, value) {\n var type = typeof value;\n cache = cache.cache;\n\n if (type == 'boolean' || value == null) {\n return cache[value] ? 0 : -1;\n }\n if (type != 'number' && type != 'string') {\n type = 'object';\n }\n var key = type == 'number' ? value : keyPrefix + value;\n cache = (cache = cache[type]) && cache[key];\n\n return type == 'object'\n ? (cache && baseIndexOf(cache, value) > -1 ? 0 : -1)\n : (cache ? 0 : -1);\n}\n\nmodule.exports = cacheIndexOf;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar cachePush = require('./cachePush'),\n getObject = require('./getObject'),\n releaseObject = require('./releaseObject');\n\n/**\n * Creates a cache object to optimize linear searches of large arrays.\n *\n * @private\n * @param {Array} [array=[]] The array to search.\n * @returns {null|Object} Returns the cache object or `null` if caching should not be used.\n */\nfunction createCache(array) {\n var index = -1,\n length = array.length,\n first = array[0],\n mid = array[(length / 2) | 0],\n last = array[length - 1];\n\n if (first && typeof first == 'object' &&\n mid && typeof mid == 'object' && last && typeof last == 'object') {\n return false;\n }\n var cache = getObject();\n cache['false'] = cache['null'] = cache['true'] = cache['undefined'] = false;\n\n var result = getObject();\n result.array = array;\n result.cache = cache;\n result.push = cachePush;\n\n while (++index < length) {\n result.push(array[index]);\n }\n return result;\n}\n\nmodule.exports = createCache;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar arrayPool = require('./arrayPool');\n\n/**\n * Gets an array from the array pool or creates a new one if the pool is empty.\n *\n * @private\n * @returns {Array} The array from the pool.\n */\nfunction getArray() {\n return arrayPool.pop() || [];\n}\n\nmodule.exports = getArray;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used as the size when optimizations are enabled for large arrays */\nvar largeArraySize = 75;\n\nmodule.exports = largeArraySize;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar arrayPool = require('./arrayPool'),\n maxPoolSize = require('./maxPoolSize');\n\n/**\n * Releases the given array back to the array pool.\n *\n * @private\n * @param {Array} [array] The array to release.\n */\nfunction releaseArray(array) {\n array.length = 0;\n if (arrayPool.length < maxPoolSize) {\n arrayPool.push(array);\n }\n}\n\nmodule.exports = releaseArray;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar maxPoolSize = require('./maxPoolSize'),\n objectPool = require('./objectPool');\n\n/**\n * Releases the given object back to the object pool.\n *\n * @private\n * @param {Object} [object] The object to release.\n */\nfunction releaseObject(object) {\n var cache = object.cache;\n if (cache) {\n releaseObject(cache);\n }\n object.array = object.cache = object.criteria = object.object = object.number = object.string = object.value = null;\n if (objectPool.length < maxPoolSize) {\n objectPool.push(object);\n }\n}\n\nmodule.exports = releaseObject;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseIndexOf = require('./baseIndexOf'),\n cacheIndexOf = require('./cacheIndexOf'),\n createCache = require('./createCache'),\n getArray = require('./getArray'),\n largeArraySize = require('./largeArraySize'),\n releaseArray = require('./releaseArray'),\n releaseObject = require('./releaseObject');\n\n/**\n * The base implementation of `_.uniq` without support for callback shorthands\n * or `thisArg` binding.\n *\n * @private\n * @param {Array} array The array to process.\n * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.\n * @param {Function} [callback] The function called per iteration.\n * @returns {Array} Returns a duplicate-value-free array.\n */\nfunction baseUniq(array, isSorted, callback) {\n var index = -1,\n indexOf = baseIndexOf,\n length = array ? array.length : 0,\n result = [];\n\n var isLarge = !isSorted && length >= largeArraySize,\n seen = (callback || isLarge) ? getArray() : result;\n\n if (isLarge) {\n var cache = createCache(seen);\n indexOf = cacheIndexOf;\n seen = cache;\n }\n while (++index < length) {\n var value = array[index],\n computed = callback ? callback(value, index, array) : value;\n\n if (isSorted\n ? !index || seen[seen.length - 1] !== computed\n : indexOf(seen, computed) < 0\n ) {\n if (callback || isLarge) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n if (isLarge) {\n releaseArray(seen.array);\n releaseObject(seen);\n } else if (callback) {\n releaseArray(seen);\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreateCallback = require('../internals/baseCreateCallback'),\n baseIsEqual = require('../internals/baseIsEqual'),\n isObject = require('../objects/isObject'),\n keys = require('../objects/keys'),\n property = require('../utilities/property');\n\n/**\n * Produces a callback bound to an optional `thisArg`. If `func` is a property\n * name the created callback will return the property value for a given element.\n * If `func` is an object the created callback will return `true` for elements\n * that contain the equivalent object properties, otherwise it will return `false`.\n *\n * @static\n * @memberOf _\n * @category Utilities\n * @param {*} [func=identity] The value to convert to a callback.\n * @param {*} [thisArg] The `this` binding of the created callback.\n * @param {number} [argCount] The number of arguments the callback accepts.\n * @returns {Function} Returns a callback function.\n * @example\n *\n * var characters = [\n * { 'name': 'barney', 'age': 36 },\n * { 'name': 'fred', 'age': 40 }\n * ];\n *\n * // wrap to create custom callback shorthands\n * _.createCallback = _.wrap(_.createCallback, function(func, callback, thisArg) {\n * var match = /^(.+?)__([gl]t)(.+)$/.exec(callback);\n * return !match ? func(callback, thisArg) : function(object) {\n * return match[2] == 'gt' ? object[match[1]] > match[3] : object[match[1]] < match[3];\n * };\n * });\n *\n * _.filter(characters, 'age__gt38');\n * // => [{ 'name': 'fred', 'age': 40 }]\n */\nfunction createCallback(func, thisArg, argCount) {\n var type = typeof func;\n if (func == null || type == 'function') {\n return baseCreateCallback(func, thisArg, argCount);\n }\n // handle \"_.pluck\" style callback shorthands\n if (type != 'object') {\n return property(func);\n }\n var props = keys(func),\n key = props[0],\n a = func[key];\n\n // handle \"_.where\" style callback shorthands\n if (props.length == 1 && a === a && !isObject(a)) {\n // fast path the common case of providing an object with a single\n // property containing a primitive value\n return function(object) {\n var b = object[key];\n return a === b && (a !== 0 || (1 / a == 1 / b));\n };\n }\n return function(object) {\n var length = props.length,\n result = false;\n\n while (length--) {\n if (!(result = baseIsEqual(object[props[length]], func[props[length]], null, true))) {\n break;\n }\n }\n return result;\n };\n}\n\nmodule.exports = createCallback;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreateCallback = require('../internals/baseCreateCallback'),\n keys = require('./keys'),\n objectTypes = require('../internals/objectTypes');\n\n/**\n * Assigns own enumerable properties of source object(s) to the destination\n * object. Subsequent sources will overwrite property assignments of previous\n * sources. If a callback is provided it will be executed to produce the\n * assigned values. The callback is bound to `thisArg` and invoked with two\n * arguments; (objectValue, sourceValue).\n *\n * @static\n * @memberOf _\n * @type Function\n * @alias extend\n * @category Objects\n * @param {Object} object The destination object.\n * @param {...Object} [source] The source objects.\n * @param {Function} [callback] The function to customize assigning values.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Object} Returns the destination object.\n * @example\n *\n * _.assign({ 'name': 'fred' }, { 'employer': 'slate' });\n * // => { 'name': 'fred', 'employer': 'slate' }\n *\n * var defaults = _.partialRight(_.assign, function(a, b) {\n * return typeof a == 'undefined' ? b : a;\n * });\n *\n * var object = { 'name': 'barney' };\n * defaults(object, { 'name': 'fred', 'employer': 'slate' });\n * // => { 'name': 'barney', 'employer': 'slate' }\n */\nvar assign = function(object, source, guard) {\n var index, iterable = object, result = iterable;\n if (!iterable) return result;\n var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\n if (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n } else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n }\n while (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n result[index] = callback ? callback(result[index], iterable[index]) : iterable[index];\n }\n }\n }\n return result\n};\n\nmodule.exports = assign;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/**\n * Slices the `collection` from the `start` index up to, but not including,\n * the `end` index.\n *\n * Note: This function is used instead of `Array#slice` to support node lists\n * in IE < 9 and to ensure dense arrays are returned.\n *\n * @private\n * @param {Array|Object|string} collection The collection to slice.\n * @param {number} start The start index.\n * @param {number} end The end index.\n * @returns {Array} Returns the new array.\n */\nfunction slice(array, start, end) {\n start || (start = 0);\n if (typeof end == 'undefined') {\n end = array ? array.length : 0;\n }\n var index = -1,\n length = end - start || 0,\n result = Array(length < 0 ? 0 : length);\n\n while (++index < length) {\n result[index] = array[start + index];\n }\n return result;\n}\n\nmodule.exports = slice;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar createWrapper = require('../internals/createWrapper'),\n slice = require('../internals/slice');\n\n/**\n * Creates a function that, when called, invokes `func` with the `this`\n * binding of `thisArg` and prepends any additional `bind` arguments to those\n * provided to the bound function.\n *\n * @static\n * @memberOf _\n * @category Functions\n * @param {Function} func The function to bind.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {...*} [arg] Arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * var func = function(greeting) {\n * return greeting + ' ' + this.name;\n * };\n *\n * func = _.bind(func, { 'name': 'fred' }, 'hi');\n * func();\n * // => 'hi fred'\n */\nfunction bind(func, thisArg) {\n return arguments.length > 2\n ? createWrapper(func, 17, slice(arguments, 2), null, thisArg)\n : createWrapper(func, 1, null, null, thisArg);\n}\n\nmodule.exports = bind;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar isNative = require('./isNative'),\n noop = require('../utilities/noop');\n\n/** Used as the property descriptor for `__bindData__` */\nvar descriptor = {\n 'configurable': false,\n 'enumerable': false,\n 'value': null,\n 'writable': false\n};\n\n/** Used to set meta data on functions */\nvar defineProperty = (function() {\n // IE 8 only accepts DOM elements\n try {\n var o = {},\n func = isNative(func = Object.defineProperty) && func,\n result = func(o, o, o) && func;\n } catch(e) { }\n return result;\n}());\n\n/**\n * Sets `this` binding data on a given function.\n *\n * @private\n * @param {Function} func The function to set data on.\n * @param {Array} value The data array to set.\n */\nvar setBindData = !defineProperty ? noop : function(func, value) {\n descriptor.value = value;\n defineProperty(func, '__bindData__', descriptor);\n};\n\nmodule.exports = setBindData;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar isNative = require('./internals/isNative');\n\n/** Used to detect functions containing a `this` reference */\nvar reThis = /\\bthis\\b/;\n\n/**\n * An object used to flag environments features.\n *\n * @static\n * @memberOf _\n * @type Object\n */\nvar support = {};\n\n/**\n * Detect if functions can be decompiled by `Function#toString`\n * (all but PS3 and older Opera mobile browsers & avoided in Windows 8 apps).\n *\n * @memberOf _.support\n * @type boolean\n */\nsupport.funcDecomp = !isNative(global.WinRTError) && reThis.test(function() { return this; });\n\n/**\n * Detect if `Function#name` is supported (all but IE).\n *\n * @memberOf _.support\n * @type boolean\n */\nsupport.funcNames = typeof Function.name == 'string';\n\nmodule.exports = support;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used to prefix keys to avoid issues with `__proto__` and properties on `Object.prototype` */\nvar keyPrefix = +new Date + '';\n\nmodule.exports = keyPrefix;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar keyPrefix = require('./keyPrefix');\n\n/**\n * Adds a given value to the corresponding cache object.\n *\n * @private\n * @param {*} value The value to add to the cache.\n */\nfunction cachePush(value) {\n var cache = this.cache,\n type = typeof value;\n\n if (type == 'boolean' || value == null) {\n cache[value] = true;\n } else {\n if (type != 'number' && type != 'string') {\n type = 'object';\n }\n var key = type == 'number' ? value : keyPrefix + value,\n typeCache = cache[type] || (cache[type] = {});\n\n if (type == 'object') {\n (typeCache[key] || (typeCache[key] = [])).push(value);\n } else {\n typeCache[key] = true;\n }\n }\n}\n\nmodule.exports = cachePush;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar objectPool = require('./objectPool');\n\n/**\n * Gets an object from the object pool or creates a new one if the pool is empty.\n *\n * @private\n * @returns {Object} The object from the pool.\n */\nfunction getObject() {\n return objectPool.pop() || {\n 'array': null,\n 'cache': null,\n 'criteria': null,\n 'false': false,\n 'index': 0,\n 'null': false,\n 'number': null,\n 'object': null,\n 'push': null,\n 'string': null,\n 'true': false,\n 'undefined': false,\n 'value': null\n };\n}\n\nmodule.exports = getObject;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used to pool arrays and objects used internally */\nvar arrayPool = [];\n\nmodule.exports = arrayPool;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used as the max size of the `arrayPool` and `objectPool` */\nvar maxPoolSize = 40;\n\nmodule.exports = maxPoolSize;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used to pool arrays and objects used internally */\nvar objectPool = [];\n\nmodule.exports = objectPool;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar forIn = require('../objects/forIn'),\n getArray = require('./getArray'),\n isFunction = require('../objects/isFunction'),\n objectTypes = require('./objectTypes'),\n releaseArray = require('./releaseArray');\n\n/** `Object#toString` result shortcuts */\nvar argsClass = '[object Arguments]',\n arrayClass = '[object Array]',\n boolClass = '[object Boolean]',\n dateClass = '[object Date]',\n numberClass = '[object Number]',\n objectClass = '[object Object]',\n regexpClass = '[object RegExp]',\n stringClass = '[object String]';\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the internal [[Class]] of values */\nvar toString = objectProto.toString;\n\n/** Native method shortcuts */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.isEqual`, without support for `thisArg` binding,\n * that allows partial \"_.where\" style comparisons.\n *\n * @private\n * @param {*} a The value to compare.\n * @param {*} b The other value to compare.\n * @param {Function} [callback] The function to customize comparing values.\n * @param {Function} [isWhere=false] A flag to indicate performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `a` objects.\n * @param {Array} [stackB=[]] Tracks traversed `b` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(a, b, callback, isWhere, stackA, stackB) {\n // used to indicate that when comparing objects, `a` has at least the properties of `b`\n if (callback) {\n var result = callback(a, b);\n if (typeof result != 'undefined') {\n return !!result;\n }\n }\n // exit early for identical values\n if (a === b) {\n // treat `+0` vs. `-0` as not equal\n return a !== 0 || (1 / a == 1 / b);\n }\n var type = typeof a,\n otherType = typeof b;\n\n // exit early for unlike primitive values\n if (a === a &&\n !(a && objectTypes[type]) &&\n !(b && objectTypes[otherType])) {\n return false;\n }\n // exit early for `null` and `undefined` avoiding ES3's Function#call behavior\n // http://es5.github.io/#x15.3.4.4\n if (a == null || b == null) {\n return a === b;\n }\n // compare [[Class]] names\n var className = toString.call(a),\n otherClass = toString.call(b);\n\n if (className == argsClass) {\n className = objectClass;\n }\n if (otherClass == argsClass) {\n otherClass = objectClass;\n }\n if (className != otherClass) {\n return false;\n }\n switch (className) {\n case boolClass:\n case dateClass:\n // coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal\n return +a == +b;\n\n case numberClass:\n // treat `NaN` vs. `NaN` as equal\n return (a != +a)\n ? b != +b\n // but treat `+0` vs. `-0` as not equal\n : (a == 0 ? (1 / a == 1 / b) : a == +b);\n\n case regexpClass:\n case stringClass:\n // coerce regexes to strings (http://es5.github.io/#x15.10.6.4)\n // treat string primitives and their corresponding object instances as equal\n return a == String(b);\n }\n var isArr = className == arrayClass;\n if (!isArr) {\n // unwrap any `lodash` wrapped values\n var aWrapped = hasOwnProperty.call(a, '__wrapped__'),\n bWrapped = hasOwnProperty.call(b, '__wrapped__');\n\n if (aWrapped || bWrapped) {\n return baseIsEqual(aWrapped ? a.__wrapped__ : a, bWrapped ? b.__wrapped__ : b, callback, isWhere, stackA, stackB);\n }\n // exit for functions and DOM nodes\n if (className != objectClass) {\n return false;\n }\n // in older versions of Opera, `arguments` objects have `Array` constructors\n var ctorA = a.constructor,\n ctorB = b.constructor;\n\n // non `Object` object instances with different constructors are not equal\n if (ctorA != ctorB &&\n !(isFunction(ctorA) && ctorA instanceof ctorA && isFunction(ctorB) && ctorB instanceof ctorB) &&\n ('constructor' in a && 'constructor' in b)\n ) {\n return false;\n }\n }\n // assume cyclic structures are equal\n // the algorithm for detecting cyclic structures is adapted from ES 5.1\n // section 15.12.3, abstract operation `JO` (http://es5.github.io/#x15.12.3)\n var initedStack = !stackA;\n stackA || (stackA = getArray());\n stackB || (stackB = getArray());\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == a) {\n return stackB[length] == b;\n }\n }\n var size = 0;\n result = true;\n\n // add `a` and `b` to the stack of traversed objects\n stackA.push(a);\n stackB.push(b);\n\n // recursively compare objects and arrays (susceptible to call stack limits)\n if (isArr) {\n // compare lengths to determine if a deep comparison is necessary\n length = a.length;\n size = b.length;\n result = size == length;\n\n if (result || isWhere) {\n // deep compare the contents, ignoring non-numeric properties\n while (size--) {\n var index = length,\n value = b[size];\n\n if (isWhere) {\n while (index--) {\n if ((result = baseIsEqual(a[index], value, callback, isWhere, stackA, stackB))) {\n break;\n }\n }\n } else if (!(result = baseIsEqual(a[size], value, callback, isWhere, stackA, stackB))) {\n break;\n }\n }\n }\n }\n else {\n // deep compare objects using `forIn`, instead of `forOwn`, to avoid `Object.keys`\n // which, in this case, is more costly\n forIn(b, function(value, key, b) {\n if (hasOwnProperty.call(b, key)) {\n // count the number of properties.\n size++;\n // deep compare each property value.\n return (result = hasOwnProperty.call(a, key) && baseIsEqual(a[key], value, callback, isWhere, stackA, stackB));\n }\n });\n\n if (result && !isWhere) {\n // ensure both objects have the same number of properties\n forIn(a, function(value, key, a) {\n if (hasOwnProperty.call(a, key)) {\n // `size` will be `-1` if `a` has more properties than `b`\n return (result = --size > -1);\n }\n });\n }\n }\n stackA.pop();\n stackB.pop();\n\n if (initedStack) {\n releaseArray(stackA);\n releaseArray(stackB);\n }\n return result;\n}\n\nmodule.exports = baseIsEqual;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utilities\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'name': 'fred' };\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/**\n * Creates a \"_.pluck\" style function, which returns the `key` value of a\n * given object.\n *\n * @static\n * @memberOf _\n * @category Utilities\n * @param {string} key The name of the property to retrieve.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var characters = [\n * { 'name': 'fred', 'age': 40 },\n * { 'name': 'barney', 'age': 36 }\n * ];\n *\n * var getName = _.property('name');\n *\n * _.map(characters, getName);\n * // => ['barney', 'fred']\n *\n * _.sortBy(characters, getName);\n * // => [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred', 'age': 40 }]\n */\nfunction property(key) {\n return function(object) {\n return object[key];\n };\n}\n\nmodule.exports = property;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseBind = require('./baseBind'),\n baseCreateWrapper = require('./baseCreateWrapper'),\n isFunction = require('../objects/isFunction'),\n slice = require('./slice');\n\n/**\n * Used for `Array` method references.\n *\n * Normally `Array.prototype` would suffice, however, using an array literal\n * avoids issues in Narwhal.\n */\nvar arrayRef = [];\n\n/** Native method shortcuts */\nvar push = arrayRef.push,\n unshift = arrayRef.unshift;\n\n/**\n * Creates a function that, when called, either curries or invokes `func`\n * with an optional `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to reference.\n * @param {number} bitmask The bitmask of method flags to compose.\n * The bitmask may be composed of the following flags:\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry`\n * 8 - `_.curry` (bound)\n * 16 - `_.partial`\n * 32 - `_.partialRight`\n * @param {Array} [partialArgs] An array of arguments to prepend to those\n * provided to the new function.\n * @param {Array} [partialRightArgs] An array of arguments to append to those\n * provided to the new function.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new function.\n */\nfunction createWrapper(func, bitmask, partialArgs, partialRightArgs, thisArg, arity) {\n var isBind = bitmask & 1,\n isBindKey = bitmask & 2,\n isCurry = bitmask & 4,\n isCurryBound = bitmask & 8,\n isPartial = bitmask & 16,\n isPartialRight = bitmask & 32;\n\n if (!isBindKey && !isFunction(func)) {\n throw new TypeError;\n }\n if (isPartial && !partialArgs.length) {\n bitmask &= ~16;\n isPartial = partialArgs = false;\n }\n if (isPartialRight && !partialRightArgs.length) {\n bitmask &= ~32;\n isPartialRight = partialRightArgs = false;\n }\n var bindData = func && func.__bindData__;\n if (bindData && bindData !== true) {\n // clone `bindData`\n bindData = slice(bindData);\n if (bindData[2]) {\n bindData[2] = slice(bindData[2]);\n }\n if (bindData[3]) {\n bindData[3] = slice(bindData[3]);\n }\n // set `thisBinding` is not previously bound\n if (isBind && !(bindData[1] & 1)) {\n bindData[4] = thisArg;\n }\n // set if previously bound but not currently (subsequent curried functions)\n if (!isBind && bindData[1] & 1) {\n bitmask |= 8;\n }\n // set curried arity if not yet set\n if (isCurry && !(bindData[1] & 4)) {\n bindData[5] = arity;\n }\n // append partial left arguments\n if (isPartial) {\n push.apply(bindData[2] || (bindData[2] = []), partialArgs);\n }\n // append partial right arguments\n if (isPartialRight) {\n unshift.apply(bindData[3] || (bindData[3] = []), partialRightArgs);\n }\n // merge flags\n bindData[1] |= bitmask;\n return createWrapper.apply(null, bindData);\n }\n // fast path for `_.bind`\n var creater = (bitmask == 1 || bitmask === 17) ? baseBind : baseCreateWrapper;\n return creater([func, bitmask, partialArgs, partialRightArgs, thisArg, arity]);\n}\n\nmodule.exports = createWrapper;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/**\n * A no-operation function.\n *\n * @static\n * @memberOf _\n * @category Utilities\n * @example\n *\n * var object = { 'name': 'fred' };\n * _.noop(object) === undefined;\n * // => true\n */\nfunction noop() {\n // no operation performed\n}\n\nmodule.exports = noop;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreateCallback = require('../internals/baseCreateCallback'),\n objectTypes = require('../internals/objectTypes');\n\n/**\n * Iterates over own and inherited enumerable properties of an object,\n * executing the callback for each property. The callback is bound to `thisArg`\n * and invoked with three arguments; (value, key, object). Callbacks may exit\n * iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @type Function\n * @category Objects\n * @param {Object} object The object to iterate over.\n * @param {Function} [callback=identity] The function called per iteration.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function Shape() {\n * this.x = 0;\n * this.y = 0;\n * }\n *\n * Shape.prototype.move = function(x, y) {\n * this.x += x;\n * this.y += y;\n * };\n *\n * _.forIn(new Shape, function(value, key) {\n * console.log(key);\n * });\n * // => logs 'x', 'y', and 'move' (property order is not guaranteed across environments)\n */\nvar forIn = function(collection, callback, thisArg) {\n var index, iterable = collection, result = iterable;\n if (!iterable) return result;\n if (!objectTypes[typeof iterable]) return result;\n callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);\n for (index in iterable) {\n if (callback(iterable[index], index, collection) === false) return result;\n }\n return result\n};\n\nmodule.exports = forIn;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/**\n * Checks if `value` is a function.\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if the `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n */\nfunction isFunction(value) {\n return typeof value == 'function';\n}\n\nmodule.exports = isFunction;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreate = require('./baseCreate'),\n isObject = require('../objects/isObject'),\n setBindData = require('./setBindData'),\n slice = require('./slice');\n\n/**\n * Used for `Array` method references.\n *\n * Normally `Array.prototype` would suffice, however, using an array literal\n * avoids issues in Narwhal.\n */\nvar arrayRef = [];\n\n/** Native method shortcuts */\nvar push = arrayRef.push;\n\n/**\n * The base implementation of `_.bind` that creates the bound function and\n * sets its meta data.\n *\n * @private\n * @param {Array} bindData The bind data array.\n * @returns {Function} Returns the new bound function.\n */\nfunction baseBind(bindData) {\n var func = bindData[0],\n partialArgs = bindData[2],\n thisArg = bindData[4];\n\n function bound() {\n // `Function#bind` spec\n // http://es5.github.io/#x15.3.4.5\n if (partialArgs) {\n // avoid `arguments` object deoptimizations by using `slice` instead\n // of `Array.prototype.slice.call` and not assigning `arguments` to a\n // variable as a ternary expression\n var args = slice(partialArgs);\n push.apply(args, arguments);\n }\n // mimic the constructor's `return` behavior\n // http://es5.github.io/#x13.2.2\n if (this instanceof bound) {\n // ensure `new bound` is an instance of `func`\n var thisBinding = baseCreate(func.prototype),\n result = func.apply(thisBinding, args || arguments);\n return isObject(result) ? result : thisBinding;\n }\n return func.apply(thisArg, args || arguments);\n }\n setBindData(bound, bindData);\n return bound;\n}\n\nmodule.exports = baseBind;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreate = require('./baseCreate'),\n isObject = require('../objects/isObject'),\n setBindData = require('./setBindData'),\n slice = require('./slice');\n\n/**\n * Used for `Array` method references.\n *\n * Normally `Array.prototype` would suffice, however, using an array literal\n * avoids issues in Narwhal.\n */\nvar arrayRef = [];\n\n/** Native method shortcuts */\nvar push = arrayRef.push;\n\n/**\n * The base implementation of `createWrapper` that creates the wrapper and\n * sets its meta data.\n *\n * @private\n * @param {Array} bindData The bind data array.\n * @returns {Function} Returns the new function.\n */\nfunction baseCreateWrapper(bindData) {\n var func = bindData[0],\n bitmask = bindData[1],\n partialArgs = bindData[2],\n partialRightArgs = bindData[3],\n thisArg = bindData[4],\n arity = bindData[5];\n\n var isBind = bitmask & 1,\n isBindKey = bitmask & 2,\n isCurry = bitmask & 4,\n isCurryBound = bitmask & 8,\n key = func;\n\n function bound() {\n var thisBinding = isBind ? thisArg : this;\n if (partialArgs) {\n var args = slice(partialArgs);\n push.apply(args, arguments);\n }\n if (partialRightArgs || isCurry) {\n args || (args = slice(arguments));\n if (partialRightArgs) {\n push.apply(args, partialRightArgs);\n }\n if (isCurry && args.length < arity) {\n bitmask |= 16 & ~32;\n return baseCreateWrapper([func, (isCurryBound ? bitmask : bitmask & ~3), args, null, thisArg, arity]);\n }\n }\n args || (args = arguments);\n if (isBindKey) {\n func = thisBinding[key];\n }\n if (this instanceof bound) {\n thisBinding = baseCreate(func.prototype);\n var result = func.apply(thisBinding, args);\n return isObject(result) ? result : thisBinding;\n }\n return func.apply(thisBinding, args);\n }\n setBindData(bound, bindData);\n return bound;\n}\n\nmodule.exports = baseCreateWrapper;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar isNative = require('./isNative'),\n isObject = require('../objects/isObject'),\n noop = require('../utilities/noop');\n\n/* Native method shortcuts for methods with the same name as other `lodash` methods */\nvar nativeCreate = isNative(nativeCreate = Object.create) && nativeCreate;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(prototype, properties) {\n return isObject(prototype) ? nativeCreate(prototype) : {};\n}\n// fallback for browsers without `Object.create`\nif (!nativeCreate) {\n baseCreate = (function() {\n function Object() {}\n return function(prototype) {\n if (isObject(prototype)) {\n Object.prototype = prototype;\n var result = new Object;\n Object.prototype = null;\n }\n return result || global.Object();\n };\n }());\n}\n\nmodule.exports = baseCreate;\n"],"sourceRoot":"webpack-module://"} \ No newline at end of file diff --git a/build/fluxxor.min.js b/build/fluxxor.min.js index 35ccfce..a760018 100644 --- a/build/fluxxor.min.js +++ b/build/fluxxor.min.js @@ -1,4 +1,4 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):"object"==typeof exports?exports.Fluxxor=e():t.Fluxxor=e()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return t[r].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){var r=n(15),i=n(29),o=n(31),s=n(30),u=n(33),a=n(28),c={Dispatcher:r,Flux:i,FluxMixin:o,FluxChildMixin:s,StoreWatchMixin:u,createStore:a,version:n(61).version};t.exports=c},function(t,e,n){function r(t,e,n){if("function"!=typeof t)return o;if("undefined"==typeof e||!("prototype"in t))return t;var r=t.__bindData__;if("undefined"==typeof r&&(u.funcNames&&(r=!t.name),r=r||!u.funcDecomp,!r)){var l=f.call(t);u.funcNames||(r=!a.test(l)),r||(r=c.test(l),s(t,r))}if(r===!1||r!==!0&&1&r[1])return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)};case 4:return function(n,r,i,o){return t.call(e,n,r,i,o)}}return i(t,e)}var i=n(38),o=n(55),s=n(14),u=n(54),a=/^\s*function[ \n\r\t]+\w/,c=/\bthis\b/,f=Function.prototype.toString;t.exports=r},function(t){var e={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1};t.exports=e},function(t,e,n){var r=n(1),i=n(7),o=n(2),s=function(t,e,n){var s,u=t,a=u;if(!u)return a;if(!o[typeof u])return a;e=e&&"undefined"==typeof n?e:r(e,n,3);for(var c=-1,f=o[typeof u]&&i(u),l=f?f.length:0;++ci?0:i);++r-1)throw new Error("A store cannot wait on itself");var i=this.currentDispatch[r];if(i.waitingOn.length)throw new Error(r+" already waiting on stores");c(e,function(t){var e=this.currentDispatch[t];if(!this.stores[t])throw new Error("Cannot wait for non-existent store "+t);if(e.waitingOn.indexOf(r)>-1)throw new Error("Circular wait detected between "+r+" and "+t)},this),i.resolved=!1,i.waitingOn=p(i.waitingOn.concat(e)),i.waitCallback=n},t.exports=h},function(t){var e=[];t.exports=e},function(t,e,n){(function(e){function r(t){return o(t)?s(t):{}}var i=n(5),o=n(4),s=(n(26),i(s=Object.create)&&s);s||(r=function(){function t(){}return function(n){if(o(n)){t.prototype=n;var r=new t;t.prototype=null}return r||e.Object()}}()),t.exports=r}).call(e,function(){return this}())},function(t,e,n){function r(t,e){var n=typeof e;if(t=t.cache,"boolean"==n||null==e)return t[e]?0:-1;"number"!=n&&"string"!=n&&(n="object");var r="number"==n?e:o+e;return t=(t=t[n])&&t[r],"object"==n?t&&i(t,e)>-1?0:-1:t?0:-1}var i=n(12),o=n(20);t.exports=r},function(t,e,n){function r(t){var e=-1,n=t.length,r=t[0],s=t[n/2|0],u=t[n-1];if(r&&"object"==typeof r&&s&&"object"==typeof s&&u&&"object"==typeof u)return!1;var a=o();a["false"]=a["null"]=a["true"]=a.undefined=!1;var c=o();for(c.array=t,c.cache=a,c.push=i;++e=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),y(n)?r.showHidden=n:n&&e._extend(r,n),w(r.showHidden)&&(r.showHidden=!1),w(r.depth)&&(r.depth=2),w(r.colors)&&(r.colors=!1),w(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=o),a(r,t,r.depth)}function o(t,e){var n=i.styles[e];return n?"["+i.colors[n][0]+"m"+t+"["+i.colors[n][1]+"m":t}function s(t){return t}function u(t){var e={};return t.forEach(function(t){e[t]=!0}),e}function a(t,n,r){if(t.customInspect&&n&&S(n.inspect)&&n.inspect!==e.inspect&&(!n.constructor||n.constructor.prototype!==n)){var i=n.inspect(r,t);return m(i)||(i=a(t,i,r)),i}var o=c(t,n);if(o)return o;var s=Object.keys(n),y=u(s);if(t.showHidden&&(s=Object.getOwnPropertyNames(n)),E(n)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return f(n);if(0===s.length){if(S(n)){var d=n.name?": "+n.name:"";return t.stylize("[Function"+d+"]","special")}if(_(n))return t.stylize(RegExp.prototype.toString.call(n),"regexp");if(O(n))return t.stylize(Date.prototype.toString.call(n),"date");if(E(n))return f(n)}var g="",x=!1,b=["{","}"];if(v(n)&&(x=!0,b=["[","]"]),S(n)){var w=n.name?": "+n.name:"";g=" [Function"+w+"]"}if(_(n)&&(g=" "+RegExp.prototype.toString.call(n)),O(n)&&(g=" "+Date.prototype.toUTCString.call(n)),E(n)&&(g=" "+f(n)),0===s.length&&(!x||0==n.length))return b[0]+g+b[1];if(0>r)return _(n)?t.stylize(RegExp.prototype.toString.call(n),"regexp"):t.stylize("[Object]","special");t.seen.push(n);var j;return j=x?l(t,n,r,y,s):s.map(function(e){return p(t,n,r,y,e,x)}),t.seen.pop(),h(j,g,b)}function c(t,e){if(w(e))return t.stylize("undefined","undefined");if(m(e)){var n="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(n,"string")}return x(e)?t.stylize(""+e,"number"):y(e)?t.stylize(""+e,"boolean"):d(e)?t.stylize("null","null"):void 0}function f(t){return"["+Error.prototype.toString.call(t)+"]"}function l(t,e,n,r,i){for(var o=[],s=0,u=e.length;u>s;++s)o.push(k(e,String(s))?p(t,e,n,r,String(s),!0):"");return i.forEach(function(i){i.match(/^\d+$/)||o.push(p(t,e,n,r,i,!0))}),o}function p(t,e,n,r,i,o){var s,u,c;if(c=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]},c.get?u=c.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):c.set&&(u=t.stylize("[Setter]","special")),k(r,i)||(s="["+i+"]"),u||(t.seen.indexOf(c.value)<0?(u=d(n)?a(t,c.value,null):a(t,c.value,n-1),u.indexOf("\n")>-1&&(u=o?u.split("\n").map(function(t){return" "+t}).join("\n").substr(2):"\n"+u.split("\n").map(function(t){return" "+t}).join("\n"))):u=t.stylize("[Circular]","special")),w(s)){if(o&&i.match(/^\d+$/))return u;s=JSON.stringify(""+i),s.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=t.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=t.stylize(s,"string"))}return s+": "+u}function h(t,e,n){var r=0,i=t.reduce(function(t,e){return r++,e.indexOf("\n")>=0&&r++,t+e.replace(/\u001b\[\d\d?m/g,"").length+1},0);return i>60?n[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+n[1]:n[0]+e+" "+t.join(", ")+" "+n[1]}function v(t){return Array.isArray(t)}function y(t){return"boolean"==typeof t}function d(t){return null===t}function g(t){return null==t}function x(t){return"number"==typeof t}function m(t){return"string"==typeof t}function b(t){return"symbol"==typeof t}function w(t){return void 0===t}function _(t){return j(t)&&"[object RegExp]"===F(t)}function j(t){return"object"==typeof t&&null!==t}function O(t){return j(t)&&"[object Date]"===F(t)}function E(t){return j(t)&&("[object Error]"===F(t)||t instanceof Error)}function S(t){return"function"==typeof t}function D(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||"undefined"==typeof t}function F(t){return Object.prototype.toString.call(t)}function L(t){return 10>t?"0"+t.toString(10):t.toString(10)}function A(){var t=new Date,e=[L(t.getHours()),L(t.getMinutes()),L(t.getSeconds())].join(":");return[t.getDate(),z[t.getMonth()],e].join(" ")}function k(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var M=/%[sdj%]/g;e.format=function(t){if(!m(t)){for(var e=[],n=0;n=o)return t;switch(t){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(e){return"[Circular]"}default:return t}}),u=r[n];o>n;u=r[++n])s+=d(u)||!j(u)?" "+u:" "+i(u);return s},e.deprecate=function(n,i){function o(){if(!s){if(r.throwDeprecation)throw new Error(i);r.traceDeprecation?console.trace(i):console.error(i),s=!0}return n.apply(this,arguments)}if(w(t.process))return function(){return e.deprecate(n,i).apply(this,arguments)};if(r.noDeprecation===!0)return n;var s=!1;return o};var T,C={};e.debuglog=function(t){if(w(T)&&(T=r.env.NODE_DEBUG||""),t=t.toUpperCase(),!C[t])if(new RegExp("\\b"+t+"\\b","i").test(T)){var n=r.pid;C[t]=function(){var r=e.format.apply(e,arguments);console.error("%s %d: %s",t,n,r)}}else C[t]=function(){};return C[t]},e.inspect=i,i.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},i.styles={special:"cyan",number:"yellow","boolean":"yellow",undefined:"grey","null":"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=v,e.isBoolean=y,e.isNull=d,e.isNullOrUndefined=g,e.isNumber=x,e.isString=m,e.isSymbol=b,e.isUndefined=w,e.isRegExp=_,e.isObject=j,e.isDate=O,e.isError=E,e.isFunction=S,e.isPrimitive=D,e.isBuffer=n(60);var z=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];e.log=function(){console.log("%s - %s",A(),e.format.apply(e,arguments))},e.inherits=n(59),e._extend=function(t,e){if(!e||!j(e))return t;for(var n=Object.keys(e),r=n.length;r--;)t[n[r]]=e[n[r]];return t}}).call(e,function(){return this}(),n(58))},function(t,e,n){var r=n(8),i=n(32),o=n(27),s=["flux","waitFor"],u=function(t){r(s,function(e){if(t[e])throw new Error("Reserved key '"+e+"' found in store definition")});var e=function(e){e=e||{},i.call(this);for(var n in t)"actions"===n?this.__actions__=t[n]:"initialize"===n||(this[n]="function"==typeof t[n]?t[n].bind(this):t[n]);t.initialize&&t.initialize.call(this,e)};return o.inherits(e,i),e};t.exports=u},function(t,e,n){function r(t,e,n){for(var i in e)e.hasOwnProperty(i)&&("function"==typeof e[i]?t[i]=e[i].bind(n):"object"==typeof e[i]&&(t[i]={},r(t[i],e[i],n)))}var i=n(15),o=function(t,e){var n=new i(t),o={flux:this,dispatch:function(t,e){n.dispatch({type:t,payload:e})}};this.dispatcher=n,this.actions={},this.stores=t,r(this.actions,e,o);for(var s in t)t.hasOwnProperty(s)&&(t[s].flux=this)};o.prototype.store=function(t){return this.stores[t]},t.exports=o},function(t){var e=function(t){return{contextTypes:{flux:t.PropTypes.object},getFlux:function(){return this.context.flux}}};e.componentWillMount=function(){throw new Error("Fluxxor.FluxChildMixin is a function that takes React as a parameter and returns the mixin, e.g.: mixins[Fluxxor.FluxChildMixin(React)]")},t.exports=e},function(t){var e=function(t){return{propTypes:{flux:t.PropTypes.object.isRequired},childContextTypes:{flux:t.PropTypes.object},getChildContext:function(){return{flux:this.props.flux}},getFlux:function(){return this.props.flux}}};e.componentWillMount=function(){throw new Error("Fluxxor.FluxMixin is a function that takes React as a parameter and returns the mixin, e.g.: mixins[Fluxxor.FluxMixin(React)]")},t.exports=e},function(t,e,n){function r(t){this.dispatcher=t,this.__actions__={},i.call(this)}var i=n(57).EventEmitter,o=n(27);o.inherits(r,i),r.prototype.__handleAction__=function(t){var e;(e=this.__actions__[t.type])&&("function"==typeof e?e.call(this,t.payload,t.type):e&&"function"==typeof this[e]&&this[e].call(this,t.payload,t.type))},r.prototype.bindActions=function(){var t=Array.prototype.slice.call(arguments);if(t.length%2!==0)throw new Error("bindActions must take an even number of arguments.");for(var e=0;e=f&&s(e?t[e]:y)))}var g=t[0],x=-1,m=g?g.length:0,b=[];t:for(;++x2?i(t,17,o(arguments,2),null,e):i(t,1,null,null,e)}var i=n(45),o=n(6);t.exports=r},function(t,e,n){function r(t){function e(){if(r){var t=u(r);c.apply(t,arguments)}if(this instanceof e){var s=i(n.prototype),f=n.apply(s,t||arguments);return o(f)?f:s}return n.apply(a,t||arguments)}var n=t[0],r=t[2],a=t[4];return s(e,t),e}var i=n(17),o=n(4),s=n(14),u=n(6),a=[],c=a.push;t.exports=r},function(t,e,n){function r(t,e,n,h,v){if(n){var g=n(t);if("undefined"!=typeof g)return g}var m=c(t);if(!m)return t;var j=O.call(t);if(!_[j])return t;var D=S[j];switch(j){case y:case d:return new D(+t);case x:case w:return new D(t);case b:return g=D(t.source,p.exec(t)),g.lastIndex=t.lastIndex,g}var F=a(t);if(e){var L=!h;h||(h=u()),v||(v=u());for(var A=h.length;A--;)if(h[A]==t)return v[A];g=F?D(t.length):{}}else g=F?l(t):i({},t);return F&&(E.call(t,"index")&&(g.index=t.index),E.call(t,"input")&&(g.input=t.input)),e?(h.push(t),v.push(g),(F?o:s)(t,function(t,i){g[i]=r(t,e,n,h,v)}),L&&(f(h),f(v)),g):g}var i=n(48),o=n(8),s=n(3),u=n(10),a=n(24),c=n(4),f=n(11),l=n(6),p=/\w*$/,h="[object Arguments]",v="[object Array]",y="[object Boolean]",d="[object Date]",g="[object Function]",x="[object Number]",m="[object Object]",b="[object RegExp]",w="[object String]",_={};_[g]=!1,_[h]=_[v]=_[y]=_[d]=_[x]=_[m]=_[b]=_[w]=!0;var j=Object.prototype,O=j.toString,E=j.hasOwnProperty,S={};S[v]=Array,S[y]=Boolean,S[d]=Date,S[g]=Function,S[m]=Object,S[x]=Number,S[b]=RegExp,S[w]=String,t.exports=r},function(t,e,n){function r(t){function e(){var t=v?p:this;if(f){var s=u(f);c.apply(s,arguments)}if((l||d)&&(s||(s=u(arguments)),l&&c.apply(s,l),d&&s.length-1:void 0});return b.pop(),w.pop(),M&&(a(b),a(w)),_}var i=n(51),o=n(10),s=n(25),u=n(2),a=n(11),c="[object Arguments]",f="[object Array]",l="[object Boolean]",p="[object Date]",h="[object Number]",v="[object Object]",y="[object RegExp]",d="[object String]",g=Object.prototype,x=g.toString,m=g.hasOwnProperty;t.exports=r},function(t,e,n){function r(t,e,n){var r=-1,l=i,p=t?t.length:0,h=[],v=!e&&p>=a,y=n||v?u():h;if(v){var d=s(y);l=o,y=d}for(;++r3&&"function"==typeof c[l-2])var p=r(c[--l-1],c[l--],2);else l>2&&"function"==typeof c[l-1]&&(p=c[--l]);for(;++ft||isNaN(t))throw TypeError("n must be a positive number");return this._maxListeners=t,this},e.prototype.emit=function(t){var e,r,s,u,a,c;if(this._events||(this._events={}),"error"===t&&(!this._events.error||i(this._events.error)&&!this._events.error.length))throw e=arguments[1],e instanceof Error?e:TypeError('Uncaught, unspecified "error" event.');if(r=this._events[t],o(r))return!1;if(n(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:for(s=arguments.length,u=new Array(s-1),a=1;s>a;a++)u[a-1]=arguments[a];r.apply(this,u)}else if(i(r)){for(s=arguments.length,u=new Array(s-1),a=1;s>a;a++)u[a-1]=arguments[a];for(c=r.slice(),s=c.length,a=0;s>a;a++)c[a].apply(this,u)}return!0},e.prototype.addListener=function(t,r){var s;if(!n(r))throw TypeError("listener must be a function");if(this._events||(this._events={}),this._events.newListener&&this.emit("newListener",t,n(r.listener)?r.listener:r),this._events[t]?i(this._events[t])?this._events[t].push(r):this._events[t]=[this._events[t],r]:this._events[t]=r,i(this._events[t])&&!this._events[t].warned){var s;s=o(this._maxListeners)?e.defaultMaxListeners:this._maxListeners,s&&s>0&&this._events[t].length>s&&(this._events[t].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[t].length),"function"==typeof console.trace&&console.trace())}return this},e.prototype.on=e.prototype.addListener,e.prototype.once=function(t,e){function r(){this.removeListener(t,r),i||(i=!0,e.apply(this,arguments))}if(!n(e))throw TypeError("listener must be a function");var i=!1;return r.listener=e,this.on(t,r),this},e.prototype.removeListener=function(t,e){var r,o,s,u;if(!n(e))throw TypeError("listener must be a function");if(!this._events||!this._events[t])return this;if(r=this._events[t],s=r.length,o=-1,r===e||n(r.listener)&&r.listener===e)delete this._events[t],this._events.removeListener&&this.emit("removeListener",t,e);else if(i(r)){for(u=s;u-->0;)if(r[u]===e||r[u].listener&&r[u].listener===e){o=u;break}if(0>o)return this;1===r.length?(r.length=0,delete this._events[t]):r.splice(o,1),this._events.removeListener&&this.emit("removeListener",t,e)}return this},e.prototype.removeAllListeners=function(t){var e,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)"removeListener"!==e&&this.removeAllListeners(e);return this.removeAllListeners("removeListener"),this._events={},this}if(r=this._events[t],n(r))this.removeListener(t,r);else for(;r.length;)this.removeListener(t,r[r.length-1]);return delete this._events[t],this},e.prototype.listeners=function(t){var e;return e=this._events&&this._events[t]?n(this._events[t])?[this._events[t]]:this._events[t].slice():[]},e.listenerCount=function(t,e){var r;return r=t._events&&t._events[e]?n(t._events[e])?1:t._events[e].length:0}},function(t){function e(){}var n=t.exports={};n.nextTick=function(){var t="undefined"!=typeof window&&window.setImmediate,e="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(t)return function(t){return window.setImmediate(t)};if(e){var n=[];return window.addEventListener("message",function(t){var e=t.source;if((e===window||null===e)&&"process-tick"===t.data&&(t.stopPropagation(),n.length>0)){var r=n.shift();r()}},!0),function(t){n.push(t),window.postMessage("process-tick","*")}}return function(t){setTimeout(t,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=e,n.once=e,n.off=e,n.emit=e,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},function(t){t.exports="function"==typeof Object.create?function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:function(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}},function(t){t.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},function(t){t.exports={name:"fluxxor",version:"1.4.0",description:"Flux architecture tools for React",repository:{type:"git",url:"https://github.com/BinaryMuse/fluxxor.git"},main:"index.js",scripts:{test:"npm run jshint && mocha --recursive",jshint:"jsxhint lib/ test/",build:"./script/build-fluxxor && ./script/build-examples","preview-site":"wintersmith preview -C site","build-site":"wintersmith build -C site"},keywords:["react","flux"],author:"Brandon Tilley ",license:"MIT",devDependencies:{chai:"^1.9.1","css-loader":"^0.6.12",envify:"^1.2.1",jsdom:"^0.10.5","json-loader":"^0.5.0","jsx-loader":"^0.10.2",jsxhint:"^0.4.9",less:"^1.7.0","less-loader":"^0.7.3",mocha:"^1.18.2",react:"^0.11.0 >0.11.0-rc1",sinon:"^1.9.1","sinon-chai":"^2.5.0","style-loader":"^0.6.3",webpack:"^1.1.11","webpack-dev-server":"^1.2.7",wintersmith:"^2.0.10","wintersmith-ejs":"^0.1.4","wintersmith-less":"^0.2.2"},dependencies:{"lodash-node":"^2.4.1"},jshintConfig:{camelcase:!0,curly:!0,eqeqeq:!0,forin:!0,latedef:!0,newcap:!1,undef:!0,unused:!0,trailing:!0,node:!0,browser:!0,predef:["it","describe","beforeEach","afterEach"]}}}])}); +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):"object"==typeof exports?exports.Fluxxor=e():t.Fluxxor=e()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return t[r].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){var r=n(15),i=n(29),o=n(31),s=n(30),u=n(33),a=n(28),c={Dispatcher:r,Flux:i,FluxMixin:o,FluxChildMixin:s,StoreWatchMixin:u,createStore:a,version:n(58)};t.exports=c},function(t,e,n){function r(t,e,n){if("function"!=typeof t)return o;if("undefined"==typeof e||!("prototype"in t))return t;var r=t.__bindData__;if("undefined"==typeof r&&(u.funcNames&&(r=!t.name),r=r||!u.funcDecomp,!r)){var p=f.call(t);u.funcNames||(r=!a.test(p)),r||(r=c.test(p),s(t,r))}if(r===!1||r!==!0&&1&r[1])return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)};case 4:return function(n,r,i,o){return t.call(e,n,r,i,o)}}return i(t,e)}var i=n(38),o=n(55),s=n(14),u=n(54),a=/^\s*function[ \n\r\t]+\w/,c=/\bthis\b/,f=Function.prototype.toString;t.exports=r},function(t){var e={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1};t.exports=e},function(t,e,n){var r=n(1),i=n(7),o=n(2),s=function(t,e,n){var s,u=t,a=u;if(!u)return a;if(!o[typeof u])return a;e=e&&"undefined"==typeof n?e:r(e,n,3);for(var c=-1,f=o[typeof u]&&i(u),p=f?f.length:0;++ci?0:i);++r-1)throw new Error("A store cannot wait on itself");var i=this.currentDispatch[r];if(i.waitingOn.length)throw new Error(r+" already waiting on stores");c(e,function(t){var e=this.currentDispatch[t];if(!this.stores[t])throw new Error("Cannot wait for non-existent store "+t);if(e.waitingOn.indexOf(r)>-1)throw new Error("Circular wait detected between "+r+" and "+t)},this),i.resolved=!1,i.waitingOn=l(i.waitingOn.concat(e)),i.waitCallback=n},t.exports=h},function(t){t.exports="function"==typeof Object.create?function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:function(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}},function(t){var e=[];t.exports=e},function(t,e,n){(function(e){function r(t){return o(t)?s(t):{}}var i=n(5),o=n(4),s=(n(27),i(s=Object.create)&&s);s||(r=function(){function t(){}return function(n){if(o(n)){t.prototype=n;var r=new t;t.prototype=null}return r||e.Object()}}()),t.exports=r}).call(e,function(){return this}())},function(t,e,n){function r(t,e){var n=typeof e;if(t=t.cache,"boolean"==n||null==e)return t[e]?0:-1;"number"!=n&&"string"!=n&&(n="object");var r="number"==n?e:o+e;return t=(t=t[n])&&t[r],"object"==n?t&&i(t,e)>-1?0:-1:t?0:-1}var i=n(12),o=n(21);t.exports=r},function(t,e,n){function r(t){var e=-1,n=t.length,r=t[0],s=t[n/2|0],u=t[n-1];if(r&&"object"==typeof r&&s&&"object"==typeof s&&u&&"object"==typeof u)return!1;var a=o();a["false"]=a["null"]=a["true"]=a.undefined=!1;var c=o();for(c.array=t,c.cache=a,c.push=i;++e=f&&s(e?t[e]:y)))}var g=t[0],d=-1,m=g?g.length:0,b=[];t:for(;++d2?i(t,17,o(arguments,2),null,e):i(t,1,null,null,e)}var i=n(45),o=n(6);t.exports=r},function(t,e,n){function r(t){function e(){if(r){var t=u(r);c.apply(t,arguments)}if(this instanceof e){var s=i(n.prototype),f=n.apply(s,t||arguments);return o(f)?f:s}return n.apply(a,t||arguments)}var n=t[0],r=t[2],a=t[4];return s(e,t),e}var i=n(18),o=n(4),s=n(14),u=n(6),a=[],c=a.push;t.exports=r},function(t,e,n){function r(t,e,n,h,v){if(n){var g=n(t);if("undefined"!=typeof g)return g}var m=c(t);if(!m)return t;var j=F.call(t);if(!w[j])return t;var E=O[j];switch(j){case y:case x:return new E(+t);case d:case _:return new E(t);case b:return g=E(t.source,l.exec(t)),g.lastIndex=t.lastIndex,g}var D=a(t);if(e){var S=!h;h||(h=u()),v||(v=u());for(var A=h.length;A--;)if(h[A]==t)return v[A];g=D?E(t.length):{}}else g=D?p(t):i({},t);return D&&(L.call(t,"index")&&(g.index=t.index),L.call(t,"input")&&(g.input=t.input)),e?(h.push(t),v.push(g),(D?o:s)(t,function(t,i){g[i]=r(t,e,n,h,v)}),S&&(f(h),f(v)),g):g}var i=n(48),o=n(8),s=n(3),u=n(10),a=n(25),c=n(4),f=n(11),p=n(6),l=/\w*$/,h="[object Arguments]",v="[object Array]",y="[object Boolean]",x="[object Date]",g="[object Function]",d="[object Number]",m="[object Object]",b="[object RegExp]",_="[object String]",w={};w[g]=!1,w[h]=w[v]=w[y]=w[x]=w[d]=w[m]=w[b]=w[_]=!0;var j=Object.prototype,F=j.toString,L=j.hasOwnProperty,O={};O[v]=Array,O[y]=Boolean,O[x]=Date,O[g]=Function,O[m]=Object,O[d]=Number,O[b]=RegExp,O[_]=String,t.exports=r},function(t,e,n){function r(t){function e(){var t=v?l:this;if(f){var s=u(f);c.apply(s,arguments)}if((p||x)&&(s||(s=u(arguments)),p&&c.apply(s,p),x&&s.length-1:void 0});return b.pop(),_.pop(),M&&(a(b),a(_)),w}var i=n(51),o=n(10),s=n(26),u=n(2),a=n(11),c="[object Arguments]",f="[object Array]",p="[object Boolean]",l="[object Date]",h="[object Number]",v="[object Object]",y="[object RegExp]",x="[object String]",g=Object.prototype,d=g.toString,m=g.hasOwnProperty;t.exports=r},function(t,e,n){function r(t,e,n){var r=-1,p=i,l=t?t.length:0,h=[],v=!e&&l>=a,y=n||v?u():h;if(v){var x=s(y);p=o,y=x}for(;++r3&&"function"==typeof c[p-2])var l=r(c[--p-1],c[p--],2);else p>2&&"function"==typeof c[p-1]&&(l=c[--p]);for(;++ft||isNaN(t))throw TypeError("n must be a positive number");return this._maxListeners=t,this},e.prototype.emit=function(t){var e,r,s,u,a,c;if(this._events||(this._events={}),"error"===t&&(!this._events.error||i(this._events.error)&&!this._events.error.length))throw e=arguments[1],e instanceof Error?e:TypeError('Uncaught, unspecified "error" event.');if(r=this._events[t],o(r))return!1;if(n(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:for(s=arguments.length,u=new Array(s-1),a=1;s>a;a++)u[a-1]=arguments[a];r.apply(this,u)}else if(i(r)){for(s=arguments.length,u=new Array(s-1),a=1;s>a;a++)u[a-1]=arguments[a];for(c=r.slice(),s=c.length,a=0;s>a;a++)c[a].apply(this,u)}return!0},e.prototype.addListener=function(t,r){var s;if(!n(r))throw TypeError("listener must be a function");if(this._events||(this._events={}),this._events.newListener&&this.emit("newListener",t,n(r.listener)?r.listener:r),this._events[t]?i(this._events[t])?this._events[t].push(r):this._events[t]=[this._events[t],r]:this._events[t]=r,i(this._events[t])&&!this._events[t].warned){var s;s=o(this._maxListeners)?e.defaultMaxListeners:this._maxListeners,s&&s>0&&this._events[t].length>s&&(this._events[t].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[t].length),"function"==typeof console.trace&&console.trace())}return this},e.prototype.on=e.prototype.addListener,e.prototype.once=function(t,e){function r(){this.removeListener(t,r),i||(i=!0,e.apply(this,arguments))}if(!n(e))throw TypeError("listener must be a function");var i=!1;return r.listener=e,this.on(t,r),this},e.prototype.removeListener=function(t,e){var r,o,s,u;if(!n(e))throw TypeError("listener must be a function");if(!this._events||!this._events[t])return this;if(r=this._events[t],s=r.length,o=-1,r===e||n(r.listener)&&r.listener===e)delete this._events[t],this._events.removeListener&&this.emit("removeListener",t,e);else if(i(r)){for(u=s;u-->0;)if(r[u]===e||r[u].listener&&r[u].listener===e){o=u;break}if(0>o)return this;1===r.length?(r.length=0,delete this._events[t]):r.splice(o,1),this._events.removeListener&&this.emit("removeListener",t,e)}return this},e.prototype.removeAllListeners=function(t){var e,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)"removeListener"!==e&&this.removeAllListeners(e);return this.removeAllListeners("removeListener"),this._events={},this}if(r=this._events[t],n(r))this.removeListener(t,r);else for(;r.length;)this.removeListener(t,r[r.length-1]);return delete this._events[t],this},e.prototype.listeners=function(t){var e;return e=this._events&&this._events[t]?n(this._events[t])?[this._events[t]]:this._events[t].slice():[]},e.listenerCount=function(t,e){var r;return r=t._events&&t._events[e]?n(t._events[e])?1:t._events[e].length:0}},function(t){t.exports="1.4.1"}])}); /* //@ sourceMappingURL=fluxxor.min.js.map */ \ No newline at end of file diff --git a/build/fluxxor.min.js.map b/build/fluxxor.min.js.map index 26ce4db..35bca33 100644 --- a/build/fluxxor.min.js.map +++ b/build/fluxxor.min.js.map @@ -1 +1 @@ -{"version":3,"file":"fluxxor.min.js","sources":["webpack/universalModuleDefinition","fluxxor.min.js","webpack/bootstrap 3439d073a1617ff713cb*","./index.js","./~/lodash-node/modern/internals/baseCreateCallback.js","./~/lodash-node/modern/internals/objectTypes.js","./~/lodash-node/modern/objects/forOwn.js","./~/lodash-node/modern/objects/isObject.js","./~/lodash-node/modern/internals/isNative.js","./~/lodash-node/modern/internals/slice.js","./~/lodash-node/modern/objects/keys.js","./~/lodash-node/modern/collections/forEach.js","./~/lodash-node/modern/functions/createCallback.js","./~/lodash-node/modern/internals/getArray.js","./~/lodash-node/modern/internals/releaseArray.js","./~/lodash-node/modern/internals/baseIndexOf.js","./~/lodash-node/modern/internals/releaseObject.js","./~/lodash-node/modern/internals/setBindData.js","./lib/dispatcher.js","./~/lodash-node/modern/internals/arrayPool.js","./~/lodash-node/modern/internals/baseCreate.js","./~/lodash-node/modern/internals/cacheIndexOf.js","./~/lodash-node/modern/internals/createCache.js","./~/lodash-node/modern/internals/keyPrefix.js","./~/lodash-node/modern/internals/largeArraySize.js","./~/lodash-node/modern/internals/maxPoolSize.js","./~/lodash-node/modern/internals/objectPool.js","./~/lodash-node/modern/objects/isArray.js","./~/lodash-node/modern/objects/isFunction.js","./~/lodash-node/modern/utilities/noop.js","(webpack)/~/node-libs-browser/~/util/util.js","./lib/create_store.js","./lib/flux.js","./lib/flux_child_mixin.js","./lib/flux_mixin.js","./lib/store.js","./lib/store_watch_mixin.js","./~/lodash-node/modern/arrays/intersection.js","./~/lodash-node/modern/arrays/uniq.js","./~/lodash-node/modern/collections/map.js","./~/lodash-node/modern/collections/size.js","./~/lodash-node/modern/functions/bind.js","./~/lodash-node/modern/internals/baseBind.js","./~/lodash-node/modern/internals/baseClone.js","./~/lodash-node/modern/internals/baseCreateWrapper.js","./~/lodash-node/modern/internals/baseIsEqual.js","./~/lodash-node/modern/internals/baseUniq.js","./~/lodash-node/modern/internals/cachePush.js","./~/lodash-node/modern/internals/createWrapper.js","./~/lodash-node/modern/internals/getObject.js","./~/lodash-node/modern/internals/shimKeys.js","./~/lodash-node/modern/objects/assign.js","./~/lodash-node/modern/objects/clone.js","./~/lodash-node/modern/objects/findKey.js","./~/lodash-node/modern/objects/forIn.js","./~/lodash-node/modern/objects/isArguments.js","./~/lodash-node/modern/objects/mapValues.js","./~/lodash-node/modern/support.js","./~/lodash-node/modern/utilities/identity.js","./~/lodash-node/modern/utilities/property.js","(webpack)/~/node-libs-browser/~/events/events.js","(webpack)/~/node-libs-browser/~/process/browser.js","(webpack)/~/node-libs-browser/~/util/~/inherits/inherits_browser.js","(webpack)/~/node-libs-browser/~/util/support/isBufferBrowser.js","./version.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","Dispatcher","Flux","FluxMixin","FluxChildMixin","StoreWatchMixin","createStore","Fluxxor","version","baseCreateCallback","func","thisArg","argCount","identity","bindData","__bindData__","support","funcNames","name","funcDecomp","source","fnToString","reFuncName","test","reThis","setBindData","value","a","b","index","collection","accumulator","bind","Function","prototype","toString","objectTypes","boolean","function","object","number","string","undefined","keys","forOwn","callback","iterable","result","ownIndex","ownProps","length","isObject","isNative","reNative","objectProto","Object","RegExp","String","replace","slice","array","start","end","Array","shimKeys","nativeKeys","forEach","createCallback","type","property","props","key","baseIsEqual","getArray","arrayPool","pop","releaseArray","maxPoolSize","push","baseIndexOf","fromIndex","releaseObject","cache","criteria","objectPool","noop","descriptor","configurable","enumerable","writable","defineProperty","o","e","_clone","_mapValues","_forOwn","_intersection","_keys","_map","_each","_size","_findKey","_uniq","stores","currentDispatch","waitingToDispatch","hasOwnProperty","dispatcher","dispatch","action","Error","resolved","waitingOn","waitCallback","doDispatchLoop","canBeDispatchedTo","removeFromDispatchQueue","dispatchedThisLoop","fn","apply","__handleAction__","storesWithCircularWaits","join","waitForStores","store","waitingStoreName","val","indexOf","storeName","storeDispatch","concat","global","baseCreate","nativeCreate","create","cacheIndexOf","keyPrefix","createCache","first","mid","last","getObject","cachePush","Date","largeArraySize","arrayClass","nativeIsArray","isArray","isFunction","process","inspect","obj","opts","ctx","seen","stylize","stylizeNoColor","arguments","depth","colors","isBoolean","showHidden","_extend","isUndefined","customInspect","stylizeWithColor","formatValue","str","styleType","style","styles","arrayToHash","hash","recurseTimes","constructor","ret","isString","primitive","formatPrimitive","visibleKeys","getOwnPropertyNames","isError","formatError","isRegExp","isDate","base","braces","n","toUTCString","output","formatArray","map","formatProperty","reduceToSingleString","simple","JSON","stringify","isNumber","isNull","i","l","match","desc","getOwnPropertyDescriptor","get","set","split","line","substr","numLinesEst","reduce","prev","cur","ar","arg","isNullOrUndefined","isSymbol","re","objectToString","d","isPrimitive","pad","timestamp","time","getHours","getMinutes","getSeconds","getDate","months","getMonth","prop","formatRegExp","format","f","objects","args","len","x","Number","_","deprecate","msg","deprecated","warned","throwDeprecation","traceDeprecation","console","trace","error","noDeprecation","debugEnviron","debugs","debuglog","env","NODE_DEBUG","toUpperCase","pid","bold","italic","underline","inverse","white","grey","black","blue","cyan","green","magenta","red","yellow","special","null","date","regexp","isBuffer","log","inherits","origin","add","Store","util","RESERVED_KEYS","spec","options","__actions__","initialize","bindActions","target","actions","dispatchBinder","flux","payload","React","contextTypes","PropTypes","getFlux","context","componentWillMount","propTypes","isRequired","childContextTypes","getChildContext","EventEmitter","handler","waitFor","storeNames","on","_setStateFromFlux","componentWillUnmount","removeListener","isMounted","setState","getStateFromFlux","getInitialState","intersection","argsIndex","argsLength","caches","trustIndexOf","isArguments","outer","uniq","isSorted","baseUniq","size","createWrapper","baseBind","bound","partialArgs","thisBinding","arrayRef","baseClone","isDeep","stackA","stackB","isObj","className","cloneableClasses","ctor","ctorByClass","boolClass","dateClass","numberClass","stringClass","regexpClass","reFlags","exec","lastIndex","isArr","initedStack","assign","input","objValue","argsClass","funcClass","objectClass","Boolean","baseCreateWrapper","isBind","partialRightArgs","isCurry","arity","bitmask","isCurryBound","isBindKey","isWhere","otherType","otherClass","aWrapped","bWrapped","__wrapped__","ctorA","ctorB","forIn","isLarge","computed","typeCache","isPartial","isPartialRight","TypeError","unshift","creater","false","true","guard","clone","findKey","mapValues","WinRTError","_events","_maxListeners","defaultMaxListeners","setMaxListeners","isNaN","emit","er","listeners","addListener","listener","newListener","once","g","fired","list","position","splice","removeAllListeners","listenerCount","emitter","nextTick","canSetImmediate","window","setImmediate","canPost","postMessage","addEventListener","queue","ev","data","stopPropagation","shift","setTimeout","title","browser","argv","off","binding","cwd","chdir","superCtor","super_","TempCtor","copy","fill","readUInt8","description","repository","url","main","scripts","jshint","build","preview-site","build-site","keywords","author","license","devDependencies","chai","css-loader","envify","jsdom","json-loader","jsx-loader","jsxhint","less","less-loader","mocha","react","sinon","sinon-chai","style-loader","webpack","webpack-dev-server","wintersmith","wintersmith-ejs","wintersmith-less","dependencies","lodash-node","jshintConfig","camelcase","curly","eqeqeq","forin","latedef","newcap","undef","unused","trailing","node","predef"],"mappings":"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","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Fluxxor\"] = factory();\n\telse\n\t\troot[\"Fluxxor\"] = factory();\n})(this, function() {\nreturn ","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Fluxxor\"] = factory();\n\telse\n\t\troot[\"Fluxxor\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/ \t\t\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/ \t\t\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/ \t\t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/******/ \t\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/ \t\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/ \t\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/ \t\n/******/ \t\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Dispatcher = __webpack_require__(15),\n\t Flux = __webpack_require__(29),\n\t FluxMixin = __webpack_require__(31),\n\t FluxChildMixin = __webpack_require__(30),\n\t StoreWatchMixin = __webpack_require__(33),\n\t createStore = __webpack_require__(28);\n\t\n\tvar Fluxxor = {\n\t Dispatcher: Dispatcher,\n\t Flux: Flux,\n\t FluxMixin: FluxMixin,\n\t FluxChildMixin: FluxChildMixin,\n\t StoreWatchMixin: StoreWatchMixin,\n\t createStore: createStore,\n\t version: __webpack_require__(61).version\n\t};\n\t\n\tmodule.exports = Fluxxor;\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar bind = __webpack_require__(38),\n\t identity = __webpack_require__(55),\n\t setBindData = __webpack_require__(14),\n\t support = __webpack_require__(54);\n\t\n\t/** Used to detected named functions */\n\tvar reFuncName = /^\\s*function[ \\n\\r\\t]+\\w/;\n\t\n\t/** Used to detect functions containing a `this` reference */\n\tvar reThis = /\\bthis\\b/;\n\t\n\t/** Native method shortcuts */\n\tvar fnToString = Function.prototype.toString;\n\t\n\t/**\n\t * The base implementation of `_.createCallback` without support for creating\n\t * \"_.pluck\" or \"_.where\" style callbacks.\n\t *\n\t * @private\n\t * @param {*} [func=identity] The value to convert to a callback.\n\t * @param {*} [thisArg] The `this` binding of the created callback.\n\t * @param {number} [argCount] The number of arguments the callback accepts.\n\t * @returns {Function} Returns a callback function.\n\t */\n\tfunction baseCreateCallback(func, thisArg, argCount) {\n\t if (typeof func != 'function') {\n\t return identity;\n\t }\n\t // exit early for no `thisArg` or already bound by `Function#bind`\n\t if (typeof thisArg == 'undefined' || !('prototype' in func)) {\n\t return func;\n\t }\n\t var bindData = func.__bindData__;\n\t if (typeof bindData == 'undefined') {\n\t if (support.funcNames) {\n\t bindData = !func.name;\n\t }\n\t bindData = bindData || !support.funcDecomp;\n\t if (!bindData) {\n\t var source = fnToString.call(func);\n\t if (!support.funcNames) {\n\t bindData = !reFuncName.test(source);\n\t }\n\t if (!bindData) {\n\t // checks if `func` references the `this` keyword and stores the result\n\t bindData = reThis.test(source);\n\t setBindData(func, bindData);\n\t }\n\t }\n\t }\n\t // exit early if there are no `this` references or `func` is bound\n\t if (bindData === false || (bindData !== true && bindData[1] & 1)) {\n\t return func;\n\t }\n\t switch (argCount) {\n\t case 1: return function(value) {\n\t return func.call(thisArg, value);\n\t };\n\t case 2: return function(a, b) {\n\t return func.call(thisArg, a, b);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(thisArg, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(thisArg, accumulator, value, index, collection);\n\t };\n\t }\n\t return bind(func, thisArg);\n\t}\n\t\n\tmodule.exports = baseCreateCallback;\n\n\n/***/ },\n/* 2 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/** Used to determine if values are of the language type Object */\n\tvar objectTypes = {\n\t 'boolean': false,\n\t 'function': true,\n\t 'object': true,\n\t 'number': false,\n\t 'string': false,\n\t 'undefined': false\n\t};\n\t\n\tmodule.exports = objectTypes;\n\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseCreateCallback = __webpack_require__(1),\n\t keys = __webpack_require__(7),\n\t objectTypes = __webpack_require__(2);\n\t\n\t/**\n\t * Iterates over own enumerable properties of an object, executing the callback\n\t * for each property. The callback is bound to `thisArg` and invoked with three\n\t * arguments; (value, key, object). Callbacks may exit iteration early by\n\t * explicitly returning `false`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @type Function\n\t * @category Objects\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} [callback=identity] The function called per iteration.\n\t * @param {*} [thisArg] The `this` binding of `callback`.\n\t * @returns {Object} Returns `object`.\n\t * @example\n\t *\n\t * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) {\n\t * console.log(key);\n\t * });\n\t * // => logs '0', '1', and 'length' (property order is not guaranteed across environments)\n\t */\n\tvar forOwn = function(collection, callback, thisArg) {\n\t var index, iterable = collection, result = iterable;\n\t if (!iterable) return result;\n\t if (!objectTypes[typeof iterable]) return result;\n\t callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);\n\t var ownIndex = -1,\n\t ownProps = objectTypes[typeof iterable] && keys(iterable),\n\t length = ownProps ? ownProps.length : 0;\n\t\n\t while (++ownIndex < length) {\n\t index = ownProps[ownIndex];\n\t if (callback(iterable[index], index, collection) === false) return result;\n\t }\n\t return result\n\t};\n\t\n\tmodule.exports = forOwn;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar objectTypes = __webpack_require__(2);\n\t\n\t/**\n\t * Checks if `value` is the language type of Object.\n\t * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Objects\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if the `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(1);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t // check if the value is the ECMAScript language type of Object\n\t // http://es5.github.io/#x8\n\t // and avoid a V8 bug\n\t // http://code.google.com/p/v8/issues/detail?id=2291\n\t return !!(value && objectTypes[typeof value]);\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/** Used for native method references */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the internal [[Class]] of values */\n\tvar toString = objectProto.toString;\n\t\n\t/** Used to detect if a method is native */\n\tvar reNative = RegExp('^' +\n\t String(toString)\n\t .replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n\t .replace(/toString| for [^\\]]+/g, '.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if the `value` is a native function, else `false`.\n\t */\n\tfunction isNative(value) {\n\t return typeof value == 'function' && reNative.test(value);\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/**\n\t * Slices the `collection` from the `start` index up to, but not including,\n\t * the `end` index.\n\t *\n\t * Note: This function is used instead of `Array#slice` to support node lists\n\t * in IE < 9 and to ensure dense arrays are returned.\n\t *\n\t * @private\n\t * @param {Array|Object|string} collection The collection to slice.\n\t * @param {number} start The start index.\n\t * @param {number} end The end index.\n\t * @returns {Array} Returns the new array.\n\t */\n\tfunction slice(array, start, end) {\n\t start || (start = 0);\n\t if (typeof end == 'undefined') {\n\t end = array ? array.length : 0;\n\t }\n\t var index = -1,\n\t length = end - start || 0,\n\t result = Array(length < 0 ? 0 : length);\n\t\n\t while (++index < length) {\n\t result[index] = array[start + index];\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = slice;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar isNative = __webpack_require__(5),\n\t isObject = __webpack_require__(4),\n\t shimKeys = __webpack_require__(47);\n\t\n\t/* Native method shortcuts for methods with the same name as other `lodash` methods */\n\tvar nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys;\n\t\n\t/**\n\t * Creates an array composed of the own enumerable property names of an object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Objects\n\t * @param {Object} object The object to inspect.\n\t * @returns {Array} Returns an array of property names.\n\t * @example\n\t *\n\t * _.keys({ 'one': 1, 'two': 2, 'three': 3 });\n\t * // => ['one', 'two', 'three'] (property order is not guaranteed across environments)\n\t */\n\tvar keys = !nativeKeys ? shimKeys : function(object) {\n\t if (!isObject(object)) {\n\t return [];\n\t }\n\t return nativeKeys(object);\n\t};\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseCreateCallback = __webpack_require__(1),\n\t forOwn = __webpack_require__(3);\n\t\n\t/**\n\t * Iterates over elements of a collection, executing the callback for each\n\t * element. The callback is bound to `thisArg` and invoked with three arguments;\n\t * (value, index|key, collection). Callbacks may exit iteration early by\n\t * explicitly returning `false`.\n\t *\n\t * Note: As with other \"Collections\" methods, objects with a `length` property\n\t * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn`\n\t * may be used for object iteration.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @alias each\n\t * @category Collections\n\t * @param {Array|Object|string} collection The collection to iterate over.\n\t * @param {Function} [callback=identity] The function called per iteration.\n\t * @param {*} [thisArg] The `this` binding of `callback`.\n\t * @returns {Array|Object|string} Returns `collection`.\n\t * @example\n\t *\n\t * _([1, 2, 3]).forEach(function(num) { console.log(num); }).join(',');\n\t * // => logs each number and returns '1,2,3'\n\t *\n\t * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { console.log(num); });\n\t * // => logs each number and returns the object (property order is not guaranteed across environments)\n\t */\n\tfunction forEach(collection, callback, thisArg) {\n\t var index = -1,\n\t length = collection ? collection.length : 0;\n\t\n\t callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);\n\t if (typeof length == 'number') {\n\t while (++index < length) {\n\t if (callback(collection[index], index, collection) === false) {\n\t break;\n\t }\n\t }\n\t } else {\n\t forOwn(collection, callback);\n\t }\n\t return collection;\n\t}\n\t\n\tmodule.exports = forEach;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseCreateCallback = __webpack_require__(1),\n\t baseIsEqual = __webpack_require__(42),\n\t isObject = __webpack_require__(4),\n\t keys = __webpack_require__(7),\n\t property = __webpack_require__(56);\n\t\n\t/**\n\t * Produces a callback bound to an optional `thisArg`. If `func` is a property\n\t * name the created callback will return the property value for a given element.\n\t * If `func` is an object the created callback will return `true` for elements\n\t * that contain the equivalent object properties, otherwise it will return `false`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utilities\n\t * @param {*} [func=identity] The value to convert to a callback.\n\t * @param {*} [thisArg] The `this` binding of the created callback.\n\t * @param {number} [argCount] The number of arguments the callback accepts.\n\t * @returns {Function} Returns a callback function.\n\t * @example\n\t *\n\t * var characters = [\n\t * { 'name': 'barney', 'age': 36 },\n\t * { 'name': 'fred', 'age': 40 }\n\t * ];\n\t *\n\t * // wrap to create custom callback shorthands\n\t * _.createCallback = _.wrap(_.createCallback, function(func, callback, thisArg) {\n\t * var match = /^(.+?)__([gl]t)(.+)$/.exec(callback);\n\t * return !match ? func(callback, thisArg) : function(object) {\n\t * return match[2] == 'gt' ? object[match[1]] > match[3] : object[match[1]] < match[3];\n\t * };\n\t * });\n\t *\n\t * _.filter(characters, 'age__gt38');\n\t * // => [{ 'name': 'fred', 'age': 40 }]\n\t */\n\tfunction createCallback(func, thisArg, argCount) {\n\t var type = typeof func;\n\t if (func == null || type == 'function') {\n\t return baseCreateCallback(func, thisArg, argCount);\n\t }\n\t // handle \"_.pluck\" style callback shorthands\n\t if (type != 'object') {\n\t return property(func);\n\t }\n\t var props = keys(func),\n\t key = props[0],\n\t a = func[key];\n\t\n\t // handle \"_.where\" style callback shorthands\n\t if (props.length == 1 && a === a && !isObject(a)) {\n\t // fast path the common case of providing an object with a single\n\t // property containing a primitive value\n\t return function(object) {\n\t var b = object[key];\n\t return a === b && (a !== 0 || (1 / a == 1 / b));\n\t };\n\t }\n\t return function(object) {\n\t var length = props.length,\n\t result = false;\n\t\n\t while (length--) {\n\t if (!(result = baseIsEqual(object[props[length]], func[props[length]], null, true))) {\n\t break;\n\t }\n\t }\n\t return result;\n\t };\n\t}\n\t\n\tmodule.exports = createCallback;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar arrayPool = __webpack_require__(16);\n\t\n\t/**\n\t * Gets an array from the array pool or creates a new one if the pool is empty.\n\t *\n\t * @private\n\t * @returns {Array} The array from the pool.\n\t */\n\tfunction getArray() {\n\t return arrayPool.pop() || [];\n\t}\n\t\n\tmodule.exports = getArray;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar arrayPool = __webpack_require__(16),\n\t maxPoolSize = __webpack_require__(22);\n\t\n\t/**\n\t * Releases the given array back to the array pool.\n\t *\n\t * @private\n\t * @param {Array} [array] The array to release.\n\t */\n\tfunction releaseArray(array) {\n\t array.length = 0;\n\t if (arrayPool.length < maxPoolSize) {\n\t arrayPool.push(array);\n\t }\n\t}\n\t\n\tmodule.exports = releaseArray;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/**\n\t * The base implementation of `_.indexOf` without support for binary searches\n\t * or `fromIndex` constraints.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} value The value to search for.\n\t * @param {number} [fromIndex=0] The index to search from.\n\t * @returns {number} Returns the index of the matched value or `-1`.\n\t */\n\tfunction baseIndexOf(array, value, fromIndex) {\n\t var index = (fromIndex || 0) - 1,\n\t length = array ? array.length : 0;\n\t\n\t while (++index < length) {\n\t if (array[index] === value) {\n\t return index;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\tmodule.exports = baseIndexOf;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar maxPoolSize = __webpack_require__(22),\n\t objectPool = __webpack_require__(23);\n\t\n\t/**\n\t * Releases the given object back to the object pool.\n\t *\n\t * @private\n\t * @param {Object} [object] The object to release.\n\t */\n\tfunction releaseObject(object) {\n\t var cache = object.cache;\n\t if (cache) {\n\t releaseObject(cache);\n\t }\n\t object.array = object.cache = object.criteria = object.object = object.number = object.string = object.value = null;\n\t if (objectPool.length < maxPoolSize) {\n\t objectPool.push(object);\n\t }\n\t}\n\t\n\tmodule.exports = releaseObject;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar isNative = __webpack_require__(5),\n\t noop = __webpack_require__(26);\n\t\n\t/** Used as the property descriptor for `__bindData__` */\n\tvar descriptor = {\n\t 'configurable': false,\n\t 'enumerable': false,\n\t 'value': null,\n\t 'writable': false\n\t};\n\t\n\t/** Used to set meta data on functions */\n\tvar defineProperty = (function() {\n\t // IE 8 only accepts DOM elements\n\t try {\n\t var o = {},\n\t func = isNative(func = Object.defineProperty) && func,\n\t result = func(o, o, o) && func;\n\t } catch(e) { }\n\t return result;\n\t}());\n\t\n\t/**\n\t * Sets `this` binding data on a given function.\n\t *\n\t * @private\n\t * @param {Function} func The function to set data on.\n\t * @param {Array} value The data array to set.\n\t */\n\tvar setBindData = !defineProperty ? noop : function(func, value) {\n\t descriptor.value = value;\n\t defineProperty(func, '__bindData__', descriptor);\n\t};\n\t\n\tmodule.exports = setBindData;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar _clone = __webpack_require__(49),\n\t _mapValues = __webpack_require__(53),\n\t _forOwn = __webpack_require__(3),\n\t _intersection = __webpack_require__(34),\n\t _keys = __webpack_require__(7),\n\t _map = __webpack_require__(36),\n\t _each = __webpack_require__(8),\n\t _size = __webpack_require__(37),\n\t _findKey = __webpack_require__(50),\n\t _uniq = __webpack_require__(35);\n\t\n\tvar Dispatcher = function(stores) {\n\t this.stores = stores;\n\t this.currentDispatch = null;\n\t this.waitingToDispatch = [];\n\t\n\t for (var key in stores) {\n\t if (stores.hasOwnProperty(key)) {\n\t stores[key].dispatcher = this;\n\t }\n\t }\n\t};\n\t\n\tDispatcher.prototype.dispatch = function(action) {\n\t if (this.currentDispatch) {\n\t throw new Error(\"Cannot dispatch an action while another action is being dispatched\");\n\t }\n\t\n\t if (!action || !action.type) {\n\t throw new Error(\"Can only dispatch actions with a 'type' property\");\n\t }\n\t\n\t this.waitingToDispatch = _clone(this.stores);\n\t\n\t this.currentDispatch = _mapValues(this.stores, function() {\n\t return { resolved: false, waitingOn: [], waitCallback: null };\n\t });\n\t\n\t try {\n\t this.doDispatchLoop(action);\n\t } finally {\n\t this.currentDispatch = null;\n\t }\n\t};\n\t\n\tDispatcher.prototype.doDispatchLoop = function(action) {\n\t var dispatch, canBeDispatchedTo,\n\t removeFromDispatchQueue = [], dispatchedThisLoop = [];\n\t\n\t _forOwn(this.waitingToDispatch, function(value, key) {\n\t dispatch = this.currentDispatch[key];\n\t canBeDispatchedTo = !dispatch.waitingOn.length ||\n\t !_intersection(dispatch.waitingOn, _keys(this.waitingToDispatch)).length;\n\t if (canBeDispatchedTo) {\n\t if (dispatch.waitCallback) {\n\t var stores = _map(dispatch.waitingOn, function(key) {\n\t return this.stores[key];\n\t }, this);\n\t var fn = dispatch.waitCallback;\n\t dispatch.waitCallback = null;\n\t dispatch.waitingOn = [];\n\t dispatch.resolved = true;\n\t fn.apply(null, stores);\n\t } else {\n\t dispatch.resolved = true;\n\t this.stores[key].__handleAction__(action);\n\t }\n\t\n\t dispatchedThisLoop.push(key);\n\t\n\t if (this.currentDispatch[key].resolved) {\n\t removeFromDispatchQueue.push(key);\n\t }\n\t }\n\t }, this);\n\t\n\t if (!dispatchedThisLoop.length) {\n\t var storesWithCircularWaits = _keys(this.waitingToDispatch).join(\", \");\n\t throw new Error(\"Indirect circular wait detected among: \" + storesWithCircularWaits);\n\t }\n\t\n\t _each(removeFromDispatchQueue, function(key) {\n\t delete this.waitingToDispatch[key];\n\t }, this);\n\t\n\t if (_size(this.waitingToDispatch)) {\n\t this.doDispatchLoop(action);\n\t }\n\t};\n\t\n\tDispatcher.prototype.waitForStores = function(store, stores, fn) {\n\t if (!this.currentDispatch) {\n\t throw new Error(\"Cannot wait unless an action is being dispatched\");\n\t }\n\t\n\t var waitingStoreName = _findKey(this.stores, function(val) {\n\t return val === store;\n\t });\n\t\n\t if (stores.indexOf(waitingStoreName) > -1) {\n\t throw new Error(\"A store cannot wait on itself\");\n\t }\n\t\n\t var dispatch = this.currentDispatch[waitingStoreName];\n\t\n\t if (dispatch.waitingOn.length) {\n\t throw new Error(waitingStoreName + \" already waiting on stores\");\n\t }\n\t\n\t _each(stores, function(storeName) {\n\t var storeDispatch = this.currentDispatch[storeName];\n\t if (!this.stores[storeName]) {\n\t throw new Error(\"Cannot wait for non-existent store \" + storeName);\n\t }\n\t if (storeDispatch.waitingOn.indexOf(waitingStoreName) > -1) {\n\t throw new Error(\"Circular wait detected between \" + waitingStoreName + \" and \" + storeName);\n\t }\n\t }, this);\n\t\n\t dispatch.resolved = false;\n\t dispatch.waitingOn = _uniq(dispatch.waitingOn.concat(stores));\n\t dispatch.waitCallback = fn;\n\t};\n\t\n\tmodule.exports = Dispatcher;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/** Used to pool arrays and objects used internally */\n\tvar arrayPool = [];\n\t\n\tmodule.exports = arrayPool;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar isNative = __webpack_require__(5),\n\t isObject = __webpack_require__(4),\n\t noop = __webpack_require__(26);\n\t\n\t/* Native method shortcuts for methods with the same name as other `lodash` methods */\n\tvar nativeCreate = isNative(nativeCreate = Object.create) && nativeCreate;\n\t\n\t/**\n\t * The base implementation of `_.create` without support for assigning\n\t * properties to the created object.\n\t *\n\t * @private\n\t * @param {Object} prototype The object to inherit from.\n\t * @returns {Object} Returns the new object.\n\t */\n\tfunction baseCreate(prototype, properties) {\n\t return isObject(prototype) ? nativeCreate(prototype) : {};\n\t}\n\t// fallback for browsers without `Object.create`\n\tif (!nativeCreate) {\n\t baseCreate = (function() {\n\t function Object() {}\n\t return function(prototype) {\n\t if (isObject(prototype)) {\n\t Object.prototype = prototype;\n\t var result = new Object;\n\t Object.prototype = null;\n\t }\n\t return result || global.Object();\n\t };\n\t }());\n\t}\n\t\n\tmodule.exports = baseCreate;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 18 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseIndexOf = __webpack_require__(12),\n\t keyPrefix = __webpack_require__(20);\n\t\n\t/**\n\t * An implementation of `_.contains` for cache objects that mimics the return\n\t * signature of `_.indexOf` by returning `0` if the value is found, else `-1`.\n\t *\n\t * @private\n\t * @param {Object} cache The cache object to inspect.\n\t * @param {*} value The value to search for.\n\t * @returns {number} Returns `0` if `value` is found, else `-1`.\n\t */\n\tfunction cacheIndexOf(cache, value) {\n\t var type = typeof value;\n\t cache = cache.cache;\n\t\n\t if (type == 'boolean' || value == null) {\n\t return cache[value] ? 0 : -1;\n\t }\n\t if (type != 'number' && type != 'string') {\n\t type = 'object';\n\t }\n\t var key = type == 'number' ? value : keyPrefix + value;\n\t cache = (cache = cache[type]) && cache[key];\n\t\n\t return type == 'object'\n\t ? (cache && baseIndexOf(cache, value) > -1 ? 0 : -1)\n\t : (cache ? 0 : -1);\n\t}\n\t\n\tmodule.exports = cacheIndexOf;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar cachePush = __webpack_require__(44),\n\t getObject = __webpack_require__(46),\n\t releaseObject = __webpack_require__(13);\n\t\n\t/**\n\t * Creates a cache object to optimize linear searches of large arrays.\n\t *\n\t * @private\n\t * @param {Array} [array=[]] The array to search.\n\t * @returns {null|Object} Returns the cache object or `null` if caching should not be used.\n\t */\n\tfunction createCache(array) {\n\t var index = -1,\n\t length = array.length,\n\t first = array[0],\n\t mid = array[(length / 2) | 0],\n\t last = array[length - 1];\n\t\n\t if (first && typeof first == 'object' &&\n\t mid && typeof mid == 'object' && last && typeof last == 'object') {\n\t return false;\n\t }\n\t var cache = getObject();\n\t cache['false'] = cache['null'] = cache['true'] = cache['undefined'] = false;\n\t\n\t var result = getObject();\n\t result.array = array;\n\t result.cache = cache;\n\t result.push = cachePush;\n\t\n\t while (++index < length) {\n\t result.push(array[index]);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = createCache;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/** Used to prefix keys to avoid issues with `__proto__` and properties on `Object.prototype` */\n\tvar keyPrefix = +new Date + '';\n\t\n\tmodule.exports = keyPrefix;\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/** Used as the size when optimizations are enabled for large arrays */\n\tvar largeArraySize = 75;\n\t\n\tmodule.exports = largeArraySize;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/** Used as the max size of the `arrayPool` and `objectPool` */\n\tvar maxPoolSize = 40;\n\t\n\tmodule.exports = maxPoolSize;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/** Used to pool arrays and objects used internally */\n\tvar objectPool = [];\n\t\n\tmodule.exports = objectPool;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar isNative = __webpack_require__(5);\n\t\n\t/** `Object#toString` result shortcuts */\n\tvar arrayClass = '[object Array]';\n\t\n\t/** Used for native method references */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the internal [[Class]] of values */\n\tvar toString = objectProto.toString;\n\t\n\t/* Native method shortcuts for methods with the same name as other `lodash` methods */\n\tvar nativeIsArray = isNative(nativeIsArray = Array.isArray) && nativeIsArray;\n\t\n\t/**\n\t * Checks if `value` is an array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @type Function\n\t * @category Objects\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if the `value` is an array, else `false`.\n\t * @example\n\t *\n\t * (function() { return _.isArray(arguments); })();\n\t * // => false\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t */\n\tvar isArray = nativeIsArray || function(value) {\n\t return value && typeof value == 'object' && typeof value.length == 'number' &&\n\t toString.call(value) == arrayClass || false;\n\t};\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/**\n\t * Checks if `value` is a function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Objects\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if the `value` is a function, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t */\n\tfunction isFunction(value) {\n\t return typeof value == 'function';\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/**\n\t * A no-operation function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utilities\n\t * @example\n\t *\n\t * var object = { 'name': 'fred' };\n\t * _.noop(object) === undefined;\n\t * // => true\n\t */\n\tfunction noop() {\n\t // no operation performed\n\t}\n\t\n\tmodule.exports = noop;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(global, process) {// Copyright Joyent, Inc. and other Node contributors.\n\t//\n\t// Permission is hereby granted, free of charge, to any person obtaining a\n\t// copy of this software and associated documentation files (the\n\t// \"Software\"), to deal in the Software without restriction, including\n\t// without limitation the rights to use, copy, modify, merge, publish,\n\t// distribute, sublicense, and/or sell copies of the Software, and to permit\n\t// persons to whom the Software is furnished to do so, subject to the\n\t// following conditions:\n\t//\n\t// The above copyright notice and this permission notice shall be included\n\t// in all copies or substantial portions of the Software.\n\t//\n\t// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n\t// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n\t// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n\t// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n\t// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n\t// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n\t// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\t\n\tvar formatRegExp = /%[sdj%]/g;\n\texports.format = function(f) {\n\t if (!isString(f)) {\n\t var objects = [];\n\t for (var i = 0; i < arguments.length; i++) {\n\t objects.push(inspect(arguments[i]));\n\t }\n\t return objects.join(' ');\n\t }\n\t\n\t var i = 1;\n\t var args = arguments;\n\t var len = args.length;\n\t var str = String(f).replace(formatRegExp, function(x) {\n\t if (x === '%%') return '%';\n\t if (i >= len) return x;\n\t switch (x) {\n\t case '%s': return String(args[i++]);\n\t case '%d': return Number(args[i++]);\n\t case '%j':\n\t try {\n\t return JSON.stringify(args[i++]);\n\t } catch (_) {\n\t return '[Circular]';\n\t }\n\t default:\n\t return x;\n\t }\n\t });\n\t for (var x = args[i]; i < len; x = args[++i]) {\n\t if (isNull(x) || !isObject(x)) {\n\t str += ' ' + x;\n\t } else {\n\t str += ' ' + inspect(x);\n\t }\n\t }\n\t return str;\n\t};\n\t\n\t\n\t// Mark that a method should not be used.\n\t// Returns a modified function which warns once by default.\n\t// If --no-deprecation is set, then it is a no-op.\n\texports.deprecate = function(fn, msg) {\n\t // Allow for deprecating things in the process of starting up.\n\t if (isUndefined(global.process)) {\n\t return function() {\n\t return exports.deprecate(fn, msg).apply(this, arguments);\n\t };\n\t }\n\t\n\t if (process.noDeprecation === true) {\n\t return fn;\n\t }\n\t\n\t var warned = false;\n\t function deprecated() {\n\t if (!warned) {\n\t if (process.throwDeprecation) {\n\t throw new Error(msg);\n\t } else if (process.traceDeprecation) {\n\t console.trace(msg);\n\t } else {\n\t console.error(msg);\n\t }\n\t warned = true;\n\t }\n\t return fn.apply(this, arguments);\n\t }\n\t\n\t return deprecated;\n\t};\n\t\n\t\n\tvar debugs = {};\n\tvar debugEnviron;\n\texports.debuglog = function(set) {\n\t if (isUndefined(debugEnviron))\n\t debugEnviron = process.env.NODE_DEBUG || '';\n\t set = set.toUpperCase();\n\t if (!debugs[set]) {\n\t if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n\t var pid = process.pid;\n\t debugs[set] = function() {\n\t var msg = exports.format.apply(exports, arguments);\n\t console.error('%s %d: %s', set, pid, msg);\n\t };\n\t } else {\n\t debugs[set] = function() {};\n\t }\n\t }\n\t return debugs[set];\n\t};\n\t\n\t\n\t/**\n\t * Echos the value of a value. Trys to print the value out\n\t * in the best way possible given the different types.\n\t *\n\t * @param {Object} obj The object to print out.\n\t * @param {Object} opts Optional options object that alters the output.\n\t */\n\t/* legacy: obj, showHidden, depth, colors*/\n\tfunction inspect(obj, opts) {\n\t // default options\n\t var ctx = {\n\t seen: [],\n\t stylize: stylizeNoColor\n\t };\n\t // legacy...\n\t if (arguments.length >= 3) ctx.depth = arguments[2];\n\t if (arguments.length >= 4) ctx.colors = arguments[3];\n\t if (isBoolean(opts)) {\n\t // legacy...\n\t ctx.showHidden = opts;\n\t } else if (opts) {\n\t // got an \"options\" object\n\t exports._extend(ctx, opts);\n\t }\n\t // set default options\n\t if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n\t if (isUndefined(ctx.depth)) ctx.depth = 2;\n\t if (isUndefined(ctx.colors)) ctx.colors = false;\n\t if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n\t if (ctx.colors) ctx.stylize = stylizeWithColor;\n\t return formatValue(ctx, obj, ctx.depth);\n\t}\n\texports.inspect = inspect;\n\t\n\t\n\t// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\n\tinspect.colors = {\n\t 'bold' : [1, 22],\n\t 'italic' : [3, 23],\n\t 'underline' : [4, 24],\n\t 'inverse' : [7, 27],\n\t 'white' : [37, 39],\n\t 'grey' : [90, 39],\n\t 'black' : [30, 39],\n\t 'blue' : [34, 39],\n\t 'cyan' : [36, 39],\n\t 'green' : [32, 39],\n\t 'magenta' : [35, 39],\n\t 'red' : [31, 39],\n\t 'yellow' : [33, 39]\n\t};\n\t\n\t// Don't use 'blue' not visible on cmd.exe\n\tinspect.styles = {\n\t 'special': 'cyan',\n\t 'number': 'yellow',\n\t 'boolean': 'yellow',\n\t 'undefined': 'grey',\n\t 'null': 'bold',\n\t 'string': 'green',\n\t 'date': 'magenta',\n\t // \"name\": intentionally not styling\n\t 'regexp': 'red'\n\t};\n\t\n\t\n\tfunction stylizeWithColor(str, styleType) {\n\t var style = inspect.styles[styleType];\n\t\n\t if (style) {\n\t return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n\t '\\u001b[' + inspect.colors[style][1] + 'm';\n\t } else {\n\t return str;\n\t }\n\t}\n\t\n\t\n\tfunction stylizeNoColor(str, styleType) {\n\t return str;\n\t}\n\t\n\t\n\tfunction arrayToHash(array) {\n\t var hash = {};\n\t\n\t array.forEach(function(val, idx) {\n\t hash[val] = true;\n\t });\n\t\n\t return hash;\n\t}\n\t\n\t\n\tfunction formatValue(ctx, value, recurseTimes) {\n\t // Provide a hook for user-specified inspect functions.\n\t // Check that value is an object with an inspect function on it\n\t if (ctx.customInspect &&\n\t value &&\n\t isFunction(value.inspect) &&\n\t // Filter out the util module, it's inspect function is special\n\t value.inspect !== exports.inspect &&\n\t // Also filter out any prototype objects using the circular check.\n\t !(value.constructor && value.constructor.prototype === value)) {\n\t var ret = value.inspect(recurseTimes, ctx);\n\t if (!isString(ret)) {\n\t ret = formatValue(ctx, ret, recurseTimes);\n\t }\n\t return ret;\n\t }\n\t\n\t // Primitive types cannot have properties\n\t var primitive = formatPrimitive(ctx, value);\n\t if (primitive) {\n\t return primitive;\n\t }\n\t\n\t // Look up the keys of the object.\n\t var keys = Object.keys(value);\n\t var visibleKeys = arrayToHash(keys);\n\t\n\t if (ctx.showHidden) {\n\t keys = Object.getOwnPropertyNames(value);\n\t }\n\t\n\t // IE doesn't make error fields non-enumerable\n\t // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n\t if (isError(value)\n\t && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n\t return formatError(value);\n\t }\n\t\n\t // Some type of object without properties can be shortcutted.\n\t if (keys.length === 0) {\n\t if (isFunction(value)) {\n\t var name = value.name ? ': ' + value.name : '';\n\t return ctx.stylize('[Function' + name + ']', 'special');\n\t }\n\t if (isRegExp(value)) {\n\t return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n\t }\n\t if (isDate(value)) {\n\t return ctx.stylize(Date.prototype.toString.call(value), 'date');\n\t }\n\t if (isError(value)) {\n\t return formatError(value);\n\t }\n\t }\n\t\n\t var base = '', array = false, braces = ['{', '}'];\n\t\n\t // Make Array say that they are Array\n\t if (isArray(value)) {\n\t array = true;\n\t braces = ['[', ']'];\n\t }\n\t\n\t // Make functions say that they are functions\n\t if (isFunction(value)) {\n\t var n = value.name ? ': ' + value.name : '';\n\t base = ' [Function' + n + ']';\n\t }\n\t\n\t // Make RegExps say that they are RegExps\n\t if (isRegExp(value)) {\n\t base = ' ' + RegExp.prototype.toString.call(value);\n\t }\n\t\n\t // Make dates with properties first say the date\n\t if (isDate(value)) {\n\t base = ' ' + Date.prototype.toUTCString.call(value);\n\t }\n\t\n\t // Make error with message first say the error\n\t if (isError(value)) {\n\t base = ' ' + formatError(value);\n\t }\n\t\n\t if (keys.length === 0 && (!array || value.length == 0)) {\n\t return braces[0] + base + braces[1];\n\t }\n\t\n\t if (recurseTimes < 0) {\n\t if (isRegExp(value)) {\n\t return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n\t } else {\n\t return ctx.stylize('[Object]', 'special');\n\t }\n\t }\n\t\n\t ctx.seen.push(value);\n\t\n\t var output;\n\t if (array) {\n\t output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n\t } else {\n\t output = keys.map(function(key) {\n\t return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n\t });\n\t }\n\t\n\t ctx.seen.pop();\n\t\n\t return reduceToSingleString(output, base, braces);\n\t}\n\t\n\t\n\tfunction formatPrimitive(ctx, value) {\n\t if (isUndefined(value))\n\t return ctx.stylize('undefined', 'undefined');\n\t if (isString(value)) {\n\t var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n\t .replace(/'/g, \"\\\\'\")\n\t .replace(/\\\\\"/g, '\"') + '\\'';\n\t return ctx.stylize(simple, 'string');\n\t }\n\t if (isNumber(value))\n\t return ctx.stylize('' + value, 'number');\n\t if (isBoolean(value))\n\t return ctx.stylize('' + value, 'boolean');\n\t // For some reason typeof null is \"object\", so special case here.\n\t if (isNull(value))\n\t return ctx.stylize('null', 'null');\n\t}\n\t\n\t\n\tfunction formatError(value) {\n\t return '[' + Error.prototype.toString.call(value) + ']';\n\t}\n\t\n\t\n\tfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n\t var output = [];\n\t for (var i = 0, l = value.length; i < l; ++i) {\n\t if (hasOwnProperty(value, String(i))) {\n\t output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n\t String(i), true));\n\t } else {\n\t output.push('');\n\t }\n\t }\n\t keys.forEach(function(key) {\n\t if (!key.match(/^\\d+$/)) {\n\t output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n\t key, true));\n\t }\n\t });\n\t return output;\n\t}\n\t\n\t\n\tfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n\t var name, str, desc;\n\t desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n\t if (desc.get) {\n\t if (desc.set) {\n\t str = ctx.stylize('[Getter/Setter]', 'special');\n\t } else {\n\t str = ctx.stylize('[Getter]', 'special');\n\t }\n\t } else {\n\t if (desc.set) {\n\t str = ctx.stylize('[Setter]', 'special');\n\t }\n\t }\n\t if (!hasOwnProperty(visibleKeys, key)) {\n\t name = '[' + key + ']';\n\t }\n\t if (!str) {\n\t if (ctx.seen.indexOf(desc.value) < 0) {\n\t if (isNull(recurseTimes)) {\n\t str = formatValue(ctx, desc.value, null);\n\t } else {\n\t str = formatValue(ctx, desc.value, recurseTimes - 1);\n\t }\n\t if (str.indexOf('\\n') > -1) {\n\t if (array) {\n\t str = str.split('\\n').map(function(line) {\n\t return ' ' + line;\n\t }).join('\\n').substr(2);\n\t } else {\n\t str = '\\n' + str.split('\\n').map(function(line) {\n\t return ' ' + line;\n\t }).join('\\n');\n\t }\n\t }\n\t } else {\n\t str = ctx.stylize('[Circular]', 'special');\n\t }\n\t }\n\t if (isUndefined(name)) {\n\t if (array && key.match(/^\\d+$/)) {\n\t return str;\n\t }\n\t name = JSON.stringify('' + key);\n\t if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n\t name = name.substr(1, name.length - 2);\n\t name = ctx.stylize(name, 'name');\n\t } else {\n\t name = name.replace(/'/g, \"\\\\'\")\n\t .replace(/\\\\\"/g, '\"')\n\t .replace(/(^\"|\"$)/g, \"'\");\n\t name = ctx.stylize(name, 'string');\n\t }\n\t }\n\t\n\t return name + ': ' + str;\n\t}\n\t\n\t\n\tfunction reduceToSingleString(output, base, braces) {\n\t var numLinesEst = 0;\n\t var length = output.reduce(function(prev, cur) {\n\t numLinesEst++;\n\t if (cur.indexOf('\\n') >= 0) numLinesEst++;\n\t return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n\t }, 0);\n\t\n\t if (length > 60) {\n\t return braces[0] +\n\t (base === '' ? '' : base + '\\n ') +\n\t ' ' +\n\t output.join(',\\n ') +\n\t ' ' +\n\t braces[1];\n\t }\n\t\n\t return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n\t}\n\t\n\t\n\t// NOTE: These type checking functions intentionally don't use `instanceof`\n\t// because it is fragile and can be easily faked with `Object.create()`.\n\tfunction isArray(ar) {\n\t return Array.isArray(ar);\n\t}\n\texports.isArray = isArray;\n\t\n\tfunction isBoolean(arg) {\n\t return typeof arg === 'boolean';\n\t}\n\texports.isBoolean = isBoolean;\n\t\n\tfunction isNull(arg) {\n\t return arg === null;\n\t}\n\texports.isNull = isNull;\n\t\n\tfunction isNullOrUndefined(arg) {\n\t return arg == null;\n\t}\n\texports.isNullOrUndefined = isNullOrUndefined;\n\t\n\tfunction isNumber(arg) {\n\t return typeof arg === 'number';\n\t}\n\texports.isNumber = isNumber;\n\t\n\tfunction isString(arg) {\n\t return typeof arg === 'string';\n\t}\n\texports.isString = isString;\n\t\n\tfunction isSymbol(arg) {\n\t return typeof arg === 'symbol';\n\t}\n\texports.isSymbol = isSymbol;\n\t\n\tfunction isUndefined(arg) {\n\t return arg === void 0;\n\t}\n\texports.isUndefined = isUndefined;\n\t\n\tfunction isRegExp(re) {\n\t return isObject(re) && objectToString(re) === '[object RegExp]';\n\t}\n\texports.isRegExp = isRegExp;\n\t\n\tfunction isObject(arg) {\n\t return typeof arg === 'object' && arg !== null;\n\t}\n\texports.isObject = isObject;\n\t\n\tfunction isDate(d) {\n\t return isObject(d) && objectToString(d) === '[object Date]';\n\t}\n\texports.isDate = isDate;\n\t\n\tfunction isError(e) {\n\t return isObject(e) &&\n\t (objectToString(e) === '[object Error]' || e instanceof Error);\n\t}\n\texports.isError = isError;\n\t\n\tfunction isFunction(arg) {\n\t return typeof arg === 'function';\n\t}\n\texports.isFunction = isFunction;\n\t\n\tfunction isPrimitive(arg) {\n\t return arg === null ||\n\t typeof arg === 'boolean' ||\n\t typeof arg === 'number' ||\n\t typeof arg === 'string' ||\n\t typeof arg === 'symbol' || // ES6 symbol\n\t typeof arg === 'undefined';\n\t}\n\texports.isPrimitive = isPrimitive;\n\t\n\texports.isBuffer = __webpack_require__(60);\n\t\n\tfunction objectToString(o) {\n\t return Object.prototype.toString.call(o);\n\t}\n\t\n\t\n\tfunction pad(n) {\n\t return n < 10 ? '0' + n.toString(10) : n.toString(10);\n\t}\n\t\n\t\n\tvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n\t 'Oct', 'Nov', 'Dec'];\n\t\n\t// 26 Feb 16:19:34\n\tfunction timestamp() {\n\t var d = new Date();\n\t var time = [pad(d.getHours()),\n\t pad(d.getMinutes()),\n\t pad(d.getSeconds())].join(':');\n\t return [d.getDate(), months[d.getMonth()], time].join(' ');\n\t}\n\t\n\t\n\t// log is just a thin wrapper to console.log that prepends a timestamp\n\texports.log = function() {\n\t console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n\t};\n\t\n\t\n\t/**\n\t * Inherit the prototype methods from one constructor into another.\n\t *\n\t * The Function.prototype.inherits from lang.js rewritten as a standalone\n\t * function (not on Function.prototype). NOTE: If this file is to be loaded\n\t * during bootstrapping this function needs to be rewritten using some native\n\t * functions as prototype setup using normal JavaScript does not work as\n\t * expected during bootstrapping (see mirror.js in r114903).\n\t *\n\t * @param {function} ctor Constructor function which needs to inherit the\n\t * prototype.\n\t * @param {function} superCtor Constructor function to inherit prototype from.\n\t */\n\texports.inherits = __webpack_require__(59);\n\t\n\texports._extend = function(origin, add) {\n\t // Don't do anything if add isn't an object\n\t if (!add || !isObject(add)) return origin;\n\t\n\t var keys = Object.keys(add);\n\t var i = keys.length;\n\t while (i--) {\n\t origin[keys[i]] = add[keys[i]];\n\t }\n\t return origin;\n\t};\n\t\n\tfunction hasOwnProperty(obj, prop) {\n\t return Object.prototype.hasOwnProperty.call(obj, prop);\n\t}\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(58)))\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar _each = __webpack_require__(8),\n\t Store = __webpack_require__(32),\n\t util = __webpack_require__(27);\n\t\n\tvar RESERVED_KEYS = [\"flux\", \"waitFor\"];\n\t\n\tvar createStore = function(spec) {\n\t _each(RESERVED_KEYS, function(key) {\n\t if (spec[key]) {\n\t throw new Error(\"Reserved key '\" + key + \"' found in store definition\");\n\t }\n\t });\n\t\n\t var constructor = function(options) {\n\t options = options || {};\n\t Store.call(this);\n\t\n\t for (var key in spec) {\n\t if (key === \"actions\") {\n\t this.__actions__ = spec[key];\n\t } else if (key === \"initialize\") {\n\t // do nothing\n\t } else if (typeof spec[key] === \"function\") {\n\t this[key] = spec[key].bind(this);\n\t } else {\n\t this[key] = spec[key];\n\t }\n\t }\n\t\n\t if (spec.initialize) {\n\t spec.initialize.call(this, options);\n\t }\n\t };\n\t\n\t util.inherits(constructor, Store);\n\t return constructor;\n\t};\n\t\n\tmodule.exports = createStore;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Dispatcher = __webpack_require__(15);\n\t\n\tfunction bindActions(target, actions, dispatchBinder) {\n\t for (var key in actions) {\n\t if (actions.hasOwnProperty(key)) {\n\t if (typeof actions[key] === \"function\") {\n\t target[key] = actions[key].bind(dispatchBinder);\n\t } else if (typeof actions[key] === \"object\") {\n\t target[key] = {};\n\t bindActions(target[key], actions[key], dispatchBinder);\n\t }\n\t }\n\t }\n\t}\n\t\n\tvar Flux = function(stores, actions) {\n\t var dispatcher = new Dispatcher(stores),\n\t dispatchBinder = {\n\t flux: this,\n\t dispatch: function(type, payload) {\n\t dispatcher.dispatch({type: type, payload: payload});\n\t }\n\t };\n\t\n\t this.dispatcher = dispatcher;\n\t this.actions = {};\n\t this.stores = stores;\n\t\n\t bindActions(this.actions, actions, dispatchBinder);\n\t\n\t for (var key in stores) {\n\t if (stores.hasOwnProperty(key)) {\n\t stores[key].flux = this;\n\t }\n\t }\n\t};\n\t\n\tFlux.prototype.store = function(name) {\n\t return this.stores[name];\n\t};\n\t\n\tmodule.exports = Flux;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar FluxChildMixin = function(React) {\n\t return {\n\t contextTypes: {\n\t flux: React.PropTypes.object\n\t },\n\t\n\t getFlux: function() {\n\t return this.context.flux;\n\t }\n\t };\n\t};\n\t\n\tFluxChildMixin.componentWillMount = function() {\n\t throw new Error(\"Fluxxor.FluxChildMixin is a function that takes React as a \" +\n\t \"parameter and returns the mixin, e.g.: mixins[Fluxxor.FluxChildMixin(React)]\");\n\t};\n\t\n\tmodule.exports = FluxChildMixin;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar FluxMixin = function(React) {\n\t return {\n\t propTypes: {\n\t flux: React.PropTypes.object.isRequired\n\t },\n\t\n\t childContextTypes: {\n\t flux: React.PropTypes.object\n\t },\n\t\n\t getChildContext: function() {\n\t return {\n\t flux: this.props.flux\n\t };\n\t },\n\t\n\t getFlux: function() {\n\t return this.props.flux;\n\t }\n\t };\n\t};\n\t\n\tFluxMixin.componentWillMount = function() {\n\t throw new Error(\"Fluxxor.FluxMixin is a function that takes React as a \" +\n\t \"parameter and returns the mixin, e.g.: mixins[Fluxxor.FluxMixin(React)]\");\n\t};\n\t\n\tmodule.exports = FluxMixin;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar EventEmitter = __webpack_require__(57).EventEmitter,\n\t util = __webpack_require__(27);\n\t\n\tfunction Store(dispatcher) {\n\t this.dispatcher = dispatcher;\n\t this.__actions__ = {};\n\t EventEmitter.call(this);\n\t}\n\t\n\tutil.inherits(Store, EventEmitter);\n\t\n\tStore.prototype.__handleAction__ = function(action) {\n\t var handler;\n\t if (!!(handler = this.__actions__[action.type])) {\n\t if (typeof handler === \"function\") {\n\t handler.call(this, action.payload, action.type);\n\t } else if (handler && typeof this[handler] === \"function\") {\n\t this[handler].call(this, action.payload, action.type);\n\t }\n\t }\n\t};\n\t\n\tStore.prototype.bindActions = function() {\n\t var actions = Array.prototype.slice.call(arguments);\n\t if (actions.length % 2 !== 0) {\n\t throw new Error(\"bindActions must take an even number of arguments.\");\n\t }\n\t\n\t for (var i = 0; i < actions.length; i += 2) {\n\t var type = actions[i],\n\t handler = actions[i+1];\n\t\n\t this.__actions__[type] = handler;\n\t }\n\t};\n\t\n\tStore.prototype.waitFor = function(stores, fn) {\n\t this.dispatcher.waitForStores(this, stores, fn.bind(this));\n\t};\n\t\n\tmodule.exports = Store;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar _each = __webpack_require__(8);\n\t\n\tvar StoreWatchMixin = function() {\n\t var storeNames = Array.prototype.slice.call(arguments);\n\t return {\n\t componentWillMount: function() {\n\t var flux = this.props.flux || this.context.flux;\n\t _each(storeNames, function(store) {\n\t flux.store(store).on(\"change\", this._setStateFromFlux);\n\t }, this);\n\t },\n\t\n\t componentWillUnmount: function() {\n\t var flux = this.props.flux || this.context.flux;\n\t _each(storeNames, function(store) {\n\t flux.store(store).removeListener(\"change\", this._setStateFromFlux);\n\t }, this);\n\t },\n\t\n\t _setStateFromFlux: function() {\n\t if(this.isMounted()) {\n\t this.setState(this.getStateFromFlux());\n\t }\n\t },\n\t\n\t getInitialState: function() {\n\t return this.getStateFromFlux();\n\t }\n\t };\n\t};\n\t\n\tStoreWatchMixin.componentWillMount = function() {\n\t throw new Error(\"Fluxxor.StoreWatchMixin is a function that takes one or more \" +\n\t \"store names as parameters and returns the mixin, e.g.: \" +\n\t \"mixins[Fluxxor.StoreWatchMixin(\\\"Store1\\\", \\\"Store2\\\")]\");\n\t};\n\t\n\tmodule.exports = StoreWatchMixin;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseIndexOf = __webpack_require__(12),\n\t cacheIndexOf = __webpack_require__(18),\n\t createCache = __webpack_require__(19),\n\t getArray = __webpack_require__(10),\n\t isArguments = __webpack_require__(52),\n\t isArray = __webpack_require__(24),\n\t largeArraySize = __webpack_require__(21),\n\t releaseArray = __webpack_require__(11),\n\t releaseObject = __webpack_require__(13);\n\t\n\t/**\n\t * Creates an array of unique values present in all provided arrays using\n\t * strict equality for comparisons, i.e. `===`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Arrays\n\t * @param {...Array} [array] The arrays to inspect.\n\t * @returns {Array} Returns an array of shared values.\n\t * @example\n\t *\n\t * _.intersection([1, 2, 3], [5, 2, 1, 4], [2, 1]);\n\t * // => [1, 2]\n\t */\n\tfunction intersection() {\n\t var args = [],\n\t argsIndex = -1,\n\t argsLength = arguments.length,\n\t caches = getArray(),\n\t indexOf = baseIndexOf,\n\t trustIndexOf = indexOf === baseIndexOf,\n\t seen = getArray();\n\t\n\t while (++argsIndex < argsLength) {\n\t var value = arguments[argsIndex];\n\t if (isArray(value) || isArguments(value)) {\n\t args.push(value);\n\t caches.push(trustIndexOf && value.length >= largeArraySize &&\n\t createCache(argsIndex ? args[argsIndex] : seen));\n\t }\n\t }\n\t var array = args[0],\n\t index = -1,\n\t length = array ? array.length : 0,\n\t result = [];\n\t\n\t outer:\n\t while (++index < length) {\n\t var cache = caches[0];\n\t value = array[index];\n\t\n\t if ((cache ? cacheIndexOf(cache, value) : indexOf(seen, value)) < 0) {\n\t argsIndex = argsLength;\n\t (cache || seen).push(value);\n\t while (--argsIndex) {\n\t cache = caches[argsIndex];\n\t if ((cache ? cacheIndexOf(cache, value) : indexOf(args[argsIndex], value)) < 0) {\n\t continue outer;\n\t }\n\t }\n\t result.push(value);\n\t }\n\t }\n\t while (argsLength--) {\n\t cache = caches[argsLength];\n\t if (cache) {\n\t releaseObject(cache);\n\t }\n\t }\n\t releaseArray(caches);\n\t releaseArray(seen);\n\t return result;\n\t}\n\t\n\tmodule.exports = intersection;\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseUniq = __webpack_require__(43),\n\t createCallback = __webpack_require__(9);\n\t\n\t/**\n\t * Creates a duplicate-value-free version of an array using strict equality\n\t * for comparisons, i.e. `===`. If the array is sorted, providing\n\t * `true` for `isSorted` will use a faster algorithm. If a callback is provided\n\t * each element of `array` is passed through the callback before uniqueness\n\t * is computed. The callback is bound to `thisArg` and invoked with three\n\t * arguments; (value, index, array).\n\t *\n\t * If a property name is provided for `callback` the created \"_.pluck\" style\n\t * callback will return the property value of the given element.\n\t *\n\t * If an object is provided for `callback` the created \"_.where\" style callback\n\t * will return `true` for elements that have the properties of the given object,\n\t * else `false`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @alias unique\n\t * @category Arrays\n\t * @param {Array} array The array to process.\n\t * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.\n\t * @param {Function|Object|string} [callback=identity] The function called\n\t * per iteration. If a property name or object is provided it will be used\n\t * to create a \"_.pluck\" or \"_.where\" style callback, respectively.\n\t * @param {*} [thisArg] The `this` binding of `callback`.\n\t * @returns {Array} Returns a duplicate-value-free array.\n\t * @example\n\t *\n\t * _.uniq([1, 2, 1, 3, 1]);\n\t * // => [1, 2, 3]\n\t *\n\t * _.uniq([1, 1, 2, 2, 3], true);\n\t * // => [1, 2, 3]\n\t *\n\t * _.uniq(['A', 'b', 'C', 'a', 'B', 'c'], function(letter) { return letter.toLowerCase(); });\n\t * // => ['A', 'b', 'C']\n\t *\n\t * _.uniq([1, 2.5, 3, 1.5, 2, 3.5], function(num) { return this.floor(num); }, Math);\n\t * // => [1, 2.5, 3]\n\t *\n\t * // using \"_.pluck\" callback shorthand\n\t * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n\t * // => [{ 'x': 1 }, { 'x': 2 }]\n\t */\n\tfunction uniq(array, isSorted, callback, thisArg) {\n\t // juggle arguments\n\t if (typeof isSorted != 'boolean' && isSorted != null) {\n\t thisArg = callback;\n\t callback = (typeof isSorted != 'function' && thisArg && thisArg[isSorted] === array) ? null : isSorted;\n\t isSorted = false;\n\t }\n\t if (callback != null) {\n\t callback = createCallback(callback, thisArg, 3);\n\t }\n\t return baseUniq(array, isSorted, callback);\n\t}\n\t\n\tmodule.exports = uniq;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar createCallback = __webpack_require__(9),\n\t forOwn = __webpack_require__(3);\n\t\n\t/**\n\t * Creates an array of values by running each element in the collection\n\t * through the callback. The callback is bound to `thisArg` and invoked with\n\t * three arguments; (value, index|key, collection).\n\t *\n\t * If a property name is provided for `callback` the created \"_.pluck\" style\n\t * callback will return the property value of the given element.\n\t *\n\t * If an object is provided for `callback` the created \"_.where\" style callback\n\t * will return `true` for elements that have the properties of the given object,\n\t * else `false`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @alias collect\n\t * @category Collections\n\t * @param {Array|Object|string} collection The collection to iterate over.\n\t * @param {Function|Object|string} [callback=identity] The function called\n\t * per iteration. If a property name or object is provided it will be used\n\t * to create a \"_.pluck\" or \"_.where\" style callback, respectively.\n\t * @param {*} [thisArg] The `this` binding of `callback`.\n\t * @returns {Array} Returns a new array of the results of each `callback` execution.\n\t * @example\n\t *\n\t * _.map([1, 2, 3], function(num) { return num * 3; });\n\t * // => [3, 6, 9]\n\t *\n\t * _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; });\n\t * // => [3, 6, 9] (property order is not guaranteed across environments)\n\t *\n\t * var characters = [\n\t * { 'name': 'barney', 'age': 36 },\n\t * { 'name': 'fred', 'age': 40 }\n\t * ];\n\t *\n\t * // using \"_.pluck\" callback shorthand\n\t * _.map(characters, 'name');\n\t * // => ['barney', 'fred']\n\t */\n\tfunction map(collection, callback, thisArg) {\n\t var index = -1,\n\t length = collection ? collection.length : 0;\n\t\n\t callback = createCallback(callback, thisArg, 3);\n\t if (typeof length == 'number') {\n\t var result = Array(length);\n\t while (++index < length) {\n\t result[index] = callback(collection[index], index, collection);\n\t }\n\t } else {\n\t result = [];\n\t forOwn(collection, function(value, key, collection) {\n\t result[++index] = callback(value, key, collection);\n\t });\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = map;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar keys = __webpack_require__(7);\n\t\n\t/**\n\t * Gets the size of the `collection` by returning `collection.length` for arrays\n\t * and array-like objects or the number of own enumerable properties for objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Collections\n\t * @param {Array|Object|string} collection The collection to inspect.\n\t * @returns {number} Returns `collection.length` or number of own enumerable properties.\n\t * @example\n\t *\n\t * _.size([1, 2]);\n\t * // => 2\n\t *\n\t * _.size({ 'one': 1, 'two': 2, 'three': 3 });\n\t * // => 3\n\t *\n\t * _.size('pebbles');\n\t * // => 7\n\t */\n\tfunction size(collection) {\n\t var length = collection ? collection.length : 0;\n\t return typeof length == 'number' ? length : keys(collection).length;\n\t}\n\t\n\tmodule.exports = size;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar createWrapper = __webpack_require__(45),\n\t slice = __webpack_require__(6);\n\t\n\t/**\n\t * Creates a function that, when called, invokes `func` with the `this`\n\t * binding of `thisArg` and prepends any additional `bind` arguments to those\n\t * provided to the bound function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Functions\n\t * @param {Function} func The function to bind.\n\t * @param {*} [thisArg] The `this` binding of `func`.\n\t * @param {...*} [arg] Arguments to be partially applied.\n\t * @returns {Function} Returns the new bound function.\n\t * @example\n\t *\n\t * var func = function(greeting) {\n\t * return greeting + ' ' + this.name;\n\t * };\n\t *\n\t * func = _.bind(func, { 'name': 'fred' }, 'hi');\n\t * func();\n\t * // => 'hi fred'\n\t */\n\tfunction bind(func, thisArg) {\n\t return arguments.length > 2\n\t ? createWrapper(func, 17, slice(arguments, 2), null, thisArg)\n\t : createWrapper(func, 1, null, null, thisArg);\n\t}\n\t\n\tmodule.exports = bind;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseCreate = __webpack_require__(17),\n\t isObject = __webpack_require__(4),\n\t setBindData = __webpack_require__(14),\n\t slice = __webpack_require__(6);\n\t\n\t/**\n\t * Used for `Array` method references.\n\t *\n\t * Normally `Array.prototype` would suffice, however, using an array literal\n\t * avoids issues in Narwhal.\n\t */\n\tvar arrayRef = [];\n\t\n\t/** Native method shortcuts */\n\tvar push = arrayRef.push;\n\t\n\t/**\n\t * The base implementation of `_.bind` that creates the bound function and\n\t * sets its meta data.\n\t *\n\t * @private\n\t * @param {Array} bindData The bind data array.\n\t * @returns {Function} Returns the new bound function.\n\t */\n\tfunction baseBind(bindData) {\n\t var func = bindData[0],\n\t partialArgs = bindData[2],\n\t thisArg = bindData[4];\n\t\n\t function bound() {\n\t // `Function#bind` spec\n\t // http://es5.github.io/#x15.3.4.5\n\t if (partialArgs) {\n\t // avoid `arguments` object deoptimizations by using `slice` instead\n\t // of `Array.prototype.slice.call` and not assigning `arguments` to a\n\t // variable as a ternary expression\n\t var args = slice(partialArgs);\n\t push.apply(args, arguments);\n\t }\n\t // mimic the constructor's `return` behavior\n\t // http://es5.github.io/#x13.2.2\n\t if (this instanceof bound) {\n\t // ensure `new bound` is an instance of `func`\n\t var thisBinding = baseCreate(func.prototype),\n\t result = func.apply(thisBinding, args || arguments);\n\t return isObject(result) ? result : thisBinding;\n\t }\n\t return func.apply(thisArg, args || arguments);\n\t }\n\t setBindData(bound, bindData);\n\t return bound;\n\t}\n\t\n\tmodule.exports = baseBind;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar assign = __webpack_require__(48),\n\t forEach = __webpack_require__(8),\n\t forOwn = __webpack_require__(3),\n\t getArray = __webpack_require__(10),\n\t isArray = __webpack_require__(24),\n\t isObject = __webpack_require__(4),\n\t releaseArray = __webpack_require__(11),\n\t slice = __webpack_require__(6);\n\t\n\t/** Used to match regexp flags from their coerced string values */\n\tvar reFlags = /\\w*$/;\n\t\n\t/** `Object#toString` result shortcuts */\n\tvar argsClass = '[object Arguments]',\n\t arrayClass = '[object Array]',\n\t boolClass = '[object Boolean]',\n\t dateClass = '[object Date]',\n\t funcClass = '[object Function]',\n\t numberClass = '[object Number]',\n\t objectClass = '[object Object]',\n\t regexpClass = '[object RegExp]',\n\t stringClass = '[object String]';\n\t\n\t/** Used to identify object classifications that `_.clone` supports */\n\tvar cloneableClasses = {};\n\tcloneableClasses[funcClass] = false;\n\tcloneableClasses[argsClass] = cloneableClasses[arrayClass] =\n\tcloneableClasses[boolClass] = cloneableClasses[dateClass] =\n\tcloneableClasses[numberClass] = cloneableClasses[objectClass] =\n\tcloneableClasses[regexpClass] = cloneableClasses[stringClass] = true;\n\t\n\t/** Used for native method references */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the internal [[Class]] of values */\n\tvar toString = objectProto.toString;\n\t\n\t/** Native method shortcuts */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to lookup a built-in constructor by [[Class]] */\n\tvar ctorByClass = {};\n\tctorByClass[arrayClass] = Array;\n\tctorByClass[boolClass] = Boolean;\n\tctorByClass[dateClass] = Date;\n\tctorByClass[funcClass] = Function;\n\tctorByClass[objectClass] = Object;\n\tctorByClass[numberClass] = Number;\n\tctorByClass[regexpClass] = RegExp;\n\tctorByClass[stringClass] = String;\n\t\n\t/**\n\t * The base implementation of `_.clone` without argument juggling or support\n\t * for `thisArg` binding.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep=false] Specify a deep clone.\n\t * @param {Function} [callback] The function to customize cloning values.\n\t * @param {Array} [stackA=[]] Tracks traversed source objects.\n\t * @param {Array} [stackB=[]] Associates clones with source counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, callback, stackA, stackB) {\n\t if (callback) {\n\t var result = callback(value);\n\t if (typeof result != 'undefined') {\n\t return result;\n\t }\n\t }\n\t // inspect [[Class]]\n\t var isObj = isObject(value);\n\t if (isObj) {\n\t var className = toString.call(value);\n\t if (!cloneableClasses[className]) {\n\t return value;\n\t }\n\t var ctor = ctorByClass[className];\n\t switch (className) {\n\t case boolClass:\n\t case dateClass:\n\t return new ctor(+value);\n\t\n\t case numberClass:\n\t case stringClass:\n\t return new ctor(value);\n\t\n\t case regexpClass:\n\t result = ctor(value.source, reFlags.exec(value));\n\t result.lastIndex = value.lastIndex;\n\t return result;\n\t }\n\t } else {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isDeep) {\n\t // check for circular references and return corresponding clone\n\t var initedStack = !stackA;\n\t stackA || (stackA = getArray());\n\t stackB || (stackB = getArray());\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == value) {\n\t return stackB[length];\n\t }\n\t }\n\t result = isArr ? ctor(value.length) : {};\n\t }\n\t else {\n\t result = isArr ? slice(value) : assign({}, value);\n\t }\n\t // add array properties assigned by `RegExp#exec`\n\t if (isArr) {\n\t if (hasOwnProperty.call(value, 'index')) {\n\t result.index = value.index;\n\t }\n\t if (hasOwnProperty.call(value, 'input')) {\n\t result.input = value.input;\n\t }\n\t }\n\t // exit for shallow clone\n\t if (!isDeep) {\n\t return result;\n\t }\n\t // add the source value to the stack of traversed objects\n\t // and associate it with its clone\n\t stackA.push(value);\n\t stackB.push(result);\n\t\n\t // recursively populate clone (susceptible to call stack limits)\n\t (isArr ? forEach : forOwn)(value, function(objValue, key) {\n\t result[key] = baseClone(objValue, isDeep, callback, stackA, stackB);\n\t });\n\t\n\t if (initedStack) {\n\t releaseArray(stackA);\n\t releaseArray(stackB);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 41 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseCreate = __webpack_require__(17),\n\t isObject = __webpack_require__(4),\n\t setBindData = __webpack_require__(14),\n\t slice = __webpack_require__(6);\n\t\n\t/**\n\t * Used for `Array` method references.\n\t *\n\t * Normally `Array.prototype` would suffice, however, using an array literal\n\t * avoids issues in Narwhal.\n\t */\n\tvar arrayRef = [];\n\t\n\t/** Native method shortcuts */\n\tvar push = arrayRef.push;\n\t\n\t/**\n\t * The base implementation of `createWrapper` that creates the wrapper and\n\t * sets its meta data.\n\t *\n\t * @private\n\t * @param {Array} bindData The bind data array.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseCreateWrapper(bindData) {\n\t var func = bindData[0],\n\t bitmask = bindData[1],\n\t partialArgs = bindData[2],\n\t partialRightArgs = bindData[3],\n\t thisArg = bindData[4],\n\t arity = bindData[5];\n\t\n\t var isBind = bitmask & 1,\n\t isBindKey = bitmask & 2,\n\t isCurry = bitmask & 4,\n\t isCurryBound = bitmask & 8,\n\t key = func;\n\t\n\t function bound() {\n\t var thisBinding = isBind ? thisArg : this;\n\t if (partialArgs) {\n\t var args = slice(partialArgs);\n\t push.apply(args, arguments);\n\t }\n\t if (partialRightArgs || isCurry) {\n\t args || (args = slice(arguments));\n\t if (partialRightArgs) {\n\t push.apply(args, partialRightArgs);\n\t }\n\t if (isCurry && args.length < arity) {\n\t bitmask |= 16 & ~32;\n\t return baseCreateWrapper([func, (isCurryBound ? bitmask : bitmask & ~3), args, null, thisArg, arity]);\n\t }\n\t }\n\t args || (args = arguments);\n\t if (isBindKey) {\n\t func = thisBinding[key];\n\t }\n\t if (this instanceof bound) {\n\t thisBinding = baseCreate(func.prototype);\n\t var result = func.apply(thisBinding, args);\n\t return isObject(result) ? result : thisBinding;\n\t }\n\t return func.apply(thisBinding, args);\n\t }\n\t setBindData(bound, bindData);\n\t return bound;\n\t}\n\t\n\tmodule.exports = baseCreateWrapper;\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar forIn = __webpack_require__(51),\n\t getArray = __webpack_require__(10),\n\t isFunction = __webpack_require__(25),\n\t objectTypes = __webpack_require__(2),\n\t releaseArray = __webpack_require__(11);\n\t\n\t/** `Object#toString` result shortcuts */\n\tvar argsClass = '[object Arguments]',\n\t arrayClass = '[object Array]',\n\t boolClass = '[object Boolean]',\n\t dateClass = '[object Date]',\n\t numberClass = '[object Number]',\n\t objectClass = '[object Object]',\n\t regexpClass = '[object RegExp]',\n\t stringClass = '[object String]';\n\t\n\t/** Used for native method references */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the internal [[Class]] of values */\n\tvar toString = objectProto.toString;\n\t\n\t/** Native method shortcuts */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * The base implementation of `_.isEqual`, without support for `thisArg` binding,\n\t * that allows partial \"_.where\" style comparisons.\n\t *\n\t * @private\n\t * @param {*} a The value to compare.\n\t * @param {*} b The other value to compare.\n\t * @param {Function} [callback] The function to customize comparing values.\n\t * @param {Function} [isWhere=false] A flag to indicate performing partial comparisons.\n\t * @param {Array} [stackA=[]] Tracks traversed `a` objects.\n\t * @param {Array} [stackB=[]] Tracks traversed `b` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(a, b, callback, isWhere, stackA, stackB) {\n\t // used to indicate that when comparing objects, `a` has at least the properties of `b`\n\t if (callback) {\n\t var result = callback(a, b);\n\t if (typeof result != 'undefined') {\n\t return !!result;\n\t }\n\t }\n\t // exit early for identical values\n\t if (a === b) {\n\t // treat `+0` vs. `-0` as not equal\n\t return a !== 0 || (1 / a == 1 / b);\n\t }\n\t var type = typeof a,\n\t otherType = typeof b;\n\t\n\t // exit early for unlike primitive values\n\t if (a === a &&\n\t !(a && objectTypes[type]) &&\n\t !(b && objectTypes[otherType])) {\n\t return false;\n\t }\n\t // exit early for `null` and `undefined` avoiding ES3's Function#call behavior\n\t // http://es5.github.io/#x15.3.4.4\n\t if (a == null || b == null) {\n\t return a === b;\n\t }\n\t // compare [[Class]] names\n\t var className = toString.call(a),\n\t otherClass = toString.call(b);\n\t\n\t if (className == argsClass) {\n\t className = objectClass;\n\t }\n\t if (otherClass == argsClass) {\n\t otherClass = objectClass;\n\t }\n\t if (className != otherClass) {\n\t return false;\n\t }\n\t switch (className) {\n\t case boolClass:\n\t case dateClass:\n\t // coerce dates and booleans to numbers, dates to milliseconds and booleans\n\t // to `1` or `0` treating invalid dates coerced to `NaN` as not equal\n\t return +a == +b;\n\t\n\t case numberClass:\n\t // treat `NaN` vs. `NaN` as equal\n\t return (a != +a)\n\t ? b != +b\n\t // but treat `+0` vs. `-0` as not equal\n\t : (a == 0 ? (1 / a == 1 / b) : a == +b);\n\t\n\t case regexpClass:\n\t case stringClass:\n\t // coerce regexes to strings (http://es5.github.io/#x15.10.6.4)\n\t // treat string primitives and their corresponding object instances as equal\n\t return a == String(b);\n\t }\n\t var isArr = className == arrayClass;\n\t if (!isArr) {\n\t // unwrap any `lodash` wrapped values\n\t var aWrapped = hasOwnProperty.call(a, '__wrapped__'),\n\t bWrapped = hasOwnProperty.call(b, '__wrapped__');\n\t\n\t if (aWrapped || bWrapped) {\n\t return baseIsEqual(aWrapped ? a.__wrapped__ : a, bWrapped ? b.__wrapped__ : b, callback, isWhere, stackA, stackB);\n\t }\n\t // exit for functions and DOM nodes\n\t if (className != objectClass) {\n\t return false;\n\t }\n\t // in older versions of Opera, `arguments` objects have `Array` constructors\n\t var ctorA = a.constructor,\n\t ctorB = b.constructor;\n\t\n\t // non `Object` object instances with different constructors are not equal\n\t if (ctorA != ctorB &&\n\t !(isFunction(ctorA) && ctorA instanceof ctorA && isFunction(ctorB) && ctorB instanceof ctorB) &&\n\t ('constructor' in a && 'constructor' in b)\n\t ) {\n\t return false;\n\t }\n\t }\n\t // assume cyclic structures are equal\n\t // the algorithm for detecting cyclic structures is adapted from ES 5.1\n\t // section 15.12.3, abstract operation `JO` (http://es5.github.io/#x15.12.3)\n\t var initedStack = !stackA;\n\t stackA || (stackA = getArray());\n\t stackB || (stackB = getArray());\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == a) {\n\t return stackB[length] == b;\n\t }\n\t }\n\t var size = 0;\n\t result = true;\n\t\n\t // add `a` and `b` to the stack of traversed objects\n\t stackA.push(a);\n\t stackB.push(b);\n\t\n\t // recursively compare objects and arrays (susceptible to call stack limits)\n\t if (isArr) {\n\t // compare lengths to determine if a deep comparison is necessary\n\t length = a.length;\n\t size = b.length;\n\t result = size == length;\n\t\n\t if (result || isWhere) {\n\t // deep compare the contents, ignoring non-numeric properties\n\t while (size--) {\n\t var index = length,\n\t value = b[size];\n\t\n\t if (isWhere) {\n\t while (index--) {\n\t if ((result = baseIsEqual(a[index], value, callback, isWhere, stackA, stackB))) {\n\t break;\n\t }\n\t }\n\t } else if (!(result = baseIsEqual(a[size], value, callback, isWhere, stackA, stackB))) {\n\t break;\n\t }\n\t }\n\t }\n\t }\n\t else {\n\t // deep compare objects using `forIn`, instead of `forOwn`, to avoid `Object.keys`\n\t // which, in this case, is more costly\n\t forIn(b, function(value, key, b) {\n\t if (hasOwnProperty.call(b, key)) {\n\t // count the number of properties.\n\t size++;\n\t // deep compare each property value.\n\t return (result = hasOwnProperty.call(a, key) && baseIsEqual(a[key], value, callback, isWhere, stackA, stackB));\n\t }\n\t });\n\t\n\t if (result && !isWhere) {\n\t // ensure both objects have the same number of properties\n\t forIn(a, function(value, key, a) {\n\t if (hasOwnProperty.call(a, key)) {\n\t // `size` will be `-1` if `a` has more properties than `b`\n\t return (result = --size > -1);\n\t }\n\t });\n\t }\n\t }\n\t stackA.pop();\n\t stackB.pop();\n\t\n\t if (initedStack) {\n\t releaseArray(stackA);\n\t releaseArray(stackB);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseIndexOf = __webpack_require__(12),\n\t cacheIndexOf = __webpack_require__(18),\n\t createCache = __webpack_require__(19),\n\t getArray = __webpack_require__(10),\n\t largeArraySize = __webpack_require__(21),\n\t releaseArray = __webpack_require__(11),\n\t releaseObject = __webpack_require__(13);\n\t\n\t/**\n\t * The base implementation of `_.uniq` without support for callback shorthands\n\t * or `thisArg` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to process.\n\t * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.\n\t * @param {Function} [callback] The function called per iteration.\n\t * @returns {Array} Returns a duplicate-value-free array.\n\t */\n\tfunction baseUniq(array, isSorted, callback) {\n\t var index = -1,\n\t indexOf = baseIndexOf,\n\t length = array ? array.length : 0,\n\t result = [];\n\t\n\t var isLarge = !isSorted && length >= largeArraySize,\n\t seen = (callback || isLarge) ? getArray() : result;\n\t\n\t if (isLarge) {\n\t var cache = createCache(seen);\n\t indexOf = cacheIndexOf;\n\t seen = cache;\n\t }\n\t while (++index < length) {\n\t var value = array[index],\n\t computed = callback ? callback(value, index, array) : value;\n\t\n\t if (isSorted\n\t ? !index || seen[seen.length - 1] !== computed\n\t : indexOf(seen, computed) < 0\n\t ) {\n\t if (callback || isLarge) {\n\t seen.push(computed);\n\t }\n\t result.push(value);\n\t }\n\t }\n\t if (isLarge) {\n\t releaseArray(seen.array);\n\t releaseObject(seen);\n\t } else if (callback) {\n\t releaseArray(seen);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseUniq;\n\n\n/***/ },\n/* 44 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar keyPrefix = __webpack_require__(20);\n\t\n\t/**\n\t * Adds a given value to the corresponding cache object.\n\t *\n\t * @private\n\t * @param {*} value The value to add to the cache.\n\t */\n\tfunction cachePush(value) {\n\t var cache = this.cache,\n\t type = typeof value;\n\t\n\t if (type == 'boolean' || value == null) {\n\t cache[value] = true;\n\t } else {\n\t if (type != 'number' && type != 'string') {\n\t type = 'object';\n\t }\n\t var key = type == 'number' ? value : keyPrefix + value,\n\t typeCache = cache[type] || (cache[type] = {});\n\t\n\t if (type == 'object') {\n\t (typeCache[key] || (typeCache[key] = [])).push(value);\n\t } else {\n\t typeCache[key] = true;\n\t }\n\t }\n\t}\n\t\n\tmodule.exports = cachePush;\n\n\n/***/ },\n/* 45 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseBind = __webpack_require__(39),\n\t baseCreateWrapper = __webpack_require__(41),\n\t isFunction = __webpack_require__(25),\n\t slice = __webpack_require__(6);\n\t\n\t/**\n\t * Used for `Array` method references.\n\t *\n\t * Normally `Array.prototype` would suffice, however, using an array literal\n\t * avoids issues in Narwhal.\n\t */\n\tvar arrayRef = [];\n\t\n\t/** Native method shortcuts */\n\tvar push = arrayRef.push,\n\t unshift = arrayRef.unshift;\n\t\n\t/**\n\t * Creates a function that, when called, either curries or invokes `func`\n\t * with an optional `this` binding and partially applied arguments.\n\t *\n\t * @private\n\t * @param {Function|string} func The function or method name to reference.\n\t * @param {number} bitmask The bitmask of method flags to compose.\n\t * The bitmask may be composed of the following flags:\n\t * 1 - `_.bind`\n\t * 2 - `_.bindKey`\n\t * 4 - `_.curry`\n\t * 8 - `_.curry` (bound)\n\t * 16 - `_.partial`\n\t * 32 - `_.partialRight`\n\t * @param {Array} [partialArgs] An array of arguments to prepend to those\n\t * provided to the new function.\n\t * @param {Array} [partialRightArgs] An array of arguments to append to those\n\t * provided to the new function.\n\t * @param {*} [thisArg] The `this` binding of `func`.\n\t * @param {number} [arity] The arity of `func`.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction createWrapper(func, bitmask, partialArgs, partialRightArgs, thisArg, arity) {\n\t var isBind = bitmask & 1,\n\t isBindKey = bitmask & 2,\n\t isCurry = bitmask & 4,\n\t isCurryBound = bitmask & 8,\n\t isPartial = bitmask & 16,\n\t isPartialRight = bitmask & 32;\n\t\n\t if (!isBindKey && !isFunction(func)) {\n\t throw new TypeError;\n\t }\n\t if (isPartial && !partialArgs.length) {\n\t bitmask &= ~16;\n\t isPartial = partialArgs = false;\n\t }\n\t if (isPartialRight && !partialRightArgs.length) {\n\t bitmask &= ~32;\n\t isPartialRight = partialRightArgs = false;\n\t }\n\t var bindData = func && func.__bindData__;\n\t if (bindData && bindData !== true) {\n\t // clone `bindData`\n\t bindData = slice(bindData);\n\t if (bindData[2]) {\n\t bindData[2] = slice(bindData[2]);\n\t }\n\t if (bindData[3]) {\n\t bindData[3] = slice(bindData[3]);\n\t }\n\t // set `thisBinding` is not previously bound\n\t if (isBind && !(bindData[1] & 1)) {\n\t bindData[4] = thisArg;\n\t }\n\t // set if previously bound but not currently (subsequent curried functions)\n\t if (!isBind && bindData[1] & 1) {\n\t bitmask |= 8;\n\t }\n\t // set curried arity if not yet set\n\t if (isCurry && !(bindData[1] & 4)) {\n\t bindData[5] = arity;\n\t }\n\t // append partial left arguments\n\t if (isPartial) {\n\t push.apply(bindData[2] || (bindData[2] = []), partialArgs);\n\t }\n\t // append partial right arguments\n\t if (isPartialRight) {\n\t unshift.apply(bindData[3] || (bindData[3] = []), partialRightArgs);\n\t }\n\t // merge flags\n\t bindData[1] |= bitmask;\n\t return createWrapper.apply(null, bindData);\n\t }\n\t // fast path for `_.bind`\n\t var creater = (bitmask == 1 || bitmask === 17) ? baseBind : baseCreateWrapper;\n\t return creater([func, bitmask, partialArgs, partialRightArgs, thisArg, arity]);\n\t}\n\t\n\tmodule.exports = createWrapper;\n\n\n/***/ },\n/* 46 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar objectPool = __webpack_require__(23);\n\t\n\t/**\n\t * Gets an object from the object pool or creates a new one if the pool is empty.\n\t *\n\t * @private\n\t * @returns {Object} The object from the pool.\n\t */\n\tfunction getObject() {\n\t return objectPool.pop() || {\n\t 'array': null,\n\t 'cache': null,\n\t 'criteria': null,\n\t 'false': false,\n\t 'index': 0,\n\t 'null': false,\n\t 'number': null,\n\t 'object': null,\n\t 'push': null,\n\t 'string': null,\n\t 'true': false,\n\t 'undefined': false,\n\t 'value': null\n\t };\n\t}\n\t\n\tmodule.exports = getObject;\n\n\n/***/ },\n/* 47 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar objectTypes = __webpack_require__(2);\n\t\n\t/** Used for native method references */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Native method shortcuts */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A fallback implementation of `Object.keys` which produces an array of the\n\t * given object's own enumerable property names.\n\t *\n\t * @private\n\t * @type Function\n\t * @param {Object} object The object to inspect.\n\t * @returns {Array} Returns an array of property names.\n\t */\n\tvar shimKeys = function(object) {\n\t var index, iterable = object, result = [];\n\t if (!iterable) return result;\n\t if (!(objectTypes[typeof object])) return result;\n\t for (index in iterable) {\n\t if (hasOwnProperty.call(iterable, index)) {\n\t result.push(index);\n\t }\n\t }\n\t return result\n\t};\n\t\n\tmodule.exports = shimKeys;\n\n\n/***/ },\n/* 48 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseCreateCallback = __webpack_require__(1),\n\t keys = __webpack_require__(7),\n\t objectTypes = __webpack_require__(2);\n\t\n\t/**\n\t * Assigns own enumerable properties of source object(s) to the destination\n\t * object. Subsequent sources will overwrite property assignments of previous\n\t * sources. If a callback is provided it will be executed to produce the\n\t * assigned values. The callback is bound to `thisArg` and invoked with two\n\t * arguments; (objectValue, sourceValue).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @type Function\n\t * @alias extend\n\t * @category Objects\n\t * @param {Object} object The destination object.\n\t * @param {...Object} [source] The source objects.\n\t * @param {Function} [callback] The function to customize assigning values.\n\t * @param {*} [thisArg] The `this` binding of `callback`.\n\t * @returns {Object} Returns the destination object.\n\t * @example\n\t *\n\t * _.assign({ 'name': 'fred' }, { 'employer': 'slate' });\n\t * // => { 'name': 'fred', 'employer': 'slate' }\n\t *\n\t * var defaults = _.partialRight(_.assign, function(a, b) {\n\t * return typeof a == 'undefined' ? b : a;\n\t * });\n\t *\n\t * var object = { 'name': 'barney' };\n\t * defaults(object, { 'name': 'fred', 'employer': 'slate' });\n\t * // => { 'name': 'barney', 'employer': 'slate' }\n\t */\n\tvar assign = function(object, source, guard) {\n\t var index, iterable = object, result = iterable;\n\t if (!iterable) return result;\n\t var args = arguments,\n\t argsIndex = 0,\n\t argsLength = typeof guard == 'number' ? 2 : args.length;\n\t if (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n\t var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n\t } else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n\t callback = args[--argsLength];\n\t }\n\t while (++argsIndex < argsLength) {\n\t iterable = args[argsIndex];\n\t if (iterable && objectTypes[typeof iterable]) {\n\t var ownIndex = -1,\n\t ownProps = objectTypes[typeof iterable] && keys(iterable),\n\t length = ownProps ? ownProps.length : 0;\n\t\n\t while (++ownIndex < length) {\n\t index = ownProps[ownIndex];\n\t result[index] = callback ? callback(result[index], iterable[index]) : iterable[index];\n\t }\n\t }\n\t }\n\t return result\n\t};\n\t\n\tmodule.exports = assign;\n\n\n/***/ },\n/* 49 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseClone = __webpack_require__(40),\n\t baseCreateCallback = __webpack_require__(1);\n\t\n\t/**\n\t * Creates a clone of `value`. If `isDeep` is `true` nested objects will also\n\t * be cloned, otherwise they will be assigned by reference. If a callback\n\t * is provided it will be executed to produce the cloned values. If the\n\t * callback returns `undefined` cloning will be handled by the method instead.\n\t * The callback is bound to `thisArg` and invoked with one argument; (value).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Objects\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep=false] Specify a deep clone.\n\t * @param {Function} [callback] The function to customize cloning values.\n\t * @param {*} [thisArg] The `this` binding of `callback`.\n\t * @returns {*} Returns the cloned value.\n\t * @example\n\t *\n\t * var characters = [\n\t * { 'name': 'barney', 'age': 36 },\n\t * { 'name': 'fred', 'age': 40 }\n\t * ];\n\t *\n\t * var shallow = _.clone(characters);\n\t * shallow[0] === characters[0];\n\t * // => true\n\t *\n\t * var deep = _.clone(characters, true);\n\t * deep[0] === characters[0];\n\t * // => false\n\t *\n\t * _.mixin({\n\t * 'clone': _.partialRight(_.clone, function(value) {\n\t * return _.isElement(value) ? value.cloneNode(false) : undefined;\n\t * })\n\t * });\n\t *\n\t * var clone = _.clone(document.body);\n\t * clone.childNodes.length;\n\t * // => 0\n\t */\n\tfunction clone(value, isDeep, callback, thisArg) {\n\t // allows working with \"Collections\" methods without using their `index`\n\t // and `collection` arguments for `isDeep` and `callback`\n\t if (typeof isDeep != 'boolean' && isDeep != null) {\n\t thisArg = callback;\n\t callback = isDeep;\n\t isDeep = false;\n\t }\n\t return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));\n\t}\n\t\n\tmodule.exports = clone;\n\n\n/***/ },\n/* 50 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar createCallback = __webpack_require__(9),\n\t forOwn = __webpack_require__(3);\n\t\n\t/**\n\t * This method is like `_.findIndex` except that it returns the key of the\n\t * first element that passes the callback check, instead of the element itself.\n\t *\n\t * If a property name is provided for `callback` the created \"_.pluck\" style\n\t * callback will return the property value of the given element.\n\t *\n\t * If an object is provided for `callback` the created \"_.where\" style callback\n\t * will return `true` for elements that have the properties of the given object,\n\t * else `false`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Objects\n\t * @param {Object} object The object to search.\n\t * @param {Function|Object|string} [callback=identity] The function called per\n\t * iteration. If a property name or object is provided it will be used to\n\t * create a \"_.pluck\" or \"_.where\" style callback, respectively.\n\t * @param {*} [thisArg] The `this` binding of `callback`.\n\t * @returns {string|undefined} Returns the key of the found element, else `undefined`.\n\t * @example\n\t *\n\t * var characters = {\n\t * 'barney': { 'age': 36, 'blocked': false },\n\t * 'fred': { 'age': 40, 'blocked': true },\n\t * 'pebbles': { 'age': 1, 'blocked': false }\n\t * };\n\t *\n\t * _.findKey(characters, function(chr) {\n\t * return chr.age < 40;\n\t * });\n\t * // => 'barney' (property order is not guaranteed across environments)\n\t *\n\t * // using \"_.where\" callback shorthand\n\t * _.findKey(characters, { 'age': 1 });\n\t * // => 'pebbles'\n\t *\n\t * // using \"_.pluck\" callback shorthand\n\t * _.findKey(characters, 'blocked');\n\t * // => 'fred'\n\t */\n\tfunction findKey(object, callback, thisArg) {\n\t var result;\n\t callback = createCallback(callback, thisArg, 3);\n\t forOwn(object, function(value, key, object) {\n\t if (callback(value, key, object)) {\n\t result = key;\n\t return false;\n\t }\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = findKey;\n\n\n/***/ },\n/* 51 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseCreateCallback = __webpack_require__(1),\n\t objectTypes = __webpack_require__(2);\n\t\n\t/**\n\t * Iterates over own and inherited enumerable properties of an object,\n\t * executing the callback for each property. The callback is bound to `thisArg`\n\t * and invoked with three arguments; (value, key, object). Callbacks may exit\n\t * iteration early by explicitly returning `false`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @type Function\n\t * @category Objects\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} [callback=identity] The function called per iteration.\n\t * @param {*} [thisArg] The `this` binding of `callback`.\n\t * @returns {Object} Returns `object`.\n\t * @example\n\t *\n\t * function Shape() {\n\t * this.x = 0;\n\t * this.y = 0;\n\t * }\n\t *\n\t * Shape.prototype.move = function(x, y) {\n\t * this.x += x;\n\t * this.y += y;\n\t * };\n\t *\n\t * _.forIn(new Shape, function(value, key) {\n\t * console.log(key);\n\t * });\n\t * // => logs 'x', 'y', and 'move' (property order is not guaranteed across environments)\n\t */\n\tvar forIn = function(collection, callback, thisArg) {\n\t var index, iterable = collection, result = iterable;\n\t if (!iterable) return result;\n\t if (!objectTypes[typeof iterable]) return result;\n\t callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);\n\t for (index in iterable) {\n\t if (callback(iterable[index], index, collection) === false) return result;\n\t }\n\t return result\n\t};\n\t\n\tmodule.exports = forIn;\n\n\n/***/ },\n/* 52 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/** `Object#toString` result shortcuts */\n\tvar argsClass = '[object Arguments]';\n\t\n\t/** Used for native method references */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the internal [[Class]] of values */\n\tvar toString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Objects\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if the `value` is an `arguments` object, else `false`.\n\t * @example\n\t *\n\t * (function() { return _.isArguments(arguments); })(1, 2, 3);\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t return value && typeof value == 'object' && typeof value.length == 'number' &&\n\t toString.call(value) == argsClass || false;\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 53 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar createCallback = __webpack_require__(9),\n\t forOwn = __webpack_require__(3);\n\t\n\t/**\n\t * Creates an object with the same keys as `object` and values generated by\n\t * running each own enumerable property of `object` through the callback.\n\t * The callback is bound to `thisArg` and invoked with three arguments;\n\t * (value, key, object).\n\t *\n\t * If a property name is provided for `callback` the created \"_.pluck\" style\n\t * callback will return the property value of the given element.\n\t *\n\t * If an object is provided for `callback` the created \"_.where\" style callback\n\t * will return `true` for elements that have the properties of the given object,\n\t * else `false`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Objects\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function|Object|string} [callback=identity] The function called\n\t * per iteration. If a property name or object is provided it will be used\n\t * to create a \"_.pluck\" or \"_.where\" style callback, respectively.\n\t * @param {*} [thisArg] The `this` binding of `callback`.\n\t * @returns {Array} Returns a new object with values of the results of each `callback` execution.\n\t * @example\n\t *\n\t * _.mapValues({ 'a': 1, 'b': 2, 'c': 3} , function(num) { return num * 3; });\n\t * // => { 'a': 3, 'b': 6, 'c': 9 }\n\t *\n\t * var characters = {\n\t * 'fred': { 'name': 'fred', 'age': 40 },\n\t * 'pebbles': { 'name': 'pebbles', 'age': 1 }\n\t * };\n\t *\n\t * // using \"_.pluck\" callback shorthand\n\t * _.mapValues(characters, 'age');\n\t * // => { 'fred': 40, 'pebbles': 1 }\n\t */\n\tfunction mapValues(object, callback, thisArg) {\n\t var result = {};\n\t callback = createCallback(callback, thisArg, 3);\n\t\n\t forOwn(object, function(value, key, object) {\n\t result[key] = callback(value, key, object);\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = mapValues;\n\n\n/***/ },\n/* 54 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar isNative = __webpack_require__(5);\n\t\n\t/** Used to detect functions containing a `this` reference */\n\tvar reThis = /\\bthis\\b/;\n\t\n\t/**\n\t * An object used to flag environments features.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @type Object\n\t */\n\tvar support = {};\n\t\n\t/**\n\t * Detect if functions can be decompiled by `Function#toString`\n\t * (all but PS3 and older Opera mobile browsers & avoided in Windows 8 apps).\n\t *\n\t * @memberOf _.support\n\t * @type boolean\n\t */\n\tsupport.funcDecomp = !isNative(global.WinRTError) && reThis.test(function() { return this; });\n\t\n\t/**\n\t * Detect if `Function#name` is supported (all but IE).\n\t *\n\t * @memberOf _.support\n\t * @type boolean\n\t */\n\tsupport.funcNames = typeof Function.name == 'string';\n\t\n\tmodule.exports = support;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 55 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/**\n\t * This method returns the first argument provided to it.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utilities\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'name': 'fred' };\n\t * _.identity(object) === object;\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 56 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/**\n\t * Creates a \"_.pluck\" style function, which returns the `key` value of a\n\t * given object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utilities\n\t * @param {string} key The name of the property to retrieve.\n\t * @returns {Function} Returns the new function.\n\t * @example\n\t *\n\t * var characters = [\n\t * { 'name': 'fred', 'age': 40 },\n\t * { 'name': 'barney', 'age': 36 }\n\t * ];\n\t *\n\t * var getName = _.property('name');\n\t *\n\t * _.map(characters, getName);\n\t * // => ['barney', 'fred']\n\t *\n\t * _.sortBy(characters, getName);\n\t * // => [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred', 'age': 40 }]\n\t */\n\tfunction property(key) {\n\t return function(object) {\n\t return object[key];\n\t };\n\t}\n\t\n\tmodule.exports = property;\n\n\n/***/ },\n/* 57 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// Copyright Joyent, Inc. and other Node contributors.\n\t//\n\t// Permission is hereby granted, free of charge, to any person obtaining a\n\t// copy of this software and associated documentation files (the\n\t// \"Software\"), to deal in the Software without restriction, including\n\t// without limitation the rights to use, copy, modify, merge, publish,\n\t// distribute, sublicense, and/or sell copies of the Software, and to permit\n\t// persons to whom the Software is furnished to do so, subject to the\n\t// following conditions:\n\t//\n\t// The above copyright notice and this permission notice shall be included\n\t// in all copies or substantial portions of the Software.\n\t//\n\t// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n\t// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n\t// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n\t// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n\t// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n\t// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n\t// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\t\n\tfunction EventEmitter() {\n\t this._events = this._events || {};\n\t this._maxListeners = this._maxListeners || undefined;\n\t}\n\tmodule.exports = EventEmitter;\n\t\n\t// Backwards-compat with node 0.10.x\n\tEventEmitter.EventEmitter = EventEmitter;\n\t\n\tEventEmitter.prototype._events = undefined;\n\tEventEmitter.prototype._maxListeners = undefined;\n\t\n\t// By default EventEmitters will print a warning if more than 10 listeners are\n\t// added to it. This is a useful default which helps finding memory leaks.\n\tEventEmitter.defaultMaxListeners = 10;\n\t\n\t// Obviously not all Emitters should be limited to 10. This function allows\n\t// that to be increased. Set to zero for unlimited.\n\tEventEmitter.prototype.setMaxListeners = function(n) {\n\t if (!isNumber(n) || n < 0 || isNaN(n))\n\t throw TypeError('n must be a positive number');\n\t this._maxListeners = n;\n\t return this;\n\t};\n\t\n\tEventEmitter.prototype.emit = function(type) {\n\t var er, handler, len, args, i, listeners;\n\t\n\t if (!this._events)\n\t this._events = {};\n\t\n\t // If there is no 'error' event listener then throw.\n\t if (type === 'error') {\n\t if (!this._events.error ||\n\t (isObject(this._events.error) && !this._events.error.length)) {\n\t er = arguments[1];\n\t if (er instanceof Error) {\n\t throw er; // Unhandled 'error' event\n\t } else {\n\t throw TypeError('Uncaught, unspecified \"error\" event.');\n\t }\n\t return false;\n\t }\n\t }\n\t\n\t handler = this._events[type];\n\t\n\t if (isUndefined(handler))\n\t return false;\n\t\n\t if (isFunction(handler)) {\n\t switch (arguments.length) {\n\t // fast cases\n\t case 1:\n\t handler.call(this);\n\t break;\n\t case 2:\n\t handler.call(this, arguments[1]);\n\t break;\n\t case 3:\n\t handler.call(this, arguments[1], arguments[2]);\n\t break;\n\t // slower\n\t default:\n\t len = arguments.length;\n\t args = new Array(len - 1);\n\t for (i = 1; i < len; i++)\n\t args[i - 1] = arguments[i];\n\t handler.apply(this, args);\n\t }\n\t } else if (isObject(handler)) {\n\t len = arguments.length;\n\t args = new Array(len - 1);\n\t for (i = 1; i < len; i++)\n\t args[i - 1] = arguments[i];\n\t\n\t listeners = handler.slice();\n\t len = listeners.length;\n\t for (i = 0; i < len; i++)\n\t listeners[i].apply(this, args);\n\t }\n\t\n\t return true;\n\t};\n\t\n\tEventEmitter.prototype.addListener = function(type, listener) {\n\t var m;\n\t\n\t if (!isFunction(listener))\n\t throw TypeError('listener must be a function');\n\t\n\t if (!this._events)\n\t this._events = {};\n\t\n\t // To avoid recursion in the case that type === \"newListener\"! Before\n\t // adding it to the listeners, first emit \"newListener\".\n\t if (this._events.newListener)\n\t this.emit('newListener', type,\n\t isFunction(listener.listener) ?\n\t listener.listener : listener);\n\t\n\t if (!this._events[type])\n\t // Optimize the case of one listener. Don't need the extra array object.\n\t this._events[type] = listener;\n\t else if (isObject(this._events[type]))\n\t // If we've already got an array, just append.\n\t this._events[type].push(listener);\n\t else\n\t // Adding the second element, need to change to array.\n\t this._events[type] = [this._events[type], listener];\n\t\n\t // Check for listener leak\n\t if (isObject(this._events[type]) && !this._events[type].warned) {\n\t var m;\n\t if (!isUndefined(this._maxListeners)) {\n\t m = this._maxListeners;\n\t } else {\n\t m = EventEmitter.defaultMaxListeners;\n\t }\n\t\n\t if (m && m > 0 && this._events[type].length > m) {\n\t this._events[type].warned = true;\n\t console.error('(node) warning: possible EventEmitter memory ' +\n\t 'leak detected. %d listeners added. ' +\n\t 'Use emitter.setMaxListeners() to increase limit.',\n\t this._events[type].length);\n\t if (typeof console.trace === 'function') {\n\t // not supported in IE 10\n\t console.trace();\n\t }\n\t }\n\t }\n\t\n\t return this;\n\t};\n\t\n\tEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\t\n\tEventEmitter.prototype.once = function(type, listener) {\n\t if (!isFunction(listener))\n\t throw TypeError('listener must be a function');\n\t\n\t var fired = false;\n\t\n\t function g() {\n\t this.removeListener(type, g);\n\t\n\t if (!fired) {\n\t fired = true;\n\t listener.apply(this, arguments);\n\t }\n\t }\n\t\n\t g.listener = listener;\n\t this.on(type, g);\n\t\n\t return this;\n\t};\n\t\n\t// emits a 'removeListener' event iff the listener was removed\n\tEventEmitter.prototype.removeListener = function(type, listener) {\n\t var list, position, length, i;\n\t\n\t if (!isFunction(listener))\n\t throw TypeError('listener must be a function');\n\t\n\t if (!this._events || !this._events[type])\n\t return this;\n\t\n\t list = this._events[type];\n\t length = list.length;\n\t position = -1;\n\t\n\t if (list === listener ||\n\t (isFunction(list.listener) && list.listener === listener)) {\n\t delete this._events[type];\n\t if (this._events.removeListener)\n\t this.emit('removeListener', type, listener);\n\t\n\t } else if (isObject(list)) {\n\t for (i = length; i-- > 0;) {\n\t if (list[i] === listener ||\n\t (list[i].listener && list[i].listener === listener)) {\n\t position = i;\n\t break;\n\t }\n\t }\n\t\n\t if (position < 0)\n\t return this;\n\t\n\t if (list.length === 1) {\n\t list.length = 0;\n\t delete this._events[type];\n\t } else {\n\t list.splice(position, 1);\n\t }\n\t\n\t if (this._events.removeListener)\n\t this.emit('removeListener', type, listener);\n\t }\n\t\n\t return this;\n\t};\n\t\n\tEventEmitter.prototype.removeAllListeners = function(type) {\n\t var key, listeners;\n\t\n\t if (!this._events)\n\t return this;\n\t\n\t // not listening for removeListener, no need to emit\n\t if (!this._events.removeListener) {\n\t if (arguments.length === 0)\n\t this._events = {};\n\t else if (this._events[type])\n\t delete this._events[type];\n\t return this;\n\t }\n\t\n\t // emit removeListener for all listeners on all events\n\t if (arguments.length === 0) {\n\t for (key in this._events) {\n\t if (key === 'removeListener') continue;\n\t this.removeAllListeners(key);\n\t }\n\t this.removeAllListeners('removeListener');\n\t this._events = {};\n\t return this;\n\t }\n\t\n\t listeners = this._events[type];\n\t\n\t if (isFunction(listeners)) {\n\t this.removeListener(type, listeners);\n\t } else {\n\t // LIFO order\n\t while (listeners.length)\n\t this.removeListener(type, listeners[listeners.length - 1]);\n\t }\n\t delete this._events[type];\n\t\n\t return this;\n\t};\n\t\n\tEventEmitter.prototype.listeners = function(type) {\n\t var ret;\n\t if (!this._events || !this._events[type])\n\t ret = [];\n\t else if (isFunction(this._events[type]))\n\t ret = [this._events[type]];\n\t else\n\t ret = this._events[type].slice();\n\t return ret;\n\t};\n\t\n\tEventEmitter.listenerCount = function(emitter, type) {\n\t var ret;\n\t if (!emitter._events || !emitter._events[type])\n\t ret = 0;\n\t else if (isFunction(emitter._events[type]))\n\t ret = 1;\n\t else\n\t ret = emitter._events[type].length;\n\t return ret;\n\t};\n\t\n\tfunction isFunction(arg) {\n\t return typeof arg === 'function';\n\t}\n\t\n\tfunction isNumber(arg) {\n\t return typeof arg === 'number';\n\t}\n\t\n\tfunction isObject(arg) {\n\t return typeof arg === 'object' && arg !== null;\n\t}\n\t\n\tfunction isUndefined(arg) {\n\t return arg === void 0;\n\t}\n\n\n/***/ },\n/* 58 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// shim for using process in browser\n\t\n\tvar process = module.exports = {};\n\t\n\tprocess.nextTick = (function () {\n\t var canSetImmediate = typeof window !== 'undefined'\n\t && window.setImmediate;\n\t var canPost = typeof window !== 'undefined'\n\t && window.postMessage && window.addEventListener\n\t ;\n\t\n\t if (canSetImmediate) {\n\t return function (f) { return window.setImmediate(f) };\n\t }\n\t\n\t if (canPost) {\n\t var queue = [];\n\t window.addEventListener('message', function (ev) {\n\t var source = ev.source;\n\t if ((source === window || source === null) && ev.data === 'process-tick') {\n\t ev.stopPropagation();\n\t if (queue.length > 0) {\n\t var fn = queue.shift();\n\t fn();\n\t }\n\t }\n\t }, true);\n\t\n\t return function nextTick(fn) {\n\t queue.push(fn);\n\t window.postMessage('process-tick', '*');\n\t };\n\t }\n\t\n\t return function nextTick(fn) {\n\t setTimeout(fn, 0);\n\t };\n\t})();\n\t\n\tprocess.title = 'browser';\n\tprocess.browser = true;\n\tprocess.env = {};\n\tprocess.argv = [];\n\t\n\tfunction noop() {}\n\t\n\tprocess.on = noop;\n\tprocess.once = noop;\n\tprocess.off = noop;\n\tprocess.emit = noop;\n\t\n\tprocess.binding = function (name) {\n\t throw new Error('process.binding is not supported');\n\t}\n\t\n\t// TODO(shtylman)\n\tprocess.cwd = function () { return '/' };\n\tprocess.chdir = function (dir) {\n\t throw new Error('process.chdir is not supported');\n\t};\n\n\n/***/ },\n/* 59 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tif (typeof Object.create === 'function') {\n\t // implementation from standard node.js 'util' module\n\t module.exports = function inherits(ctor, superCtor) {\n\t ctor.super_ = superCtor\n\t ctor.prototype = Object.create(superCtor.prototype, {\n\t constructor: {\n\t value: ctor,\n\t enumerable: false,\n\t writable: true,\n\t configurable: true\n\t }\n\t });\n\t };\n\t} else {\n\t // old school shim for old browsers\n\t module.exports = function inherits(ctor, superCtor) {\n\t ctor.super_ = superCtor\n\t var TempCtor = function () {}\n\t TempCtor.prototype = superCtor.prototype\n\t ctor.prototype = new TempCtor()\n\t ctor.prototype.constructor = ctor\n\t }\n\t}\n\n\n/***/ },\n/* 60 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = function isBuffer(arg) {\n\t return arg && typeof arg === 'object'\n\t && typeof arg.copy === 'function'\n\t && typeof arg.fill === 'function'\n\t && typeof arg.readUInt8 === 'function';\n\t}\n\n/***/ },\n/* 61 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = {\"name\":\"fluxxor\",\"version\":\"1.4.0\",\"description\":\"Flux architecture tools for React\",\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/BinaryMuse/fluxxor.git\"},\"main\":\"index.js\",\"scripts\":{\"test\":\"npm run jshint && mocha --recursive\",\"jshint\":\"jsxhint lib/ test/\",\"build\":\"./script/build-fluxxor && ./script/build-examples\",\"preview-site\":\"wintersmith preview -C site\",\"build-site\":\"wintersmith build -C site\"},\"keywords\":[\"react\",\"flux\"],\"author\":\"Brandon Tilley \",\"license\":\"MIT\",\"devDependencies\":{\"chai\":\"^1.9.1\",\"css-loader\":\"^0.6.12\",\"envify\":\"^1.2.1\",\"jsdom\":\"^0.10.5\",\"json-loader\":\"^0.5.0\",\"jsx-loader\":\"^0.10.2\",\"jsxhint\":\"^0.4.9\",\"less\":\"^1.7.0\",\"less-loader\":\"^0.7.3\",\"mocha\":\"^1.18.2\",\"react\":\"^0.11.0 >0.11.0-rc1\",\"sinon\":\"^1.9.1\",\"sinon-chai\":\"^2.5.0\",\"style-loader\":\"^0.6.3\",\"webpack\":\"^1.1.11\",\"webpack-dev-server\":\"^1.2.7\",\"wintersmith\":\"^2.0.10\",\"wintersmith-ejs\":\"^0.1.4\",\"wintersmith-less\":\"^0.2.2\"},\"dependencies\":{\"lodash-node\":\"^2.4.1\"},\"jshintConfig\":{\"camelcase\":true,\"curly\":true,\"eqeqeq\":true,\"forin\":true,\"latedef\":true,\"newcap\":false,\"undef\":true,\"unused\":true,\"trailing\":true,\"node\":true,\"browser\":true,\"predef\":[\"it\",\"describe\",\"beforeEach\",\"afterEach\"]}}\n\n/***/ }\n/******/ ])\n})\n","\n// The module cache\nvar installedModules = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(installedModules[moduleId])\n\t\treturn installedModules[moduleId].exports;\n\t\n\t// Create a new module (and put it into the cache)\n\tvar module = installedModules[moduleId] = {\n\t\texports: {},\n\t\tid: moduleId,\n\t\tloaded: false\n\t};\n\t\n\t// Execute the module function\n\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\t\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\t\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = modules;\n\n// expose the module cache\n__webpack_require__.c = installedModules;\n\n// __webpack_public_path__\n__webpack_require__.p = \"\";\n\n\n// Load entry module and return exports\nreturn __webpack_require__(0);","var Dispatcher = require(\"./lib/dispatcher\"),\n Flux = require(\"./lib/flux\"),\n FluxMixin = require(\"./lib/flux_mixin\"),\n FluxChildMixin = require(\"./lib/flux_child_mixin\"),\n StoreWatchMixin = require(\"./lib/store_watch_mixin\"),\n createStore = require(\"./lib/create_store\");\n\nvar Fluxxor = {\n Dispatcher: Dispatcher,\n Flux: Flux,\n FluxMixin: FluxMixin,\n FluxChildMixin: FluxChildMixin,\n StoreWatchMixin: StoreWatchMixin,\n createStore: createStore,\n version: require(\"./version\").version\n};\n\nmodule.exports = Fluxxor;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar bind = require('../functions/bind'),\n identity = require('../utilities/identity'),\n setBindData = require('./setBindData'),\n support = require('../support');\n\n/** Used to detected named functions */\nvar reFuncName = /^\\s*function[ \\n\\r\\t]+\\w/;\n\n/** Used to detect functions containing a `this` reference */\nvar reThis = /\\bthis\\b/;\n\n/** Native method shortcuts */\nvar fnToString = Function.prototype.toString;\n\n/**\n * The base implementation of `_.createCallback` without support for creating\n * \"_.pluck\" or \"_.where\" style callbacks.\n *\n * @private\n * @param {*} [func=identity] The value to convert to a callback.\n * @param {*} [thisArg] The `this` binding of the created callback.\n * @param {number} [argCount] The number of arguments the callback accepts.\n * @returns {Function} Returns a callback function.\n */\nfunction baseCreateCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n // exit early for no `thisArg` or already bound by `Function#bind`\n if (typeof thisArg == 'undefined' || !('prototype' in func)) {\n return func;\n }\n var bindData = func.__bindData__;\n if (typeof bindData == 'undefined') {\n if (support.funcNames) {\n bindData = !func.name;\n }\n bindData = bindData || !support.funcDecomp;\n if (!bindData) {\n var source = fnToString.call(func);\n if (!support.funcNames) {\n bindData = !reFuncName.test(source);\n }\n if (!bindData) {\n // checks if `func` references the `this` keyword and stores the result\n bindData = reThis.test(source);\n setBindData(func, bindData);\n }\n }\n }\n // exit early if there are no `this` references or `func` is bound\n if (bindData === false || (bindData !== true && bindData[1] & 1)) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 2: return function(a, b) {\n return func.call(thisArg, a, b);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n }\n return bind(func, thisArg);\n}\n\nmodule.exports = baseCreateCallback;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used to determine if values are of the language type Object */\nvar objectTypes = {\n 'boolean': false,\n 'function': true,\n 'object': true,\n 'number': false,\n 'string': false,\n 'undefined': false\n};\n\nmodule.exports = objectTypes;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreateCallback = require('../internals/baseCreateCallback'),\n keys = require('./keys'),\n objectTypes = require('../internals/objectTypes');\n\n/**\n * Iterates over own enumerable properties of an object, executing the callback\n * for each property. The callback is bound to `thisArg` and invoked with three\n * arguments; (value, key, object). Callbacks may exit iteration early by\n * explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @type Function\n * @category Objects\n * @param {Object} object The object to iterate over.\n * @param {Function} [callback=identity] The function called per iteration.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Object} Returns `object`.\n * @example\n *\n * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) {\n * console.log(key);\n * });\n * // => logs '0', '1', and 'length' (property order is not guaranteed across environments)\n */\nvar forOwn = function(collection, callback, thisArg) {\n var index, iterable = collection, result = iterable;\n if (!iterable) return result;\n if (!objectTypes[typeof iterable]) return result;\n callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n if (callback(iterable[index], index, collection) === false) return result;\n }\n return result\n};\n\nmodule.exports = forOwn;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar objectTypes = require('../internals/objectTypes');\n\n/**\n * Checks if `value` is the language type of Object.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if the `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // check if the value is the ECMAScript language type of Object\n // http://es5.github.io/#x8\n // and avoid a V8 bug\n // http://code.google.com/p/v8/issues/detail?id=2291\n return !!(value && objectTypes[typeof value]);\n}\n\nmodule.exports = isObject;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the internal [[Class]] of values */\nvar toString = objectProto.toString;\n\n/** Used to detect if a method is native */\nvar reNative = RegExp('^' +\n String(toString)\n .replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n .replace(/toString| for [^\\]]+/g, '.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if the `value` is a native function, else `false`.\n */\nfunction isNative(value) {\n return typeof value == 'function' && reNative.test(value);\n}\n\nmodule.exports = isNative;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/**\n * Slices the `collection` from the `start` index up to, but not including,\n * the `end` index.\n *\n * Note: This function is used instead of `Array#slice` to support node lists\n * in IE < 9 and to ensure dense arrays are returned.\n *\n * @private\n * @param {Array|Object|string} collection The collection to slice.\n * @param {number} start The start index.\n * @param {number} end The end index.\n * @returns {Array} Returns the new array.\n */\nfunction slice(array, start, end) {\n start || (start = 0);\n if (typeof end == 'undefined') {\n end = array ? array.length : 0;\n }\n var index = -1,\n length = end - start || 0,\n result = Array(length < 0 ? 0 : length);\n\n while (++index < length) {\n result[index] = array[start + index];\n }\n return result;\n}\n\nmodule.exports = slice;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar isNative = require('../internals/isNative'),\n isObject = require('./isObject'),\n shimKeys = require('../internals/shimKeys');\n\n/* Native method shortcuts for methods with the same name as other `lodash` methods */\nvar nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys;\n\n/**\n * Creates an array composed of the own enumerable property names of an object.\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns an array of property names.\n * @example\n *\n * _.keys({ 'one': 1, 'two': 2, 'three': 3 });\n * // => ['one', 'two', 'three'] (property order is not guaranteed across environments)\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n if (!isObject(object)) {\n return [];\n }\n return nativeKeys(object);\n};\n\nmodule.exports = keys;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreateCallback = require('../internals/baseCreateCallback'),\n forOwn = require('../objects/forOwn');\n\n/**\n * Iterates over elements of a collection, executing the callback for each\n * element. The callback is bound to `thisArg` and invoked with three arguments;\n * (value, index|key, collection). Callbacks may exit iteration early by\n * explicitly returning `false`.\n *\n * Note: As with other \"Collections\" methods, objects with a `length` property\n * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn`\n * may be used for object iteration.\n *\n * @static\n * @memberOf _\n * @alias each\n * @category Collections\n * @param {Array|Object|string} collection The collection to iterate over.\n * @param {Function} [callback=identity] The function called per iteration.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Array|Object|string} Returns `collection`.\n * @example\n *\n * _([1, 2, 3]).forEach(function(num) { console.log(num); }).join(',');\n * // => logs each number and returns '1,2,3'\n *\n * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { console.log(num); });\n * // => logs each number and returns the object (property order is not guaranteed across environments)\n */\nfunction forEach(collection, callback, thisArg) {\n var index = -1,\n length = collection ? collection.length : 0;\n\n callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);\n if (typeof length == 'number') {\n while (++index < length) {\n if (callback(collection[index], index, collection) === false) {\n break;\n }\n }\n } else {\n forOwn(collection, callback);\n }\n return collection;\n}\n\nmodule.exports = forEach;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreateCallback = require('../internals/baseCreateCallback'),\n baseIsEqual = require('../internals/baseIsEqual'),\n isObject = require('../objects/isObject'),\n keys = require('../objects/keys'),\n property = require('../utilities/property');\n\n/**\n * Produces a callback bound to an optional `thisArg`. If `func` is a property\n * name the created callback will return the property value for a given element.\n * If `func` is an object the created callback will return `true` for elements\n * that contain the equivalent object properties, otherwise it will return `false`.\n *\n * @static\n * @memberOf _\n * @category Utilities\n * @param {*} [func=identity] The value to convert to a callback.\n * @param {*} [thisArg] The `this` binding of the created callback.\n * @param {number} [argCount] The number of arguments the callback accepts.\n * @returns {Function} Returns a callback function.\n * @example\n *\n * var characters = [\n * { 'name': 'barney', 'age': 36 },\n * { 'name': 'fred', 'age': 40 }\n * ];\n *\n * // wrap to create custom callback shorthands\n * _.createCallback = _.wrap(_.createCallback, function(func, callback, thisArg) {\n * var match = /^(.+?)__([gl]t)(.+)$/.exec(callback);\n * return !match ? func(callback, thisArg) : function(object) {\n * return match[2] == 'gt' ? object[match[1]] > match[3] : object[match[1]] < match[3];\n * };\n * });\n *\n * _.filter(characters, 'age__gt38');\n * // => [{ 'name': 'fred', 'age': 40 }]\n */\nfunction createCallback(func, thisArg, argCount) {\n var type = typeof func;\n if (func == null || type == 'function') {\n return baseCreateCallback(func, thisArg, argCount);\n }\n // handle \"_.pluck\" style callback shorthands\n if (type != 'object') {\n return property(func);\n }\n var props = keys(func),\n key = props[0],\n a = func[key];\n\n // handle \"_.where\" style callback shorthands\n if (props.length == 1 && a === a && !isObject(a)) {\n // fast path the common case of providing an object with a single\n // property containing a primitive value\n return function(object) {\n var b = object[key];\n return a === b && (a !== 0 || (1 / a == 1 / b));\n };\n }\n return function(object) {\n var length = props.length,\n result = false;\n\n while (length--) {\n if (!(result = baseIsEqual(object[props[length]], func[props[length]], null, true))) {\n break;\n }\n }\n return result;\n };\n}\n\nmodule.exports = createCallback;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar arrayPool = require('./arrayPool');\n\n/**\n * Gets an array from the array pool or creates a new one if the pool is empty.\n *\n * @private\n * @returns {Array} The array from the pool.\n */\nfunction getArray() {\n return arrayPool.pop() || [];\n}\n\nmodule.exports = getArray;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar arrayPool = require('./arrayPool'),\n maxPoolSize = require('./maxPoolSize');\n\n/**\n * Releases the given array back to the array pool.\n *\n * @private\n * @param {Array} [array] The array to release.\n */\nfunction releaseArray(array) {\n array.length = 0;\n if (arrayPool.length < maxPoolSize) {\n arrayPool.push(array);\n }\n}\n\nmodule.exports = releaseArray;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/**\n * The base implementation of `_.indexOf` without support for binary searches\n * or `fromIndex` constraints.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the matched value or `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n var index = (fromIndex || 0) - 1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseIndexOf;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar maxPoolSize = require('./maxPoolSize'),\n objectPool = require('./objectPool');\n\n/**\n * Releases the given object back to the object pool.\n *\n * @private\n * @param {Object} [object] The object to release.\n */\nfunction releaseObject(object) {\n var cache = object.cache;\n if (cache) {\n releaseObject(cache);\n }\n object.array = object.cache = object.criteria = object.object = object.number = object.string = object.value = null;\n if (objectPool.length < maxPoolSize) {\n objectPool.push(object);\n }\n}\n\nmodule.exports = releaseObject;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar isNative = require('./isNative'),\n noop = require('../utilities/noop');\n\n/** Used as the property descriptor for `__bindData__` */\nvar descriptor = {\n 'configurable': false,\n 'enumerable': false,\n 'value': null,\n 'writable': false\n};\n\n/** Used to set meta data on functions */\nvar defineProperty = (function() {\n // IE 8 only accepts DOM elements\n try {\n var o = {},\n func = isNative(func = Object.defineProperty) && func,\n result = func(o, o, o) && func;\n } catch(e) { }\n return result;\n}());\n\n/**\n * Sets `this` binding data on a given function.\n *\n * @private\n * @param {Function} func The function to set data on.\n * @param {Array} value The data array to set.\n */\nvar setBindData = !defineProperty ? noop : function(func, value) {\n descriptor.value = value;\n defineProperty(func, '__bindData__', descriptor);\n};\n\nmodule.exports = setBindData;\n","var _clone = require(\"lodash-node/modern/objects/clone\"),\n _mapValues = require(\"lodash-node/modern/objects/mapValues\"),\n _forOwn = require(\"lodash-node/modern/objects/forOwn\"),\n _intersection = require(\"lodash-node/modern/arrays/intersection\"),\n _keys = require(\"lodash-node/modern/objects/keys\"),\n _map = require(\"lodash-node/modern/collections/map\"),\n _each = require(\"lodash-node/modern/collections/forEach\"),\n _size = require(\"lodash-node/modern/collections/size\"),\n _findKey = require(\"lodash-node/modern/objects/findKey\"),\n _uniq = require(\"lodash-node/modern/arrays/uniq\");\n\nvar Dispatcher = function(stores) {\n this.stores = stores;\n this.currentDispatch = null;\n this.waitingToDispatch = [];\n\n for (var key in stores) {\n if (stores.hasOwnProperty(key)) {\n stores[key].dispatcher = this;\n }\n }\n};\n\nDispatcher.prototype.dispatch = function(action) {\n if (this.currentDispatch) {\n throw new Error(\"Cannot dispatch an action while another action is being dispatched\");\n }\n\n if (!action || !action.type) {\n throw new Error(\"Can only dispatch actions with a 'type' property\");\n }\n\n this.waitingToDispatch = _clone(this.stores);\n\n this.currentDispatch = _mapValues(this.stores, function() {\n return { resolved: false, waitingOn: [], waitCallback: null };\n });\n\n try {\n this.doDispatchLoop(action);\n } finally {\n this.currentDispatch = null;\n }\n};\n\nDispatcher.prototype.doDispatchLoop = function(action) {\n var dispatch, canBeDispatchedTo,\n removeFromDispatchQueue = [], dispatchedThisLoop = [];\n\n _forOwn(this.waitingToDispatch, function(value, key) {\n dispatch = this.currentDispatch[key];\n canBeDispatchedTo = !dispatch.waitingOn.length ||\n !_intersection(dispatch.waitingOn, _keys(this.waitingToDispatch)).length;\n if (canBeDispatchedTo) {\n if (dispatch.waitCallback) {\n var stores = _map(dispatch.waitingOn, function(key) {\n return this.stores[key];\n }, this);\n var fn = dispatch.waitCallback;\n dispatch.waitCallback = null;\n dispatch.waitingOn = [];\n dispatch.resolved = true;\n fn.apply(null, stores);\n } else {\n dispatch.resolved = true;\n this.stores[key].__handleAction__(action);\n }\n\n dispatchedThisLoop.push(key);\n\n if (this.currentDispatch[key].resolved) {\n removeFromDispatchQueue.push(key);\n }\n }\n }, this);\n\n if (!dispatchedThisLoop.length) {\n var storesWithCircularWaits = _keys(this.waitingToDispatch).join(\", \");\n throw new Error(\"Indirect circular wait detected among: \" + storesWithCircularWaits);\n }\n\n _each(removeFromDispatchQueue, function(key) {\n delete this.waitingToDispatch[key];\n }, this);\n\n if (_size(this.waitingToDispatch)) {\n this.doDispatchLoop(action);\n }\n};\n\nDispatcher.prototype.waitForStores = function(store, stores, fn) {\n if (!this.currentDispatch) {\n throw new Error(\"Cannot wait unless an action is being dispatched\");\n }\n\n var waitingStoreName = _findKey(this.stores, function(val) {\n return val === store;\n });\n\n if (stores.indexOf(waitingStoreName) > -1) {\n throw new Error(\"A store cannot wait on itself\");\n }\n\n var dispatch = this.currentDispatch[waitingStoreName];\n\n if (dispatch.waitingOn.length) {\n throw new Error(waitingStoreName + \" already waiting on stores\");\n }\n\n _each(stores, function(storeName) {\n var storeDispatch = this.currentDispatch[storeName];\n if (!this.stores[storeName]) {\n throw new Error(\"Cannot wait for non-existent store \" + storeName);\n }\n if (storeDispatch.waitingOn.indexOf(waitingStoreName) > -1) {\n throw new Error(\"Circular wait detected between \" + waitingStoreName + \" and \" + storeName);\n }\n }, this);\n\n dispatch.resolved = false;\n dispatch.waitingOn = _uniq(dispatch.waitingOn.concat(stores));\n dispatch.waitCallback = fn;\n};\n\nmodule.exports = Dispatcher;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used to pool arrays and objects used internally */\nvar arrayPool = [];\n\nmodule.exports = arrayPool;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar isNative = require('./isNative'),\n isObject = require('../objects/isObject'),\n noop = require('../utilities/noop');\n\n/* Native method shortcuts for methods with the same name as other `lodash` methods */\nvar nativeCreate = isNative(nativeCreate = Object.create) && nativeCreate;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(prototype, properties) {\n return isObject(prototype) ? nativeCreate(prototype) : {};\n}\n// fallback for browsers without `Object.create`\nif (!nativeCreate) {\n baseCreate = (function() {\n function Object() {}\n return function(prototype) {\n if (isObject(prototype)) {\n Object.prototype = prototype;\n var result = new Object;\n Object.prototype = null;\n }\n return result || global.Object();\n };\n }());\n}\n\nmodule.exports = baseCreate;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseIndexOf = require('./baseIndexOf'),\n keyPrefix = require('./keyPrefix');\n\n/**\n * An implementation of `_.contains` for cache objects that mimics the return\n * signature of `_.indexOf` by returning `0` if the value is found, else `-1`.\n *\n * @private\n * @param {Object} cache The cache object to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns `0` if `value` is found, else `-1`.\n */\nfunction cacheIndexOf(cache, value) {\n var type = typeof value;\n cache = cache.cache;\n\n if (type == 'boolean' || value == null) {\n return cache[value] ? 0 : -1;\n }\n if (type != 'number' && type != 'string') {\n type = 'object';\n }\n var key = type == 'number' ? value : keyPrefix + value;\n cache = (cache = cache[type]) && cache[key];\n\n return type == 'object'\n ? (cache && baseIndexOf(cache, value) > -1 ? 0 : -1)\n : (cache ? 0 : -1);\n}\n\nmodule.exports = cacheIndexOf;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar cachePush = require('./cachePush'),\n getObject = require('./getObject'),\n releaseObject = require('./releaseObject');\n\n/**\n * Creates a cache object to optimize linear searches of large arrays.\n *\n * @private\n * @param {Array} [array=[]] The array to search.\n * @returns {null|Object} Returns the cache object or `null` if caching should not be used.\n */\nfunction createCache(array) {\n var index = -1,\n length = array.length,\n first = array[0],\n mid = array[(length / 2) | 0],\n last = array[length - 1];\n\n if (first && typeof first == 'object' &&\n mid && typeof mid == 'object' && last && typeof last == 'object') {\n return false;\n }\n var cache = getObject();\n cache['false'] = cache['null'] = cache['true'] = cache['undefined'] = false;\n\n var result = getObject();\n result.array = array;\n result.cache = cache;\n result.push = cachePush;\n\n while (++index < length) {\n result.push(array[index]);\n }\n return result;\n}\n\nmodule.exports = createCache;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used to prefix keys to avoid issues with `__proto__` and properties on `Object.prototype` */\nvar keyPrefix = +new Date + '';\n\nmodule.exports = keyPrefix;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used as the size when optimizations are enabled for large arrays */\nvar largeArraySize = 75;\n\nmodule.exports = largeArraySize;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used as the max size of the `arrayPool` and `objectPool` */\nvar maxPoolSize = 40;\n\nmodule.exports = maxPoolSize;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used to pool arrays and objects used internally */\nvar objectPool = [];\n\nmodule.exports = objectPool;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar isNative = require('../internals/isNative');\n\n/** `Object#toString` result shortcuts */\nvar arrayClass = '[object Array]';\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the internal [[Class]] of values */\nvar toString = objectProto.toString;\n\n/* Native method shortcuts for methods with the same name as other `lodash` methods */\nvar nativeIsArray = isNative(nativeIsArray = Array.isArray) && nativeIsArray;\n\n/**\n * Checks if `value` is an array.\n *\n * @static\n * @memberOf _\n * @type Function\n * @category Objects\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if the `value` is an array, else `false`.\n * @example\n *\n * (function() { return _.isArray(arguments); })();\n * // => false\n *\n * _.isArray([1, 2, 3]);\n * // => true\n */\nvar isArray = nativeIsArray || function(value) {\n return value && typeof value == 'object' && typeof value.length == 'number' &&\n toString.call(value) == arrayClass || false;\n};\n\nmodule.exports = isArray;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/**\n * Checks if `value` is a function.\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if the `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n */\nfunction isFunction(value) {\n return typeof value == 'function';\n}\n\nmodule.exports = isFunction;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/**\n * A no-operation function.\n *\n * @static\n * @memberOf _\n * @category Utilities\n * @example\n *\n * var object = { 'name': 'fred' };\n * _.noop(object) === undefined;\n * // => true\n */\nfunction noop() {\n // no operation performed\n}\n\nmodule.exports = noop;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n // Allow for deprecating things in the process of starting up.\n if (isUndefined(global.process)) {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n if (process.noDeprecation === true) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n","var _each = require(\"lodash-node/modern/collections/forEach\"),\n Store = require(\"./store\"),\n util = require(\"util\");\n\nvar RESERVED_KEYS = [\"flux\", \"waitFor\"];\n\nvar createStore = function(spec) {\n _each(RESERVED_KEYS, function(key) {\n if (spec[key]) {\n throw new Error(\"Reserved key '\" + key + \"' found in store definition\");\n }\n });\n\n var constructor = function(options) {\n options = options || {};\n Store.call(this);\n\n for (var key in spec) {\n if (key === \"actions\") {\n this.__actions__ = spec[key];\n } else if (key === \"initialize\") {\n // do nothing\n } else if (typeof spec[key] === \"function\") {\n this[key] = spec[key].bind(this);\n } else {\n this[key] = spec[key];\n }\n }\n\n if (spec.initialize) {\n spec.initialize.call(this, options);\n }\n };\n\n util.inherits(constructor, Store);\n return constructor;\n};\n\nmodule.exports = createStore;\n","var Dispatcher = require(\"./dispatcher\");\n\nfunction bindActions(target, actions, dispatchBinder) {\n for (var key in actions) {\n if (actions.hasOwnProperty(key)) {\n if (typeof actions[key] === \"function\") {\n target[key] = actions[key].bind(dispatchBinder);\n } else if (typeof actions[key] === \"object\") {\n target[key] = {};\n bindActions(target[key], actions[key], dispatchBinder);\n }\n }\n }\n}\n\nvar Flux = function(stores, actions) {\n var dispatcher = new Dispatcher(stores),\n dispatchBinder = {\n flux: this,\n dispatch: function(type, payload) {\n dispatcher.dispatch({type: type, payload: payload});\n }\n };\n\n this.dispatcher = dispatcher;\n this.actions = {};\n this.stores = stores;\n\n bindActions(this.actions, actions, dispatchBinder);\n\n for (var key in stores) {\n if (stores.hasOwnProperty(key)) {\n stores[key].flux = this;\n }\n }\n};\n\nFlux.prototype.store = function(name) {\n return this.stores[name];\n};\n\nmodule.exports = Flux;\n","var FluxChildMixin = function(React) {\n return {\n contextTypes: {\n flux: React.PropTypes.object\n },\n\n getFlux: function() {\n return this.context.flux;\n }\n };\n};\n\nFluxChildMixin.componentWillMount = function() {\n throw new Error(\"Fluxxor.FluxChildMixin is a function that takes React as a \" +\n \"parameter and returns the mixin, e.g.: mixins[Fluxxor.FluxChildMixin(React)]\");\n};\n\nmodule.exports = FluxChildMixin;\n","var FluxMixin = function(React) {\n return {\n propTypes: {\n flux: React.PropTypes.object.isRequired\n },\n\n childContextTypes: {\n flux: React.PropTypes.object\n },\n\n getChildContext: function() {\n return {\n flux: this.props.flux\n };\n },\n\n getFlux: function() {\n return this.props.flux;\n }\n };\n};\n\nFluxMixin.componentWillMount = function() {\n throw new Error(\"Fluxxor.FluxMixin is a function that takes React as a \" +\n \"parameter and returns the mixin, e.g.: mixins[Fluxxor.FluxMixin(React)]\");\n};\n\nmodule.exports = FluxMixin;\n","var EventEmitter = require(\"events\").EventEmitter,\n util = require(\"util\");\n\nfunction Store(dispatcher) {\n this.dispatcher = dispatcher;\n this.__actions__ = {};\n EventEmitter.call(this);\n}\n\nutil.inherits(Store, EventEmitter);\n\nStore.prototype.__handleAction__ = function(action) {\n var handler;\n if (!!(handler = this.__actions__[action.type])) {\n if (typeof handler === \"function\") {\n handler.call(this, action.payload, action.type);\n } else if (handler && typeof this[handler] === \"function\") {\n this[handler].call(this, action.payload, action.type);\n }\n }\n};\n\nStore.prototype.bindActions = function() {\n var actions = Array.prototype.slice.call(arguments);\n if (actions.length % 2 !== 0) {\n throw new Error(\"bindActions must take an even number of arguments.\");\n }\n\n for (var i = 0; i < actions.length; i += 2) {\n var type = actions[i],\n handler = actions[i+1];\n\n this.__actions__[type] = handler;\n }\n};\n\nStore.prototype.waitFor = function(stores, fn) {\n this.dispatcher.waitForStores(this, stores, fn.bind(this));\n};\n\nmodule.exports = Store;\n","var _each = require(\"lodash-node/modern/collections/forEach\");\n\nvar StoreWatchMixin = function() {\n var storeNames = Array.prototype.slice.call(arguments);\n return {\n componentWillMount: function() {\n var flux = this.props.flux || this.context.flux;\n _each(storeNames, function(store) {\n flux.store(store).on(\"change\", this._setStateFromFlux);\n }, this);\n },\n\n componentWillUnmount: function() {\n var flux = this.props.flux || this.context.flux;\n _each(storeNames, function(store) {\n flux.store(store).removeListener(\"change\", this._setStateFromFlux);\n }, this);\n },\n\n _setStateFromFlux: function() {\n if(this.isMounted()) {\n this.setState(this.getStateFromFlux());\n }\n },\n\n getInitialState: function() {\n return this.getStateFromFlux();\n }\n };\n};\n\nStoreWatchMixin.componentWillMount = function() {\n throw new Error(\"Fluxxor.StoreWatchMixin is a function that takes one or more \" +\n \"store names as parameters and returns the mixin, e.g.: \" +\n \"mixins[Fluxxor.StoreWatchMixin(\\\"Store1\\\", \\\"Store2\\\")]\");\n};\n\nmodule.exports = StoreWatchMixin;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseIndexOf = require('../internals/baseIndexOf'),\n cacheIndexOf = require('../internals/cacheIndexOf'),\n createCache = require('../internals/createCache'),\n getArray = require('../internals/getArray'),\n isArguments = require('../objects/isArguments'),\n isArray = require('../objects/isArray'),\n largeArraySize = require('../internals/largeArraySize'),\n releaseArray = require('../internals/releaseArray'),\n releaseObject = require('../internals/releaseObject');\n\n/**\n * Creates an array of unique values present in all provided arrays using\n * strict equality for comparisons, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @category Arrays\n * @param {...Array} [array] The arrays to inspect.\n * @returns {Array} Returns an array of shared values.\n * @example\n *\n * _.intersection([1, 2, 3], [5, 2, 1, 4], [2, 1]);\n * // => [1, 2]\n */\nfunction intersection() {\n var args = [],\n argsIndex = -1,\n argsLength = arguments.length,\n caches = getArray(),\n indexOf = baseIndexOf,\n trustIndexOf = indexOf === baseIndexOf,\n seen = getArray();\n\n while (++argsIndex < argsLength) {\n var value = arguments[argsIndex];\n if (isArray(value) || isArguments(value)) {\n args.push(value);\n caches.push(trustIndexOf && value.length >= largeArraySize &&\n createCache(argsIndex ? args[argsIndex] : seen));\n }\n }\n var array = args[0],\n index = -1,\n length = array ? array.length : 0,\n result = [];\n\n outer:\n while (++index < length) {\n var cache = caches[0];\n value = array[index];\n\n if ((cache ? cacheIndexOf(cache, value) : indexOf(seen, value)) < 0) {\n argsIndex = argsLength;\n (cache || seen).push(value);\n while (--argsIndex) {\n cache = caches[argsIndex];\n if ((cache ? cacheIndexOf(cache, value) : indexOf(args[argsIndex], value)) < 0) {\n continue outer;\n }\n }\n result.push(value);\n }\n }\n while (argsLength--) {\n cache = caches[argsLength];\n if (cache) {\n releaseObject(cache);\n }\n }\n releaseArray(caches);\n releaseArray(seen);\n return result;\n}\n\nmodule.exports = intersection;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseUniq = require('../internals/baseUniq'),\n createCallback = require('../functions/createCallback');\n\n/**\n * Creates a duplicate-value-free version of an array using strict equality\n * for comparisons, i.e. `===`. If the array is sorted, providing\n * `true` for `isSorted` will use a faster algorithm. If a callback is provided\n * each element of `array` is passed through the callback before uniqueness\n * is computed. The callback is bound to `thisArg` and invoked with three\n * arguments; (value, index, array).\n *\n * If a property name is provided for `callback` the created \"_.pluck\" style\n * callback will return the property value of the given element.\n *\n * If an object is provided for `callback` the created \"_.where\" style callback\n * will return `true` for elements that have the properties of the given object,\n * else `false`.\n *\n * @static\n * @memberOf _\n * @alias unique\n * @category Arrays\n * @param {Array} array The array to process.\n * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.\n * @param {Function|Object|string} [callback=identity] The function called\n * per iteration. If a property name or object is provided it will be used\n * to create a \"_.pluck\" or \"_.where\" style callback, respectively.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Array} Returns a duplicate-value-free array.\n * @example\n *\n * _.uniq([1, 2, 1, 3, 1]);\n * // => [1, 2, 3]\n *\n * _.uniq([1, 1, 2, 2, 3], true);\n * // => [1, 2, 3]\n *\n * _.uniq(['A', 'b', 'C', 'a', 'B', 'c'], function(letter) { return letter.toLowerCase(); });\n * // => ['A', 'b', 'C']\n *\n * _.uniq([1, 2.5, 3, 1.5, 2, 3.5], function(num) { return this.floor(num); }, Math);\n * // => [1, 2.5, 3]\n *\n * // using \"_.pluck\" callback shorthand\n * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniq(array, isSorted, callback, thisArg) {\n // juggle arguments\n if (typeof isSorted != 'boolean' && isSorted != null) {\n thisArg = callback;\n callback = (typeof isSorted != 'function' && thisArg && thisArg[isSorted] === array) ? null : isSorted;\n isSorted = false;\n }\n if (callback != null) {\n callback = createCallback(callback, thisArg, 3);\n }\n return baseUniq(array, isSorted, callback);\n}\n\nmodule.exports = uniq;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar createCallback = require('../functions/createCallback'),\n forOwn = require('../objects/forOwn');\n\n/**\n * Creates an array of values by running each element in the collection\n * through the callback. The callback is bound to `thisArg` and invoked with\n * three arguments; (value, index|key, collection).\n *\n * If a property name is provided for `callback` the created \"_.pluck\" style\n * callback will return the property value of the given element.\n *\n * If an object is provided for `callback` the created \"_.where\" style callback\n * will return `true` for elements that have the properties of the given object,\n * else `false`.\n *\n * @static\n * @memberOf _\n * @alias collect\n * @category Collections\n * @param {Array|Object|string} collection The collection to iterate over.\n * @param {Function|Object|string} [callback=identity] The function called\n * per iteration. If a property name or object is provided it will be used\n * to create a \"_.pluck\" or \"_.where\" style callback, respectively.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Array} Returns a new array of the results of each `callback` execution.\n * @example\n *\n * _.map([1, 2, 3], function(num) { return num * 3; });\n * // => [3, 6, 9]\n *\n * _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; });\n * // => [3, 6, 9] (property order is not guaranteed across environments)\n *\n * var characters = [\n * { 'name': 'barney', 'age': 36 },\n * { 'name': 'fred', 'age': 40 }\n * ];\n *\n * // using \"_.pluck\" callback shorthand\n * _.map(characters, 'name');\n * // => ['barney', 'fred']\n */\nfunction map(collection, callback, thisArg) {\n var index = -1,\n length = collection ? collection.length : 0;\n\n callback = createCallback(callback, thisArg, 3);\n if (typeof length == 'number') {\n var result = Array(length);\n while (++index < length) {\n result[index] = callback(collection[index], index, collection);\n }\n } else {\n result = [];\n forOwn(collection, function(value, key, collection) {\n result[++index] = callback(value, key, collection);\n });\n }\n return result;\n}\n\nmodule.exports = map;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar keys = require('../objects/keys');\n\n/**\n * Gets the size of the `collection` by returning `collection.length` for arrays\n * and array-like objects or the number of own enumerable properties for objects.\n *\n * @static\n * @memberOf _\n * @category Collections\n * @param {Array|Object|string} collection The collection to inspect.\n * @returns {number} Returns `collection.length` or number of own enumerable properties.\n * @example\n *\n * _.size([1, 2]);\n * // => 2\n *\n * _.size({ 'one': 1, 'two': 2, 'three': 3 });\n * // => 3\n *\n * _.size('pebbles');\n * // => 7\n */\nfunction size(collection) {\n var length = collection ? collection.length : 0;\n return typeof length == 'number' ? length : keys(collection).length;\n}\n\nmodule.exports = size;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar createWrapper = require('../internals/createWrapper'),\n slice = require('../internals/slice');\n\n/**\n * Creates a function that, when called, invokes `func` with the `this`\n * binding of `thisArg` and prepends any additional `bind` arguments to those\n * provided to the bound function.\n *\n * @static\n * @memberOf _\n * @category Functions\n * @param {Function} func The function to bind.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {...*} [arg] Arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * var func = function(greeting) {\n * return greeting + ' ' + this.name;\n * };\n *\n * func = _.bind(func, { 'name': 'fred' }, 'hi');\n * func();\n * // => 'hi fred'\n */\nfunction bind(func, thisArg) {\n return arguments.length > 2\n ? createWrapper(func, 17, slice(arguments, 2), null, thisArg)\n : createWrapper(func, 1, null, null, thisArg);\n}\n\nmodule.exports = bind;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreate = require('./baseCreate'),\n isObject = require('../objects/isObject'),\n setBindData = require('./setBindData'),\n slice = require('./slice');\n\n/**\n * Used for `Array` method references.\n *\n * Normally `Array.prototype` would suffice, however, using an array literal\n * avoids issues in Narwhal.\n */\nvar arrayRef = [];\n\n/** Native method shortcuts */\nvar push = arrayRef.push;\n\n/**\n * The base implementation of `_.bind` that creates the bound function and\n * sets its meta data.\n *\n * @private\n * @param {Array} bindData The bind data array.\n * @returns {Function} Returns the new bound function.\n */\nfunction baseBind(bindData) {\n var func = bindData[0],\n partialArgs = bindData[2],\n thisArg = bindData[4];\n\n function bound() {\n // `Function#bind` spec\n // http://es5.github.io/#x15.3.4.5\n if (partialArgs) {\n // avoid `arguments` object deoptimizations by using `slice` instead\n // of `Array.prototype.slice.call` and not assigning `arguments` to a\n // variable as a ternary expression\n var args = slice(partialArgs);\n push.apply(args, arguments);\n }\n // mimic the constructor's `return` behavior\n // http://es5.github.io/#x13.2.2\n if (this instanceof bound) {\n // ensure `new bound` is an instance of `func`\n var thisBinding = baseCreate(func.prototype),\n result = func.apply(thisBinding, args || arguments);\n return isObject(result) ? result : thisBinding;\n }\n return func.apply(thisArg, args || arguments);\n }\n setBindData(bound, bindData);\n return bound;\n}\n\nmodule.exports = baseBind;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar assign = require('../objects/assign'),\n forEach = require('../collections/forEach'),\n forOwn = require('../objects/forOwn'),\n getArray = require('./getArray'),\n isArray = require('../objects/isArray'),\n isObject = require('../objects/isObject'),\n releaseArray = require('./releaseArray'),\n slice = require('./slice');\n\n/** Used to match regexp flags from their coerced string values */\nvar reFlags = /\\w*$/;\n\n/** `Object#toString` result shortcuts */\nvar argsClass = '[object Arguments]',\n arrayClass = '[object Array]',\n boolClass = '[object Boolean]',\n dateClass = '[object Date]',\n funcClass = '[object Function]',\n numberClass = '[object Number]',\n objectClass = '[object Object]',\n regexpClass = '[object RegExp]',\n stringClass = '[object String]';\n\n/** Used to identify object classifications that `_.clone` supports */\nvar cloneableClasses = {};\ncloneableClasses[funcClass] = false;\ncloneableClasses[argsClass] = cloneableClasses[arrayClass] =\ncloneableClasses[boolClass] = cloneableClasses[dateClass] =\ncloneableClasses[numberClass] = cloneableClasses[objectClass] =\ncloneableClasses[regexpClass] = cloneableClasses[stringClass] = true;\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the internal [[Class]] of values */\nvar toString = objectProto.toString;\n\n/** Native method shortcuts */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to lookup a built-in constructor by [[Class]] */\nvar ctorByClass = {};\nctorByClass[arrayClass] = Array;\nctorByClass[boolClass] = Boolean;\nctorByClass[dateClass] = Date;\nctorByClass[funcClass] = Function;\nctorByClass[objectClass] = Object;\nctorByClass[numberClass] = Number;\nctorByClass[regexpClass] = RegExp;\nctorByClass[stringClass] = String;\n\n/**\n * The base implementation of `_.clone` without argument juggling or support\n * for `thisArg` binding.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep=false] Specify a deep clone.\n * @param {Function} [callback] The function to customize cloning values.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, callback, stackA, stackB) {\n if (callback) {\n var result = callback(value);\n if (typeof result != 'undefined') {\n return result;\n }\n }\n // inspect [[Class]]\n var isObj = isObject(value);\n if (isObj) {\n var className = toString.call(value);\n if (!cloneableClasses[className]) {\n return value;\n }\n var ctor = ctorByClass[className];\n switch (className) {\n case boolClass:\n case dateClass:\n return new ctor(+value);\n\n case numberClass:\n case stringClass:\n return new ctor(value);\n\n case regexpClass:\n result = ctor(value.source, reFlags.exec(value));\n result.lastIndex = value.lastIndex;\n return result;\n }\n } else {\n return value;\n }\n var isArr = isArray(value);\n if (isDeep) {\n // check for circular references and return corresponding clone\n var initedStack = !stackA;\n stackA || (stackA = getArray());\n stackB || (stackB = getArray());\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n result = isArr ? ctor(value.length) : {};\n }\n else {\n result = isArr ? slice(value) : assign({}, value);\n }\n // add array properties assigned by `RegExp#exec`\n if (isArr) {\n if (hasOwnProperty.call(value, 'index')) {\n result.index = value.index;\n }\n if (hasOwnProperty.call(value, 'input')) {\n result.input = value.input;\n }\n }\n // exit for shallow clone\n if (!isDeep) {\n return result;\n }\n // add the source value to the stack of traversed objects\n // and associate it with its clone\n stackA.push(value);\n stackB.push(result);\n\n // recursively populate clone (susceptible to call stack limits)\n (isArr ? forEach : forOwn)(value, function(objValue, key) {\n result[key] = baseClone(objValue, isDeep, callback, stackA, stackB);\n });\n\n if (initedStack) {\n releaseArray(stackA);\n releaseArray(stackB);\n }\n return result;\n}\n\nmodule.exports = baseClone;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreate = require('./baseCreate'),\n isObject = require('../objects/isObject'),\n setBindData = require('./setBindData'),\n slice = require('./slice');\n\n/**\n * Used for `Array` method references.\n *\n * Normally `Array.prototype` would suffice, however, using an array literal\n * avoids issues in Narwhal.\n */\nvar arrayRef = [];\n\n/** Native method shortcuts */\nvar push = arrayRef.push;\n\n/**\n * The base implementation of `createWrapper` that creates the wrapper and\n * sets its meta data.\n *\n * @private\n * @param {Array} bindData The bind data array.\n * @returns {Function} Returns the new function.\n */\nfunction baseCreateWrapper(bindData) {\n var func = bindData[0],\n bitmask = bindData[1],\n partialArgs = bindData[2],\n partialRightArgs = bindData[3],\n thisArg = bindData[4],\n arity = bindData[5];\n\n var isBind = bitmask & 1,\n isBindKey = bitmask & 2,\n isCurry = bitmask & 4,\n isCurryBound = bitmask & 8,\n key = func;\n\n function bound() {\n var thisBinding = isBind ? thisArg : this;\n if (partialArgs) {\n var args = slice(partialArgs);\n push.apply(args, arguments);\n }\n if (partialRightArgs || isCurry) {\n args || (args = slice(arguments));\n if (partialRightArgs) {\n push.apply(args, partialRightArgs);\n }\n if (isCurry && args.length < arity) {\n bitmask |= 16 & ~32;\n return baseCreateWrapper([func, (isCurryBound ? bitmask : bitmask & ~3), args, null, thisArg, arity]);\n }\n }\n args || (args = arguments);\n if (isBindKey) {\n func = thisBinding[key];\n }\n if (this instanceof bound) {\n thisBinding = baseCreate(func.prototype);\n var result = func.apply(thisBinding, args);\n return isObject(result) ? result : thisBinding;\n }\n return func.apply(thisBinding, args);\n }\n setBindData(bound, bindData);\n return bound;\n}\n\nmodule.exports = baseCreateWrapper;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar forIn = require('../objects/forIn'),\n getArray = require('./getArray'),\n isFunction = require('../objects/isFunction'),\n objectTypes = require('./objectTypes'),\n releaseArray = require('./releaseArray');\n\n/** `Object#toString` result shortcuts */\nvar argsClass = '[object Arguments]',\n arrayClass = '[object Array]',\n boolClass = '[object Boolean]',\n dateClass = '[object Date]',\n numberClass = '[object Number]',\n objectClass = '[object Object]',\n regexpClass = '[object RegExp]',\n stringClass = '[object String]';\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the internal [[Class]] of values */\nvar toString = objectProto.toString;\n\n/** Native method shortcuts */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.isEqual`, without support for `thisArg` binding,\n * that allows partial \"_.where\" style comparisons.\n *\n * @private\n * @param {*} a The value to compare.\n * @param {*} b The other value to compare.\n * @param {Function} [callback] The function to customize comparing values.\n * @param {Function} [isWhere=false] A flag to indicate performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `a` objects.\n * @param {Array} [stackB=[]] Tracks traversed `b` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(a, b, callback, isWhere, stackA, stackB) {\n // used to indicate that when comparing objects, `a` has at least the properties of `b`\n if (callback) {\n var result = callback(a, b);\n if (typeof result != 'undefined') {\n return !!result;\n }\n }\n // exit early for identical values\n if (a === b) {\n // treat `+0` vs. `-0` as not equal\n return a !== 0 || (1 / a == 1 / b);\n }\n var type = typeof a,\n otherType = typeof b;\n\n // exit early for unlike primitive values\n if (a === a &&\n !(a && objectTypes[type]) &&\n !(b && objectTypes[otherType])) {\n return false;\n }\n // exit early for `null` and `undefined` avoiding ES3's Function#call behavior\n // http://es5.github.io/#x15.3.4.4\n if (a == null || b == null) {\n return a === b;\n }\n // compare [[Class]] names\n var className = toString.call(a),\n otherClass = toString.call(b);\n\n if (className == argsClass) {\n className = objectClass;\n }\n if (otherClass == argsClass) {\n otherClass = objectClass;\n }\n if (className != otherClass) {\n return false;\n }\n switch (className) {\n case boolClass:\n case dateClass:\n // coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal\n return +a == +b;\n\n case numberClass:\n // treat `NaN` vs. `NaN` as equal\n return (a != +a)\n ? b != +b\n // but treat `+0` vs. `-0` as not equal\n : (a == 0 ? (1 / a == 1 / b) : a == +b);\n\n case regexpClass:\n case stringClass:\n // coerce regexes to strings (http://es5.github.io/#x15.10.6.4)\n // treat string primitives and their corresponding object instances as equal\n return a == String(b);\n }\n var isArr = className == arrayClass;\n if (!isArr) {\n // unwrap any `lodash` wrapped values\n var aWrapped = hasOwnProperty.call(a, '__wrapped__'),\n bWrapped = hasOwnProperty.call(b, '__wrapped__');\n\n if (aWrapped || bWrapped) {\n return baseIsEqual(aWrapped ? a.__wrapped__ : a, bWrapped ? b.__wrapped__ : b, callback, isWhere, stackA, stackB);\n }\n // exit for functions and DOM nodes\n if (className != objectClass) {\n return false;\n }\n // in older versions of Opera, `arguments` objects have `Array` constructors\n var ctorA = a.constructor,\n ctorB = b.constructor;\n\n // non `Object` object instances with different constructors are not equal\n if (ctorA != ctorB &&\n !(isFunction(ctorA) && ctorA instanceof ctorA && isFunction(ctorB) && ctorB instanceof ctorB) &&\n ('constructor' in a && 'constructor' in b)\n ) {\n return false;\n }\n }\n // assume cyclic structures are equal\n // the algorithm for detecting cyclic structures is adapted from ES 5.1\n // section 15.12.3, abstract operation `JO` (http://es5.github.io/#x15.12.3)\n var initedStack = !stackA;\n stackA || (stackA = getArray());\n stackB || (stackB = getArray());\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == a) {\n return stackB[length] == b;\n }\n }\n var size = 0;\n result = true;\n\n // add `a` and `b` to the stack of traversed objects\n stackA.push(a);\n stackB.push(b);\n\n // recursively compare objects and arrays (susceptible to call stack limits)\n if (isArr) {\n // compare lengths to determine if a deep comparison is necessary\n length = a.length;\n size = b.length;\n result = size == length;\n\n if (result || isWhere) {\n // deep compare the contents, ignoring non-numeric properties\n while (size--) {\n var index = length,\n value = b[size];\n\n if (isWhere) {\n while (index--) {\n if ((result = baseIsEqual(a[index], value, callback, isWhere, stackA, stackB))) {\n break;\n }\n }\n } else if (!(result = baseIsEqual(a[size], value, callback, isWhere, stackA, stackB))) {\n break;\n }\n }\n }\n }\n else {\n // deep compare objects using `forIn`, instead of `forOwn`, to avoid `Object.keys`\n // which, in this case, is more costly\n forIn(b, function(value, key, b) {\n if (hasOwnProperty.call(b, key)) {\n // count the number of properties.\n size++;\n // deep compare each property value.\n return (result = hasOwnProperty.call(a, key) && baseIsEqual(a[key], value, callback, isWhere, stackA, stackB));\n }\n });\n\n if (result && !isWhere) {\n // ensure both objects have the same number of properties\n forIn(a, function(value, key, a) {\n if (hasOwnProperty.call(a, key)) {\n // `size` will be `-1` if `a` has more properties than `b`\n return (result = --size > -1);\n }\n });\n }\n }\n stackA.pop();\n stackB.pop();\n\n if (initedStack) {\n releaseArray(stackA);\n releaseArray(stackB);\n }\n return result;\n}\n\nmodule.exports = baseIsEqual;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseIndexOf = require('./baseIndexOf'),\n cacheIndexOf = require('./cacheIndexOf'),\n createCache = require('./createCache'),\n getArray = require('./getArray'),\n largeArraySize = require('./largeArraySize'),\n releaseArray = require('./releaseArray'),\n releaseObject = require('./releaseObject');\n\n/**\n * The base implementation of `_.uniq` without support for callback shorthands\n * or `thisArg` binding.\n *\n * @private\n * @param {Array} array The array to process.\n * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.\n * @param {Function} [callback] The function called per iteration.\n * @returns {Array} Returns a duplicate-value-free array.\n */\nfunction baseUniq(array, isSorted, callback) {\n var index = -1,\n indexOf = baseIndexOf,\n length = array ? array.length : 0,\n result = [];\n\n var isLarge = !isSorted && length >= largeArraySize,\n seen = (callback || isLarge) ? getArray() : result;\n\n if (isLarge) {\n var cache = createCache(seen);\n indexOf = cacheIndexOf;\n seen = cache;\n }\n while (++index < length) {\n var value = array[index],\n computed = callback ? callback(value, index, array) : value;\n\n if (isSorted\n ? !index || seen[seen.length - 1] !== computed\n : indexOf(seen, computed) < 0\n ) {\n if (callback || isLarge) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n if (isLarge) {\n releaseArray(seen.array);\n releaseObject(seen);\n } else if (callback) {\n releaseArray(seen);\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar keyPrefix = require('./keyPrefix');\n\n/**\n * Adds a given value to the corresponding cache object.\n *\n * @private\n * @param {*} value The value to add to the cache.\n */\nfunction cachePush(value) {\n var cache = this.cache,\n type = typeof value;\n\n if (type == 'boolean' || value == null) {\n cache[value] = true;\n } else {\n if (type != 'number' && type != 'string') {\n type = 'object';\n }\n var key = type == 'number' ? value : keyPrefix + value,\n typeCache = cache[type] || (cache[type] = {});\n\n if (type == 'object') {\n (typeCache[key] || (typeCache[key] = [])).push(value);\n } else {\n typeCache[key] = true;\n }\n }\n}\n\nmodule.exports = cachePush;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseBind = require('./baseBind'),\n baseCreateWrapper = require('./baseCreateWrapper'),\n isFunction = require('../objects/isFunction'),\n slice = require('./slice');\n\n/**\n * Used for `Array` method references.\n *\n * Normally `Array.prototype` would suffice, however, using an array literal\n * avoids issues in Narwhal.\n */\nvar arrayRef = [];\n\n/** Native method shortcuts */\nvar push = arrayRef.push,\n unshift = arrayRef.unshift;\n\n/**\n * Creates a function that, when called, either curries or invokes `func`\n * with an optional `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to reference.\n * @param {number} bitmask The bitmask of method flags to compose.\n * The bitmask may be composed of the following flags:\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry`\n * 8 - `_.curry` (bound)\n * 16 - `_.partial`\n * 32 - `_.partialRight`\n * @param {Array} [partialArgs] An array of arguments to prepend to those\n * provided to the new function.\n * @param {Array} [partialRightArgs] An array of arguments to append to those\n * provided to the new function.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new function.\n */\nfunction createWrapper(func, bitmask, partialArgs, partialRightArgs, thisArg, arity) {\n var isBind = bitmask & 1,\n isBindKey = bitmask & 2,\n isCurry = bitmask & 4,\n isCurryBound = bitmask & 8,\n isPartial = bitmask & 16,\n isPartialRight = bitmask & 32;\n\n if (!isBindKey && !isFunction(func)) {\n throw new TypeError;\n }\n if (isPartial && !partialArgs.length) {\n bitmask &= ~16;\n isPartial = partialArgs = false;\n }\n if (isPartialRight && !partialRightArgs.length) {\n bitmask &= ~32;\n isPartialRight = partialRightArgs = false;\n }\n var bindData = func && func.__bindData__;\n if (bindData && bindData !== true) {\n // clone `bindData`\n bindData = slice(bindData);\n if (bindData[2]) {\n bindData[2] = slice(bindData[2]);\n }\n if (bindData[3]) {\n bindData[3] = slice(bindData[3]);\n }\n // set `thisBinding` is not previously bound\n if (isBind && !(bindData[1] & 1)) {\n bindData[4] = thisArg;\n }\n // set if previously bound but not currently (subsequent curried functions)\n if (!isBind && bindData[1] & 1) {\n bitmask |= 8;\n }\n // set curried arity if not yet set\n if (isCurry && !(bindData[1] & 4)) {\n bindData[5] = arity;\n }\n // append partial left arguments\n if (isPartial) {\n push.apply(bindData[2] || (bindData[2] = []), partialArgs);\n }\n // append partial right arguments\n if (isPartialRight) {\n unshift.apply(bindData[3] || (bindData[3] = []), partialRightArgs);\n }\n // merge flags\n bindData[1] |= bitmask;\n return createWrapper.apply(null, bindData);\n }\n // fast path for `_.bind`\n var creater = (bitmask == 1 || bitmask === 17) ? baseBind : baseCreateWrapper;\n return creater([func, bitmask, partialArgs, partialRightArgs, thisArg, arity]);\n}\n\nmodule.exports = createWrapper;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar objectPool = require('./objectPool');\n\n/**\n * Gets an object from the object pool or creates a new one if the pool is empty.\n *\n * @private\n * @returns {Object} The object from the pool.\n */\nfunction getObject() {\n return objectPool.pop() || {\n 'array': null,\n 'cache': null,\n 'criteria': null,\n 'false': false,\n 'index': 0,\n 'null': false,\n 'number': null,\n 'object': null,\n 'push': null,\n 'string': null,\n 'true': false,\n 'undefined': false,\n 'value': null\n };\n}\n\nmodule.exports = getObject;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar objectTypes = require('./objectTypes');\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Native method shortcuts */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which produces an array of the\n * given object's own enumerable property names.\n *\n * @private\n * @type Function\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns an array of property names.\n */\nvar shimKeys = function(object) {\n var index, iterable = object, result = [];\n if (!iterable) return result;\n if (!(objectTypes[typeof object])) return result;\n for (index in iterable) {\n if (hasOwnProperty.call(iterable, index)) {\n result.push(index);\n }\n }\n return result\n};\n\nmodule.exports = shimKeys;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreateCallback = require('../internals/baseCreateCallback'),\n keys = require('./keys'),\n objectTypes = require('../internals/objectTypes');\n\n/**\n * Assigns own enumerable properties of source object(s) to the destination\n * object. Subsequent sources will overwrite property assignments of previous\n * sources. If a callback is provided it will be executed to produce the\n * assigned values. The callback is bound to `thisArg` and invoked with two\n * arguments; (objectValue, sourceValue).\n *\n * @static\n * @memberOf _\n * @type Function\n * @alias extend\n * @category Objects\n * @param {Object} object The destination object.\n * @param {...Object} [source] The source objects.\n * @param {Function} [callback] The function to customize assigning values.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Object} Returns the destination object.\n * @example\n *\n * _.assign({ 'name': 'fred' }, { 'employer': 'slate' });\n * // => { 'name': 'fred', 'employer': 'slate' }\n *\n * var defaults = _.partialRight(_.assign, function(a, b) {\n * return typeof a == 'undefined' ? b : a;\n * });\n *\n * var object = { 'name': 'barney' };\n * defaults(object, { 'name': 'fred', 'employer': 'slate' });\n * // => { 'name': 'barney', 'employer': 'slate' }\n */\nvar assign = function(object, source, guard) {\n var index, iterable = object, result = iterable;\n if (!iterable) return result;\n var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\n if (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n } else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n }\n while (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n result[index] = callback ? callback(result[index], iterable[index]) : iterable[index];\n }\n }\n }\n return result\n};\n\nmodule.exports = assign;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseClone = require('../internals/baseClone'),\n baseCreateCallback = require('../internals/baseCreateCallback');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects will also\n * be cloned, otherwise they will be assigned by reference. If a callback\n * is provided it will be executed to produce the cloned values. If the\n * callback returns `undefined` cloning will be handled by the method instead.\n * The callback is bound to `thisArg` and invoked with one argument; (value).\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep=false] Specify a deep clone.\n * @param {Function} [callback] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var characters = [\n * { 'name': 'barney', 'age': 36 },\n * { 'name': 'fred', 'age': 40 }\n * ];\n *\n * var shallow = _.clone(characters);\n * shallow[0] === characters[0];\n * // => true\n *\n * var deep = _.clone(characters, true);\n * deep[0] === characters[0];\n * // => false\n *\n * _.mixin({\n * 'clone': _.partialRight(_.clone, function(value) {\n * return _.isElement(value) ? value.cloneNode(false) : undefined;\n * })\n * });\n *\n * var clone = _.clone(document.body);\n * clone.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, callback, thisArg) {\n // allows working with \"Collections\" methods without using their `index`\n // and `collection` arguments for `isDeep` and `callback`\n if (typeof isDeep != 'boolean' && isDeep != null) {\n thisArg = callback;\n callback = isDeep;\n isDeep = false;\n }\n return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));\n}\n\nmodule.exports = clone;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar createCallback = require('../functions/createCallback'),\n forOwn = require('./forOwn');\n\n/**\n * This method is like `_.findIndex` except that it returns the key of the\n * first element that passes the callback check, instead of the element itself.\n *\n * If a property name is provided for `callback` the created \"_.pluck\" style\n * callback will return the property value of the given element.\n *\n * If an object is provided for `callback` the created \"_.where\" style callback\n * will return `true` for elements that have the properties of the given object,\n * else `false`.\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {Object} object The object to search.\n * @param {Function|Object|string} [callback=identity] The function called per\n * iteration. If a property name or object is provided it will be used to\n * create a \"_.pluck\" or \"_.where\" style callback, respectively.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {string|undefined} Returns the key of the found element, else `undefined`.\n * @example\n *\n * var characters = {\n * 'barney': { 'age': 36, 'blocked': false },\n * 'fred': { 'age': 40, 'blocked': true },\n * 'pebbles': { 'age': 1, 'blocked': false }\n * };\n *\n * _.findKey(characters, function(chr) {\n * return chr.age < 40;\n * });\n * // => 'barney' (property order is not guaranteed across environments)\n *\n * // using \"_.where\" callback shorthand\n * _.findKey(characters, { 'age': 1 });\n * // => 'pebbles'\n *\n * // using \"_.pluck\" callback shorthand\n * _.findKey(characters, 'blocked');\n * // => 'fred'\n */\nfunction findKey(object, callback, thisArg) {\n var result;\n callback = createCallback(callback, thisArg, 3);\n forOwn(object, function(value, key, object) {\n if (callback(value, key, object)) {\n result = key;\n return false;\n }\n });\n return result;\n}\n\nmodule.exports = findKey;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreateCallback = require('../internals/baseCreateCallback'),\n objectTypes = require('../internals/objectTypes');\n\n/**\n * Iterates over own and inherited enumerable properties of an object,\n * executing the callback for each property. The callback is bound to `thisArg`\n * and invoked with three arguments; (value, key, object). Callbacks may exit\n * iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @type Function\n * @category Objects\n * @param {Object} object The object to iterate over.\n * @param {Function} [callback=identity] The function called per iteration.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function Shape() {\n * this.x = 0;\n * this.y = 0;\n * }\n *\n * Shape.prototype.move = function(x, y) {\n * this.x += x;\n * this.y += y;\n * };\n *\n * _.forIn(new Shape, function(value, key) {\n * console.log(key);\n * });\n * // => logs 'x', 'y', and 'move' (property order is not guaranteed across environments)\n */\nvar forIn = function(collection, callback, thisArg) {\n var index, iterable = collection, result = iterable;\n if (!iterable) return result;\n if (!objectTypes[typeof iterable]) return result;\n callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);\n for (index in iterable) {\n if (callback(iterable[index], index, collection) === false) return result;\n }\n return result\n};\n\nmodule.exports = forIn;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** `Object#toString` result shortcuts */\nvar argsClass = '[object Arguments]';\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the internal [[Class]] of values */\nvar toString = objectProto.toString;\n\n/**\n * Checks if `value` is an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if the `value` is an `arguments` object, else `false`.\n * @example\n *\n * (function() { return _.isArguments(arguments); })(1, 2, 3);\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return value && typeof value == 'object' && typeof value.length == 'number' &&\n toString.call(value) == argsClass || false;\n}\n\nmodule.exports = isArguments;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar createCallback = require('../functions/createCallback'),\n forOwn = require('./forOwn');\n\n/**\n * Creates an object with the same keys as `object` and values generated by\n * running each own enumerable property of `object` through the callback.\n * The callback is bound to `thisArg` and invoked with three arguments;\n * (value, key, object).\n *\n * If a property name is provided for `callback` the created \"_.pluck\" style\n * callback will return the property value of the given element.\n *\n * If an object is provided for `callback` the created \"_.where\" style callback\n * will return `true` for elements that have the properties of the given object,\n * else `false`.\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {Object} object The object to iterate over.\n * @param {Function|Object|string} [callback=identity] The function called\n * per iteration. If a property name or object is provided it will be used\n * to create a \"_.pluck\" or \"_.where\" style callback, respectively.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Array} Returns a new object with values of the results of each `callback` execution.\n * @example\n *\n * _.mapValues({ 'a': 1, 'b': 2, 'c': 3} , function(num) { return num * 3; });\n * // => { 'a': 3, 'b': 6, 'c': 9 }\n *\n * var characters = {\n * 'fred': { 'name': 'fred', 'age': 40 },\n * 'pebbles': { 'name': 'pebbles', 'age': 1 }\n * };\n *\n * // using \"_.pluck\" callback shorthand\n * _.mapValues(characters, 'age');\n * // => { 'fred': 40, 'pebbles': 1 }\n */\nfunction mapValues(object, callback, thisArg) {\n var result = {};\n callback = createCallback(callback, thisArg, 3);\n\n forOwn(object, function(value, key, object) {\n result[key] = callback(value, key, object);\n });\n return result;\n}\n\nmodule.exports = mapValues;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar isNative = require('./internals/isNative');\n\n/** Used to detect functions containing a `this` reference */\nvar reThis = /\\bthis\\b/;\n\n/**\n * An object used to flag environments features.\n *\n * @static\n * @memberOf _\n * @type Object\n */\nvar support = {};\n\n/**\n * Detect if functions can be decompiled by `Function#toString`\n * (all but PS3 and older Opera mobile browsers & avoided in Windows 8 apps).\n *\n * @memberOf _.support\n * @type boolean\n */\nsupport.funcDecomp = !isNative(global.WinRTError) && reThis.test(function() { return this; });\n\n/**\n * Detect if `Function#name` is supported (all but IE).\n *\n * @memberOf _.support\n * @type boolean\n */\nsupport.funcNames = typeof Function.name == 'string';\n\nmodule.exports = support;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utilities\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'name': 'fred' };\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/**\n * Creates a \"_.pluck\" style function, which returns the `key` value of a\n * given object.\n *\n * @static\n * @memberOf _\n * @category Utilities\n * @param {string} key The name of the property to retrieve.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var characters = [\n * { 'name': 'fred', 'age': 40 },\n * { 'name': 'barney', 'age': 36 }\n * ];\n *\n * var getName = _.property('name');\n *\n * _.map(characters, getName);\n * // => ['barney', 'fred']\n *\n * _.sortBy(characters, getName);\n * // => [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred', 'age': 40 }]\n */\nfunction property(key) {\n return function(object) {\n return object[key];\n };\n}\n\nmodule.exports = property;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nfunction EventEmitter() {\n this._events = this._events || {};\n this._maxListeners = this._maxListeners || undefined;\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nEventEmitter.defaultMaxListeners = 10;\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function(n) {\n if (!isNumber(n) || n < 0 || isNaN(n))\n throw TypeError('n must be a positive number');\n this._maxListeners = n;\n return this;\n};\n\nEventEmitter.prototype.emit = function(type) {\n var er, handler, len, args, i, listeners;\n\n if (!this._events)\n this._events = {};\n\n // If there is no 'error' event listener then throw.\n if (type === 'error') {\n if (!this._events.error ||\n (isObject(this._events.error) && !this._events.error.length)) {\n er = arguments[1];\n if (er instanceof Error) {\n throw er; // Unhandled 'error' event\n } else {\n throw TypeError('Uncaught, unspecified \"error\" event.');\n }\n return false;\n }\n }\n\n handler = this._events[type];\n\n if (isUndefined(handler))\n return false;\n\n if (isFunction(handler)) {\n switch (arguments.length) {\n // fast cases\n case 1:\n handler.call(this);\n break;\n case 2:\n handler.call(this, arguments[1]);\n break;\n case 3:\n handler.call(this, arguments[1], arguments[2]);\n break;\n // slower\n default:\n len = arguments.length;\n args = new Array(len - 1);\n for (i = 1; i < len; i++)\n args[i - 1] = arguments[i];\n handler.apply(this, args);\n }\n } else if (isObject(handler)) {\n len = arguments.length;\n args = new Array(len - 1);\n for (i = 1; i < len; i++)\n args[i - 1] = arguments[i];\n\n listeners = handler.slice();\n len = listeners.length;\n for (i = 0; i < len; i++)\n listeners[i].apply(this, args);\n }\n\n return true;\n};\n\nEventEmitter.prototype.addListener = function(type, listener) {\n var m;\n\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n if (!this._events)\n this._events = {};\n\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (this._events.newListener)\n this.emit('newListener', type,\n isFunction(listener.listener) ?\n listener.listener : listener);\n\n if (!this._events[type])\n // Optimize the case of one listener. Don't need the extra array object.\n this._events[type] = listener;\n else if (isObject(this._events[type]))\n // If we've already got an array, just append.\n this._events[type].push(listener);\n else\n // Adding the second element, need to change to array.\n this._events[type] = [this._events[type], listener];\n\n // Check for listener leak\n if (isObject(this._events[type]) && !this._events[type].warned) {\n var m;\n if (!isUndefined(this._maxListeners)) {\n m = this._maxListeners;\n } else {\n m = EventEmitter.defaultMaxListeners;\n }\n\n if (m && m > 0 && this._events[type].length > m) {\n this._events[type].warned = true;\n console.error('(node) warning: possible EventEmitter memory ' +\n 'leak detected. %d listeners added. ' +\n 'Use emitter.setMaxListeners() to increase limit.',\n this._events[type].length);\n if (typeof console.trace === 'function') {\n // not supported in IE 10\n console.trace();\n }\n }\n }\n\n return this;\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.once = function(type, listener) {\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n var fired = false;\n\n function g() {\n this.removeListener(type, g);\n\n if (!fired) {\n fired = true;\n listener.apply(this, arguments);\n }\n }\n\n g.listener = listener;\n this.on(type, g);\n\n return this;\n};\n\n// emits a 'removeListener' event iff the listener was removed\nEventEmitter.prototype.removeListener = function(type, listener) {\n var list, position, length, i;\n\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n if (!this._events || !this._events[type])\n return this;\n\n list = this._events[type];\n length = list.length;\n position = -1;\n\n if (list === listener ||\n (isFunction(list.listener) && list.listener === listener)) {\n delete this._events[type];\n if (this._events.removeListener)\n this.emit('removeListener', type, listener);\n\n } else if (isObject(list)) {\n for (i = length; i-- > 0;) {\n if (list[i] === listener ||\n (list[i].listener && list[i].listener === listener)) {\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (list.length === 1) {\n list.length = 0;\n delete this._events[type];\n } else {\n list.splice(position, 1);\n }\n\n if (this._events.removeListener)\n this.emit('removeListener', type, listener);\n }\n\n return this;\n};\n\nEventEmitter.prototype.removeAllListeners = function(type) {\n var key, listeners;\n\n if (!this._events)\n return this;\n\n // not listening for removeListener, no need to emit\n if (!this._events.removeListener) {\n if (arguments.length === 0)\n this._events = {};\n else if (this._events[type])\n delete this._events[type];\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n for (key in this._events) {\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = {};\n return this;\n }\n\n listeners = this._events[type];\n\n if (isFunction(listeners)) {\n this.removeListener(type, listeners);\n } else {\n // LIFO order\n while (listeners.length)\n this.removeListener(type, listeners[listeners.length - 1]);\n }\n delete this._events[type];\n\n return this;\n};\n\nEventEmitter.prototype.listeners = function(type) {\n var ret;\n if (!this._events || !this._events[type])\n ret = [];\n else if (isFunction(this._events[type]))\n ret = [this._events[type]];\n else\n ret = this._events[type].slice();\n return ret;\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n var ret;\n if (!emitter._events || !emitter._events[type])\n ret = 0;\n else if (isFunction(emitter._events[type]))\n ret = 1;\n else\n ret = emitter._events[type].length;\n return ret;\n};\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\n","// shim for using process in browser\n\nvar process = module.exports = {};\n\nprocess.nextTick = (function () {\n var canSetImmediate = typeof window !== 'undefined'\n && window.setImmediate;\n var canPost = typeof window !== 'undefined'\n && window.postMessage && window.addEventListener\n ;\n\n if (canSetImmediate) {\n return function (f) { return window.setImmediate(f) };\n }\n\n if (canPost) {\n var queue = [];\n window.addEventListener('message', function (ev) {\n var source = ev.source;\n if ((source === window || source === null) && ev.data === 'process-tick') {\n ev.stopPropagation();\n if (queue.length > 0) {\n var fn = queue.shift();\n fn();\n }\n }\n }, true);\n\n return function nextTick(fn) {\n queue.push(fn);\n window.postMessage('process-tick', '*');\n };\n }\n\n return function nextTick(fn) {\n setTimeout(fn, 0);\n };\n})();\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.emit = noop;\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n}\n\n// TODO(shtylman)\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","module.exports = {\"name\":\"fluxxor\",\"version\":\"1.4.0\",\"description\":\"Flux architecture tools for React\",\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/BinaryMuse/fluxxor.git\"},\"main\":\"index.js\",\"scripts\":{\"test\":\"npm run jshint && mocha --recursive\",\"jshint\":\"jsxhint lib/ test/\",\"build\":\"./script/build-fluxxor && ./script/build-examples\",\"preview-site\":\"wintersmith preview -C site\",\"build-site\":\"wintersmith build -C site\"},\"keywords\":[\"react\",\"flux\"],\"author\":\"Brandon Tilley \",\"license\":\"MIT\",\"devDependencies\":{\"chai\":\"^1.9.1\",\"css-loader\":\"^0.6.12\",\"envify\":\"^1.2.1\",\"jsdom\":\"^0.10.5\",\"json-loader\":\"^0.5.0\",\"jsx-loader\":\"^0.10.2\",\"jsxhint\":\"^0.4.9\",\"less\":\"^1.7.0\",\"less-loader\":\"^0.7.3\",\"mocha\":\"^1.18.2\",\"react\":\"^0.11.0 >0.11.0-rc1\",\"sinon\":\"^1.9.1\",\"sinon-chai\":\"^2.5.0\",\"style-loader\":\"^0.6.3\",\"webpack\":\"^1.1.11\",\"webpack-dev-server\":\"^1.2.7\",\"wintersmith\":\"^2.0.10\",\"wintersmith-ejs\":\"^0.1.4\",\"wintersmith-less\":\"^0.2.2\"},\"dependencies\":{\"lodash-node\":\"^2.4.1\"},\"jshintConfig\":{\"camelcase\":true,\"curly\":true,\"eqeqeq\":true,\"forin\":true,\"latedef\":true,\"newcap\":false,\"undef\":true,\"unused\":true,\"trailing\":true,\"node\":true,\"browser\":true,\"predef\":[\"it\",\"describe\",\"beforeEach\",\"afterEach\"]}}"],"sourceRoot":"webpack-module://"} \ No newline at end of file +{"version":3,"file":"fluxxor.min.js","sources":["webpack/universalModuleDefinition","fluxxor.min.js","webpack/bootstrap 80ef06fdb0fba9b47b9b*","./index.js","./~/lodash-node/modern/internals/baseCreateCallback.js","./~/lodash-node/modern/internals/objectTypes.js","./~/lodash-node/modern/objects/forOwn.js","./~/lodash-node/modern/objects/isObject.js","./~/lodash-node/modern/internals/isNative.js","./~/lodash-node/modern/internals/slice.js","./~/lodash-node/modern/objects/keys.js","./~/lodash-node/modern/collections/forEach.js","./~/lodash-node/modern/functions/createCallback.js","./~/lodash-node/modern/internals/getArray.js","./~/lodash-node/modern/internals/releaseArray.js","./~/lodash-node/modern/internals/baseIndexOf.js","./~/lodash-node/modern/internals/releaseObject.js","./~/lodash-node/modern/internals/setBindData.js","./lib/dispatcher.js","./~/inherits/inherits_browser.js","./~/lodash-node/modern/internals/arrayPool.js","./~/lodash-node/modern/internals/baseCreate.js","./~/lodash-node/modern/internals/cacheIndexOf.js","./~/lodash-node/modern/internals/createCache.js","./~/lodash-node/modern/internals/keyPrefix.js","./~/lodash-node/modern/internals/largeArraySize.js","./~/lodash-node/modern/internals/maxPoolSize.js","./~/lodash-node/modern/internals/objectPool.js","./~/lodash-node/modern/objects/isArray.js","./~/lodash-node/modern/objects/isFunction.js","./~/lodash-node/modern/utilities/noop.js","./lib/create_store.js","./lib/flux.js","./lib/flux_child_mixin.js","./lib/flux_mixin.js","./lib/store.js","./lib/store_watch_mixin.js","./~/lodash-node/modern/arrays/intersection.js","./~/lodash-node/modern/arrays/uniq.js","./~/lodash-node/modern/collections/map.js","./~/lodash-node/modern/collections/size.js","./~/lodash-node/modern/functions/bind.js","./~/lodash-node/modern/internals/baseBind.js","./~/lodash-node/modern/internals/baseClone.js","./~/lodash-node/modern/internals/baseCreateWrapper.js","./~/lodash-node/modern/internals/baseIsEqual.js","./~/lodash-node/modern/internals/baseUniq.js","./~/lodash-node/modern/internals/cachePush.js","./~/lodash-node/modern/internals/createWrapper.js","./~/lodash-node/modern/internals/getObject.js","./~/lodash-node/modern/internals/shimKeys.js","./~/lodash-node/modern/objects/assign.js","./~/lodash-node/modern/objects/clone.js","./~/lodash-node/modern/objects/findKey.js","./~/lodash-node/modern/objects/forIn.js","./~/lodash-node/modern/objects/isArguments.js","./~/lodash-node/modern/objects/mapValues.js","./~/lodash-node/modern/support.js","./~/lodash-node/modern/utilities/identity.js","./~/lodash-node/modern/utilities/property.js","(webpack)/~/node-libs-browser/~/events/events.js","./version.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","Dispatcher","Flux","FluxMixin","FluxChildMixin","StoreWatchMixin","createStore","Fluxxor","version","baseCreateCallback","func","thisArg","argCount","identity","bindData","__bindData__","support","funcNames","name","funcDecomp","source","fnToString","reFuncName","test","reThis","setBindData","value","a","b","index","collection","accumulator","bind","Function","prototype","toString","objectTypes","boolean","function","object","number","string","undefined","keys","forOwn","callback","iterable","result","ownIndex","ownProps","length","isObject","isNative","reNative","objectProto","Object","RegExp","String","replace","slice","array","start","end","Array","shimKeys","nativeKeys","forEach","createCallback","type","property","props","key","baseIsEqual","getArray","arrayPool","pop","releaseArray","maxPoolSize","push","baseIndexOf","fromIndex","releaseObject","cache","criteria","objectPool","noop","descriptor","configurable","enumerable","writable","defineProperty","o","e","_clone","_mapValues","_forOwn","_intersection","_keys","_map","_each","_size","_findKey","_uniq","stores","currentDispatch","waitingToDispatch","hasOwnProperty","dispatcher","dispatch","action","Error","resolved","waitingOn","waitCallback","doDispatchLoop","canBeDispatchedTo","removeFromDispatchQueue","dispatchedThisLoop","fn","apply","__handleAction__","storesWithCircularWaits","join","waitForStores","store","waitingStoreName","val","indexOf","storeName","storeDispatch","concat","create","ctor","superCtor","super_","constructor","TempCtor","global","baseCreate","nativeCreate","cacheIndexOf","keyPrefix","createCache","first","mid","last","getObject","cachePush","Date","largeArraySize","arrayClass","nativeIsArray","isArray","isFunction","Store","inherits","RESERVED_KEYS","spec","options","__actions__","initialize","bindActions","target","actions","dispatchBinder","flux","payload","React","contextTypes","PropTypes","getFlux","context","componentWillMount","propTypes","isRequired","childContextTypes","getChildContext","EventEmitter","handler","arguments","i","waitFor","storeNames","on","_setStateFromFlux","componentWillUnmount","removeListener","isMounted","setState","getStateFromFlux","getInitialState","intersection","args","argsIndex","argsLength","caches","trustIndexOf","seen","isArguments","outer","uniq","isSorted","baseUniq","map","size","createWrapper","baseBind","bound","partialArgs","thisBinding","arrayRef","baseClone","isDeep","stackA","stackB","isObj","className","cloneableClasses","ctorByClass","boolClass","dateClass","numberClass","stringClass","regexpClass","reFlags","exec","lastIndex","isArr","initedStack","assign","input","objValue","argsClass","funcClass","objectClass","Boolean","Number","baseCreateWrapper","isBind","partialRightArgs","isCurry","arity","bitmask","isCurryBound","isBindKey","isWhere","otherType","otherClass","aWrapped","bWrapped","__wrapped__","ctorA","ctorB","forIn","isLarge","computed","typeCache","isPartial","isPartialRight","TypeError","unshift","creater","false","null","true","guard","clone","findKey","mapValues","WinRTError","_events","_maxListeners","arg","isNumber","isUndefined","defaultMaxListeners","setMaxListeners","n","isNaN","emit","er","len","listeners","error","addListener","listener","newListener","warned","console","trace","once","g","fired","list","position","splice","removeAllListeners","ret","listenerCount","emitter"],"mappings":"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","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Fluxxor\"] = factory();\n\telse\n\t\troot[\"Fluxxor\"] = factory();\n})(this, function() {\nreturn ","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Fluxxor\"] = factory();\n\telse\n\t\troot[\"Fluxxor\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/ \t\t\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/ \t\t\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/ \t\t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/******/ \t\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/ \t\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/ \t\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/ \t\n/******/ \t\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Dispatcher = __webpack_require__(15),\n\t Flux = __webpack_require__(29),\n\t FluxMixin = __webpack_require__(31),\n\t FluxChildMixin = __webpack_require__(30),\n\t StoreWatchMixin = __webpack_require__(33),\n\t createStore = __webpack_require__(28);\n\t\n\tvar Fluxxor = {\n\t Dispatcher: Dispatcher,\n\t Flux: Flux,\n\t FluxMixin: FluxMixin,\n\t FluxChildMixin: FluxChildMixin,\n\t StoreWatchMixin: StoreWatchMixin,\n\t createStore: createStore,\n\t version: __webpack_require__(58)\n\t};\n\t\n\tmodule.exports = Fluxxor;\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar bind = __webpack_require__(38),\n\t identity = __webpack_require__(55),\n\t setBindData = __webpack_require__(14),\n\t support = __webpack_require__(54);\n\t\n\t/** Used to detected named functions */\n\tvar reFuncName = /^\\s*function[ \\n\\r\\t]+\\w/;\n\t\n\t/** Used to detect functions containing a `this` reference */\n\tvar reThis = /\\bthis\\b/;\n\t\n\t/** Native method shortcuts */\n\tvar fnToString = Function.prototype.toString;\n\t\n\t/**\n\t * The base implementation of `_.createCallback` without support for creating\n\t * \"_.pluck\" or \"_.where\" style callbacks.\n\t *\n\t * @private\n\t * @param {*} [func=identity] The value to convert to a callback.\n\t * @param {*} [thisArg] The `this` binding of the created callback.\n\t * @param {number} [argCount] The number of arguments the callback accepts.\n\t * @returns {Function} Returns a callback function.\n\t */\n\tfunction baseCreateCallback(func, thisArg, argCount) {\n\t if (typeof func != 'function') {\n\t return identity;\n\t }\n\t // exit early for no `thisArg` or already bound by `Function#bind`\n\t if (typeof thisArg == 'undefined' || !('prototype' in func)) {\n\t return func;\n\t }\n\t var bindData = func.__bindData__;\n\t if (typeof bindData == 'undefined') {\n\t if (support.funcNames) {\n\t bindData = !func.name;\n\t }\n\t bindData = bindData || !support.funcDecomp;\n\t if (!bindData) {\n\t var source = fnToString.call(func);\n\t if (!support.funcNames) {\n\t bindData = !reFuncName.test(source);\n\t }\n\t if (!bindData) {\n\t // checks if `func` references the `this` keyword and stores the result\n\t bindData = reThis.test(source);\n\t setBindData(func, bindData);\n\t }\n\t }\n\t }\n\t // exit early if there are no `this` references or `func` is bound\n\t if (bindData === false || (bindData !== true && bindData[1] & 1)) {\n\t return func;\n\t }\n\t switch (argCount) {\n\t case 1: return function(value) {\n\t return func.call(thisArg, value);\n\t };\n\t case 2: return function(a, b) {\n\t return func.call(thisArg, a, b);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(thisArg, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(thisArg, accumulator, value, index, collection);\n\t };\n\t }\n\t return bind(func, thisArg);\n\t}\n\t\n\tmodule.exports = baseCreateCallback;\n\n\n/***/ },\n/* 2 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/** Used to determine if values are of the language type Object */\n\tvar objectTypes = {\n\t 'boolean': false,\n\t 'function': true,\n\t 'object': true,\n\t 'number': false,\n\t 'string': false,\n\t 'undefined': false\n\t};\n\t\n\tmodule.exports = objectTypes;\n\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseCreateCallback = __webpack_require__(1),\n\t keys = __webpack_require__(7),\n\t objectTypes = __webpack_require__(2);\n\t\n\t/**\n\t * Iterates over own enumerable properties of an object, executing the callback\n\t * for each property. The callback is bound to `thisArg` and invoked with three\n\t * arguments; (value, key, object). Callbacks may exit iteration early by\n\t * explicitly returning `false`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @type Function\n\t * @category Objects\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} [callback=identity] The function called per iteration.\n\t * @param {*} [thisArg] The `this` binding of `callback`.\n\t * @returns {Object} Returns `object`.\n\t * @example\n\t *\n\t * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) {\n\t * console.log(key);\n\t * });\n\t * // => logs '0', '1', and 'length' (property order is not guaranteed across environments)\n\t */\n\tvar forOwn = function(collection, callback, thisArg) {\n\t var index, iterable = collection, result = iterable;\n\t if (!iterable) return result;\n\t if (!objectTypes[typeof iterable]) return result;\n\t callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);\n\t var ownIndex = -1,\n\t ownProps = objectTypes[typeof iterable] && keys(iterable),\n\t length = ownProps ? ownProps.length : 0;\n\t\n\t while (++ownIndex < length) {\n\t index = ownProps[ownIndex];\n\t if (callback(iterable[index], index, collection) === false) return result;\n\t }\n\t return result\n\t};\n\t\n\tmodule.exports = forOwn;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar objectTypes = __webpack_require__(2);\n\t\n\t/**\n\t * Checks if `value` is the language type of Object.\n\t * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Objects\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if the `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(1);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t // check if the value is the ECMAScript language type of Object\n\t // http://es5.github.io/#x8\n\t // and avoid a V8 bug\n\t // http://code.google.com/p/v8/issues/detail?id=2291\n\t return !!(value && objectTypes[typeof value]);\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/** Used for native method references */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the internal [[Class]] of values */\n\tvar toString = objectProto.toString;\n\t\n\t/** Used to detect if a method is native */\n\tvar reNative = RegExp('^' +\n\t String(toString)\n\t .replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n\t .replace(/toString| for [^\\]]+/g, '.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if the `value` is a native function, else `false`.\n\t */\n\tfunction isNative(value) {\n\t return typeof value == 'function' && reNative.test(value);\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/**\n\t * Slices the `collection` from the `start` index up to, but not including,\n\t * the `end` index.\n\t *\n\t * Note: This function is used instead of `Array#slice` to support node lists\n\t * in IE < 9 and to ensure dense arrays are returned.\n\t *\n\t * @private\n\t * @param {Array|Object|string} collection The collection to slice.\n\t * @param {number} start The start index.\n\t * @param {number} end The end index.\n\t * @returns {Array} Returns the new array.\n\t */\n\tfunction slice(array, start, end) {\n\t start || (start = 0);\n\t if (typeof end == 'undefined') {\n\t end = array ? array.length : 0;\n\t }\n\t var index = -1,\n\t length = end - start || 0,\n\t result = Array(length < 0 ? 0 : length);\n\t\n\t while (++index < length) {\n\t result[index] = array[start + index];\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = slice;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar isNative = __webpack_require__(5),\n\t isObject = __webpack_require__(4),\n\t shimKeys = __webpack_require__(47);\n\t\n\t/* Native method shortcuts for methods with the same name as other `lodash` methods */\n\tvar nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys;\n\t\n\t/**\n\t * Creates an array composed of the own enumerable property names of an object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Objects\n\t * @param {Object} object The object to inspect.\n\t * @returns {Array} Returns an array of property names.\n\t * @example\n\t *\n\t * _.keys({ 'one': 1, 'two': 2, 'three': 3 });\n\t * // => ['one', 'two', 'three'] (property order is not guaranteed across environments)\n\t */\n\tvar keys = !nativeKeys ? shimKeys : function(object) {\n\t if (!isObject(object)) {\n\t return [];\n\t }\n\t return nativeKeys(object);\n\t};\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseCreateCallback = __webpack_require__(1),\n\t forOwn = __webpack_require__(3);\n\t\n\t/**\n\t * Iterates over elements of a collection, executing the callback for each\n\t * element. The callback is bound to `thisArg` and invoked with three arguments;\n\t * (value, index|key, collection). Callbacks may exit iteration early by\n\t * explicitly returning `false`.\n\t *\n\t * Note: As with other \"Collections\" methods, objects with a `length` property\n\t * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn`\n\t * may be used for object iteration.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @alias each\n\t * @category Collections\n\t * @param {Array|Object|string} collection The collection to iterate over.\n\t * @param {Function} [callback=identity] The function called per iteration.\n\t * @param {*} [thisArg] The `this` binding of `callback`.\n\t * @returns {Array|Object|string} Returns `collection`.\n\t * @example\n\t *\n\t * _([1, 2, 3]).forEach(function(num) { console.log(num); }).join(',');\n\t * // => logs each number and returns '1,2,3'\n\t *\n\t * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { console.log(num); });\n\t * // => logs each number and returns the object (property order is not guaranteed across environments)\n\t */\n\tfunction forEach(collection, callback, thisArg) {\n\t var index = -1,\n\t length = collection ? collection.length : 0;\n\t\n\t callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);\n\t if (typeof length == 'number') {\n\t while (++index < length) {\n\t if (callback(collection[index], index, collection) === false) {\n\t break;\n\t }\n\t }\n\t } else {\n\t forOwn(collection, callback);\n\t }\n\t return collection;\n\t}\n\t\n\tmodule.exports = forEach;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseCreateCallback = __webpack_require__(1),\n\t baseIsEqual = __webpack_require__(42),\n\t isObject = __webpack_require__(4),\n\t keys = __webpack_require__(7),\n\t property = __webpack_require__(56);\n\t\n\t/**\n\t * Produces a callback bound to an optional `thisArg`. If `func` is a property\n\t * name the created callback will return the property value for a given element.\n\t * If `func` is an object the created callback will return `true` for elements\n\t * that contain the equivalent object properties, otherwise it will return `false`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utilities\n\t * @param {*} [func=identity] The value to convert to a callback.\n\t * @param {*} [thisArg] The `this` binding of the created callback.\n\t * @param {number} [argCount] The number of arguments the callback accepts.\n\t * @returns {Function} Returns a callback function.\n\t * @example\n\t *\n\t * var characters = [\n\t * { 'name': 'barney', 'age': 36 },\n\t * { 'name': 'fred', 'age': 40 }\n\t * ];\n\t *\n\t * // wrap to create custom callback shorthands\n\t * _.createCallback = _.wrap(_.createCallback, function(func, callback, thisArg) {\n\t * var match = /^(.+?)__([gl]t)(.+)$/.exec(callback);\n\t * return !match ? func(callback, thisArg) : function(object) {\n\t * return match[2] == 'gt' ? object[match[1]] > match[3] : object[match[1]] < match[3];\n\t * };\n\t * });\n\t *\n\t * _.filter(characters, 'age__gt38');\n\t * // => [{ 'name': 'fred', 'age': 40 }]\n\t */\n\tfunction createCallback(func, thisArg, argCount) {\n\t var type = typeof func;\n\t if (func == null || type == 'function') {\n\t return baseCreateCallback(func, thisArg, argCount);\n\t }\n\t // handle \"_.pluck\" style callback shorthands\n\t if (type != 'object') {\n\t return property(func);\n\t }\n\t var props = keys(func),\n\t key = props[0],\n\t a = func[key];\n\t\n\t // handle \"_.where\" style callback shorthands\n\t if (props.length == 1 && a === a && !isObject(a)) {\n\t // fast path the common case of providing an object with a single\n\t // property containing a primitive value\n\t return function(object) {\n\t var b = object[key];\n\t return a === b && (a !== 0 || (1 / a == 1 / b));\n\t };\n\t }\n\t return function(object) {\n\t var length = props.length,\n\t result = false;\n\t\n\t while (length--) {\n\t if (!(result = baseIsEqual(object[props[length]], func[props[length]], null, true))) {\n\t break;\n\t }\n\t }\n\t return result;\n\t };\n\t}\n\t\n\tmodule.exports = createCallback;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar arrayPool = __webpack_require__(17);\n\t\n\t/**\n\t * Gets an array from the array pool or creates a new one if the pool is empty.\n\t *\n\t * @private\n\t * @returns {Array} The array from the pool.\n\t */\n\tfunction getArray() {\n\t return arrayPool.pop() || [];\n\t}\n\t\n\tmodule.exports = getArray;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar arrayPool = __webpack_require__(17),\n\t maxPoolSize = __webpack_require__(23);\n\t\n\t/**\n\t * Releases the given array back to the array pool.\n\t *\n\t * @private\n\t * @param {Array} [array] The array to release.\n\t */\n\tfunction releaseArray(array) {\n\t array.length = 0;\n\t if (arrayPool.length < maxPoolSize) {\n\t arrayPool.push(array);\n\t }\n\t}\n\t\n\tmodule.exports = releaseArray;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/**\n\t * The base implementation of `_.indexOf` without support for binary searches\n\t * or `fromIndex` constraints.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} value The value to search for.\n\t * @param {number} [fromIndex=0] The index to search from.\n\t * @returns {number} Returns the index of the matched value or `-1`.\n\t */\n\tfunction baseIndexOf(array, value, fromIndex) {\n\t var index = (fromIndex || 0) - 1,\n\t length = array ? array.length : 0;\n\t\n\t while (++index < length) {\n\t if (array[index] === value) {\n\t return index;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\tmodule.exports = baseIndexOf;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar maxPoolSize = __webpack_require__(23),\n\t objectPool = __webpack_require__(24);\n\t\n\t/**\n\t * Releases the given object back to the object pool.\n\t *\n\t * @private\n\t * @param {Object} [object] The object to release.\n\t */\n\tfunction releaseObject(object) {\n\t var cache = object.cache;\n\t if (cache) {\n\t releaseObject(cache);\n\t }\n\t object.array = object.cache = object.criteria = object.object = object.number = object.string = object.value = null;\n\t if (objectPool.length < maxPoolSize) {\n\t objectPool.push(object);\n\t }\n\t}\n\t\n\tmodule.exports = releaseObject;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar isNative = __webpack_require__(5),\n\t noop = __webpack_require__(27);\n\t\n\t/** Used as the property descriptor for `__bindData__` */\n\tvar descriptor = {\n\t 'configurable': false,\n\t 'enumerable': false,\n\t 'value': null,\n\t 'writable': false\n\t};\n\t\n\t/** Used to set meta data on functions */\n\tvar defineProperty = (function() {\n\t // IE 8 only accepts DOM elements\n\t try {\n\t var o = {},\n\t func = isNative(func = Object.defineProperty) && func,\n\t result = func(o, o, o) && func;\n\t } catch(e) { }\n\t return result;\n\t}());\n\t\n\t/**\n\t * Sets `this` binding data on a given function.\n\t *\n\t * @private\n\t * @param {Function} func The function to set data on.\n\t * @param {Array} value The data array to set.\n\t */\n\tvar setBindData = !defineProperty ? noop : function(func, value) {\n\t descriptor.value = value;\n\t defineProperty(func, '__bindData__', descriptor);\n\t};\n\t\n\tmodule.exports = setBindData;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar _clone = __webpack_require__(49),\n\t _mapValues = __webpack_require__(53),\n\t _forOwn = __webpack_require__(3),\n\t _intersection = __webpack_require__(34),\n\t _keys = __webpack_require__(7),\n\t _map = __webpack_require__(36),\n\t _each = __webpack_require__(8),\n\t _size = __webpack_require__(37),\n\t _findKey = __webpack_require__(50),\n\t _uniq = __webpack_require__(35);\n\t\n\tvar Dispatcher = function(stores) {\n\t this.stores = stores;\n\t this.currentDispatch = null;\n\t this.waitingToDispatch = [];\n\t\n\t for (var key in stores) {\n\t if (stores.hasOwnProperty(key)) {\n\t stores[key].dispatcher = this;\n\t }\n\t }\n\t};\n\t\n\tDispatcher.prototype.dispatch = function(action) {\n\t if (this.currentDispatch) {\n\t throw new Error(\"Cannot dispatch an action while another action is being dispatched\");\n\t }\n\t\n\t if (!action || !action.type) {\n\t throw new Error(\"Can only dispatch actions with a 'type' property\");\n\t }\n\t\n\t this.waitingToDispatch = _clone(this.stores);\n\t\n\t this.currentDispatch = _mapValues(this.stores, function() {\n\t return { resolved: false, waitingOn: [], waitCallback: null };\n\t });\n\t\n\t try {\n\t this.doDispatchLoop(action);\n\t } finally {\n\t this.currentDispatch = null;\n\t }\n\t};\n\t\n\tDispatcher.prototype.doDispatchLoop = function(action) {\n\t var dispatch, canBeDispatchedTo,\n\t removeFromDispatchQueue = [], dispatchedThisLoop = [];\n\t\n\t _forOwn(this.waitingToDispatch, function(value, key) {\n\t dispatch = this.currentDispatch[key];\n\t canBeDispatchedTo = !dispatch.waitingOn.length ||\n\t !_intersection(dispatch.waitingOn, _keys(this.waitingToDispatch)).length;\n\t if (canBeDispatchedTo) {\n\t if (dispatch.waitCallback) {\n\t var stores = _map(dispatch.waitingOn, function(key) {\n\t return this.stores[key];\n\t }, this);\n\t var fn = dispatch.waitCallback;\n\t dispatch.waitCallback = null;\n\t dispatch.waitingOn = [];\n\t dispatch.resolved = true;\n\t fn.apply(null, stores);\n\t } else {\n\t dispatch.resolved = true;\n\t this.stores[key].__handleAction__(action);\n\t }\n\t\n\t dispatchedThisLoop.push(key);\n\t\n\t if (this.currentDispatch[key].resolved) {\n\t removeFromDispatchQueue.push(key);\n\t }\n\t }\n\t }, this);\n\t\n\t if (!dispatchedThisLoop.length) {\n\t var storesWithCircularWaits = _keys(this.waitingToDispatch).join(\", \");\n\t throw new Error(\"Indirect circular wait detected among: \" + storesWithCircularWaits);\n\t }\n\t\n\t _each(removeFromDispatchQueue, function(key) {\n\t delete this.waitingToDispatch[key];\n\t }, this);\n\t\n\t if (_size(this.waitingToDispatch)) {\n\t this.doDispatchLoop(action);\n\t }\n\t};\n\t\n\tDispatcher.prototype.waitForStores = function(store, stores, fn) {\n\t if (!this.currentDispatch) {\n\t throw new Error(\"Cannot wait unless an action is being dispatched\");\n\t }\n\t\n\t var waitingStoreName = _findKey(this.stores, function(val) {\n\t return val === store;\n\t });\n\t\n\t if (stores.indexOf(waitingStoreName) > -1) {\n\t throw new Error(\"A store cannot wait on itself\");\n\t }\n\t\n\t var dispatch = this.currentDispatch[waitingStoreName];\n\t\n\t if (dispatch.waitingOn.length) {\n\t throw new Error(waitingStoreName + \" already waiting on stores\");\n\t }\n\t\n\t _each(stores, function(storeName) {\n\t var storeDispatch = this.currentDispatch[storeName];\n\t if (!this.stores[storeName]) {\n\t throw new Error(\"Cannot wait for non-existent store \" + storeName);\n\t }\n\t if (storeDispatch.waitingOn.indexOf(waitingStoreName) > -1) {\n\t throw new Error(\"Circular wait detected between \" + waitingStoreName + \" and \" + storeName);\n\t }\n\t }, this);\n\t\n\t dispatch.resolved = false;\n\t dispatch.waitingOn = _uniq(dispatch.waitingOn.concat(stores));\n\t dispatch.waitCallback = fn;\n\t};\n\t\n\tmodule.exports = Dispatcher;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tif (typeof Object.create === 'function') {\n\t // implementation from standard node.js 'util' module\n\t module.exports = function inherits(ctor, superCtor) {\n\t ctor.super_ = superCtor\n\t ctor.prototype = Object.create(superCtor.prototype, {\n\t constructor: {\n\t value: ctor,\n\t enumerable: false,\n\t writable: true,\n\t configurable: true\n\t }\n\t });\n\t };\n\t} else {\n\t // old school shim for old browsers\n\t module.exports = function inherits(ctor, superCtor) {\n\t ctor.super_ = superCtor\n\t var TempCtor = function () {}\n\t TempCtor.prototype = superCtor.prototype\n\t ctor.prototype = new TempCtor()\n\t ctor.prototype.constructor = ctor\n\t }\n\t}\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/** Used to pool arrays and objects used internally */\n\tvar arrayPool = [];\n\t\n\tmodule.exports = arrayPool;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar isNative = __webpack_require__(5),\n\t isObject = __webpack_require__(4),\n\t noop = __webpack_require__(27);\n\t\n\t/* Native method shortcuts for methods with the same name as other `lodash` methods */\n\tvar nativeCreate = isNative(nativeCreate = Object.create) && nativeCreate;\n\t\n\t/**\n\t * The base implementation of `_.create` without support for assigning\n\t * properties to the created object.\n\t *\n\t * @private\n\t * @param {Object} prototype The object to inherit from.\n\t * @returns {Object} Returns the new object.\n\t */\n\tfunction baseCreate(prototype, properties) {\n\t return isObject(prototype) ? nativeCreate(prototype) : {};\n\t}\n\t// fallback for browsers without `Object.create`\n\tif (!nativeCreate) {\n\t baseCreate = (function() {\n\t function Object() {}\n\t return function(prototype) {\n\t if (isObject(prototype)) {\n\t Object.prototype = prototype;\n\t var result = new Object;\n\t Object.prototype = null;\n\t }\n\t return result || global.Object();\n\t };\n\t }());\n\t}\n\t\n\tmodule.exports = baseCreate;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 19 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseIndexOf = __webpack_require__(12),\n\t keyPrefix = __webpack_require__(21);\n\t\n\t/**\n\t * An implementation of `_.contains` for cache objects that mimics the return\n\t * signature of `_.indexOf` by returning `0` if the value is found, else `-1`.\n\t *\n\t * @private\n\t * @param {Object} cache The cache object to inspect.\n\t * @param {*} value The value to search for.\n\t * @returns {number} Returns `0` if `value` is found, else `-1`.\n\t */\n\tfunction cacheIndexOf(cache, value) {\n\t var type = typeof value;\n\t cache = cache.cache;\n\t\n\t if (type == 'boolean' || value == null) {\n\t return cache[value] ? 0 : -1;\n\t }\n\t if (type != 'number' && type != 'string') {\n\t type = 'object';\n\t }\n\t var key = type == 'number' ? value : keyPrefix + value;\n\t cache = (cache = cache[type]) && cache[key];\n\t\n\t return type == 'object'\n\t ? (cache && baseIndexOf(cache, value) > -1 ? 0 : -1)\n\t : (cache ? 0 : -1);\n\t}\n\t\n\tmodule.exports = cacheIndexOf;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar cachePush = __webpack_require__(44),\n\t getObject = __webpack_require__(46),\n\t releaseObject = __webpack_require__(13);\n\t\n\t/**\n\t * Creates a cache object to optimize linear searches of large arrays.\n\t *\n\t * @private\n\t * @param {Array} [array=[]] The array to search.\n\t * @returns {null|Object} Returns the cache object or `null` if caching should not be used.\n\t */\n\tfunction createCache(array) {\n\t var index = -1,\n\t length = array.length,\n\t first = array[0],\n\t mid = array[(length / 2) | 0],\n\t last = array[length - 1];\n\t\n\t if (first && typeof first == 'object' &&\n\t mid && typeof mid == 'object' && last && typeof last == 'object') {\n\t return false;\n\t }\n\t var cache = getObject();\n\t cache['false'] = cache['null'] = cache['true'] = cache['undefined'] = false;\n\t\n\t var result = getObject();\n\t result.array = array;\n\t result.cache = cache;\n\t result.push = cachePush;\n\t\n\t while (++index < length) {\n\t result.push(array[index]);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = createCache;\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/** Used to prefix keys to avoid issues with `__proto__` and properties on `Object.prototype` */\n\tvar keyPrefix = +new Date + '';\n\t\n\tmodule.exports = keyPrefix;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/** Used as the size when optimizations are enabled for large arrays */\n\tvar largeArraySize = 75;\n\t\n\tmodule.exports = largeArraySize;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/** Used as the max size of the `arrayPool` and `objectPool` */\n\tvar maxPoolSize = 40;\n\t\n\tmodule.exports = maxPoolSize;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/** Used to pool arrays and objects used internally */\n\tvar objectPool = [];\n\t\n\tmodule.exports = objectPool;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar isNative = __webpack_require__(5);\n\t\n\t/** `Object#toString` result shortcuts */\n\tvar arrayClass = '[object Array]';\n\t\n\t/** Used for native method references */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the internal [[Class]] of values */\n\tvar toString = objectProto.toString;\n\t\n\t/* Native method shortcuts for methods with the same name as other `lodash` methods */\n\tvar nativeIsArray = isNative(nativeIsArray = Array.isArray) && nativeIsArray;\n\t\n\t/**\n\t * Checks if `value` is an array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @type Function\n\t * @category Objects\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if the `value` is an array, else `false`.\n\t * @example\n\t *\n\t * (function() { return _.isArray(arguments); })();\n\t * // => false\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t */\n\tvar isArray = nativeIsArray || function(value) {\n\t return value && typeof value == 'object' && typeof value.length == 'number' &&\n\t toString.call(value) == arrayClass || false;\n\t};\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/**\n\t * Checks if `value` is a function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Objects\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if the `value` is a function, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t */\n\tfunction isFunction(value) {\n\t return typeof value == 'function';\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/**\n\t * A no-operation function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utilities\n\t * @example\n\t *\n\t * var object = { 'name': 'fred' };\n\t * _.noop(object) === undefined;\n\t * // => true\n\t */\n\tfunction noop() {\n\t // no operation performed\n\t}\n\t\n\tmodule.exports = noop;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar _each = __webpack_require__(8),\n\t Store = __webpack_require__(32),\n\t inherits = __webpack_require__(16);\n\t\n\tvar RESERVED_KEYS = [\"flux\", \"waitFor\"];\n\t\n\tvar createStore = function(spec) {\n\t _each(RESERVED_KEYS, function(key) {\n\t if (spec[key]) {\n\t throw new Error(\"Reserved key '\" + key + \"' found in store definition\");\n\t }\n\t });\n\t\n\t var constructor = function(options) {\n\t options = options || {};\n\t Store.call(this);\n\t\n\t for (var key in spec) {\n\t if (key === \"actions\") {\n\t this.__actions__ = spec[key];\n\t } else if (key === \"initialize\") {\n\t // do nothing\n\t } else if (typeof spec[key] === \"function\") {\n\t this[key] = spec[key].bind(this);\n\t } else {\n\t this[key] = spec[key];\n\t }\n\t }\n\t\n\t if (spec.initialize) {\n\t spec.initialize.call(this, options);\n\t }\n\t };\n\t\n\t inherits(constructor, Store);\n\t return constructor;\n\t};\n\t\n\tmodule.exports = createStore;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Dispatcher = __webpack_require__(15);\n\t\n\tfunction bindActions(target, actions, dispatchBinder) {\n\t for (var key in actions) {\n\t if (actions.hasOwnProperty(key)) {\n\t if (typeof actions[key] === \"function\") {\n\t target[key] = actions[key].bind(dispatchBinder);\n\t } else if (typeof actions[key] === \"object\") {\n\t target[key] = {};\n\t bindActions(target[key], actions[key], dispatchBinder);\n\t }\n\t }\n\t }\n\t}\n\t\n\tvar Flux = function(stores, actions) {\n\t var dispatcher = new Dispatcher(stores),\n\t dispatchBinder = {\n\t flux: this,\n\t dispatch: function(type, payload) {\n\t dispatcher.dispatch({type: type, payload: payload});\n\t }\n\t };\n\t\n\t this.dispatcher = dispatcher;\n\t this.actions = {};\n\t this.stores = stores;\n\t\n\t bindActions(this.actions, actions, dispatchBinder);\n\t\n\t for (var key in stores) {\n\t if (stores.hasOwnProperty(key)) {\n\t stores[key].flux = this;\n\t }\n\t }\n\t};\n\t\n\tFlux.prototype.store = function(name) {\n\t return this.stores[name];\n\t};\n\t\n\tmodule.exports = Flux;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar FluxChildMixin = function(React) {\n\t return {\n\t contextTypes: {\n\t flux: React.PropTypes.object\n\t },\n\t\n\t getFlux: function() {\n\t return this.context.flux;\n\t }\n\t };\n\t};\n\t\n\tFluxChildMixin.componentWillMount = function() {\n\t throw new Error(\"Fluxxor.FluxChildMixin is a function that takes React as a \" +\n\t \"parameter and returns the mixin, e.g.: mixins[Fluxxor.FluxChildMixin(React)]\");\n\t};\n\t\n\tmodule.exports = FluxChildMixin;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar FluxMixin = function(React) {\n\t return {\n\t propTypes: {\n\t flux: React.PropTypes.object.isRequired\n\t },\n\t\n\t childContextTypes: {\n\t flux: React.PropTypes.object\n\t },\n\t\n\t getChildContext: function() {\n\t return {\n\t flux: this.props.flux\n\t };\n\t },\n\t\n\t getFlux: function() {\n\t return this.props.flux;\n\t }\n\t };\n\t};\n\t\n\tFluxMixin.componentWillMount = function() {\n\t throw new Error(\"Fluxxor.FluxMixin is a function that takes React as a \" +\n\t \"parameter and returns the mixin, e.g.: mixins[Fluxxor.FluxMixin(React)]\");\n\t};\n\t\n\tmodule.exports = FluxMixin;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar EventEmitter = __webpack_require__(57).EventEmitter,\n\t inherits = __webpack_require__(16);\n\t\n\tfunction Store(dispatcher) {\n\t this.dispatcher = dispatcher;\n\t this.__actions__ = {};\n\t EventEmitter.call(this);\n\t}\n\t\n\tinherits(Store, EventEmitter);\n\t\n\tStore.prototype.__handleAction__ = function(action) {\n\t var handler;\n\t if (!!(handler = this.__actions__[action.type])) {\n\t if (typeof handler === \"function\") {\n\t handler.call(this, action.payload, action.type);\n\t } else if (handler && typeof this[handler] === \"function\") {\n\t this[handler].call(this, action.payload, action.type);\n\t }\n\t }\n\t};\n\t\n\tStore.prototype.bindActions = function() {\n\t var actions = Array.prototype.slice.call(arguments);\n\t if (actions.length % 2 !== 0) {\n\t throw new Error(\"bindActions must take an even number of arguments.\");\n\t }\n\t\n\t for (var i = 0; i < actions.length; i += 2) {\n\t var type = actions[i],\n\t handler = actions[i+1];\n\t\n\t this.__actions__[type] = handler;\n\t }\n\t};\n\t\n\tStore.prototype.waitFor = function(stores, fn) {\n\t this.dispatcher.waitForStores(this, stores, fn.bind(this));\n\t};\n\t\n\tmodule.exports = Store;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar _each = __webpack_require__(8);\n\t\n\tvar StoreWatchMixin = function() {\n\t var storeNames = Array.prototype.slice.call(arguments);\n\t return {\n\t componentWillMount: function() {\n\t var flux = this.props.flux || this.context.flux;\n\t _each(storeNames, function(store) {\n\t flux.store(store).on(\"change\", this._setStateFromFlux);\n\t }, this);\n\t },\n\t\n\t componentWillUnmount: function() {\n\t var flux = this.props.flux || this.context.flux;\n\t _each(storeNames, function(store) {\n\t flux.store(store).removeListener(\"change\", this._setStateFromFlux);\n\t }, this);\n\t },\n\t\n\t _setStateFromFlux: function() {\n\t if(this.isMounted()) {\n\t this.setState(this.getStateFromFlux());\n\t }\n\t },\n\t\n\t getInitialState: function() {\n\t return this.getStateFromFlux();\n\t }\n\t };\n\t};\n\t\n\tStoreWatchMixin.componentWillMount = function() {\n\t throw new Error(\"Fluxxor.StoreWatchMixin is a function that takes one or more \" +\n\t \"store names as parameters and returns the mixin, e.g.: \" +\n\t \"mixins[Fluxxor.StoreWatchMixin(\\\"Store1\\\", \\\"Store2\\\")]\");\n\t};\n\t\n\tmodule.exports = StoreWatchMixin;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseIndexOf = __webpack_require__(12),\n\t cacheIndexOf = __webpack_require__(19),\n\t createCache = __webpack_require__(20),\n\t getArray = __webpack_require__(10),\n\t isArguments = __webpack_require__(52),\n\t isArray = __webpack_require__(25),\n\t largeArraySize = __webpack_require__(22),\n\t releaseArray = __webpack_require__(11),\n\t releaseObject = __webpack_require__(13);\n\t\n\t/**\n\t * Creates an array of unique values present in all provided arrays using\n\t * strict equality for comparisons, i.e. `===`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Arrays\n\t * @param {...Array} [array] The arrays to inspect.\n\t * @returns {Array} Returns an array of shared values.\n\t * @example\n\t *\n\t * _.intersection([1, 2, 3], [5, 2, 1, 4], [2, 1]);\n\t * // => [1, 2]\n\t */\n\tfunction intersection() {\n\t var args = [],\n\t argsIndex = -1,\n\t argsLength = arguments.length,\n\t caches = getArray(),\n\t indexOf = baseIndexOf,\n\t trustIndexOf = indexOf === baseIndexOf,\n\t seen = getArray();\n\t\n\t while (++argsIndex < argsLength) {\n\t var value = arguments[argsIndex];\n\t if (isArray(value) || isArguments(value)) {\n\t args.push(value);\n\t caches.push(trustIndexOf && value.length >= largeArraySize &&\n\t createCache(argsIndex ? args[argsIndex] : seen));\n\t }\n\t }\n\t var array = args[0],\n\t index = -1,\n\t length = array ? array.length : 0,\n\t result = [];\n\t\n\t outer:\n\t while (++index < length) {\n\t var cache = caches[0];\n\t value = array[index];\n\t\n\t if ((cache ? cacheIndexOf(cache, value) : indexOf(seen, value)) < 0) {\n\t argsIndex = argsLength;\n\t (cache || seen).push(value);\n\t while (--argsIndex) {\n\t cache = caches[argsIndex];\n\t if ((cache ? cacheIndexOf(cache, value) : indexOf(args[argsIndex], value)) < 0) {\n\t continue outer;\n\t }\n\t }\n\t result.push(value);\n\t }\n\t }\n\t while (argsLength--) {\n\t cache = caches[argsLength];\n\t if (cache) {\n\t releaseObject(cache);\n\t }\n\t }\n\t releaseArray(caches);\n\t releaseArray(seen);\n\t return result;\n\t}\n\t\n\tmodule.exports = intersection;\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseUniq = __webpack_require__(43),\n\t createCallback = __webpack_require__(9);\n\t\n\t/**\n\t * Creates a duplicate-value-free version of an array using strict equality\n\t * for comparisons, i.e. `===`. If the array is sorted, providing\n\t * `true` for `isSorted` will use a faster algorithm. If a callback is provided\n\t * each element of `array` is passed through the callback before uniqueness\n\t * is computed. The callback is bound to `thisArg` and invoked with three\n\t * arguments; (value, index, array).\n\t *\n\t * If a property name is provided for `callback` the created \"_.pluck\" style\n\t * callback will return the property value of the given element.\n\t *\n\t * If an object is provided for `callback` the created \"_.where\" style callback\n\t * will return `true` for elements that have the properties of the given object,\n\t * else `false`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @alias unique\n\t * @category Arrays\n\t * @param {Array} array The array to process.\n\t * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.\n\t * @param {Function|Object|string} [callback=identity] The function called\n\t * per iteration. If a property name or object is provided it will be used\n\t * to create a \"_.pluck\" or \"_.where\" style callback, respectively.\n\t * @param {*} [thisArg] The `this` binding of `callback`.\n\t * @returns {Array} Returns a duplicate-value-free array.\n\t * @example\n\t *\n\t * _.uniq([1, 2, 1, 3, 1]);\n\t * // => [1, 2, 3]\n\t *\n\t * _.uniq([1, 1, 2, 2, 3], true);\n\t * // => [1, 2, 3]\n\t *\n\t * _.uniq(['A', 'b', 'C', 'a', 'B', 'c'], function(letter) { return letter.toLowerCase(); });\n\t * // => ['A', 'b', 'C']\n\t *\n\t * _.uniq([1, 2.5, 3, 1.5, 2, 3.5], function(num) { return this.floor(num); }, Math);\n\t * // => [1, 2.5, 3]\n\t *\n\t * // using \"_.pluck\" callback shorthand\n\t * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n\t * // => [{ 'x': 1 }, { 'x': 2 }]\n\t */\n\tfunction uniq(array, isSorted, callback, thisArg) {\n\t // juggle arguments\n\t if (typeof isSorted != 'boolean' && isSorted != null) {\n\t thisArg = callback;\n\t callback = (typeof isSorted != 'function' && thisArg && thisArg[isSorted] === array) ? null : isSorted;\n\t isSorted = false;\n\t }\n\t if (callback != null) {\n\t callback = createCallback(callback, thisArg, 3);\n\t }\n\t return baseUniq(array, isSorted, callback);\n\t}\n\t\n\tmodule.exports = uniq;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar createCallback = __webpack_require__(9),\n\t forOwn = __webpack_require__(3);\n\t\n\t/**\n\t * Creates an array of values by running each element in the collection\n\t * through the callback. The callback is bound to `thisArg` and invoked with\n\t * three arguments; (value, index|key, collection).\n\t *\n\t * If a property name is provided for `callback` the created \"_.pluck\" style\n\t * callback will return the property value of the given element.\n\t *\n\t * If an object is provided for `callback` the created \"_.where\" style callback\n\t * will return `true` for elements that have the properties of the given object,\n\t * else `false`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @alias collect\n\t * @category Collections\n\t * @param {Array|Object|string} collection The collection to iterate over.\n\t * @param {Function|Object|string} [callback=identity] The function called\n\t * per iteration. If a property name or object is provided it will be used\n\t * to create a \"_.pluck\" or \"_.where\" style callback, respectively.\n\t * @param {*} [thisArg] The `this` binding of `callback`.\n\t * @returns {Array} Returns a new array of the results of each `callback` execution.\n\t * @example\n\t *\n\t * _.map([1, 2, 3], function(num) { return num * 3; });\n\t * // => [3, 6, 9]\n\t *\n\t * _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; });\n\t * // => [3, 6, 9] (property order is not guaranteed across environments)\n\t *\n\t * var characters = [\n\t * { 'name': 'barney', 'age': 36 },\n\t * { 'name': 'fred', 'age': 40 }\n\t * ];\n\t *\n\t * // using \"_.pluck\" callback shorthand\n\t * _.map(characters, 'name');\n\t * // => ['barney', 'fred']\n\t */\n\tfunction map(collection, callback, thisArg) {\n\t var index = -1,\n\t length = collection ? collection.length : 0;\n\t\n\t callback = createCallback(callback, thisArg, 3);\n\t if (typeof length == 'number') {\n\t var result = Array(length);\n\t while (++index < length) {\n\t result[index] = callback(collection[index], index, collection);\n\t }\n\t } else {\n\t result = [];\n\t forOwn(collection, function(value, key, collection) {\n\t result[++index] = callback(value, key, collection);\n\t });\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = map;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar keys = __webpack_require__(7);\n\t\n\t/**\n\t * Gets the size of the `collection` by returning `collection.length` for arrays\n\t * and array-like objects or the number of own enumerable properties for objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Collections\n\t * @param {Array|Object|string} collection The collection to inspect.\n\t * @returns {number} Returns `collection.length` or number of own enumerable properties.\n\t * @example\n\t *\n\t * _.size([1, 2]);\n\t * // => 2\n\t *\n\t * _.size({ 'one': 1, 'two': 2, 'three': 3 });\n\t * // => 3\n\t *\n\t * _.size('pebbles');\n\t * // => 7\n\t */\n\tfunction size(collection) {\n\t var length = collection ? collection.length : 0;\n\t return typeof length == 'number' ? length : keys(collection).length;\n\t}\n\t\n\tmodule.exports = size;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar createWrapper = __webpack_require__(45),\n\t slice = __webpack_require__(6);\n\t\n\t/**\n\t * Creates a function that, when called, invokes `func` with the `this`\n\t * binding of `thisArg` and prepends any additional `bind` arguments to those\n\t * provided to the bound function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Functions\n\t * @param {Function} func The function to bind.\n\t * @param {*} [thisArg] The `this` binding of `func`.\n\t * @param {...*} [arg] Arguments to be partially applied.\n\t * @returns {Function} Returns the new bound function.\n\t * @example\n\t *\n\t * var func = function(greeting) {\n\t * return greeting + ' ' + this.name;\n\t * };\n\t *\n\t * func = _.bind(func, { 'name': 'fred' }, 'hi');\n\t * func();\n\t * // => 'hi fred'\n\t */\n\tfunction bind(func, thisArg) {\n\t return arguments.length > 2\n\t ? createWrapper(func, 17, slice(arguments, 2), null, thisArg)\n\t : createWrapper(func, 1, null, null, thisArg);\n\t}\n\t\n\tmodule.exports = bind;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseCreate = __webpack_require__(18),\n\t isObject = __webpack_require__(4),\n\t setBindData = __webpack_require__(14),\n\t slice = __webpack_require__(6);\n\t\n\t/**\n\t * Used for `Array` method references.\n\t *\n\t * Normally `Array.prototype` would suffice, however, using an array literal\n\t * avoids issues in Narwhal.\n\t */\n\tvar arrayRef = [];\n\t\n\t/** Native method shortcuts */\n\tvar push = arrayRef.push;\n\t\n\t/**\n\t * The base implementation of `_.bind` that creates the bound function and\n\t * sets its meta data.\n\t *\n\t * @private\n\t * @param {Array} bindData The bind data array.\n\t * @returns {Function} Returns the new bound function.\n\t */\n\tfunction baseBind(bindData) {\n\t var func = bindData[0],\n\t partialArgs = bindData[2],\n\t thisArg = bindData[4];\n\t\n\t function bound() {\n\t // `Function#bind` spec\n\t // http://es5.github.io/#x15.3.4.5\n\t if (partialArgs) {\n\t // avoid `arguments` object deoptimizations by using `slice` instead\n\t // of `Array.prototype.slice.call` and not assigning `arguments` to a\n\t // variable as a ternary expression\n\t var args = slice(partialArgs);\n\t push.apply(args, arguments);\n\t }\n\t // mimic the constructor's `return` behavior\n\t // http://es5.github.io/#x13.2.2\n\t if (this instanceof bound) {\n\t // ensure `new bound` is an instance of `func`\n\t var thisBinding = baseCreate(func.prototype),\n\t result = func.apply(thisBinding, args || arguments);\n\t return isObject(result) ? result : thisBinding;\n\t }\n\t return func.apply(thisArg, args || arguments);\n\t }\n\t setBindData(bound, bindData);\n\t return bound;\n\t}\n\t\n\tmodule.exports = baseBind;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar assign = __webpack_require__(48),\n\t forEach = __webpack_require__(8),\n\t forOwn = __webpack_require__(3),\n\t getArray = __webpack_require__(10),\n\t isArray = __webpack_require__(25),\n\t isObject = __webpack_require__(4),\n\t releaseArray = __webpack_require__(11),\n\t slice = __webpack_require__(6);\n\t\n\t/** Used to match regexp flags from their coerced string values */\n\tvar reFlags = /\\w*$/;\n\t\n\t/** `Object#toString` result shortcuts */\n\tvar argsClass = '[object Arguments]',\n\t arrayClass = '[object Array]',\n\t boolClass = '[object Boolean]',\n\t dateClass = '[object Date]',\n\t funcClass = '[object Function]',\n\t numberClass = '[object Number]',\n\t objectClass = '[object Object]',\n\t regexpClass = '[object RegExp]',\n\t stringClass = '[object String]';\n\t\n\t/** Used to identify object classifications that `_.clone` supports */\n\tvar cloneableClasses = {};\n\tcloneableClasses[funcClass] = false;\n\tcloneableClasses[argsClass] = cloneableClasses[arrayClass] =\n\tcloneableClasses[boolClass] = cloneableClasses[dateClass] =\n\tcloneableClasses[numberClass] = cloneableClasses[objectClass] =\n\tcloneableClasses[regexpClass] = cloneableClasses[stringClass] = true;\n\t\n\t/** Used for native method references */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the internal [[Class]] of values */\n\tvar toString = objectProto.toString;\n\t\n\t/** Native method shortcuts */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to lookup a built-in constructor by [[Class]] */\n\tvar ctorByClass = {};\n\tctorByClass[arrayClass] = Array;\n\tctorByClass[boolClass] = Boolean;\n\tctorByClass[dateClass] = Date;\n\tctorByClass[funcClass] = Function;\n\tctorByClass[objectClass] = Object;\n\tctorByClass[numberClass] = Number;\n\tctorByClass[regexpClass] = RegExp;\n\tctorByClass[stringClass] = String;\n\t\n\t/**\n\t * The base implementation of `_.clone` without argument juggling or support\n\t * for `thisArg` binding.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep=false] Specify a deep clone.\n\t * @param {Function} [callback] The function to customize cloning values.\n\t * @param {Array} [stackA=[]] Tracks traversed source objects.\n\t * @param {Array} [stackB=[]] Associates clones with source counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, isDeep, callback, stackA, stackB) {\n\t if (callback) {\n\t var result = callback(value);\n\t if (typeof result != 'undefined') {\n\t return result;\n\t }\n\t }\n\t // inspect [[Class]]\n\t var isObj = isObject(value);\n\t if (isObj) {\n\t var className = toString.call(value);\n\t if (!cloneableClasses[className]) {\n\t return value;\n\t }\n\t var ctor = ctorByClass[className];\n\t switch (className) {\n\t case boolClass:\n\t case dateClass:\n\t return new ctor(+value);\n\t\n\t case numberClass:\n\t case stringClass:\n\t return new ctor(value);\n\t\n\t case regexpClass:\n\t result = ctor(value.source, reFlags.exec(value));\n\t result.lastIndex = value.lastIndex;\n\t return result;\n\t }\n\t } else {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isDeep) {\n\t // check for circular references and return corresponding clone\n\t var initedStack = !stackA;\n\t stackA || (stackA = getArray());\n\t stackB || (stackB = getArray());\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == value) {\n\t return stackB[length];\n\t }\n\t }\n\t result = isArr ? ctor(value.length) : {};\n\t }\n\t else {\n\t result = isArr ? slice(value) : assign({}, value);\n\t }\n\t // add array properties assigned by `RegExp#exec`\n\t if (isArr) {\n\t if (hasOwnProperty.call(value, 'index')) {\n\t result.index = value.index;\n\t }\n\t if (hasOwnProperty.call(value, 'input')) {\n\t result.input = value.input;\n\t }\n\t }\n\t // exit for shallow clone\n\t if (!isDeep) {\n\t return result;\n\t }\n\t // add the source value to the stack of traversed objects\n\t // and associate it with its clone\n\t stackA.push(value);\n\t stackB.push(result);\n\t\n\t // recursively populate clone (susceptible to call stack limits)\n\t (isArr ? forEach : forOwn)(value, function(objValue, key) {\n\t result[key] = baseClone(objValue, isDeep, callback, stackA, stackB);\n\t });\n\t\n\t if (initedStack) {\n\t releaseArray(stackA);\n\t releaseArray(stackB);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 41 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseCreate = __webpack_require__(18),\n\t isObject = __webpack_require__(4),\n\t setBindData = __webpack_require__(14),\n\t slice = __webpack_require__(6);\n\t\n\t/**\n\t * Used for `Array` method references.\n\t *\n\t * Normally `Array.prototype` would suffice, however, using an array literal\n\t * avoids issues in Narwhal.\n\t */\n\tvar arrayRef = [];\n\t\n\t/** Native method shortcuts */\n\tvar push = arrayRef.push;\n\t\n\t/**\n\t * The base implementation of `createWrapper` that creates the wrapper and\n\t * sets its meta data.\n\t *\n\t * @private\n\t * @param {Array} bindData The bind data array.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseCreateWrapper(bindData) {\n\t var func = bindData[0],\n\t bitmask = bindData[1],\n\t partialArgs = bindData[2],\n\t partialRightArgs = bindData[3],\n\t thisArg = bindData[4],\n\t arity = bindData[5];\n\t\n\t var isBind = bitmask & 1,\n\t isBindKey = bitmask & 2,\n\t isCurry = bitmask & 4,\n\t isCurryBound = bitmask & 8,\n\t key = func;\n\t\n\t function bound() {\n\t var thisBinding = isBind ? thisArg : this;\n\t if (partialArgs) {\n\t var args = slice(partialArgs);\n\t push.apply(args, arguments);\n\t }\n\t if (partialRightArgs || isCurry) {\n\t args || (args = slice(arguments));\n\t if (partialRightArgs) {\n\t push.apply(args, partialRightArgs);\n\t }\n\t if (isCurry && args.length < arity) {\n\t bitmask |= 16 & ~32;\n\t return baseCreateWrapper([func, (isCurryBound ? bitmask : bitmask & ~3), args, null, thisArg, arity]);\n\t }\n\t }\n\t args || (args = arguments);\n\t if (isBindKey) {\n\t func = thisBinding[key];\n\t }\n\t if (this instanceof bound) {\n\t thisBinding = baseCreate(func.prototype);\n\t var result = func.apply(thisBinding, args);\n\t return isObject(result) ? result : thisBinding;\n\t }\n\t return func.apply(thisBinding, args);\n\t }\n\t setBindData(bound, bindData);\n\t return bound;\n\t}\n\t\n\tmodule.exports = baseCreateWrapper;\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar forIn = __webpack_require__(51),\n\t getArray = __webpack_require__(10),\n\t isFunction = __webpack_require__(26),\n\t objectTypes = __webpack_require__(2),\n\t releaseArray = __webpack_require__(11);\n\t\n\t/** `Object#toString` result shortcuts */\n\tvar argsClass = '[object Arguments]',\n\t arrayClass = '[object Array]',\n\t boolClass = '[object Boolean]',\n\t dateClass = '[object Date]',\n\t numberClass = '[object Number]',\n\t objectClass = '[object Object]',\n\t regexpClass = '[object RegExp]',\n\t stringClass = '[object String]';\n\t\n\t/** Used for native method references */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the internal [[Class]] of values */\n\tvar toString = objectProto.toString;\n\t\n\t/** Native method shortcuts */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * The base implementation of `_.isEqual`, without support for `thisArg` binding,\n\t * that allows partial \"_.where\" style comparisons.\n\t *\n\t * @private\n\t * @param {*} a The value to compare.\n\t * @param {*} b The other value to compare.\n\t * @param {Function} [callback] The function to customize comparing values.\n\t * @param {Function} [isWhere=false] A flag to indicate performing partial comparisons.\n\t * @param {Array} [stackA=[]] Tracks traversed `a` objects.\n\t * @param {Array} [stackB=[]] Tracks traversed `b` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(a, b, callback, isWhere, stackA, stackB) {\n\t // used to indicate that when comparing objects, `a` has at least the properties of `b`\n\t if (callback) {\n\t var result = callback(a, b);\n\t if (typeof result != 'undefined') {\n\t return !!result;\n\t }\n\t }\n\t // exit early for identical values\n\t if (a === b) {\n\t // treat `+0` vs. `-0` as not equal\n\t return a !== 0 || (1 / a == 1 / b);\n\t }\n\t var type = typeof a,\n\t otherType = typeof b;\n\t\n\t // exit early for unlike primitive values\n\t if (a === a &&\n\t !(a && objectTypes[type]) &&\n\t !(b && objectTypes[otherType])) {\n\t return false;\n\t }\n\t // exit early for `null` and `undefined` avoiding ES3's Function#call behavior\n\t // http://es5.github.io/#x15.3.4.4\n\t if (a == null || b == null) {\n\t return a === b;\n\t }\n\t // compare [[Class]] names\n\t var className = toString.call(a),\n\t otherClass = toString.call(b);\n\t\n\t if (className == argsClass) {\n\t className = objectClass;\n\t }\n\t if (otherClass == argsClass) {\n\t otherClass = objectClass;\n\t }\n\t if (className != otherClass) {\n\t return false;\n\t }\n\t switch (className) {\n\t case boolClass:\n\t case dateClass:\n\t // coerce dates and booleans to numbers, dates to milliseconds and booleans\n\t // to `1` or `0` treating invalid dates coerced to `NaN` as not equal\n\t return +a == +b;\n\t\n\t case numberClass:\n\t // treat `NaN` vs. `NaN` as equal\n\t return (a != +a)\n\t ? b != +b\n\t // but treat `+0` vs. `-0` as not equal\n\t : (a == 0 ? (1 / a == 1 / b) : a == +b);\n\t\n\t case regexpClass:\n\t case stringClass:\n\t // coerce regexes to strings (http://es5.github.io/#x15.10.6.4)\n\t // treat string primitives and their corresponding object instances as equal\n\t return a == String(b);\n\t }\n\t var isArr = className == arrayClass;\n\t if (!isArr) {\n\t // unwrap any `lodash` wrapped values\n\t var aWrapped = hasOwnProperty.call(a, '__wrapped__'),\n\t bWrapped = hasOwnProperty.call(b, '__wrapped__');\n\t\n\t if (aWrapped || bWrapped) {\n\t return baseIsEqual(aWrapped ? a.__wrapped__ : a, bWrapped ? b.__wrapped__ : b, callback, isWhere, stackA, stackB);\n\t }\n\t // exit for functions and DOM nodes\n\t if (className != objectClass) {\n\t return false;\n\t }\n\t // in older versions of Opera, `arguments` objects have `Array` constructors\n\t var ctorA = a.constructor,\n\t ctorB = b.constructor;\n\t\n\t // non `Object` object instances with different constructors are not equal\n\t if (ctorA != ctorB &&\n\t !(isFunction(ctorA) && ctorA instanceof ctorA && isFunction(ctorB) && ctorB instanceof ctorB) &&\n\t ('constructor' in a && 'constructor' in b)\n\t ) {\n\t return false;\n\t }\n\t }\n\t // assume cyclic structures are equal\n\t // the algorithm for detecting cyclic structures is adapted from ES 5.1\n\t // section 15.12.3, abstract operation `JO` (http://es5.github.io/#x15.12.3)\n\t var initedStack = !stackA;\n\t stackA || (stackA = getArray());\n\t stackB || (stackB = getArray());\n\t\n\t var length = stackA.length;\n\t while (length--) {\n\t if (stackA[length] == a) {\n\t return stackB[length] == b;\n\t }\n\t }\n\t var size = 0;\n\t result = true;\n\t\n\t // add `a` and `b` to the stack of traversed objects\n\t stackA.push(a);\n\t stackB.push(b);\n\t\n\t // recursively compare objects and arrays (susceptible to call stack limits)\n\t if (isArr) {\n\t // compare lengths to determine if a deep comparison is necessary\n\t length = a.length;\n\t size = b.length;\n\t result = size == length;\n\t\n\t if (result || isWhere) {\n\t // deep compare the contents, ignoring non-numeric properties\n\t while (size--) {\n\t var index = length,\n\t value = b[size];\n\t\n\t if (isWhere) {\n\t while (index--) {\n\t if ((result = baseIsEqual(a[index], value, callback, isWhere, stackA, stackB))) {\n\t break;\n\t }\n\t }\n\t } else if (!(result = baseIsEqual(a[size], value, callback, isWhere, stackA, stackB))) {\n\t break;\n\t }\n\t }\n\t }\n\t }\n\t else {\n\t // deep compare objects using `forIn`, instead of `forOwn`, to avoid `Object.keys`\n\t // which, in this case, is more costly\n\t forIn(b, function(value, key, b) {\n\t if (hasOwnProperty.call(b, key)) {\n\t // count the number of properties.\n\t size++;\n\t // deep compare each property value.\n\t return (result = hasOwnProperty.call(a, key) && baseIsEqual(a[key], value, callback, isWhere, stackA, stackB));\n\t }\n\t });\n\t\n\t if (result && !isWhere) {\n\t // ensure both objects have the same number of properties\n\t forIn(a, function(value, key, a) {\n\t if (hasOwnProperty.call(a, key)) {\n\t // `size` will be `-1` if `a` has more properties than `b`\n\t return (result = --size > -1);\n\t }\n\t });\n\t }\n\t }\n\t stackA.pop();\n\t stackB.pop();\n\t\n\t if (initedStack) {\n\t releaseArray(stackA);\n\t releaseArray(stackB);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseIndexOf = __webpack_require__(12),\n\t cacheIndexOf = __webpack_require__(19),\n\t createCache = __webpack_require__(20),\n\t getArray = __webpack_require__(10),\n\t largeArraySize = __webpack_require__(22),\n\t releaseArray = __webpack_require__(11),\n\t releaseObject = __webpack_require__(13);\n\t\n\t/**\n\t * The base implementation of `_.uniq` without support for callback shorthands\n\t * or `thisArg` binding.\n\t *\n\t * @private\n\t * @param {Array} array The array to process.\n\t * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.\n\t * @param {Function} [callback] The function called per iteration.\n\t * @returns {Array} Returns a duplicate-value-free array.\n\t */\n\tfunction baseUniq(array, isSorted, callback) {\n\t var index = -1,\n\t indexOf = baseIndexOf,\n\t length = array ? array.length : 0,\n\t result = [];\n\t\n\t var isLarge = !isSorted && length >= largeArraySize,\n\t seen = (callback || isLarge) ? getArray() : result;\n\t\n\t if (isLarge) {\n\t var cache = createCache(seen);\n\t indexOf = cacheIndexOf;\n\t seen = cache;\n\t }\n\t while (++index < length) {\n\t var value = array[index],\n\t computed = callback ? callback(value, index, array) : value;\n\t\n\t if (isSorted\n\t ? !index || seen[seen.length - 1] !== computed\n\t : indexOf(seen, computed) < 0\n\t ) {\n\t if (callback || isLarge) {\n\t seen.push(computed);\n\t }\n\t result.push(value);\n\t }\n\t }\n\t if (isLarge) {\n\t releaseArray(seen.array);\n\t releaseObject(seen);\n\t } else if (callback) {\n\t releaseArray(seen);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseUniq;\n\n\n/***/ },\n/* 44 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar keyPrefix = __webpack_require__(21);\n\t\n\t/**\n\t * Adds a given value to the corresponding cache object.\n\t *\n\t * @private\n\t * @param {*} value The value to add to the cache.\n\t */\n\tfunction cachePush(value) {\n\t var cache = this.cache,\n\t type = typeof value;\n\t\n\t if (type == 'boolean' || value == null) {\n\t cache[value] = true;\n\t } else {\n\t if (type != 'number' && type != 'string') {\n\t type = 'object';\n\t }\n\t var key = type == 'number' ? value : keyPrefix + value,\n\t typeCache = cache[type] || (cache[type] = {});\n\t\n\t if (type == 'object') {\n\t (typeCache[key] || (typeCache[key] = [])).push(value);\n\t } else {\n\t typeCache[key] = true;\n\t }\n\t }\n\t}\n\t\n\tmodule.exports = cachePush;\n\n\n/***/ },\n/* 45 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseBind = __webpack_require__(39),\n\t baseCreateWrapper = __webpack_require__(41),\n\t isFunction = __webpack_require__(26),\n\t slice = __webpack_require__(6);\n\t\n\t/**\n\t * Used for `Array` method references.\n\t *\n\t * Normally `Array.prototype` would suffice, however, using an array literal\n\t * avoids issues in Narwhal.\n\t */\n\tvar arrayRef = [];\n\t\n\t/** Native method shortcuts */\n\tvar push = arrayRef.push,\n\t unshift = arrayRef.unshift;\n\t\n\t/**\n\t * Creates a function that, when called, either curries or invokes `func`\n\t * with an optional `this` binding and partially applied arguments.\n\t *\n\t * @private\n\t * @param {Function|string} func The function or method name to reference.\n\t * @param {number} bitmask The bitmask of method flags to compose.\n\t * The bitmask may be composed of the following flags:\n\t * 1 - `_.bind`\n\t * 2 - `_.bindKey`\n\t * 4 - `_.curry`\n\t * 8 - `_.curry` (bound)\n\t * 16 - `_.partial`\n\t * 32 - `_.partialRight`\n\t * @param {Array} [partialArgs] An array of arguments to prepend to those\n\t * provided to the new function.\n\t * @param {Array} [partialRightArgs] An array of arguments to append to those\n\t * provided to the new function.\n\t * @param {*} [thisArg] The `this` binding of `func`.\n\t * @param {number} [arity] The arity of `func`.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction createWrapper(func, bitmask, partialArgs, partialRightArgs, thisArg, arity) {\n\t var isBind = bitmask & 1,\n\t isBindKey = bitmask & 2,\n\t isCurry = bitmask & 4,\n\t isCurryBound = bitmask & 8,\n\t isPartial = bitmask & 16,\n\t isPartialRight = bitmask & 32;\n\t\n\t if (!isBindKey && !isFunction(func)) {\n\t throw new TypeError;\n\t }\n\t if (isPartial && !partialArgs.length) {\n\t bitmask &= ~16;\n\t isPartial = partialArgs = false;\n\t }\n\t if (isPartialRight && !partialRightArgs.length) {\n\t bitmask &= ~32;\n\t isPartialRight = partialRightArgs = false;\n\t }\n\t var bindData = func && func.__bindData__;\n\t if (bindData && bindData !== true) {\n\t // clone `bindData`\n\t bindData = slice(bindData);\n\t if (bindData[2]) {\n\t bindData[2] = slice(bindData[2]);\n\t }\n\t if (bindData[3]) {\n\t bindData[3] = slice(bindData[3]);\n\t }\n\t // set `thisBinding` is not previously bound\n\t if (isBind && !(bindData[1] & 1)) {\n\t bindData[4] = thisArg;\n\t }\n\t // set if previously bound but not currently (subsequent curried functions)\n\t if (!isBind && bindData[1] & 1) {\n\t bitmask |= 8;\n\t }\n\t // set curried arity if not yet set\n\t if (isCurry && !(bindData[1] & 4)) {\n\t bindData[5] = arity;\n\t }\n\t // append partial left arguments\n\t if (isPartial) {\n\t push.apply(bindData[2] || (bindData[2] = []), partialArgs);\n\t }\n\t // append partial right arguments\n\t if (isPartialRight) {\n\t unshift.apply(bindData[3] || (bindData[3] = []), partialRightArgs);\n\t }\n\t // merge flags\n\t bindData[1] |= bitmask;\n\t return createWrapper.apply(null, bindData);\n\t }\n\t // fast path for `_.bind`\n\t var creater = (bitmask == 1 || bitmask === 17) ? baseBind : baseCreateWrapper;\n\t return creater([func, bitmask, partialArgs, partialRightArgs, thisArg, arity]);\n\t}\n\t\n\tmodule.exports = createWrapper;\n\n\n/***/ },\n/* 46 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar objectPool = __webpack_require__(24);\n\t\n\t/**\n\t * Gets an object from the object pool or creates a new one if the pool is empty.\n\t *\n\t * @private\n\t * @returns {Object} The object from the pool.\n\t */\n\tfunction getObject() {\n\t return objectPool.pop() || {\n\t 'array': null,\n\t 'cache': null,\n\t 'criteria': null,\n\t 'false': false,\n\t 'index': 0,\n\t 'null': false,\n\t 'number': null,\n\t 'object': null,\n\t 'push': null,\n\t 'string': null,\n\t 'true': false,\n\t 'undefined': false,\n\t 'value': null\n\t };\n\t}\n\t\n\tmodule.exports = getObject;\n\n\n/***/ },\n/* 47 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar objectTypes = __webpack_require__(2);\n\t\n\t/** Used for native method references */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Native method shortcuts */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A fallback implementation of `Object.keys` which produces an array of the\n\t * given object's own enumerable property names.\n\t *\n\t * @private\n\t * @type Function\n\t * @param {Object} object The object to inspect.\n\t * @returns {Array} Returns an array of property names.\n\t */\n\tvar shimKeys = function(object) {\n\t var index, iterable = object, result = [];\n\t if (!iterable) return result;\n\t if (!(objectTypes[typeof object])) return result;\n\t for (index in iterable) {\n\t if (hasOwnProperty.call(iterable, index)) {\n\t result.push(index);\n\t }\n\t }\n\t return result\n\t};\n\t\n\tmodule.exports = shimKeys;\n\n\n/***/ },\n/* 48 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseCreateCallback = __webpack_require__(1),\n\t keys = __webpack_require__(7),\n\t objectTypes = __webpack_require__(2);\n\t\n\t/**\n\t * Assigns own enumerable properties of source object(s) to the destination\n\t * object. Subsequent sources will overwrite property assignments of previous\n\t * sources. If a callback is provided it will be executed to produce the\n\t * assigned values. The callback is bound to `thisArg` and invoked with two\n\t * arguments; (objectValue, sourceValue).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @type Function\n\t * @alias extend\n\t * @category Objects\n\t * @param {Object} object The destination object.\n\t * @param {...Object} [source] The source objects.\n\t * @param {Function} [callback] The function to customize assigning values.\n\t * @param {*} [thisArg] The `this` binding of `callback`.\n\t * @returns {Object} Returns the destination object.\n\t * @example\n\t *\n\t * _.assign({ 'name': 'fred' }, { 'employer': 'slate' });\n\t * // => { 'name': 'fred', 'employer': 'slate' }\n\t *\n\t * var defaults = _.partialRight(_.assign, function(a, b) {\n\t * return typeof a == 'undefined' ? b : a;\n\t * });\n\t *\n\t * var object = { 'name': 'barney' };\n\t * defaults(object, { 'name': 'fred', 'employer': 'slate' });\n\t * // => { 'name': 'barney', 'employer': 'slate' }\n\t */\n\tvar assign = function(object, source, guard) {\n\t var index, iterable = object, result = iterable;\n\t if (!iterable) return result;\n\t var args = arguments,\n\t argsIndex = 0,\n\t argsLength = typeof guard == 'number' ? 2 : args.length;\n\t if (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n\t var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n\t } else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n\t callback = args[--argsLength];\n\t }\n\t while (++argsIndex < argsLength) {\n\t iterable = args[argsIndex];\n\t if (iterable && objectTypes[typeof iterable]) {\n\t var ownIndex = -1,\n\t ownProps = objectTypes[typeof iterable] && keys(iterable),\n\t length = ownProps ? ownProps.length : 0;\n\t\n\t while (++ownIndex < length) {\n\t index = ownProps[ownIndex];\n\t result[index] = callback ? callback(result[index], iterable[index]) : iterable[index];\n\t }\n\t }\n\t }\n\t return result\n\t};\n\t\n\tmodule.exports = assign;\n\n\n/***/ },\n/* 49 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseClone = __webpack_require__(40),\n\t baseCreateCallback = __webpack_require__(1);\n\t\n\t/**\n\t * Creates a clone of `value`. If `isDeep` is `true` nested objects will also\n\t * be cloned, otherwise they will be assigned by reference. If a callback\n\t * is provided it will be executed to produce the cloned values. If the\n\t * callback returns `undefined` cloning will be handled by the method instead.\n\t * The callback is bound to `thisArg` and invoked with one argument; (value).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Objects\n\t * @param {*} value The value to clone.\n\t * @param {boolean} [isDeep=false] Specify a deep clone.\n\t * @param {Function} [callback] The function to customize cloning values.\n\t * @param {*} [thisArg] The `this` binding of `callback`.\n\t * @returns {*} Returns the cloned value.\n\t * @example\n\t *\n\t * var characters = [\n\t * { 'name': 'barney', 'age': 36 },\n\t * { 'name': 'fred', 'age': 40 }\n\t * ];\n\t *\n\t * var shallow = _.clone(characters);\n\t * shallow[0] === characters[0];\n\t * // => true\n\t *\n\t * var deep = _.clone(characters, true);\n\t * deep[0] === characters[0];\n\t * // => false\n\t *\n\t * _.mixin({\n\t * 'clone': _.partialRight(_.clone, function(value) {\n\t * return _.isElement(value) ? value.cloneNode(false) : undefined;\n\t * })\n\t * });\n\t *\n\t * var clone = _.clone(document.body);\n\t * clone.childNodes.length;\n\t * // => 0\n\t */\n\tfunction clone(value, isDeep, callback, thisArg) {\n\t // allows working with \"Collections\" methods without using their `index`\n\t // and `collection` arguments for `isDeep` and `callback`\n\t if (typeof isDeep != 'boolean' && isDeep != null) {\n\t thisArg = callback;\n\t callback = isDeep;\n\t isDeep = false;\n\t }\n\t return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));\n\t}\n\t\n\tmodule.exports = clone;\n\n\n/***/ },\n/* 50 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar createCallback = __webpack_require__(9),\n\t forOwn = __webpack_require__(3);\n\t\n\t/**\n\t * This method is like `_.findIndex` except that it returns the key of the\n\t * first element that passes the callback check, instead of the element itself.\n\t *\n\t * If a property name is provided for `callback` the created \"_.pluck\" style\n\t * callback will return the property value of the given element.\n\t *\n\t * If an object is provided for `callback` the created \"_.where\" style callback\n\t * will return `true` for elements that have the properties of the given object,\n\t * else `false`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Objects\n\t * @param {Object} object The object to search.\n\t * @param {Function|Object|string} [callback=identity] The function called per\n\t * iteration. If a property name or object is provided it will be used to\n\t * create a \"_.pluck\" or \"_.where\" style callback, respectively.\n\t * @param {*} [thisArg] The `this` binding of `callback`.\n\t * @returns {string|undefined} Returns the key of the found element, else `undefined`.\n\t * @example\n\t *\n\t * var characters = {\n\t * 'barney': { 'age': 36, 'blocked': false },\n\t * 'fred': { 'age': 40, 'blocked': true },\n\t * 'pebbles': { 'age': 1, 'blocked': false }\n\t * };\n\t *\n\t * _.findKey(characters, function(chr) {\n\t * return chr.age < 40;\n\t * });\n\t * // => 'barney' (property order is not guaranteed across environments)\n\t *\n\t * // using \"_.where\" callback shorthand\n\t * _.findKey(characters, { 'age': 1 });\n\t * // => 'pebbles'\n\t *\n\t * // using \"_.pluck\" callback shorthand\n\t * _.findKey(characters, 'blocked');\n\t * // => 'fred'\n\t */\n\tfunction findKey(object, callback, thisArg) {\n\t var result;\n\t callback = createCallback(callback, thisArg, 3);\n\t forOwn(object, function(value, key, object) {\n\t if (callback(value, key, object)) {\n\t result = key;\n\t return false;\n\t }\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = findKey;\n\n\n/***/ },\n/* 51 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar baseCreateCallback = __webpack_require__(1),\n\t objectTypes = __webpack_require__(2);\n\t\n\t/**\n\t * Iterates over own and inherited enumerable properties of an object,\n\t * executing the callback for each property. The callback is bound to `thisArg`\n\t * and invoked with three arguments; (value, key, object). Callbacks may exit\n\t * iteration early by explicitly returning `false`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @type Function\n\t * @category Objects\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} [callback=identity] The function called per iteration.\n\t * @param {*} [thisArg] The `this` binding of `callback`.\n\t * @returns {Object} Returns `object`.\n\t * @example\n\t *\n\t * function Shape() {\n\t * this.x = 0;\n\t * this.y = 0;\n\t * }\n\t *\n\t * Shape.prototype.move = function(x, y) {\n\t * this.x += x;\n\t * this.y += y;\n\t * };\n\t *\n\t * _.forIn(new Shape, function(value, key) {\n\t * console.log(key);\n\t * });\n\t * // => logs 'x', 'y', and 'move' (property order is not guaranteed across environments)\n\t */\n\tvar forIn = function(collection, callback, thisArg) {\n\t var index, iterable = collection, result = iterable;\n\t if (!iterable) return result;\n\t if (!objectTypes[typeof iterable]) return result;\n\t callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);\n\t for (index in iterable) {\n\t if (callback(iterable[index], index, collection) === false) return result;\n\t }\n\t return result\n\t};\n\t\n\tmodule.exports = forIn;\n\n\n/***/ },\n/* 52 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/** `Object#toString` result shortcuts */\n\tvar argsClass = '[object Arguments]';\n\t\n\t/** Used for native method references */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the internal [[Class]] of values */\n\tvar toString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Objects\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if the `value` is an `arguments` object, else `false`.\n\t * @example\n\t *\n\t * (function() { return _.isArguments(arguments); })(1, 2, 3);\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t return value && typeof value == 'object' && typeof value.length == 'number' &&\n\t toString.call(value) == argsClass || false;\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 53 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar createCallback = __webpack_require__(9),\n\t forOwn = __webpack_require__(3);\n\t\n\t/**\n\t * Creates an object with the same keys as `object` and values generated by\n\t * running each own enumerable property of `object` through the callback.\n\t * The callback is bound to `thisArg` and invoked with three arguments;\n\t * (value, key, object).\n\t *\n\t * If a property name is provided for `callback` the created \"_.pluck\" style\n\t * callback will return the property value of the given element.\n\t *\n\t * If an object is provided for `callback` the created \"_.where\" style callback\n\t * will return `true` for elements that have the properties of the given object,\n\t * else `false`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Objects\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function|Object|string} [callback=identity] The function called\n\t * per iteration. If a property name or object is provided it will be used\n\t * to create a \"_.pluck\" or \"_.where\" style callback, respectively.\n\t * @param {*} [thisArg] The `this` binding of `callback`.\n\t * @returns {Array} Returns a new object with values of the results of each `callback` execution.\n\t * @example\n\t *\n\t * _.mapValues({ 'a': 1, 'b': 2, 'c': 3} , function(num) { return num * 3; });\n\t * // => { 'a': 3, 'b': 6, 'c': 9 }\n\t *\n\t * var characters = {\n\t * 'fred': { 'name': 'fred', 'age': 40 },\n\t * 'pebbles': { 'name': 'pebbles', 'age': 1 }\n\t * };\n\t *\n\t * // using \"_.pluck\" callback shorthand\n\t * _.mapValues(characters, 'age');\n\t * // => { 'fred': 40, 'pebbles': 1 }\n\t */\n\tfunction mapValues(object, callback, thisArg) {\n\t var result = {};\n\t callback = createCallback(callback, thisArg, 3);\n\t\n\t forOwn(object, function(value, key, object) {\n\t result[key] = callback(value, key, object);\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = mapValues;\n\n\n/***/ },\n/* 54 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\tvar isNative = __webpack_require__(5);\n\t\n\t/** Used to detect functions containing a `this` reference */\n\tvar reThis = /\\bthis\\b/;\n\t\n\t/**\n\t * An object used to flag environments features.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @type Object\n\t */\n\tvar support = {};\n\t\n\t/**\n\t * Detect if functions can be decompiled by `Function#toString`\n\t * (all but PS3 and older Opera mobile browsers & avoided in Windows 8 apps).\n\t *\n\t * @memberOf _.support\n\t * @type boolean\n\t */\n\tsupport.funcDecomp = !isNative(global.WinRTError) && reThis.test(function() { return this; });\n\t\n\t/**\n\t * Detect if `Function#name` is supported (all but IE).\n\t *\n\t * @memberOf _.support\n\t * @type boolean\n\t */\n\tsupport.funcNames = typeof Function.name == 'string';\n\t\n\tmodule.exports = support;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 55 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/**\n\t * This method returns the first argument provided to it.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utilities\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'name': 'fred' };\n\t * _.identity(object) === object;\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 56 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Lo-Dash 2.4.1 (Custom Build) \n\t * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n\t * Copyright 2012-2013 The Dojo Foundation \n\t * Based on Underscore.js 1.5.2 \n\t * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t * Available under MIT license \n\t */\n\t\n\t/**\n\t * Creates a \"_.pluck\" style function, which returns the `key` value of a\n\t * given object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @category Utilities\n\t * @param {string} key The name of the property to retrieve.\n\t * @returns {Function} Returns the new function.\n\t * @example\n\t *\n\t * var characters = [\n\t * { 'name': 'fred', 'age': 40 },\n\t * { 'name': 'barney', 'age': 36 }\n\t * ];\n\t *\n\t * var getName = _.property('name');\n\t *\n\t * _.map(characters, getName);\n\t * // => ['barney', 'fred']\n\t *\n\t * _.sortBy(characters, getName);\n\t * // => [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred', 'age': 40 }]\n\t */\n\tfunction property(key) {\n\t return function(object) {\n\t return object[key];\n\t };\n\t}\n\t\n\tmodule.exports = property;\n\n\n/***/ },\n/* 57 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// Copyright Joyent, Inc. and other Node contributors.\n\t//\n\t// Permission is hereby granted, free of charge, to any person obtaining a\n\t// copy of this software and associated documentation files (the\n\t// \"Software\"), to deal in the Software without restriction, including\n\t// without limitation the rights to use, copy, modify, merge, publish,\n\t// distribute, sublicense, and/or sell copies of the Software, and to permit\n\t// persons to whom the Software is furnished to do so, subject to the\n\t// following conditions:\n\t//\n\t// The above copyright notice and this permission notice shall be included\n\t// in all copies or substantial portions of the Software.\n\t//\n\t// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n\t// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n\t// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n\t// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n\t// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n\t// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n\t// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\t\n\tfunction EventEmitter() {\n\t this._events = this._events || {};\n\t this._maxListeners = this._maxListeners || undefined;\n\t}\n\tmodule.exports = EventEmitter;\n\t\n\t// Backwards-compat with node 0.10.x\n\tEventEmitter.EventEmitter = EventEmitter;\n\t\n\tEventEmitter.prototype._events = undefined;\n\tEventEmitter.prototype._maxListeners = undefined;\n\t\n\t// By default EventEmitters will print a warning if more than 10 listeners are\n\t// added to it. This is a useful default which helps finding memory leaks.\n\tEventEmitter.defaultMaxListeners = 10;\n\t\n\t// Obviously not all Emitters should be limited to 10. This function allows\n\t// that to be increased. Set to zero for unlimited.\n\tEventEmitter.prototype.setMaxListeners = function(n) {\n\t if (!isNumber(n) || n < 0 || isNaN(n))\n\t throw TypeError('n must be a positive number');\n\t this._maxListeners = n;\n\t return this;\n\t};\n\t\n\tEventEmitter.prototype.emit = function(type) {\n\t var er, handler, len, args, i, listeners;\n\t\n\t if (!this._events)\n\t this._events = {};\n\t\n\t // If there is no 'error' event listener then throw.\n\t if (type === 'error') {\n\t if (!this._events.error ||\n\t (isObject(this._events.error) && !this._events.error.length)) {\n\t er = arguments[1];\n\t if (er instanceof Error) {\n\t throw er; // Unhandled 'error' event\n\t } else {\n\t throw TypeError('Uncaught, unspecified \"error\" event.');\n\t }\n\t return false;\n\t }\n\t }\n\t\n\t handler = this._events[type];\n\t\n\t if (isUndefined(handler))\n\t return false;\n\t\n\t if (isFunction(handler)) {\n\t switch (arguments.length) {\n\t // fast cases\n\t case 1:\n\t handler.call(this);\n\t break;\n\t case 2:\n\t handler.call(this, arguments[1]);\n\t break;\n\t case 3:\n\t handler.call(this, arguments[1], arguments[2]);\n\t break;\n\t // slower\n\t default:\n\t len = arguments.length;\n\t args = new Array(len - 1);\n\t for (i = 1; i < len; i++)\n\t args[i - 1] = arguments[i];\n\t handler.apply(this, args);\n\t }\n\t } else if (isObject(handler)) {\n\t len = arguments.length;\n\t args = new Array(len - 1);\n\t for (i = 1; i < len; i++)\n\t args[i - 1] = arguments[i];\n\t\n\t listeners = handler.slice();\n\t len = listeners.length;\n\t for (i = 0; i < len; i++)\n\t listeners[i].apply(this, args);\n\t }\n\t\n\t return true;\n\t};\n\t\n\tEventEmitter.prototype.addListener = function(type, listener) {\n\t var m;\n\t\n\t if (!isFunction(listener))\n\t throw TypeError('listener must be a function');\n\t\n\t if (!this._events)\n\t this._events = {};\n\t\n\t // To avoid recursion in the case that type === \"newListener\"! Before\n\t // adding it to the listeners, first emit \"newListener\".\n\t if (this._events.newListener)\n\t this.emit('newListener', type,\n\t isFunction(listener.listener) ?\n\t listener.listener : listener);\n\t\n\t if (!this._events[type])\n\t // Optimize the case of one listener. Don't need the extra array object.\n\t this._events[type] = listener;\n\t else if (isObject(this._events[type]))\n\t // If we've already got an array, just append.\n\t this._events[type].push(listener);\n\t else\n\t // Adding the second element, need to change to array.\n\t this._events[type] = [this._events[type], listener];\n\t\n\t // Check for listener leak\n\t if (isObject(this._events[type]) && !this._events[type].warned) {\n\t var m;\n\t if (!isUndefined(this._maxListeners)) {\n\t m = this._maxListeners;\n\t } else {\n\t m = EventEmitter.defaultMaxListeners;\n\t }\n\t\n\t if (m && m > 0 && this._events[type].length > m) {\n\t this._events[type].warned = true;\n\t console.error('(node) warning: possible EventEmitter memory ' +\n\t 'leak detected. %d listeners added. ' +\n\t 'Use emitter.setMaxListeners() to increase limit.',\n\t this._events[type].length);\n\t if (typeof console.trace === 'function') {\n\t // not supported in IE 10\n\t console.trace();\n\t }\n\t }\n\t }\n\t\n\t return this;\n\t};\n\t\n\tEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\t\n\tEventEmitter.prototype.once = function(type, listener) {\n\t if (!isFunction(listener))\n\t throw TypeError('listener must be a function');\n\t\n\t var fired = false;\n\t\n\t function g() {\n\t this.removeListener(type, g);\n\t\n\t if (!fired) {\n\t fired = true;\n\t listener.apply(this, arguments);\n\t }\n\t }\n\t\n\t g.listener = listener;\n\t this.on(type, g);\n\t\n\t return this;\n\t};\n\t\n\t// emits a 'removeListener' event iff the listener was removed\n\tEventEmitter.prototype.removeListener = function(type, listener) {\n\t var list, position, length, i;\n\t\n\t if (!isFunction(listener))\n\t throw TypeError('listener must be a function');\n\t\n\t if (!this._events || !this._events[type])\n\t return this;\n\t\n\t list = this._events[type];\n\t length = list.length;\n\t position = -1;\n\t\n\t if (list === listener ||\n\t (isFunction(list.listener) && list.listener === listener)) {\n\t delete this._events[type];\n\t if (this._events.removeListener)\n\t this.emit('removeListener', type, listener);\n\t\n\t } else if (isObject(list)) {\n\t for (i = length; i-- > 0;) {\n\t if (list[i] === listener ||\n\t (list[i].listener && list[i].listener === listener)) {\n\t position = i;\n\t break;\n\t }\n\t }\n\t\n\t if (position < 0)\n\t return this;\n\t\n\t if (list.length === 1) {\n\t list.length = 0;\n\t delete this._events[type];\n\t } else {\n\t list.splice(position, 1);\n\t }\n\t\n\t if (this._events.removeListener)\n\t this.emit('removeListener', type, listener);\n\t }\n\t\n\t return this;\n\t};\n\t\n\tEventEmitter.prototype.removeAllListeners = function(type) {\n\t var key, listeners;\n\t\n\t if (!this._events)\n\t return this;\n\t\n\t // not listening for removeListener, no need to emit\n\t if (!this._events.removeListener) {\n\t if (arguments.length === 0)\n\t this._events = {};\n\t else if (this._events[type])\n\t delete this._events[type];\n\t return this;\n\t }\n\t\n\t // emit removeListener for all listeners on all events\n\t if (arguments.length === 0) {\n\t for (key in this._events) {\n\t if (key === 'removeListener') continue;\n\t this.removeAllListeners(key);\n\t }\n\t this.removeAllListeners('removeListener');\n\t this._events = {};\n\t return this;\n\t }\n\t\n\t listeners = this._events[type];\n\t\n\t if (isFunction(listeners)) {\n\t this.removeListener(type, listeners);\n\t } else {\n\t // LIFO order\n\t while (listeners.length)\n\t this.removeListener(type, listeners[listeners.length - 1]);\n\t }\n\t delete this._events[type];\n\t\n\t return this;\n\t};\n\t\n\tEventEmitter.prototype.listeners = function(type) {\n\t var ret;\n\t if (!this._events || !this._events[type])\n\t ret = [];\n\t else if (isFunction(this._events[type]))\n\t ret = [this._events[type]];\n\t else\n\t ret = this._events[type].slice();\n\t return ret;\n\t};\n\t\n\tEventEmitter.listenerCount = function(emitter, type) {\n\t var ret;\n\t if (!emitter._events || !emitter._events[type])\n\t ret = 0;\n\t else if (isFunction(emitter._events[type]))\n\t ret = 1;\n\t else\n\t ret = emitter._events[type].length;\n\t return ret;\n\t};\n\t\n\tfunction isFunction(arg) {\n\t return typeof arg === 'function';\n\t}\n\t\n\tfunction isNumber(arg) {\n\t return typeof arg === 'number';\n\t}\n\t\n\tfunction isObject(arg) {\n\t return typeof arg === 'object' && arg !== null;\n\t}\n\t\n\tfunction isUndefined(arg) {\n\t return arg === void 0;\n\t}\n\n\n/***/ },\n/* 58 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = \"1.4.1\"\n\n/***/ }\n/******/ ])\n})\n","\n// The module cache\nvar installedModules = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(installedModules[moduleId])\n\t\treturn installedModules[moduleId].exports;\n\t\n\t// Create a new module (and put it into the cache)\n\tvar module = installedModules[moduleId] = {\n\t\texports: {},\n\t\tid: moduleId,\n\t\tloaded: false\n\t};\n\t\n\t// Execute the module function\n\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\t\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\t\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = modules;\n\n// expose the module cache\n__webpack_require__.c = installedModules;\n\n// __webpack_public_path__\n__webpack_require__.p = \"\";\n\n\n// Load entry module and return exports\nreturn __webpack_require__(0);","var Dispatcher = require(\"./lib/dispatcher\"),\n Flux = require(\"./lib/flux\"),\n FluxMixin = require(\"./lib/flux_mixin\"),\n FluxChildMixin = require(\"./lib/flux_child_mixin\"),\n StoreWatchMixin = require(\"./lib/store_watch_mixin\"),\n createStore = require(\"./lib/create_store\");\n\nvar Fluxxor = {\n Dispatcher: Dispatcher,\n Flux: Flux,\n FluxMixin: FluxMixin,\n FluxChildMixin: FluxChildMixin,\n StoreWatchMixin: StoreWatchMixin,\n createStore: createStore,\n version: require(\"./version\")\n};\n\nmodule.exports = Fluxxor;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar bind = require('../functions/bind'),\n identity = require('../utilities/identity'),\n setBindData = require('./setBindData'),\n support = require('../support');\n\n/** Used to detected named functions */\nvar reFuncName = /^\\s*function[ \\n\\r\\t]+\\w/;\n\n/** Used to detect functions containing a `this` reference */\nvar reThis = /\\bthis\\b/;\n\n/** Native method shortcuts */\nvar fnToString = Function.prototype.toString;\n\n/**\n * The base implementation of `_.createCallback` without support for creating\n * \"_.pluck\" or \"_.where\" style callbacks.\n *\n * @private\n * @param {*} [func=identity] The value to convert to a callback.\n * @param {*} [thisArg] The `this` binding of the created callback.\n * @param {number} [argCount] The number of arguments the callback accepts.\n * @returns {Function} Returns a callback function.\n */\nfunction baseCreateCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n // exit early for no `thisArg` or already bound by `Function#bind`\n if (typeof thisArg == 'undefined' || !('prototype' in func)) {\n return func;\n }\n var bindData = func.__bindData__;\n if (typeof bindData == 'undefined') {\n if (support.funcNames) {\n bindData = !func.name;\n }\n bindData = bindData || !support.funcDecomp;\n if (!bindData) {\n var source = fnToString.call(func);\n if (!support.funcNames) {\n bindData = !reFuncName.test(source);\n }\n if (!bindData) {\n // checks if `func` references the `this` keyword and stores the result\n bindData = reThis.test(source);\n setBindData(func, bindData);\n }\n }\n }\n // exit early if there are no `this` references or `func` is bound\n if (bindData === false || (bindData !== true && bindData[1] & 1)) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 2: return function(a, b) {\n return func.call(thisArg, a, b);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n }\n return bind(func, thisArg);\n}\n\nmodule.exports = baseCreateCallback;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used to determine if values are of the language type Object */\nvar objectTypes = {\n 'boolean': false,\n 'function': true,\n 'object': true,\n 'number': false,\n 'string': false,\n 'undefined': false\n};\n\nmodule.exports = objectTypes;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreateCallback = require('../internals/baseCreateCallback'),\n keys = require('./keys'),\n objectTypes = require('../internals/objectTypes');\n\n/**\n * Iterates over own enumerable properties of an object, executing the callback\n * for each property. The callback is bound to `thisArg` and invoked with three\n * arguments; (value, key, object). Callbacks may exit iteration early by\n * explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @type Function\n * @category Objects\n * @param {Object} object The object to iterate over.\n * @param {Function} [callback=identity] The function called per iteration.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Object} Returns `object`.\n * @example\n *\n * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) {\n * console.log(key);\n * });\n * // => logs '0', '1', and 'length' (property order is not guaranteed across environments)\n */\nvar forOwn = function(collection, callback, thisArg) {\n var index, iterable = collection, result = iterable;\n if (!iterable) return result;\n if (!objectTypes[typeof iterable]) return result;\n callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n if (callback(iterable[index], index, collection) === false) return result;\n }\n return result\n};\n\nmodule.exports = forOwn;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar objectTypes = require('../internals/objectTypes');\n\n/**\n * Checks if `value` is the language type of Object.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if the `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // check if the value is the ECMAScript language type of Object\n // http://es5.github.io/#x8\n // and avoid a V8 bug\n // http://code.google.com/p/v8/issues/detail?id=2291\n return !!(value && objectTypes[typeof value]);\n}\n\nmodule.exports = isObject;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the internal [[Class]] of values */\nvar toString = objectProto.toString;\n\n/** Used to detect if a method is native */\nvar reNative = RegExp('^' +\n String(toString)\n .replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n .replace(/toString| for [^\\]]+/g, '.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if the `value` is a native function, else `false`.\n */\nfunction isNative(value) {\n return typeof value == 'function' && reNative.test(value);\n}\n\nmodule.exports = isNative;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/**\n * Slices the `collection` from the `start` index up to, but not including,\n * the `end` index.\n *\n * Note: This function is used instead of `Array#slice` to support node lists\n * in IE < 9 and to ensure dense arrays are returned.\n *\n * @private\n * @param {Array|Object|string} collection The collection to slice.\n * @param {number} start The start index.\n * @param {number} end The end index.\n * @returns {Array} Returns the new array.\n */\nfunction slice(array, start, end) {\n start || (start = 0);\n if (typeof end == 'undefined') {\n end = array ? array.length : 0;\n }\n var index = -1,\n length = end - start || 0,\n result = Array(length < 0 ? 0 : length);\n\n while (++index < length) {\n result[index] = array[start + index];\n }\n return result;\n}\n\nmodule.exports = slice;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar isNative = require('../internals/isNative'),\n isObject = require('./isObject'),\n shimKeys = require('../internals/shimKeys');\n\n/* Native method shortcuts for methods with the same name as other `lodash` methods */\nvar nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys;\n\n/**\n * Creates an array composed of the own enumerable property names of an object.\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns an array of property names.\n * @example\n *\n * _.keys({ 'one': 1, 'two': 2, 'three': 3 });\n * // => ['one', 'two', 'three'] (property order is not guaranteed across environments)\n */\nvar keys = !nativeKeys ? shimKeys : function(object) {\n if (!isObject(object)) {\n return [];\n }\n return nativeKeys(object);\n};\n\nmodule.exports = keys;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreateCallback = require('../internals/baseCreateCallback'),\n forOwn = require('../objects/forOwn');\n\n/**\n * Iterates over elements of a collection, executing the callback for each\n * element. The callback is bound to `thisArg` and invoked with three arguments;\n * (value, index|key, collection). Callbacks may exit iteration early by\n * explicitly returning `false`.\n *\n * Note: As with other \"Collections\" methods, objects with a `length` property\n * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn`\n * may be used for object iteration.\n *\n * @static\n * @memberOf _\n * @alias each\n * @category Collections\n * @param {Array|Object|string} collection The collection to iterate over.\n * @param {Function} [callback=identity] The function called per iteration.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Array|Object|string} Returns `collection`.\n * @example\n *\n * _([1, 2, 3]).forEach(function(num) { console.log(num); }).join(',');\n * // => logs each number and returns '1,2,3'\n *\n * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { console.log(num); });\n * // => logs each number and returns the object (property order is not guaranteed across environments)\n */\nfunction forEach(collection, callback, thisArg) {\n var index = -1,\n length = collection ? collection.length : 0;\n\n callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);\n if (typeof length == 'number') {\n while (++index < length) {\n if (callback(collection[index], index, collection) === false) {\n break;\n }\n }\n } else {\n forOwn(collection, callback);\n }\n return collection;\n}\n\nmodule.exports = forEach;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreateCallback = require('../internals/baseCreateCallback'),\n baseIsEqual = require('../internals/baseIsEqual'),\n isObject = require('../objects/isObject'),\n keys = require('../objects/keys'),\n property = require('../utilities/property');\n\n/**\n * Produces a callback bound to an optional `thisArg`. If `func` is a property\n * name the created callback will return the property value for a given element.\n * If `func` is an object the created callback will return `true` for elements\n * that contain the equivalent object properties, otherwise it will return `false`.\n *\n * @static\n * @memberOf _\n * @category Utilities\n * @param {*} [func=identity] The value to convert to a callback.\n * @param {*} [thisArg] The `this` binding of the created callback.\n * @param {number} [argCount] The number of arguments the callback accepts.\n * @returns {Function} Returns a callback function.\n * @example\n *\n * var characters = [\n * { 'name': 'barney', 'age': 36 },\n * { 'name': 'fred', 'age': 40 }\n * ];\n *\n * // wrap to create custom callback shorthands\n * _.createCallback = _.wrap(_.createCallback, function(func, callback, thisArg) {\n * var match = /^(.+?)__([gl]t)(.+)$/.exec(callback);\n * return !match ? func(callback, thisArg) : function(object) {\n * return match[2] == 'gt' ? object[match[1]] > match[3] : object[match[1]] < match[3];\n * };\n * });\n *\n * _.filter(characters, 'age__gt38');\n * // => [{ 'name': 'fred', 'age': 40 }]\n */\nfunction createCallback(func, thisArg, argCount) {\n var type = typeof func;\n if (func == null || type == 'function') {\n return baseCreateCallback(func, thisArg, argCount);\n }\n // handle \"_.pluck\" style callback shorthands\n if (type != 'object') {\n return property(func);\n }\n var props = keys(func),\n key = props[0],\n a = func[key];\n\n // handle \"_.where\" style callback shorthands\n if (props.length == 1 && a === a && !isObject(a)) {\n // fast path the common case of providing an object with a single\n // property containing a primitive value\n return function(object) {\n var b = object[key];\n return a === b && (a !== 0 || (1 / a == 1 / b));\n };\n }\n return function(object) {\n var length = props.length,\n result = false;\n\n while (length--) {\n if (!(result = baseIsEqual(object[props[length]], func[props[length]], null, true))) {\n break;\n }\n }\n return result;\n };\n}\n\nmodule.exports = createCallback;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar arrayPool = require('./arrayPool');\n\n/**\n * Gets an array from the array pool or creates a new one if the pool is empty.\n *\n * @private\n * @returns {Array} The array from the pool.\n */\nfunction getArray() {\n return arrayPool.pop() || [];\n}\n\nmodule.exports = getArray;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar arrayPool = require('./arrayPool'),\n maxPoolSize = require('./maxPoolSize');\n\n/**\n * Releases the given array back to the array pool.\n *\n * @private\n * @param {Array} [array] The array to release.\n */\nfunction releaseArray(array) {\n array.length = 0;\n if (arrayPool.length < maxPoolSize) {\n arrayPool.push(array);\n }\n}\n\nmodule.exports = releaseArray;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/**\n * The base implementation of `_.indexOf` without support for binary searches\n * or `fromIndex` constraints.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the matched value or `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n var index = (fromIndex || 0) - 1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseIndexOf;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar maxPoolSize = require('./maxPoolSize'),\n objectPool = require('./objectPool');\n\n/**\n * Releases the given object back to the object pool.\n *\n * @private\n * @param {Object} [object] The object to release.\n */\nfunction releaseObject(object) {\n var cache = object.cache;\n if (cache) {\n releaseObject(cache);\n }\n object.array = object.cache = object.criteria = object.object = object.number = object.string = object.value = null;\n if (objectPool.length < maxPoolSize) {\n objectPool.push(object);\n }\n}\n\nmodule.exports = releaseObject;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar isNative = require('./isNative'),\n noop = require('../utilities/noop');\n\n/** Used as the property descriptor for `__bindData__` */\nvar descriptor = {\n 'configurable': false,\n 'enumerable': false,\n 'value': null,\n 'writable': false\n};\n\n/** Used to set meta data on functions */\nvar defineProperty = (function() {\n // IE 8 only accepts DOM elements\n try {\n var o = {},\n func = isNative(func = Object.defineProperty) && func,\n result = func(o, o, o) && func;\n } catch(e) { }\n return result;\n}());\n\n/**\n * Sets `this` binding data on a given function.\n *\n * @private\n * @param {Function} func The function to set data on.\n * @param {Array} value The data array to set.\n */\nvar setBindData = !defineProperty ? noop : function(func, value) {\n descriptor.value = value;\n defineProperty(func, '__bindData__', descriptor);\n};\n\nmodule.exports = setBindData;\n","var _clone = require(\"lodash-node/modern/objects/clone\"),\n _mapValues = require(\"lodash-node/modern/objects/mapValues\"),\n _forOwn = require(\"lodash-node/modern/objects/forOwn\"),\n _intersection = require(\"lodash-node/modern/arrays/intersection\"),\n _keys = require(\"lodash-node/modern/objects/keys\"),\n _map = require(\"lodash-node/modern/collections/map\"),\n _each = require(\"lodash-node/modern/collections/forEach\"),\n _size = require(\"lodash-node/modern/collections/size\"),\n _findKey = require(\"lodash-node/modern/objects/findKey\"),\n _uniq = require(\"lodash-node/modern/arrays/uniq\");\n\nvar Dispatcher = function(stores) {\n this.stores = stores;\n this.currentDispatch = null;\n this.waitingToDispatch = [];\n\n for (var key in stores) {\n if (stores.hasOwnProperty(key)) {\n stores[key].dispatcher = this;\n }\n }\n};\n\nDispatcher.prototype.dispatch = function(action) {\n if (this.currentDispatch) {\n throw new Error(\"Cannot dispatch an action while another action is being dispatched\");\n }\n\n if (!action || !action.type) {\n throw new Error(\"Can only dispatch actions with a 'type' property\");\n }\n\n this.waitingToDispatch = _clone(this.stores);\n\n this.currentDispatch = _mapValues(this.stores, function() {\n return { resolved: false, waitingOn: [], waitCallback: null };\n });\n\n try {\n this.doDispatchLoop(action);\n } finally {\n this.currentDispatch = null;\n }\n};\n\nDispatcher.prototype.doDispatchLoop = function(action) {\n var dispatch, canBeDispatchedTo,\n removeFromDispatchQueue = [], dispatchedThisLoop = [];\n\n _forOwn(this.waitingToDispatch, function(value, key) {\n dispatch = this.currentDispatch[key];\n canBeDispatchedTo = !dispatch.waitingOn.length ||\n !_intersection(dispatch.waitingOn, _keys(this.waitingToDispatch)).length;\n if (canBeDispatchedTo) {\n if (dispatch.waitCallback) {\n var stores = _map(dispatch.waitingOn, function(key) {\n return this.stores[key];\n }, this);\n var fn = dispatch.waitCallback;\n dispatch.waitCallback = null;\n dispatch.waitingOn = [];\n dispatch.resolved = true;\n fn.apply(null, stores);\n } else {\n dispatch.resolved = true;\n this.stores[key].__handleAction__(action);\n }\n\n dispatchedThisLoop.push(key);\n\n if (this.currentDispatch[key].resolved) {\n removeFromDispatchQueue.push(key);\n }\n }\n }, this);\n\n if (!dispatchedThisLoop.length) {\n var storesWithCircularWaits = _keys(this.waitingToDispatch).join(\", \");\n throw new Error(\"Indirect circular wait detected among: \" + storesWithCircularWaits);\n }\n\n _each(removeFromDispatchQueue, function(key) {\n delete this.waitingToDispatch[key];\n }, this);\n\n if (_size(this.waitingToDispatch)) {\n this.doDispatchLoop(action);\n }\n};\n\nDispatcher.prototype.waitForStores = function(store, stores, fn) {\n if (!this.currentDispatch) {\n throw new Error(\"Cannot wait unless an action is being dispatched\");\n }\n\n var waitingStoreName = _findKey(this.stores, function(val) {\n return val === store;\n });\n\n if (stores.indexOf(waitingStoreName) > -1) {\n throw new Error(\"A store cannot wait on itself\");\n }\n\n var dispatch = this.currentDispatch[waitingStoreName];\n\n if (dispatch.waitingOn.length) {\n throw new Error(waitingStoreName + \" already waiting on stores\");\n }\n\n _each(stores, function(storeName) {\n var storeDispatch = this.currentDispatch[storeName];\n if (!this.stores[storeName]) {\n throw new Error(\"Cannot wait for non-existent store \" + storeName);\n }\n if (storeDispatch.waitingOn.indexOf(waitingStoreName) > -1) {\n throw new Error(\"Circular wait detected between \" + waitingStoreName + \" and \" + storeName);\n }\n }, this);\n\n dispatch.resolved = false;\n dispatch.waitingOn = _uniq(dispatch.waitingOn.concat(stores));\n dispatch.waitCallback = fn;\n};\n\nmodule.exports = Dispatcher;\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used to pool arrays and objects used internally */\nvar arrayPool = [];\n\nmodule.exports = arrayPool;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar isNative = require('./isNative'),\n isObject = require('../objects/isObject'),\n noop = require('../utilities/noop');\n\n/* Native method shortcuts for methods with the same name as other `lodash` methods */\nvar nativeCreate = isNative(nativeCreate = Object.create) && nativeCreate;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(prototype, properties) {\n return isObject(prototype) ? nativeCreate(prototype) : {};\n}\n// fallback for browsers without `Object.create`\nif (!nativeCreate) {\n baseCreate = (function() {\n function Object() {}\n return function(prototype) {\n if (isObject(prototype)) {\n Object.prototype = prototype;\n var result = new Object;\n Object.prototype = null;\n }\n return result || global.Object();\n };\n }());\n}\n\nmodule.exports = baseCreate;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseIndexOf = require('./baseIndexOf'),\n keyPrefix = require('./keyPrefix');\n\n/**\n * An implementation of `_.contains` for cache objects that mimics the return\n * signature of `_.indexOf` by returning `0` if the value is found, else `-1`.\n *\n * @private\n * @param {Object} cache The cache object to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns `0` if `value` is found, else `-1`.\n */\nfunction cacheIndexOf(cache, value) {\n var type = typeof value;\n cache = cache.cache;\n\n if (type == 'boolean' || value == null) {\n return cache[value] ? 0 : -1;\n }\n if (type != 'number' && type != 'string') {\n type = 'object';\n }\n var key = type == 'number' ? value : keyPrefix + value;\n cache = (cache = cache[type]) && cache[key];\n\n return type == 'object'\n ? (cache && baseIndexOf(cache, value) > -1 ? 0 : -1)\n : (cache ? 0 : -1);\n}\n\nmodule.exports = cacheIndexOf;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar cachePush = require('./cachePush'),\n getObject = require('./getObject'),\n releaseObject = require('./releaseObject');\n\n/**\n * Creates a cache object to optimize linear searches of large arrays.\n *\n * @private\n * @param {Array} [array=[]] The array to search.\n * @returns {null|Object} Returns the cache object or `null` if caching should not be used.\n */\nfunction createCache(array) {\n var index = -1,\n length = array.length,\n first = array[0],\n mid = array[(length / 2) | 0],\n last = array[length - 1];\n\n if (first && typeof first == 'object' &&\n mid && typeof mid == 'object' && last && typeof last == 'object') {\n return false;\n }\n var cache = getObject();\n cache['false'] = cache['null'] = cache['true'] = cache['undefined'] = false;\n\n var result = getObject();\n result.array = array;\n result.cache = cache;\n result.push = cachePush;\n\n while (++index < length) {\n result.push(array[index]);\n }\n return result;\n}\n\nmodule.exports = createCache;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used to prefix keys to avoid issues with `__proto__` and properties on `Object.prototype` */\nvar keyPrefix = +new Date + '';\n\nmodule.exports = keyPrefix;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used as the size when optimizations are enabled for large arrays */\nvar largeArraySize = 75;\n\nmodule.exports = largeArraySize;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used as the max size of the `arrayPool` and `objectPool` */\nvar maxPoolSize = 40;\n\nmodule.exports = maxPoolSize;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** Used to pool arrays and objects used internally */\nvar objectPool = [];\n\nmodule.exports = objectPool;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar isNative = require('../internals/isNative');\n\n/** `Object#toString` result shortcuts */\nvar arrayClass = '[object Array]';\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the internal [[Class]] of values */\nvar toString = objectProto.toString;\n\n/* Native method shortcuts for methods with the same name as other `lodash` methods */\nvar nativeIsArray = isNative(nativeIsArray = Array.isArray) && nativeIsArray;\n\n/**\n * Checks if `value` is an array.\n *\n * @static\n * @memberOf _\n * @type Function\n * @category Objects\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if the `value` is an array, else `false`.\n * @example\n *\n * (function() { return _.isArray(arguments); })();\n * // => false\n *\n * _.isArray([1, 2, 3]);\n * // => true\n */\nvar isArray = nativeIsArray || function(value) {\n return value && typeof value == 'object' && typeof value.length == 'number' &&\n toString.call(value) == arrayClass || false;\n};\n\nmodule.exports = isArray;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/**\n * Checks if `value` is a function.\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if the `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n */\nfunction isFunction(value) {\n return typeof value == 'function';\n}\n\nmodule.exports = isFunction;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/**\n * A no-operation function.\n *\n * @static\n * @memberOf _\n * @category Utilities\n * @example\n *\n * var object = { 'name': 'fred' };\n * _.noop(object) === undefined;\n * // => true\n */\nfunction noop() {\n // no operation performed\n}\n\nmodule.exports = noop;\n","var _each = require(\"lodash-node/modern/collections/forEach\"),\n Store = require(\"./store\"),\n inherits = require(\"inherits\");\n\nvar RESERVED_KEYS = [\"flux\", \"waitFor\"];\n\nvar createStore = function(spec) {\n _each(RESERVED_KEYS, function(key) {\n if (spec[key]) {\n throw new Error(\"Reserved key '\" + key + \"' found in store definition\");\n }\n });\n\n var constructor = function(options) {\n options = options || {};\n Store.call(this);\n\n for (var key in spec) {\n if (key === \"actions\") {\n this.__actions__ = spec[key];\n } else if (key === \"initialize\") {\n // do nothing\n } else if (typeof spec[key] === \"function\") {\n this[key] = spec[key].bind(this);\n } else {\n this[key] = spec[key];\n }\n }\n\n if (spec.initialize) {\n spec.initialize.call(this, options);\n }\n };\n\n inherits(constructor, Store);\n return constructor;\n};\n\nmodule.exports = createStore;\n","var Dispatcher = require(\"./dispatcher\");\n\nfunction bindActions(target, actions, dispatchBinder) {\n for (var key in actions) {\n if (actions.hasOwnProperty(key)) {\n if (typeof actions[key] === \"function\") {\n target[key] = actions[key].bind(dispatchBinder);\n } else if (typeof actions[key] === \"object\") {\n target[key] = {};\n bindActions(target[key], actions[key], dispatchBinder);\n }\n }\n }\n}\n\nvar Flux = function(stores, actions) {\n var dispatcher = new Dispatcher(stores),\n dispatchBinder = {\n flux: this,\n dispatch: function(type, payload) {\n dispatcher.dispatch({type: type, payload: payload});\n }\n };\n\n this.dispatcher = dispatcher;\n this.actions = {};\n this.stores = stores;\n\n bindActions(this.actions, actions, dispatchBinder);\n\n for (var key in stores) {\n if (stores.hasOwnProperty(key)) {\n stores[key].flux = this;\n }\n }\n};\n\nFlux.prototype.store = function(name) {\n return this.stores[name];\n};\n\nmodule.exports = Flux;\n","var FluxChildMixin = function(React) {\n return {\n contextTypes: {\n flux: React.PropTypes.object\n },\n\n getFlux: function() {\n return this.context.flux;\n }\n };\n};\n\nFluxChildMixin.componentWillMount = function() {\n throw new Error(\"Fluxxor.FluxChildMixin is a function that takes React as a \" +\n \"parameter and returns the mixin, e.g.: mixins[Fluxxor.FluxChildMixin(React)]\");\n};\n\nmodule.exports = FluxChildMixin;\n","var FluxMixin = function(React) {\n return {\n propTypes: {\n flux: React.PropTypes.object.isRequired\n },\n\n childContextTypes: {\n flux: React.PropTypes.object\n },\n\n getChildContext: function() {\n return {\n flux: this.props.flux\n };\n },\n\n getFlux: function() {\n return this.props.flux;\n }\n };\n};\n\nFluxMixin.componentWillMount = function() {\n throw new Error(\"Fluxxor.FluxMixin is a function that takes React as a \" +\n \"parameter and returns the mixin, e.g.: mixins[Fluxxor.FluxMixin(React)]\");\n};\n\nmodule.exports = FluxMixin;\n","var EventEmitter = require(\"events\").EventEmitter,\n inherits = require(\"inherits\");\n\nfunction Store(dispatcher) {\n this.dispatcher = dispatcher;\n this.__actions__ = {};\n EventEmitter.call(this);\n}\n\ninherits(Store, EventEmitter);\n\nStore.prototype.__handleAction__ = function(action) {\n var handler;\n if (!!(handler = this.__actions__[action.type])) {\n if (typeof handler === \"function\") {\n handler.call(this, action.payload, action.type);\n } else if (handler && typeof this[handler] === \"function\") {\n this[handler].call(this, action.payload, action.type);\n }\n }\n};\n\nStore.prototype.bindActions = function() {\n var actions = Array.prototype.slice.call(arguments);\n if (actions.length % 2 !== 0) {\n throw new Error(\"bindActions must take an even number of arguments.\");\n }\n\n for (var i = 0; i < actions.length; i += 2) {\n var type = actions[i],\n handler = actions[i+1];\n\n this.__actions__[type] = handler;\n }\n};\n\nStore.prototype.waitFor = function(stores, fn) {\n this.dispatcher.waitForStores(this, stores, fn.bind(this));\n};\n\nmodule.exports = Store;\n","var _each = require(\"lodash-node/modern/collections/forEach\");\n\nvar StoreWatchMixin = function() {\n var storeNames = Array.prototype.slice.call(arguments);\n return {\n componentWillMount: function() {\n var flux = this.props.flux || this.context.flux;\n _each(storeNames, function(store) {\n flux.store(store).on(\"change\", this._setStateFromFlux);\n }, this);\n },\n\n componentWillUnmount: function() {\n var flux = this.props.flux || this.context.flux;\n _each(storeNames, function(store) {\n flux.store(store).removeListener(\"change\", this._setStateFromFlux);\n }, this);\n },\n\n _setStateFromFlux: function() {\n if(this.isMounted()) {\n this.setState(this.getStateFromFlux());\n }\n },\n\n getInitialState: function() {\n return this.getStateFromFlux();\n }\n };\n};\n\nStoreWatchMixin.componentWillMount = function() {\n throw new Error(\"Fluxxor.StoreWatchMixin is a function that takes one or more \" +\n \"store names as parameters and returns the mixin, e.g.: \" +\n \"mixins[Fluxxor.StoreWatchMixin(\\\"Store1\\\", \\\"Store2\\\")]\");\n};\n\nmodule.exports = StoreWatchMixin;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseIndexOf = require('../internals/baseIndexOf'),\n cacheIndexOf = require('../internals/cacheIndexOf'),\n createCache = require('../internals/createCache'),\n getArray = require('../internals/getArray'),\n isArguments = require('../objects/isArguments'),\n isArray = require('../objects/isArray'),\n largeArraySize = require('../internals/largeArraySize'),\n releaseArray = require('../internals/releaseArray'),\n releaseObject = require('../internals/releaseObject');\n\n/**\n * Creates an array of unique values present in all provided arrays using\n * strict equality for comparisons, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @category Arrays\n * @param {...Array} [array] The arrays to inspect.\n * @returns {Array} Returns an array of shared values.\n * @example\n *\n * _.intersection([1, 2, 3], [5, 2, 1, 4], [2, 1]);\n * // => [1, 2]\n */\nfunction intersection() {\n var args = [],\n argsIndex = -1,\n argsLength = arguments.length,\n caches = getArray(),\n indexOf = baseIndexOf,\n trustIndexOf = indexOf === baseIndexOf,\n seen = getArray();\n\n while (++argsIndex < argsLength) {\n var value = arguments[argsIndex];\n if (isArray(value) || isArguments(value)) {\n args.push(value);\n caches.push(trustIndexOf && value.length >= largeArraySize &&\n createCache(argsIndex ? args[argsIndex] : seen));\n }\n }\n var array = args[0],\n index = -1,\n length = array ? array.length : 0,\n result = [];\n\n outer:\n while (++index < length) {\n var cache = caches[0];\n value = array[index];\n\n if ((cache ? cacheIndexOf(cache, value) : indexOf(seen, value)) < 0) {\n argsIndex = argsLength;\n (cache || seen).push(value);\n while (--argsIndex) {\n cache = caches[argsIndex];\n if ((cache ? cacheIndexOf(cache, value) : indexOf(args[argsIndex], value)) < 0) {\n continue outer;\n }\n }\n result.push(value);\n }\n }\n while (argsLength--) {\n cache = caches[argsLength];\n if (cache) {\n releaseObject(cache);\n }\n }\n releaseArray(caches);\n releaseArray(seen);\n return result;\n}\n\nmodule.exports = intersection;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseUniq = require('../internals/baseUniq'),\n createCallback = require('../functions/createCallback');\n\n/**\n * Creates a duplicate-value-free version of an array using strict equality\n * for comparisons, i.e. `===`. If the array is sorted, providing\n * `true` for `isSorted` will use a faster algorithm. If a callback is provided\n * each element of `array` is passed through the callback before uniqueness\n * is computed. The callback is bound to `thisArg` and invoked with three\n * arguments; (value, index, array).\n *\n * If a property name is provided for `callback` the created \"_.pluck\" style\n * callback will return the property value of the given element.\n *\n * If an object is provided for `callback` the created \"_.where\" style callback\n * will return `true` for elements that have the properties of the given object,\n * else `false`.\n *\n * @static\n * @memberOf _\n * @alias unique\n * @category Arrays\n * @param {Array} array The array to process.\n * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.\n * @param {Function|Object|string} [callback=identity] The function called\n * per iteration. If a property name or object is provided it will be used\n * to create a \"_.pluck\" or \"_.where\" style callback, respectively.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Array} Returns a duplicate-value-free array.\n * @example\n *\n * _.uniq([1, 2, 1, 3, 1]);\n * // => [1, 2, 3]\n *\n * _.uniq([1, 1, 2, 2, 3], true);\n * // => [1, 2, 3]\n *\n * _.uniq(['A', 'b', 'C', 'a', 'B', 'c'], function(letter) { return letter.toLowerCase(); });\n * // => ['A', 'b', 'C']\n *\n * _.uniq([1, 2.5, 3, 1.5, 2, 3.5], function(num) { return this.floor(num); }, Math);\n * // => [1, 2.5, 3]\n *\n * // using \"_.pluck\" callback shorthand\n * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniq(array, isSorted, callback, thisArg) {\n // juggle arguments\n if (typeof isSorted != 'boolean' && isSorted != null) {\n thisArg = callback;\n callback = (typeof isSorted != 'function' && thisArg && thisArg[isSorted] === array) ? null : isSorted;\n isSorted = false;\n }\n if (callback != null) {\n callback = createCallback(callback, thisArg, 3);\n }\n return baseUniq(array, isSorted, callback);\n}\n\nmodule.exports = uniq;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar createCallback = require('../functions/createCallback'),\n forOwn = require('../objects/forOwn');\n\n/**\n * Creates an array of values by running each element in the collection\n * through the callback. The callback is bound to `thisArg` and invoked with\n * three arguments; (value, index|key, collection).\n *\n * If a property name is provided for `callback` the created \"_.pluck\" style\n * callback will return the property value of the given element.\n *\n * If an object is provided for `callback` the created \"_.where\" style callback\n * will return `true` for elements that have the properties of the given object,\n * else `false`.\n *\n * @static\n * @memberOf _\n * @alias collect\n * @category Collections\n * @param {Array|Object|string} collection The collection to iterate over.\n * @param {Function|Object|string} [callback=identity] The function called\n * per iteration. If a property name or object is provided it will be used\n * to create a \"_.pluck\" or \"_.where\" style callback, respectively.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Array} Returns a new array of the results of each `callback` execution.\n * @example\n *\n * _.map([1, 2, 3], function(num) { return num * 3; });\n * // => [3, 6, 9]\n *\n * _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; });\n * // => [3, 6, 9] (property order is not guaranteed across environments)\n *\n * var characters = [\n * { 'name': 'barney', 'age': 36 },\n * { 'name': 'fred', 'age': 40 }\n * ];\n *\n * // using \"_.pluck\" callback shorthand\n * _.map(characters, 'name');\n * // => ['barney', 'fred']\n */\nfunction map(collection, callback, thisArg) {\n var index = -1,\n length = collection ? collection.length : 0;\n\n callback = createCallback(callback, thisArg, 3);\n if (typeof length == 'number') {\n var result = Array(length);\n while (++index < length) {\n result[index] = callback(collection[index], index, collection);\n }\n } else {\n result = [];\n forOwn(collection, function(value, key, collection) {\n result[++index] = callback(value, key, collection);\n });\n }\n return result;\n}\n\nmodule.exports = map;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar keys = require('../objects/keys');\n\n/**\n * Gets the size of the `collection` by returning `collection.length` for arrays\n * and array-like objects or the number of own enumerable properties for objects.\n *\n * @static\n * @memberOf _\n * @category Collections\n * @param {Array|Object|string} collection The collection to inspect.\n * @returns {number} Returns `collection.length` or number of own enumerable properties.\n * @example\n *\n * _.size([1, 2]);\n * // => 2\n *\n * _.size({ 'one': 1, 'two': 2, 'three': 3 });\n * // => 3\n *\n * _.size('pebbles');\n * // => 7\n */\nfunction size(collection) {\n var length = collection ? collection.length : 0;\n return typeof length == 'number' ? length : keys(collection).length;\n}\n\nmodule.exports = size;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar createWrapper = require('../internals/createWrapper'),\n slice = require('../internals/slice');\n\n/**\n * Creates a function that, when called, invokes `func` with the `this`\n * binding of `thisArg` and prepends any additional `bind` arguments to those\n * provided to the bound function.\n *\n * @static\n * @memberOf _\n * @category Functions\n * @param {Function} func The function to bind.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {...*} [arg] Arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * var func = function(greeting) {\n * return greeting + ' ' + this.name;\n * };\n *\n * func = _.bind(func, { 'name': 'fred' }, 'hi');\n * func();\n * // => 'hi fred'\n */\nfunction bind(func, thisArg) {\n return arguments.length > 2\n ? createWrapper(func, 17, slice(arguments, 2), null, thisArg)\n : createWrapper(func, 1, null, null, thisArg);\n}\n\nmodule.exports = bind;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreate = require('./baseCreate'),\n isObject = require('../objects/isObject'),\n setBindData = require('./setBindData'),\n slice = require('./slice');\n\n/**\n * Used for `Array` method references.\n *\n * Normally `Array.prototype` would suffice, however, using an array literal\n * avoids issues in Narwhal.\n */\nvar arrayRef = [];\n\n/** Native method shortcuts */\nvar push = arrayRef.push;\n\n/**\n * The base implementation of `_.bind` that creates the bound function and\n * sets its meta data.\n *\n * @private\n * @param {Array} bindData The bind data array.\n * @returns {Function} Returns the new bound function.\n */\nfunction baseBind(bindData) {\n var func = bindData[0],\n partialArgs = bindData[2],\n thisArg = bindData[4];\n\n function bound() {\n // `Function#bind` spec\n // http://es5.github.io/#x15.3.4.5\n if (partialArgs) {\n // avoid `arguments` object deoptimizations by using `slice` instead\n // of `Array.prototype.slice.call` and not assigning `arguments` to a\n // variable as a ternary expression\n var args = slice(partialArgs);\n push.apply(args, arguments);\n }\n // mimic the constructor's `return` behavior\n // http://es5.github.io/#x13.2.2\n if (this instanceof bound) {\n // ensure `new bound` is an instance of `func`\n var thisBinding = baseCreate(func.prototype),\n result = func.apply(thisBinding, args || arguments);\n return isObject(result) ? result : thisBinding;\n }\n return func.apply(thisArg, args || arguments);\n }\n setBindData(bound, bindData);\n return bound;\n}\n\nmodule.exports = baseBind;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar assign = require('../objects/assign'),\n forEach = require('../collections/forEach'),\n forOwn = require('../objects/forOwn'),\n getArray = require('./getArray'),\n isArray = require('../objects/isArray'),\n isObject = require('../objects/isObject'),\n releaseArray = require('./releaseArray'),\n slice = require('./slice');\n\n/** Used to match regexp flags from their coerced string values */\nvar reFlags = /\\w*$/;\n\n/** `Object#toString` result shortcuts */\nvar argsClass = '[object Arguments]',\n arrayClass = '[object Array]',\n boolClass = '[object Boolean]',\n dateClass = '[object Date]',\n funcClass = '[object Function]',\n numberClass = '[object Number]',\n objectClass = '[object Object]',\n regexpClass = '[object RegExp]',\n stringClass = '[object String]';\n\n/** Used to identify object classifications that `_.clone` supports */\nvar cloneableClasses = {};\ncloneableClasses[funcClass] = false;\ncloneableClasses[argsClass] = cloneableClasses[arrayClass] =\ncloneableClasses[boolClass] = cloneableClasses[dateClass] =\ncloneableClasses[numberClass] = cloneableClasses[objectClass] =\ncloneableClasses[regexpClass] = cloneableClasses[stringClass] = true;\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the internal [[Class]] of values */\nvar toString = objectProto.toString;\n\n/** Native method shortcuts */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to lookup a built-in constructor by [[Class]] */\nvar ctorByClass = {};\nctorByClass[arrayClass] = Array;\nctorByClass[boolClass] = Boolean;\nctorByClass[dateClass] = Date;\nctorByClass[funcClass] = Function;\nctorByClass[objectClass] = Object;\nctorByClass[numberClass] = Number;\nctorByClass[regexpClass] = RegExp;\nctorByClass[stringClass] = String;\n\n/**\n * The base implementation of `_.clone` without argument juggling or support\n * for `thisArg` binding.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep=false] Specify a deep clone.\n * @param {Function} [callback] The function to customize cloning values.\n * @param {Array} [stackA=[]] Tracks traversed source objects.\n * @param {Array} [stackB=[]] Associates clones with source counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, callback, stackA, stackB) {\n if (callback) {\n var result = callback(value);\n if (typeof result != 'undefined') {\n return result;\n }\n }\n // inspect [[Class]]\n var isObj = isObject(value);\n if (isObj) {\n var className = toString.call(value);\n if (!cloneableClasses[className]) {\n return value;\n }\n var ctor = ctorByClass[className];\n switch (className) {\n case boolClass:\n case dateClass:\n return new ctor(+value);\n\n case numberClass:\n case stringClass:\n return new ctor(value);\n\n case regexpClass:\n result = ctor(value.source, reFlags.exec(value));\n result.lastIndex = value.lastIndex;\n return result;\n }\n } else {\n return value;\n }\n var isArr = isArray(value);\n if (isDeep) {\n // check for circular references and return corresponding clone\n var initedStack = !stackA;\n stackA || (stackA = getArray());\n stackB || (stackB = getArray());\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == value) {\n return stackB[length];\n }\n }\n result = isArr ? ctor(value.length) : {};\n }\n else {\n result = isArr ? slice(value) : assign({}, value);\n }\n // add array properties assigned by `RegExp#exec`\n if (isArr) {\n if (hasOwnProperty.call(value, 'index')) {\n result.index = value.index;\n }\n if (hasOwnProperty.call(value, 'input')) {\n result.input = value.input;\n }\n }\n // exit for shallow clone\n if (!isDeep) {\n return result;\n }\n // add the source value to the stack of traversed objects\n // and associate it with its clone\n stackA.push(value);\n stackB.push(result);\n\n // recursively populate clone (susceptible to call stack limits)\n (isArr ? forEach : forOwn)(value, function(objValue, key) {\n result[key] = baseClone(objValue, isDeep, callback, stackA, stackB);\n });\n\n if (initedStack) {\n releaseArray(stackA);\n releaseArray(stackB);\n }\n return result;\n}\n\nmodule.exports = baseClone;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreate = require('./baseCreate'),\n isObject = require('../objects/isObject'),\n setBindData = require('./setBindData'),\n slice = require('./slice');\n\n/**\n * Used for `Array` method references.\n *\n * Normally `Array.prototype` would suffice, however, using an array literal\n * avoids issues in Narwhal.\n */\nvar arrayRef = [];\n\n/** Native method shortcuts */\nvar push = arrayRef.push;\n\n/**\n * The base implementation of `createWrapper` that creates the wrapper and\n * sets its meta data.\n *\n * @private\n * @param {Array} bindData The bind data array.\n * @returns {Function} Returns the new function.\n */\nfunction baseCreateWrapper(bindData) {\n var func = bindData[0],\n bitmask = bindData[1],\n partialArgs = bindData[2],\n partialRightArgs = bindData[3],\n thisArg = bindData[4],\n arity = bindData[5];\n\n var isBind = bitmask & 1,\n isBindKey = bitmask & 2,\n isCurry = bitmask & 4,\n isCurryBound = bitmask & 8,\n key = func;\n\n function bound() {\n var thisBinding = isBind ? thisArg : this;\n if (partialArgs) {\n var args = slice(partialArgs);\n push.apply(args, arguments);\n }\n if (partialRightArgs || isCurry) {\n args || (args = slice(arguments));\n if (partialRightArgs) {\n push.apply(args, partialRightArgs);\n }\n if (isCurry && args.length < arity) {\n bitmask |= 16 & ~32;\n return baseCreateWrapper([func, (isCurryBound ? bitmask : bitmask & ~3), args, null, thisArg, arity]);\n }\n }\n args || (args = arguments);\n if (isBindKey) {\n func = thisBinding[key];\n }\n if (this instanceof bound) {\n thisBinding = baseCreate(func.prototype);\n var result = func.apply(thisBinding, args);\n return isObject(result) ? result : thisBinding;\n }\n return func.apply(thisBinding, args);\n }\n setBindData(bound, bindData);\n return bound;\n}\n\nmodule.exports = baseCreateWrapper;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar forIn = require('../objects/forIn'),\n getArray = require('./getArray'),\n isFunction = require('../objects/isFunction'),\n objectTypes = require('./objectTypes'),\n releaseArray = require('./releaseArray');\n\n/** `Object#toString` result shortcuts */\nvar argsClass = '[object Arguments]',\n arrayClass = '[object Array]',\n boolClass = '[object Boolean]',\n dateClass = '[object Date]',\n numberClass = '[object Number]',\n objectClass = '[object Object]',\n regexpClass = '[object RegExp]',\n stringClass = '[object String]';\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the internal [[Class]] of values */\nvar toString = objectProto.toString;\n\n/** Native method shortcuts */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.isEqual`, without support for `thisArg` binding,\n * that allows partial \"_.where\" style comparisons.\n *\n * @private\n * @param {*} a The value to compare.\n * @param {*} b The other value to compare.\n * @param {Function} [callback] The function to customize comparing values.\n * @param {Function} [isWhere=false] A flag to indicate performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `a` objects.\n * @param {Array} [stackB=[]] Tracks traversed `b` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(a, b, callback, isWhere, stackA, stackB) {\n // used to indicate that when comparing objects, `a` has at least the properties of `b`\n if (callback) {\n var result = callback(a, b);\n if (typeof result != 'undefined') {\n return !!result;\n }\n }\n // exit early for identical values\n if (a === b) {\n // treat `+0` vs. `-0` as not equal\n return a !== 0 || (1 / a == 1 / b);\n }\n var type = typeof a,\n otherType = typeof b;\n\n // exit early for unlike primitive values\n if (a === a &&\n !(a && objectTypes[type]) &&\n !(b && objectTypes[otherType])) {\n return false;\n }\n // exit early for `null` and `undefined` avoiding ES3's Function#call behavior\n // http://es5.github.io/#x15.3.4.4\n if (a == null || b == null) {\n return a === b;\n }\n // compare [[Class]] names\n var className = toString.call(a),\n otherClass = toString.call(b);\n\n if (className == argsClass) {\n className = objectClass;\n }\n if (otherClass == argsClass) {\n otherClass = objectClass;\n }\n if (className != otherClass) {\n return false;\n }\n switch (className) {\n case boolClass:\n case dateClass:\n // coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal\n return +a == +b;\n\n case numberClass:\n // treat `NaN` vs. `NaN` as equal\n return (a != +a)\n ? b != +b\n // but treat `+0` vs. `-0` as not equal\n : (a == 0 ? (1 / a == 1 / b) : a == +b);\n\n case regexpClass:\n case stringClass:\n // coerce regexes to strings (http://es5.github.io/#x15.10.6.4)\n // treat string primitives and their corresponding object instances as equal\n return a == String(b);\n }\n var isArr = className == arrayClass;\n if (!isArr) {\n // unwrap any `lodash` wrapped values\n var aWrapped = hasOwnProperty.call(a, '__wrapped__'),\n bWrapped = hasOwnProperty.call(b, '__wrapped__');\n\n if (aWrapped || bWrapped) {\n return baseIsEqual(aWrapped ? a.__wrapped__ : a, bWrapped ? b.__wrapped__ : b, callback, isWhere, stackA, stackB);\n }\n // exit for functions and DOM nodes\n if (className != objectClass) {\n return false;\n }\n // in older versions of Opera, `arguments` objects have `Array` constructors\n var ctorA = a.constructor,\n ctorB = b.constructor;\n\n // non `Object` object instances with different constructors are not equal\n if (ctorA != ctorB &&\n !(isFunction(ctorA) && ctorA instanceof ctorA && isFunction(ctorB) && ctorB instanceof ctorB) &&\n ('constructor' in a && 'constructor' in b)\n ) {\n return false;\n }\n }\n // assume cyclic structures are equal\n // the algorithm for detecting cyclic structures is adapted from ES 5.1\n // section 15.12.3, abstract operation `JO` (http://es5.github.io/#x15.12.3)\n var initedStack = !stackA;\n stackA || (stackA = getArray());\n stackB || (stackB = getArray());\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == a) {\n return stackB[length] == b;\n }\n }\n var size = 0;\n result = true;\n\n // add `a` and `b` to the stack of traversed objects\n stackA.push(a);\n stackB.push(b);\n\n // recursively compare objects and arrays (susceptible to call stack limits)\n if (isArr) {\n // compare lengths to determine if a deep comparison is necessary\n length = a.length;\n size = b.length;\n result = size == length;\n\n if (result || isWhere) {\n // deep compare the contents, ignoring non-numeric properties\n while (size--) {\n var index = length,\n value = b[size];\n\n if (isWhere) {\n while (index--) {\n if ((result = baseIsEqual(a[index], value, callback, isWhere, stackA, stackB))) {\n break;\n }\n }\n } else if (!(result = baseIsEqual(a[size], value, callback, isWhere, stackA, stackB))) {\n break;\n }\n }\n }\n }\n else {\n // deep compare objects using `forIn`, instead of `forOwn`, to avoid `Object.keys`\n // which, in this case, is more costly\n forIn(b, function(value, key, b) {\n if (hasOwnProperty.call(b, key)) {\n // count the number of properties.\n size++;\n // deep compare each property value.\n return (result = hasOwnProperty.call(a, key) && baseIsEqual(a[key], value, callback, isWhere, stackA, stackB));\n }\n });\n\n if (result && !isWhere) {\n // ensure both objects have the same number of properties\n forIn(a, function(value, key, a) {\n if (hasOwnProperty.call(a, key)) {\n // `size` will be `-1` if `a` has more properties than `b`\n return (result = --size > -1);\n }\n });\n }\n }\n stackA.pop();\n stackB.pop();\n\n if (initedStack) {\n releaseArray(stackA);\n releaseArray(stackB);\n }\n return result;\n}\n\nmodule.exports = baseIsEqual;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseIndexOf = require('./baseIndexOf'),\n cacheIndexOf = require('./cacheIndexOf'),\n createCache = require('./createCache'),\n getArray = require('./getArray'),\n largeArraySize = require('./largeArraySize'),\n releaseArray = require('./releaseArray'),\n releaseObject = require('./releaseObject');\n\n/**\n * The base implementation of `_.uniq` without support for callback shorthands\n * or `thisArg` binding.\n *\n * @private\n * @param {Array} array The array to process.\n * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.\n * @param {Function} [callback] The function called per iteration.\n * @returns {Array} Returns a duplicate-value-free array.\n */\nfunction baseUniq(array, isSorted, callback) {\n var index = -1,\n indexOf = baseIndexOf,\n length = array ? array.length : 0,\n result = [];\n\n var isLarge = !isSorted && length >= largeArraySize,\n seen = (callback || isLarge) ? getArray() : result;\n\n if (isLarge) {\n var cache = createCache(seen);\n indexOf = cacheIndexOf;\n seen = cache;\n }\n while (++index < length) {\n var value = array[index],\n computed = callback ? callback(value, index, array) : value;\n\n if (isSorted\n ? !index || seen[seen.length - 1] !== computed\n : indexOf(seen, computed) < 0\n ) {\n if (callback || isLarge) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n if (isLarge) {\n releaseArray(seen.array);\n releaseObject(seen);\n } else if (callback) {\n releaseArray(seen);\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar keyPrefix = require('./keyPrefix');\n\n/**\n * Adds a given value to the corresponding cache object.\n *\n * @private\n * @param {*} value The value to add to the cache.\n */\nfunction cachePush(value) {\n var cache = this.cache,\n type = typeof value;\n\n if (type == 'boolean' || value == null) {\n cache[value] = true;\n } else {\n if (type != 'number' && type != 'string') {\n type = 'object';\n }\n var key = type == 'number' ? value : keyPrefix + value,\n typeCache = cache[type] || (cache[type] = {});\n\n if (type == 'object') {\n (typeCache[key] || (typeCache[key] = [])).push(value);\n } else {\n typeCache[key] = true;\n }\n }\n}\n\nmodule.exports = cachePush;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseBind = require('./baseBind'),\n baseCreateWrapper = require('./baseCreateWrapper'),\n isFunction = require('../objects/isFunction'),\n slice = require('./slice');\n\n/**\n * Used for `Array` method references.\n *\n * Normally `Array.prototype` would suffice, however, using an array literal\n * avoids issues in Narwhal.\n */\nvar arrayRef = [];\n\n/** Native method shortcuts */\nvar push = arrayRef.push,\n unshift = arrayRef.unshift;\n\n/**\n * Creates a function that, when called, either curries or invokes `func`\n * with an optional `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to reference.\n * @param {number} bitmask The bitmask of method flags to compose.\n * The bitmask may be composed of the following flags:\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry`\n * 8 - `_.curry` (bound)\n * 16 - `_.partial`\n * 32 - `_.partialRight`\n * @param {Array} [partialArgs] An array of arguments to prepend to those\n * provided to the new function.\n * @param {Array} [partialRightArgs] An array of arguments to append to those\n * provided to the new function.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new function.\n */\nfunction createWrapper(func, bitmask, partialArgs, partialRightArgs, thisArg, arity) {\n var isBind = bitmask & 1,\n isBindKey = bitmask & 2,\n isCurry = bitmask & 4,\n isCurryBound = bitmask & 8,\n isPartial = bitmask & 16,\n isPartialRight = bitmask & 32;\n\n if (!isBindKey && !isFunction(func)) {\n throw new TypeError;\n }\n if (isPartial && !partialArgs.length) {\n bitmask &= ~16;\n isPartial = partialArgs = false;\n }\n if (isPartialRight && !partialRightArgs.length) {\n bitmask &= ~32;\n isPartialRight = partialRightArgs = false;\n }\n var bindData = func && func.__bindData__;\n if (bindData && bindData !== true) {\n // clone `bindData`\n bindData = slice(bindData);\n if (bindData[2]) {\n bindData[2] = slice(bindData[2]);\n }\n if (bindData[3]) {\n bindData[3] = slice(bindData[3]);\n }\n // set `thisBinding` is not previously bound\n if (isBind && !(bindData[1] & 1)) {\n bindData[4] = thisArg;\n }\n // set if previously bound but not currently (subsequent curried functions)\n if (!isBind && bindData[1] & 1) {\n bitmask |= 8;\n }\n // set curried arity if not yet set\n if (isCurry && !(bindData[1] & 4)) {\n bindData[5] = arity;\n }\n // append partial left arguments\n if (isPartial) {\n push.apply(bindData[2] || (bindData[2] = []), partialArgs);\n }\n // append partial right arguments\n if (isPartialRight) {\n unshift.apply(bindData[3] || (bindData[3] = []), partialRightArgs);\n }\n // merge flags\n bindData[1] |= bitmask;\n return createWrapper.apply(null, bindData);\n }\n // fast path for `_.bind`\n var creater = (bitmask == 1 || bitmask === 17) ? baseBind : baseCreateWrapper;\n return creater([func, bitmask, partialArgs, partialRightArgs, thisArg, arity]);\n}\n\nmodule.exports = createWrapper;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar objectPool = require('./objectPool');\n\n/**\n * Gets an object from the object pool or creates a new one if the pool is empty.\n *\n * @private\n * @returns {Object} The object from the pool.\n */\nfunction getObject() {\n return objectPool.pop() || {\n 'array': null,\n 'cache': null,\n 'criteria': null,\n 'false': false,\n 'index': 0,\n 'null': false,\n 'number': null,\n 'object': null,\n 'push': null,\n 'string': null,\n 'true': false,\n 'undefined': false,\n 'value': null\n };\n}\n\nmodule.exports = getObject;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar objectTypes = require('./objectTypes');\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Native method shortcuts */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which produces an array of the\n * given object's own enumerable property names.\n *\n * @private\n * @type Function\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns an array of property names.\n */\nvar shimKeys = function(object) {\n var index, iterable = object, result = [];\n if (!iterable) return result;\n if (!(objectTypes[typeof object])) return result;\n for (index in iterable) {\n if (hasOwnProperty.call(iterable, index)) {\n result.push(index);\n }\n }\n return result\n};\n\nmodule.exports = shimKeys;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreateCallback = require('../internals/baseCreateCallback'),\n keys = require('./keys'),\n objectTypes = require('../internals/objectTypes');\n\n/**\n * Assigns own enumerable properties of source object(s) to the destination\n * object. Subsequent sources will overwrite property assignments of previous\n * sources. If a callback is provided it will be executed to produce the\n * assigned values. The callback is bound to `thisArg` and invoked with two\n * arguments; (objectValue, sourceValue).\n *\n * @static\n * @memberOf _\n * @type Function\n * @alias extend\n * @category Objects\n * @param {Object} object The destination object.\n * @param {...Object} [source] The source objects.\n * @param {Function} [callback] The function to customize assigning values.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Object} Returns the destination object.\n * @example\n *\n * _.assign({ 'name': 'fred' }, { 'employer': 'slate' });\n * // => { 'name': 'fred', 'employer': 'slate' }\n *\n * var defaults = _.partialRight(_.assign, function(a, b) {\n * return typeof a == 'undefined' ? b : a;\n * });\n *\n * var object = { 'name': 'barney' };\n * defaults(object, { 'name': 'fred', 'employer': 'slate' });\n * // => { 'name': 'barney', 'employer': 'slate' }\n */\nvar assign = function(object, source, guard) {\n var index, iterable = object, result = iterable;\n if (!iterable) return result;\n var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\n if (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n } else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n }\n while (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n result[index] = callback ? callback(result[index], iterable[index]) : iterable[index];\n }\n }\n }\n return result\n};\n\nmodule.exports = assign;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseClone = require('../internals/baseClone'),\n baseCreateCallback = require('../internals/baseCreateCallback');\n\n/**\n * Creates a clone of `value`. If `isDeep` is `true` nested objects will also\n * be cloned, otherwise they will be assigned by reference. If a callback\n * is provided it will be executed to produce the cloned values. If the\n * callback returns `undefined` cloning will be handled by the method instead.\n * The callback is bound to `thisArg` and invoked with one argument; (value).\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep=false] Specify a deep clone.\n * @param {Function} [callback] The function to customize cloning values.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {*} Returns the cloned value.\n * @example\n *\n * var characters = [\n * { 'name': 'barney', 'age': 36 },\n * { 'name': 'fred', 'age': 40 }\n * ];\n *\n * var shallow = _.clone(characters);\n * shallow[0] === characters[0];\n * // => true\n *\n * var deep = _.clone(characters, true);\n * deep[0] === characters[0];\n * // => false\n *\n * _.mixin({\n * 'clone': _.partialRight(_.clone, function(value) {\n * return _.isElement(value) ? value.cloneNode(false) : undefined;\n * })\n * });\n *\n * var clone = _.clone(document.body);\n * clone.childNodes.length;\n * // => 0\n */\nfunction clone(value, isDeep, callback, thisArg) {\n // allows working with \"Collections\" methods without using their `index`\n // and `collection` arguments for `isDeep` and `callback`\n if (typeof isDeep != 'boolean' && isDeep != null) {\n thisArg = callback;\n callback = isDeep;\n isDeep = false;\n }\n return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));\n}\n\nmodule.exports = clone;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar createCallback = require('../functions/createCallback'),\n forOwn = require('./forOwn');\n\n/**\n * This method is like `_.findIndex` except that it returns the key of the\n * first element that passes the callback check, instead of the element itself.\n *\n * If a property name is provided for `callback` the created \"_.pluck\" style\n * callback will return the property value of the given element.\n *\n * If an object is provided for `callback` the created \"_.where\" style callback\n * will return `true` for elements that have the properties of the given object,\n * else `false`.\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {Object} object The object to search.\n * @param {Function|Object|string} [callback=identity] The function called per\n * iteration. If a property name or object is provided it will be used to\n * create a \"_.pluck\" or \"_.where\" style callback, respectively.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {string|undefined} Returns the key of the found element, else `undefined`.\n * @example\n *\n * var characters = {\n * 'barney': { 'age': 36, 'blocked': false },\n * 'fred': { 'age': 40, 'blocked': true },\n * 'pebbles': { 'age': 1, 'blocked': false }\n * };\n *\n * _.findKey(characters, function(chr) {\n * return chr.age < 40;\n * });\n * // => 'barney' (property order is not guaranteed across environments)\n *\n * // using \"_.where\" callback shorthand\n * _.findKey(characters, { 'age': 1 });\n * // => 'pebbles'\n *\n * // using \"_.pluck\" callback shorthand\n * _.findKey(characters, 'blocked');\n * // => 'fred'\n */\nfunction findKey(object, callback, thisArg) {\n var result;\n callback = createCallback(callback, thisArg, 3);\n forOwn(object, function(value, key, object) {\n if (callback(value, key, object)) {\n result = key;\n return false;\n }\n });\n return result;\n}\n\nmodule.exports = findKey;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar baseCreateCallback = require('../internals/baseCreateCallback'),\n objectTypes = require('../internals/objectTypes');\n\n/**\n * Iterates over own and inherited enumerable properties of an object,\n * executing the callback for each property. The callback is bound to `thisArg`\n * and invoked with three arguments; (value, key, object). Callbacks may exit\n * iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @type Function\n * @category Objects\n * @param {Object} object The object to iterate over.\n * @param {Function} [callback=identity] The function called per iteration.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function Shape() {\n * this.x = 0;\n * this.y = 0;\n * }\n *\n * Shape.prototype.move = function(x, y) {\n * this.x += x;\n * this.y += y;\n * };\n *\n * _.forIn(new Shape, function(value, key) {\n * console.log(key);\n * });\n * // => logs 'x', 'y', and 'move' (property order is not guaranteed across environments)\n */\nvar forIn = function(collection, callback, thisArg) {\n var index, iterable = collection, result = iterable;\n if (!iterable) return result;\n if (!objectTypes[typeof iterable]) return result;\n callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);\n for (index in iterable) {\n if (callback(iterable[index], index, collection) === false) return result;\n }\n return result\n};\n\nmodule.exports = forIn;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** `Object#toString` result shortcuts */\nvar argsClass = '[object Arguments]';\n\n/** Used for native method references */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the internal [[Class]] of values */\nvar toString = objectProto.toString;\n\n/**\n * Checks if `value` is an `arguments` object.\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if the `value` is an `arguments` object, else `false`.\n * @example\n *\n * (function() { return _.isArguments(arguments); })(1, 2, 3);\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n return value && typeof value == 'object' && typeof value.length == 'number' &&\n toString.call(value) == argsClass || false;\n}\n\nmodule.exports = isArguments;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar createCallback = require('../functions/createCallback'),\n forOwn = require('./forOwn');\n\n/**\n * Creates an object with the same keys as `object` and values generated by\n * running each own enumerable property of `object` through the callback.\n * The callback is bound to `thisArg` and invoked with three arguments;\n * (value, key, object).\n *\n * If a property name is provided for `callback` the created \"_.pluck\" style\n * callback will return the property value of the given element.\n *\n * If an object is provided for `callback` the created \"_.where\" style callback\n * will return `true` for elements that have the properties of the given object,\n * else `false`.\n *\n * @static\n * @memberOf _\n * @category Objects\n * @param {Object} object The object to iterate over.\n * @param {Function|Object|string} [callback=identity] The function called\n * per iteration. If a property name or object is provided it will be used\n * to create a \"_.pluck\" or \"_.where\" style callback, respectively.\n * @param {*} [thisArg] The `this` binding of `callback`.\n * @returns {Array} Returns a new object with values of the results of each `callback` execution.\n * @example\n *\n * _.mapValues({ 'a': 1, 'b': 2, 'c': 3} , function(num) { return num * 3; });\n * // => { 'a': 3, 'b': 6, 'c': 9 }\n *\n * var characters = {\n * 'fred': { 'name': 'fred', 'age': 40 },\n * 'pebbles': { 'name': 'pebbles', 'age': 1 }\n * };\n *\n * // using \"_.pluck\" callback shorthand\n * _.mapValues(characters, 'age');\n * // => { 'fred': 40, 'pebbles': 1 }\n */\nfunction mapValues(object, callback, thisArg) {\n var result = {};\n callback = createCallback(callback, thisArg, 3);\n\n forOwn(object, function(value, key, object) {\n result[key] = callback(value, key, object);\n });\n return result;\n}\n\nmodule.exports = mapValues;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\nvar isNative = require('./internals/isNative');\n\n/** Used to detect functions containing a `this` reference */\nvar reThis = /\\bthis\\b/;\n\n/**\n * An object used to flag environments features.\n *\n * @static\n * @memberOf _\n * @type Object\n */\nvar support = {};\n\n/**\n * Detect if functions can be decompiled by `Function#toString`\n * (all but PS3 and older Opera mobile browsers & avoided in Windows 8 apps).\n *\n * @memberOf _.support\n * @type boolean\n */\nsupport.funcDecomp = !isNative(global.WinRTError) && reThis.test(function() { return this; });\n\n/**\n * Detect if `Function#name` is supported (all but IE).\n *\n * @memberOf _.support\n * @type boolean\n */\nsupport.funcNames = typeof Function.name == 'string';\n\nmodule.exports = support;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utilities\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'name': 'fred' };\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/**\n * Lo-Dash 2.4.1 (Custom Build) \n * Build: `lodash modularize modern exports=\"node\" -o ./modern/`\n * Copyright 2012-2013 The Dojo Foundation \n * Based on Underscore.js 1.5.2 \n * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/**\n * Creates a \"_.pluck\" style function, which returns the `key` value of a\n * given object.\n *\n * @static\n * @memberOf _\n * @category Utilities\n * @param {string} key The name of the property to retrieve.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var characters = [\n * { 'name': 'fred', 'age': 40 },\n * { 'name': 'barney', 'age': 36 }\n * ];\n *\n * var getName = _.property('name');\n *\n * _.map(characters, getName);\n * // => ['barney', 'fred']\n *\n * _.sortBy(characters, getName);\n * // => [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred', 'age': 40 }]\n */\nfunction property(key) {\n return function(object) {\n return object[key];\n };\n}\n\nmodule.exports = property;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nfunction EventEmitter() {\n this._events = this._events || {};\n this._maxListeners = this._maxListeners || undefined;\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nEventEmitter.defaultMaxListeners = 10;\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function(n) {\n if (!isNumber(n) || n < 0 || isNaN(n))\n throw TypeError('n must be a positive number');\n this._maxListeners = n;\n return this;\n};\n\nEventEmitter.prototype.emit = function(type) {\n var er, handler, len, args, i, listeners;\n\n if (!this._events)\n this._events = {};\n\n // If there is no 'error' event listener then throw.\n if (type === 'error') {\n if (!this._events.error ||\n (isObject(this._events.error) && !this._events.error.length)) {\n er = arguments[1];\n if (er instanceof Error) {\n throw er; // Unhandled 'error' event\n } else {\n throw TypeError('Uncaught, unspecified \"error\" event.');\n }\n return false;\n }\n }\n\n handler = this._events[type];\n\n if (isUndefined(handler))\n return false;\n\n if (isFunction(handler)) {\n switch (arguments.length) {\n // fast cases\n case 1:\n handler.call(this);\n break;\n case 2:\n handler.call(this, arguments[1]);\n break;\n case 3:\n handler.call(this, arguments[1], arguments[2]);\n break;\n // slower\n default:\n len = arguments.length;\n args = new Array(len - 1);\n for (i = 1; i < len; i++)\n args[i - 1] = arguments[i];\n handler.apply(this, args);\n }\n } else if (isObject(handler)) {\n len = arguments.length;\n args = new Array(len - 1);\n for (i = 1; i < len; i++)\n args[i - 1] = arguments[i];\n\n listeners = handler.slice();\n len = listeners.length;\n for (i = 0; i < len; i++)\n listeners[i].apply(this, args);\n }\n\n return true;\n};\n\nEventEmitter.prototype.addListener = function(type, listener) {\n var m;\n\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n if (!this._events)\n this._events = {};\n\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (this._events.newListener)\n this.emit('newListener', type,\n isFunction(listener.listener) ?\n listener.listener : listener);\n\n if (!this._events[type])\n // Optimize the case of one listener. Don't need the extra array object.\n this._events[type] = listener;\n else if (isObject(this._events[type]))\n // If we've already got an array, just append.\n this._events[type].push(listener);\n else\n // Adding the second element, need to change to array.\n this._events[type] = [this._events[type], listener];\n\n // Check for listener leak\n if (isObject(this._events[type]) && !this._events[type].warned) {\n var m;\n if (!isUndefined(this._maxListeners)) {\n m = this._maxListeners;\n } else {\n m = EventEmitter.defaultMaxListeners;\n }\n\n if (m && m > 0 && this._events[type].length > m) {\n this._events[type].warned = true;\n console.error('(node) warning: possible EventEmitter memory ' +\n 'leak detected. %d listeners added. ' +\n 'Use emitter.setMaxListeners() to increase limit.',\n this._events[type].length);\n if (typeof console.trace === 'function') {\n // not supported in IE 10\n console.trace();\n }\n }\n }\n\n return this;\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.once = function(type, listener) {\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n var fired = false;\n\n function g() {\n this.removeListener(type, g);\n\n if (!fired) {\n fired = true;\n listener.apply(this, arguments);\n }\n }\n\n g.listener = listener;\n this.on(type, g);\n\n return this;\n};\n\n// emits a 'removeListener' event iff the listener was removed\nEventEmitter.prototype.removeListener = function(type, listener) {\n var list, position, length, i;\n\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n if (!this._events || !this._events[type])\n return this;\n\n list = this._events[type];\n length = list.length;\n position = -1;\n\n if (list === listener ||\n (isFunction(list.listener) && list.listener === listener)) {\n delete this._events[type];\n if (this._events.removeListener)\n this.emit('removeListener', type, listener);\n\n } else if (isObject(list)) {\n for (i = length; i-- > 0;) {\n if (list[i] === listener ||\n (list[i].listener && list[i].listener === listener)) {\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (list.length === 1) {\n list.length = 0;\n delete this._events[type];\n } else {\n list.splice(position, 1);\n }\n\n if (this._events.removeListener)\n this.emit('removeListener', type, listener);\n }\n\n return this;\n};\n\nEventEmitter.prototype.removeAllListeners = function(type) {\n var key, listeners;\n\n if (!this._events)\n return this;\n\n // not listening for removeListener, no need to emit\n if (!this._events.removeListener) {\n if (arguments.length === 0)\n this._events = {};\n else if (this._events[type])\n delete this._events[type];\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n for (key in this._events) {\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = {};\n return this;\n }\n\n listeners = this._events[type];\n\n if (isFunction(listeners)) {\n this.removeListener(type, listeners);\n } else {\n // LIFO order\n while (listeners.length)\n this.removeListener(type, listeners[listeners.length - 1]);\n }\n delete this._events[type];\n\n return this;\n};\n\nEventEmitter.prototype.listeners = function(type) {\n var ret;\n if (!this._events || !this._events[type])\n ret = [];\n else if (isFunction(this._events[type]))\n ret = [this._events[type]];\n else\n ret = this._events[type].slice();\n return ret;\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n var ret;\n if (!emitter._events || !emitter._events[type])\n ret = 0;\n else if (isFunction(emitter._events[type]))\n ret = 1;\n else\n ret = emitter._events[type].length;\n return ret;\n};\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\n","module.exports = \"1.4.1\""],"sourceRoot":"webpack-module://"} \ No newline at end of file diff --git a/examples/async/app/bundle.js b/examples/async/app/bundle.js index e5a0419..33134f5 100644 --- a/examples/async/app/bundle.js +++ b/examples/async/app/bundle.js @@ -1,6 +1,6 @@ -!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){var r=n(202),o=n(104);window.React=r;var i={load:function(e){setTimeout(function(){e(_.range(10).map(Faker.Company.catchPhrase))},1e3)},submit:function(e,t,n){setTimeout(function(){Math.random()>.5?t(e):n("Failed to "+Faker.Company.bs())},1e3)}},a={LOAD_BUZZ:"LOAD_BUZZ",LOAD_BUZZ_SUCCESS:"LOAD_BUZZ_SUCCESS",LOAD_BUZZ_FAIL:"LOAD_BUZZ_FAIL",ADD_BUZZ:"ADD_BUZZ",ADD_BUZZ_SUCCESS:"ADD_BUZZ_SUCCESS",ADD_BUZZ_FAIL:"ADD_BUZZ_FAIL"},s=0,u={loadBuzz:function(){this.dispatch(a.LOAD_BUZZ),i.load(function(e){this.dispatch(a.LOAD_BUZZ_SUCCESS,{words:e})}.bind(this),function(e){this.dispatch(a.LOAD_BUZZ_FAIL,{error:e})}.bind(this))},addBuzz:function(e){var t=s++;this.dispatch(a.ADD_BUZZ,{id:t,word:e}),i.submit(e,function(){this.dispatch(a.ADD_BUZZ_SUCCESS,{id:t})}.bind(this),function(e){this.dispatch(a.ADD_BUZZ_FAIL,{id:t,error:e})}.bind(this))}},c=o.createStore({initialize:function(){this.loading=!1,this.adding=!1,this.error=null,this.words=[],this.loadingWords={},this.bindActions(a.LOAD_BUZZ,this.onLoadBuzz,a.LOAD_BUZZ_SUCCESS,this.onLoadBuzzSuccess,a.LOAD_BUZZ_FAIL,this.onLoadBuzzFail,a.ADD_BUZZ,this.onAddBuzz,a.ADD_BUZZ_SUCCESS,this.onAddBuzzSuccess,a.ADD_BUZZ_FAIL,this.onAddBuzzFail)},onLoadBuzz:function(){this.loading=!0,this.words=[],this.error=null,this.emit("change")},onLoadBuzzSuccess:function(e){this.loading=!1,this.words=e.words.map(function(e){return{word:e,status:"OK"}}),this.emit("change")},onLoadBuzzFail:function(e){this.loading=!1,this.error=e.error,this.emit("change")},onAddBuzz:function(e){var t={word:e.word,status:"ADDING"};this.words.push(t),this.loadingWords[e.id]=t,this.emit("change")},onAddBuzzSuccess:function(e){this.loadingWords[e.id].status="OK",delete this.loadingWords[e.id],this.emit("change")},onAddBuzzFail:function(e){this.loadingWords[e.id].status="ERROR",this.loadingWords[e.id].error=e.error,delete this.loadingWords[e.id],this.emit("change")}}),l={BuzzwordStore:new c},p=new o.Flux(l,u);window.flux=p;var d=o.FluxMixin(r),f=o.StoreWatchMixin,h=r.createClass({displayName:"Application",mixins:[d,f("BuzzwordStore")],getInitialState:function(){return{suggestBuzzword:""}},getStateFromFlux:function(){var e=this.getFlux().store("BuzzwordStore");return{loading:e.loading,error:e.error,words:e.words}},render:function(){return r.DOM.div(null,r.DOM.h1(null,"All the Buzzwords"),this.state.error?"Error loading data":null,r.DOM.ul({style:{lineHeight:"1.3em",minHeight:"13em"}},this.state.loading?r.DOM.li(null,"Loading..."):null,this.state.words.map(function(e){return v({word:e})})),r.DOM.h2(null,"Suggest a New Buzzword"),r.DOM.form({onSubmit:this.handleSubmitForm},r.DOM.input({type:"text",value:this.state.suggestBuzzword,onChange:this.handleSuggestedWordChange}),r.DOM.input({type:"submit",value:"Add"})))},componentDidMount:function(){this.getFlux().actions.loadBuzz()},handleSuggestedWordChange:function(e){this.setState({suggestBuzzword:e.target.value})},handleSubmitForm:function(e){e.preventDefault(),this.state.suggestBuzzword.trim()&&(this.getFlux().actions.addBuzz(this.state.suggestBuzzword),this.setState({suggestBuzzword:""}))}}),v=r.createClass({displayName:"Word",render:function(){var e,t={};switch(this.props.word.status){case"OK":e="";break;case"ADDING":e="adding...",t={color:"#ccc"};break;case"ERROR":e="error: "+this.props.word.error,t={color:"red"}}return r.DOM.li({key:this.props.word.word},this.props.word.word," ",r.DOM.span({style:t},e))}});r.renderComponent(h({flux:p}),document.getElementById("app"))},function(e){function t(){}var n=e.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var n=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),n.length>0)){var r=n.shift();r()}},!0),function(e){n.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=t,n.once=t,n.off=t,n.emit=t,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},function(e,t,n){(function(t){"use strict";var n=function(e,n,r,o,i,a,s,u){if("production"!==t.env.NODE_ENV&&void 0===n)throw new Error("invariant requires an error message argument");if(!e){var c;if(void 0===n)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[r,o,i,a,s,u],p=0;c=new Error("Invariant Violation: "+n.replace(/%s/g,function(){return l[p++]}))}throw c.framesToPop=1,c}};e.exports=n}).call(t,n(1))},function(e){"use strict";var t=!("undefined"==typeof window||!window.document||!window.document.createElement),n={canUseDOM:t,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:t&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:t&&!!window.screen,isInWorker:!t};e.exports=n},function(e,t,n){"use strict";var r=n(19),o=r({bubbled:null,captured:null}),i=r({topBlur:null,topChange:null,topClick:null,topCompositionEnd:null,topCompositionStart:null,topCompositionUpdate:null,topContextMenu:null,topCopy:null,topCut:null,topDoubleClick:null,topDrag:null,topDragEnd:null,topDragEnter:null,topDragExit:null,topDragLeave:null,topDragOver:null,topDragStart:null,topDrop:null,topError:null,topFocus:null,topInput:null,topKeyDown:null,topKeyPress:null,topKeyUp:null,topLoad:null,topMouseDown:null,topMouseMove:null,topMouseOut:null,topMouseOver:null,topMouseUp:null,topPaste:null,topReset:null,topScroll:null,topSelectionChange:null,topSubmit:null,topTextInput:null,topTouchCancel:null,topTouchEnd:null,topTouchMove:null,topTouchStart:null,topWheel:null}),a={topLevelTypes:i,PropagationPhases:o};e.exports=a},function(e,t,n){"use strict";var r=n(60),o=function(e,t){var n={};return r(n,e),r(n,t),n};e.exports=o},function(e,t,n){(function(t){"use strict";var r=n(51),o=n(10),i=n(2),a={getDOMNode:function(){return"production"!==t.env.NODE_ENV?i(this.isMounted(),"getDOMNode(): A component must be mounted to have a DOM node."):i(this.isMounted()),r.isNullComponentID(this._rootNodeID)?null:o.getNode(this._rootNodeID)}};e.exports=a}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function r(e){var t=e._owner||null;return t&&t.constructor&&t.constructor.displayName?" Check the render method of `"+t.constructor.displayName+"`.":""}function o(e,n,r){for(var o in n)n.hasOwnProperty(o)&&("production"!==t.env.NODE_ENV?x("function"==typeof n[o],"%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.",e.displayName||"ReactCompositeComponent",b[r],o):x("function"==typeof n[o]))}function i(e,n){var r=V.hasOwnProperty(n)?V[n]:null;j.hasOwnProperty(n)&&("production"!==t.env.NODE_ENV?x(r===A.OVERRIDE_BASE,"ReactCompositeComponentInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.",n):x(r===A.OVERRIDE_BASE)),e.hasOwnProperty(n)&&("production"!==t.env.NODE_ENV?x(r===A.DEFINE_MANY||r===A.DEFINE_MANY_MERGED,"ReactCompositeComponentInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",n):x(r===A.DEFINE_MANY||r===A.DEFINE_MANY_MERGED))}function a(e){var n=e._compositeLifeCycleState;"production"!==t.env.NODE_ENV?x(e.isMounted()||n===U.MOUNTING,"replaceState(...): Can only update a mounted or mounting component."):x(e.isMounted()||n===U.MOUNTING),"production"!==t.env.NODE_ENV?x(n!==U.RECEIVING_STATE,"replaceState(...): Cannot update during an existing state transition (such as within `render`). This could potentially cause an infinite loop so it is forbidden."):x(n!==U.RECEIVING_STATE),"production"!==t.env.NODE_ENV?x(n!==U.UNMOUNTING,"replaceState(...): Cannot update while unmounting component. This usually means you called setState() on an unmounted component."):x(n!==U.UNMOUNTING)}function s(e,n){"production"!==t.env.NODE_ENV?x(!v.isValidFactory(n),"ReactCompositeComponent: You're attempting to use a component class as a mixin. Instead, just use a regular object."):x(!v.isValidFactory(n)),"production"!==t.env.NODE_ENV?x(!v.isValidDescriptor(n),"ReactCompositeComponent: You're attempting to use a component as a mixin. Instead, just use a regular object."):x(!v.isValidDescriptor(n));var r=e.prototype;for(var o in n){var a=n[o];if(n.hasOwnProperty(o))if(i(r,o),L.hasOwnProperty(o))L[o](e,a);else{var s=V.hasOwnProperty(o),u=r.hasOwnProperty(o),c=a&&a.__reactDontBind,d="function"==typeof a,f=d&&!s&&!u&&!c;if(f)r.__reactAutoBindMap||(r.__reactAutoBindMap={}),r.__reactAutoBindMap[o]=a,r[o]=a;else if(u){var h=V[o];"production"!==t.env.NODE_ENV?x(s&&(h===A.DEFINE_MANY_MERGED||h===A.DEFINE_MANY),"ReactCompositeComponent: Unexpected spec policy %s for key %s when mixing in component specs.",h,o):x(s&&(h===A.DEFINE_MANY_MERGED||h===A.DEFINE_MANY)),h===A.DEFINE_MANY_MERGED?r[o]=l(r[o],a):h===A.DEFINE_MANY&&(r[o]=p(r[o],a))}else r[o]=a,"production"!==t.env.NODE_ENV&&"function"==typeof a&&n.displayName&&(r[o].displayName=n.displayName+"_"+o)}}}function u(e,n){if(n)for(var r in n){var o=n[r];if(n.hasOwnProperty(r)){var i=r in e,a=o;if(i){var s=e[r],u=typeof s,c=typeof o;"production"!==t.env.NODE_ENV?x("function"===u&&"function"===c,"ReactCompositeComponent: You are attempting to define `%s` on your component more than once, but that is only supported for functions, which are chained together. This conflict may be due to a mixin.",r):x("function"===u&&"function"===c),a=p(s,o)}e[r]=a}}}function c(e,n){return"production"!==t.env.NODE_ENV?x(e&&n&&"object"==typeof e&&"object"==typeof n,"mergeObjectsWithNoDuplicateKeys(): Cannot merge non-objects"):x(e&&n&&"object"==typeof e&&"object"==typeof n),R(n,function(n,r){"production"!==t.env.NODE_ENV?x(void 0===e[r],"mergeObjectsWithNoDuplicateKeys(): Tried to merge two objects with the same key: %s",r):x(void 0===e[r]),e[r]=n}),e}function l(e,t){return function(){var n=e.apply(this,arguments),r=t.apply(this,arguments);return null==n?r:null==r?n:c(n,r)}}function p(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}var d=n(27),f=n(50),h=n(28),v=n(9),m=n(80),g=n(51),y=n(161),E=n(84),N=n(12),_=n(165),D=n(86),b=n(85),C=n(30),w=n(43),x=n(2),O=n(19),M=n(5),T=n(11),I=n(61),R=n(99),S=n(62),P=n(14),A=O({DEFINE_ONCE:null,DEFINE_MANY:null,OVERRIDE_BASE:null,DEFINE_MANY_MERGED:null}),k=[],V={mixins:A.DEFINE_MANY,statics:A.DEFINE_MANY,propTypes:A.DEFINE_MANY,contextTypes:A.DEFINE_MANY,childContextTypes:A.DEFINE_MANY,getDefaultProps:A.DEFINE_MANY_MERGED,getInitialState:A.DEFINE_MANY_MERGED,getChildContext:A.DEFINE_MANY_MERGED,render:A.DEFINE_ONCE,componentWillMount:A.DEFINE_MANY,componentDidMount:A.DEFINE_MANY,componentWillReceiveProps:A.DEFINE_MANY,shouldComponentUpdate:A.DEFINE_ONCE,componentWillUpdate:A.DEFINE_MANY,componentDidUpdate:A.DEFINE_MANY,componentWillUnmount:A.DEFINE_MANY,updateComponent:A.OVERRIDE_BASE},L={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n1){for(var i=Array(o),c=0;o>c;c++)i[c]=arguments[c+1];e.children=i}var p=Object.create(n);return p._owner=s.current,p._context=a.current,"production"!==t.env.NODE_ENV&&(p._store={validated:!1,props:e},l)?(Object.freeze(p),p):(p.props=e,p)};return r.prototype=n,r.type=e,n.type=e,i(r,e),n.constructor=r,r},p.cloneAndReplaceProps=function(e,n){var r=Object.create(e.constructor.prototype);return r._owner=e._owner,r._context=e._context,"production"!==t.env.NODE_ENV&&(r._store={validated:e._store.validated,props:n},l)?(Object.freeze(r),r):(r.props=n,r)},p.isValidFactory=function(e){return"function"==typeof e&&e.prototype instanceof p},p.isValidDescriptor=function(e){return e instanceof p},e.exports=p}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function r(e){var t=E(e);return t&&A.getID(t)}function o(e){var n=i(e);if(n)if(x.hasOwnProperty(n)){var r=x[n];r!==e&&("production"!==t.env.NODE_ENV?_(!u(r,n),"ReactMount: Two valid but unequal nodes with the same `%s`: %s",w,n):_(!u(r,n)),x[n]=e)}else x[n]=e;return n}function i(e){return e&&e.getAttribute&&e.getAttribute(w)||""}function a(e,t){var n=i(e);n!==t&&delete x[n],e.setAttribute(w,t),x[t]=e}function s(e){return x.hasOwnProperty(e)&&u(x[e],e)||(x[e]=A.findReactNodeByID(e)),x[e]}function u(e,n){if(e){"production"!==t.env.NODE_ENV?_(i(e)===n,"ReactMount: Unexpected modification of `%s`",w):_(i(e)===n);var r=A.findReactContainerForID(n);if(r&&y(r,e))return!0}return!1}function c(e){delete x[e]}function l(e){var t=x[e];return t&&u(t,e)?void(P=t):!1}function p(e){P=null,m.traverseAncestors(e,l);var t=P;return P=null,t}var d=n(17),f=n(26),h=n(28),v=n(9),m=n(29),g=n(12),y=n(92),E=n(96),N=n(43),_=n(2),D=n(62),b=n(14),C=m.SEPARATOR,w=d.ID_ATTRIBUTE_NAME,x={},O=1,M=9,T={},I={};if("production"!==t.env.NODE_ENV)var R={};var S=[],P=null,A={_instancesByReactRootID:T,scrollMonitor:function(e,t){t()},_updateRootComponent:function(e,n,o,i){var a=n.props;return A.scrollMonitor(o,function(){e.replaceProps(a,i)}),"production"!==t.env.NODE_ENV&&(R[r(o)]=E(o)),e},_registerComponent:function(e,n){"production"!==t.env.NODE_ENV?_(n&&(n.nodeType===O||n.nodeType===M),"_registerComponent(...): Target container is not a DOM element."):_(n&&(n.nodeType===O||n.nodeType===M)),f.ensureScrollValueMonitoring();var r=A.registerContainer(n);return T[r]=e,r},_renderNewRootComponent:g.measure("ReactMount","_renderNewRootComponent",function(e,n,r){"production"!==t.env.NODE_ENV?b(null==h.current,"_renderNewRootComponent(): Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate."):null;var o=N(e),i=A._registerComponent(o,n);return o.mountComponentIntoNode(i,n,r),"production"!==t.env.NODE_ENV&&(R[i]=E(n)),o}),renderComponent:function(e,n,o){"production"!==t.env.NODE_ENV?_(v.isValidDescriptor(e),"renderComponent(): Invalid component descriptor.%s",v.isValidFactory(e)?" Instead of passing a component class, make sure to instantiate it first by calling it with props.":"undefined"!=typeof e.props?" This may be caused by unintentionally loading two independent copies of React.":""):_(v.isValidDescriptor(e));var i=T[r(n)];if(i){var a=i._descriptor;if(D(a,e))return A._updateRootComponent(i,e,n,o);A.unmountComponentAtNode(n)}var s=E(n),u=s&&A.isRenderedByReact(s),c=u&&!i,l=A._renderNewRootComponent(e,n,c);return o&&o.call(l),l},constructAndRenderComponent:function(e,t,n){return A.renderComponent(e(t),n)},constructAndRenderComponentByID:function(e,n,r){var o=document.getElementById(r);return"production"!==t.env.NODE_ENV?_(o,'Tried to get element with id of "%s" but it is not present on the page.',r):_(o),A.constructAndRenderComponent(e,n,o)},registerContainer:function(e){var t=r(e);return t&&(t=m.getReactRootIDFromNodeID(t)),t||(t=m.createReactRootID()),I[t]=e,t},unmountComponentAtNode:function(e){"production"!==t.env.NODE_ENV?b(null==h.current,"unmountComponentAtNode(): Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate."):null;var n=r(e),o=T[n];return o?(A.unmountComponentFromNode(o,e),delete T[n],delete I[n],"production"!==t.env.NODE_ENV&&delete R[n],!0):!1},unmountComponentFromNode:function(e,t){for(e.unmountComponent(),t.nodeType===M&&(t=t.documentElement);t.lastChild;)t.removeChild(t.lastChild)},findReactContainerForID:function(e){var n=m.getReactRootIDFromNodeID(e),r=I[n];if("production"!==t.env.NODE_ENV){var o=R[n];if(o&&o.parentNode!==r){"production"!==t.env.NODE_ENV?_(i(o)===n,"ReactMount: Root element ID differed from reactRootID."):_(i(o)===n);var a=r.firstChild;a&&n===i(a)?R[n]=a:console.warn("ReactMount: Root element has been removed from its original container. New container:",o.parentNode)}}return r},findReactNodeByID:function(e){var t=A.findReactContainerForID(e);return A.findComponentRoot(t,e)},isRenderedByReact:function(e){if(1!==e.nodeType)return!1;var t=A.getID(e);return t?t.charAt(0)===C:!1},getFirstReactDOM:function(e){for(var t=e;t&&t.parentNode!==t;){if(A.isRenderedByReact(t))return t;t=t.parentNode}return null},findComponentRoot:function(e,n){var r=S,o=0,i=p(n)||e;for(r[0]=i.firstChild,r.length=1;o when using tables, nesting

or tags, or using non-SVG elements in an parent. Try inspecting the child nodes of the element with React ID `%s`.",n,A.getID(e)):_(!1)},getReactRootID:r,getID:o,setID:a,getNode:s,purgeID:c};e.exports=A}).call(t,n(1))},function(e){"use strict";var t=function(e,t){var n;for(n in t)t.hasOwnProperty(n)&&(e.prototype[n]=t[n])};e.exports=t},function(e,t,n){(function(t){"use strict";function n(e,t,n){return n}var r={enableMeasure:!1,storedMeasure:n,measure:function(e,n,o){if("production"!==t.env.NODE_ENV){var i=null;return function(){return r.enableMeasure?(i||(i=r.storedMeasure(e,n,o)),i.apply(this,arguments)):o.apply(this,arguments)}}return o},injection:{injectMeasure:function(e){r.storedMeasure=e}}};e.exports=r}).call(t,n(1))},function(e,t,n){function r(e){return function(){return e}}function o(){}var i=n(182);i(o,{thatReturns:r,thatReturnsFalse:r(!1),thatReturnsTrue:r(!0),thatReturnsNull:r(null),thatReturnsThis:function(){return this},thatReturnsArgument:function(e){return e}}),e.exports=o},function(e,t,n){(function(t){"use strict";var r=n(13),o=r;"production"!==t.env.NODE_ENV&&(o=function(e,t){var n=Array.prototype.slice.call(arguments,2);if(void 0===t)throw new Error("`warning(condition, format, ...args)` requires a warning message argument");if(!e){var r=0;console.warn("Warning: "+t.replace(/%s/g,function(){return n[r++]}))}}),e.exports=o}).call(t,n(1))},function(e,t,n){(function(t){"use strict";var r=n(2),o=function(e){var t=this;if(t.instancePool.length){var n=t.instancePool.pop();return t.call(n,e),n}return new t(e)},i=function(e,t){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,e,t),r}return new n(e,t)},a=function(e,t,n){var r=this;if(r.instancePool.length){var o=r.instancePool.pop();return r.call(o,e,t,n),o}return new r(e,t,n)},s=function(e,t,n,r,o){var i=this;if(i.instancePool.length){var a=i.instancePool.pop();return i.call(a,e,t,n,r,o),a}return new i(e,t,n,r,o)},u=function(e){var n=this;"production"!==t.env.NODE_ENV?r(e instanceof n,"Trying to release an instance into a pool of a different type."):r(e instanceof n),e.destructor&&e.destructor(),n.instancePool.lengtht||o.hasOverloadedBooleanValue[e]&&t===!1}var o=n(17),i=n(54),a=n(100),s=n(14),u=a(function(e){return i(e)+'="'});if("production"!==t.env.NODE_ENV)var c={children:!0,dangerouslySetInnerHTML:!0,key:!0,ref:!0},l={},p=function(e){if(!(c.hasOwnProperty(e)&&c[e]||l.hasOwnProperty(e)&&l[e])){l[e]=!0;var n=e.toLowerCase(),r=o.isCustomAttribute(n)?n:o.getPossibleStandardName.hasOwnProperty(n)?o.getPossibleStandardName[n]:null;"production"!==t.env.NODE_ENV?s(null==r,"Unknown DOM property "+e+". Did you mean "+r+"?"):null}};var d={createMarkupForID:function(e){return u(o.ID_ATTRIBUTE_NAME)+i(e)+'"'},createMarkupForProperty:function(e,n){if(o.isStandardName.hasOwnProperty(e)&&o.isStandardName[e]){if(r(e,n))return"";var a=o.getAttributeName[e];return o.hasBooleanValue[e]||o.hasOverloadedBooleanValue[e]&&n===!0?i(a):u(a)+i(n)+'"'}return o.isCustomAttribute(e)?null==n?"":u(e)+i(n)+'"':("production"!==t.env.NODE_ENV&&p(e),null)},setValueForProperty:function(e,n,i){if(o.isStandardName.hasOwnProperty(n)&&o.isStandardName[n]){var a=o.getMutationMethod[n];if(a)a(e,i);else if(r(n,i))this.deleteValueForProperty(e,n);else if(o.mustUseAttribute[n])e.setAttribute(o.getAttributeName[n],""+i);else{var s=o.getPropertyName[n];o.hasSideEffects[n]&&e[s]===i||(e[s]=i)}}else o.isCustomAttribute(n)?null==i?e.removeAttribute(n):e.setAttribute(n,""+i):"production"!==t.env.NODE_ENV&&p(n)},deleteValueForProperty:function(e,n){if(o.isStandardName.hasOwnProperty(n)&&o.isStandardName[n]){var r=o.getMutationMethod[n];if(r)r(e,void 0);else if(o.mustUseAttribute[n])e.removeAttribute(o.getAttributeName[n]);else{var i=o.getPropertyName[n],a=o.getDefaultValueForProperty(e.nodeName,i);o.hasSideEffects[n]&&e[i]===a||(e[i]=a)}}else o.isCustomAttribute(n)?e.removeAttribute(n):"production"!==t.env.NODE_ENV&&p(n)}};e.exports=d}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function r(e,t,n){var r=t.dispatchConfig.phasedRegistrationNames[n];return m(e,r)}function o(e,n,o){if("production"!==t.env.NODE_ENV&&!e)throw new Error("Dispatching id must not be null");var i=n?v.bubbled:v.captured,a=r(e,o,i);a&&(o._dispatchListeners=f(o._dispatchListeners,a),o._dispatchIDs=f(o._dispatchIDs,e))}function i(e){e&&e.dispatchConfig.phasedRegistrationNames&&d.injection.getInstanceHandle().traverseTwoPhase(e.dispatchMarker,o,e)}function a(e,t,n){if(n&&n.dispatchConfig.registrationName){var r=n.dispatchConfig.registrationName,o=m(e,r);o&&(n._dispatchListeners=f(n._dispatchListeners,o),n._dispatchIDs=f(n._dispatchIDs,e))}}function s(e){e&&e.dispatchConfig.registrationName&&a(e.dispatchMarker,null,e)}function u(e){h(e,i)}function c(e,t,n,r){d.injection.getInstanceHandle().traverseEnterLeave(n,r,a,e,t)}function l(e){h(e,s)}var p=n(4),d=n(34),f=n(53),h=n(55),v=p.PropagationPhases,m=d.getListener,g={accumulateTwoPhaseDispatches:u,accumulateDirectDispatches:l,accumulateEnterLeaveDispatches:c};e.exports=g}).call(t,n(1))},function(e,t,n){"use strict";function r(e){return Object.prototype.hasOwnProperty.call(e,v)||(e[v]=f++,p[e[v]]={}),p[e[v]]}var o=n(4),i=n(34),a=n(77),s=n(162),u=n(91),c=n(59),l=n(5),p={},d=!1,f=0,h={topBlur:"blur",topChange:"change",topClick:"click",topCompositionEnd:"compositionend",topCompositionStart:"compositionstart",topCompositionUpdate:"compositionupdate",topContextMenu:"contextmenu",topCopy:"copy",topCut:"cut",topDoubleClick:"dblclick",topDrag:"drag",topDragEnd:"dragend",topDragEnter:"dragenter",topDragExit:"dragexit",topDragLeave:"dragleave",topDragOver:"dragover",topDragStart:"dragstart",topDrop:"drop",topFocus:"focus",topInput:"input",topKeyDown:"keydown",topKeyPress:"keypress",topKeyUp:"keyup",topMouseDown:"mousedown",topMouseMove:"mousemove",topMouseOut:"mouseout",topMouseOver:"mouseover",topMouseUp:"mouseup",topPaste:"paste",topScroll:"scroll",topSelectionChange:"selectionchange",topTextInput:"textInput",topTouchCancel:"touchcancel",topTouchEnd:"touchend",topTouchMove:"touchmove",topTouchStart:"touchstart",topWheel:"wheel"},v="_reactListenersID"+String(Math.random()).slice(2),m=l(s,{ReactEventListener:null,injection:{injectReactEventListener:function(e){e.setHandleTopLevel(m.handleTopLevel),m.ReactEventListener=e}},setEnabled:function(e){m.ReactEventListener&&m.ReactEventListener.setEnabled(e)},isEnabled:function(){return!(!m.ReactEventListener||!m.ReactEventListener.isEnabled())},listenTo:function(e,t){for(var n=t,i=r(n),s=a.registrationNameDependencies[e],u=o.topLevelTypes,l=0,p=s.length;p>l;l++){var d=s[l];i.hasOwnProperty(d)&&i[d]||(d===u.topWheel?c("wheel")?m.ReactEventListener.trapBubbledEvent(u.topWheel,"wheel",n):c("mousewheel")?m.ReactEventListener.trapBubbledEvent(u.topWheel,"mousewheel",n):m.ReactEventListener.trapBubbledEvent(u.topWheel,"DOMMouseScroll",n):d===u.topScroll?c("scroll",!0)?m.ReactEventListener.trapCapturedEvent(u.topScroll,"scroll",n):m.ReactEventListener.trapBubbledEvent(u.topScroll,"scroll",m.ReactEventListener.WINDOW_HANDLE):d===u.topFocus||d===u.topBlur?(c("focus",!0)?(m.ReactEventListener.trapCapturedEvent(u.topFocus,"focus",n),m.ReactEventListener.trapCapturedEvent(u.topBlur,"blur",n)):c("focusin")&&(m.ReactEventListener.trapBubbledEvent(u.topFocus,"focusin",n),m.ReactEventListener.trapBubbledEvent(u.topBlur,"focusout",n)),i[u.topBlur]=!0,i[u.topFocus]=!0):h.hasOwnProperty(d)&&m.ReactEventListener.trapBubbledEvent(d,h[d],n),i[d]=!0)}},trapBubbledEvent:function(e,t,n){return m.ReactEventListener.trapBubbledEvent(e,t,n)},trapCapturedEvent:function(e,t,n){return m.ReactEventListener.trapCapturedEvent(e,t,n)},ensureScrollValueMonitoring:function(){if(!d){var e=u.refreshScrollValues;m.ReactEventListener.monitorScrollValue(e),d=!0}},eventNameDispatchConfigs:i.eventNameDispatchConfigs,registrationNameModules:i.registrationNameModules,putListener:i.putListener,getListener:i.getListener,deleteListener:i.deleteListener,deleteAllListeners:i.deleteAllListeners});e.exports=m},function(e,t,n){(function(t){"use strict";var r=n(9),o=n(84),i=n(30),a=n(2),s=n(19),u=n(5),c=s({MOUNTED:null,UNMOUNTED:null}),l=!1,p=null,d=null,f={injection:{injectEnvironment:function(e){"production"!==t.env.NODE_ENV?a(!l,"ReactComponent: injectEnvironment() can only be called once."):a(!l),d=e.mountImageIntoNode,p=e.unmountIDFromEnvironment,f.BackendIDOperations=e.BackendIDOperations,l=!0}},LifeCycle:c,BackendIDOperations:null,Mixin:{isMounted:function(){return this._lifeCycleState===c.MOUNTED},setProps:function(e,t){var n=this._pendingDescriptor||this._descriptor;this.replaceProps(u(n.props,e),t)},replaceProps:function(e,n){"production"!==t.env.NODE_ENV?a(this.isMounted(),"replaceProps(...): Can only update a mounted component."):a(this.isMounted()),"production"!==t.env.NODE_ENV?a(0===this._mountDepth,"replaceProps(...): You called `setProps` or `replaceProps` on a component with a parent. This is an anti-pattern since props will get reactively updated when rendered. Instead, change the owner's `render` method to pass the correct value as props to the component where it is created."):a(0===this._mountDepth),this._pendingDescriptor=r.cloneAndReplaceProps(this._pendingDescriptor||this._descriptor,e),i.enqueueUpdate(this,n)},_setPropsInternal:function(e,t){var n=this._pendingDescriptor||this._descriptor;this._pendingDescriptor=r.cloneAndReplaceProps(n,u(n.props,e)),i.enqueueUpdate(this,t)},construct:function(e){this.props=e.props,this._owner=e._owner,this._lifeCycleState=c.UNMOUNTED,this._pendingCallbacks=null,this._descriptor=e,this._pendingDescriptor=null},mountComponent:function(e,n,r){"production"!==t.env.NODE_ENV?a(!this.isMounted(),"mountComponent(%s, ...): Can only mount an unmounted component. Make sure to avoid storing components between renders or reusing a single component instance in multiple places.",e):a(!this.isMounted());var i=this._descriptor.props;if(null!=i.ref){var s=this._descriptor._owner;o.addComponentAsRefTo(this,i.ref,s)}this._rootNodeID=e,this._lifeCycleState=c.MOUNTED,this._mountDepth=r},unmountComponent:function(){"production"!==t.env.NODE_ENV?a(this.isMounted(),"unmountComponent(): Can only unmount a mounted component."):a(this.isMounted());var e=this.props;null!=e.ref&&o.removeComponentAsRefFrom(this,e.ref,this._owner),p(this._rootNodeID),this._rootNodeID=null,this._lifeCycleState=c.UNMOUNTED},receiveComponent:function(e,n){"production"!==t.env.NODE_ENV?a(this.isMounted(),"receiveComponent(...): Can only update a mounted component."):a(this.isMounted()),this._pendingDescriptor=e,this.performUpdateIfNecessary(n)},performUpdateIfNecessary:function(e){if(null!=this._pendingDescriptor){var t=this._descriptor,n=this._pendingDescriptor;this._descriptor=n,this.props=n.props,this._owner=n._owner,this._pendingDescriptor=null,this.updateComponent(e,t)}},updateComponent:function(e,t){var n=this._descriptor;(n._owner!==t._owner||n.props.ref!==t.props.ref)&&(null!=t.props.ref&&o.removeComponentAsRefFrom(this,t.props.ref,t._owner),null!=n.props.ref&&o.addComponentAsRefTo(this,n.props.ref,n._owner))},mountComponentIntoNode:function(e,t,n){var r=i.ReactReconcileTransaction.getPooled();r.perform(this._mountComponentIntoNode,this,e,t,r,n),i.ReactReconcileTransaction.release(r)},_mountComponentIntoNode:function(e,t,n,r){var o=this.mountComponent(e,n,0);d(o,t,r)},isOwnedBy:function(e){return this._owner===e},getSiblingByRef:function(e){var t=this._owner;return t&&t.refs?t.refs[e]:null}}};e.exports=f}).call(t,n(1))},function(e){"use strict";var t={current:null};e.exports=t},function(e,t,n){(function(t){"use strict";function r(e){return f+e.toString(36)}function o(e,t){return e.charAt(t)===f||t===e.length}function i(e){return""===e||e.charAt(0)===f&&e.charAt(e.length-1)!==f}function a(e,t){return 0===t.indexOf(e)&&o(t,e.length)}function s(e){return e?e.substr(0,e.lastIndexOf(f)):""}function u(e,n){if("production"!==t.env.NODE_ENV?d(i(e)&&i(n),"getNextDescendantID(%s, %s): Received an invalid React DOM ID.",e,n):d(i(e)&&i(n)),"production"!==t.env.NODE_ENV?d(a(e,n),"getNextDescendantID(...): React has made an invalid assumption about the DOM hierarchy. Expected `%s` to be an ancestor of `%s`.",e,n):d(a(e,n)),e===n)return e;for(var r=e.length+h,s=r;s=s;s++)if(o(e,s)&&o(n,s))a=s;else if(e.charAt(s)!==n.charAt(s))break;var u=e.substr(0,a);return"production"!==t.env.NODE_ENV?d(i(u),"getFirstCommonAncestorID(%s, %s): Expected a valid React DOM ID: %s",e,n,u):d(i(u)),u}function l(e,n,r,o,i,c){e=e||"",n=n||"","production"!==t.env.NODE_ENV?d(e!==n,"traverseParentPath(...): Cannot traverse from and to the same ID, `%s`.",e):d(e!==n);var l=a(n,e);"production"!==t.env.NODE_ENV?d(l||a(e,n),"traverseParentPath(%s, %s, ...): Cannot traverse from two IDs that do not have a parent path.",e,n):d(l||a(e,n));for(var p=0,f=l?s:u,h=e;;h=f(h,n)){var m;if(i&&h===e||c&&h===n||(m=r(h,l,o)),m===!1||h===n)break;"production"!==t.env.NODE_ENV?d(p++1){var t=e.indexOf(f,1);return t>-1?e.substr(0,t):e}return null},traverseEnterLeave:function(e,t,n,r,o){var i=c(e,t);i!==e&&l(e,i,n,r,!1,!0),i!==t&&l(i,t,n,o,!0,!1)},traverseTwoPhase:function(e,t,n){e&&(l("",e,t,n,!0,!1),l(e,"",t,n,!1,!0))},traverseAncestors:function(e,t,n){l("",e,t,n,!0,!1)},_getFirstCommonAncestorID:c,_getNextDescendantID:u,isAncestorIDOf:a,SEPARATOR:f};e.exports=m}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function r(){"production"!==t.env.NODE_ENV?h(C.ReactReconcileTransaction&&y,"ReactUpdates: must inject a reconcile transaction class and batching strategy"):h(C.ReactReconcileTransaction&&y)}function o(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=c.getPooled(null),this.reconcileTransaction=C.ReactReconcileTransaction.getPooled()}function i(e,t,n){r(),y.batchedUpdates(e,t,n)}function a(e,t){return e._mountDepth-t._mountDepth}function s(e){var n=e.dirtyComponentsLength;"production"!==t.env.NODE_ENV?h(n===g.length,"Expected flush transaction's stored dirty-components length (%s) to match dirty-components array length (%s).",n,g.length):h(n===g.length),g.sort(a);for(var r=0;n>r;r++){var o=g[r];if(o.isMounted()){var i=o._pendingCallbacks;if(o._pendingCallbacks=null,o.performUpdateIfNecessary(e.reconcileTransaction),i)for(var s=0;so?0:o);++ru;u++){var l=s[u];if(l){var p=l.extractEvents(e,t,n,r);p&&(i=a(i,p))}}return i},enqueueEvents:function(e){e&&(d=a(d,e))},processEventQueue:function(){var e=d;d=null,s(e,f),"production"!==t.env.NODE_ENV?u(!d,"processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented."):u(!d)},__purge:function(){p={}},__getListenerBank:function(){return p}};e.exports=v}).call(t,n(1))},function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=n(18),i=n(57),a={view:function(e){if(e.view)return e.view;var t=i(e);if(null!=t&&t.window===t)return t;var n=t.ownerDocument;return n?n.defaultView||n.parentWindow:window},detail:function(e){return e.detail||0}};o.augmentClass(r,a),e.exports=r},function(e,t,n){function r(e,t,n){var r=-1,a=e?e.length:0;if(t=t&&"undefined"==typeof n?t:o(t,n,3),"number"==typeof a)for(;++rr;r++)e[r].call(n[r]);e.length=0,n.length=0}},reset:function(){this._callbacks=null,this._contexts=null},destructor:function(){this.reset()}}),o.addPoolingTo(r),e.exports=r}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function r(e){return e===g.topMouseUp||e===g.topTouchEnd||e===g.topTouchCancel}function o(e){return e===g.topMouseMove||e===g.topTouchMove}function i(e){return e===g.topMouseDown||e===g.topTouchStart}function a(e,n){var r=e._dispatchListeners,o=e._dispatchIDs;if("production"!==t.env.NODE_ENV&&f(e),Array.isArray(r))for(var i=0;i":">","<":"<",'"':""","'":"'"},o=/[&><"']/g;e.exports=n},function(e){"use strict";var t=function(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)};e.exports=t},function(e){"use strict";function t(e){var t=this,n=t.nativeEvent;if(n.getModifierState)return n.getModifierState(e);var o=r[e.toLowerCase()];return o&&n[o]}function n(){return t}var r={alt:"altKey",control:"ctrlKey",meta:"metaKey",shift:"shiftKey"};e.exports=n},function(e){"use strict";function t(e){var t=e.target||e.srcElement||window;return 3===t.nodeType?t.parentNode:t}e.exports=t},function(e,t,n){"use strict";function r(){return!i&&o.canUseDOM&&(i="textContent"in document.documentElement?"textContent":"innerText"),i}var o=n(3),i=null;e.exports=r},function(e,t,n){"use strict";/** +!function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={exports:{},id:o,loaded:!1};return e[o].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){var o=n(202),r=n(104);window.React=o;var i={load:function(e){setTimeout(function(){e(_.range(10).map(Faker.Company.catchPhrase))},1e3)},submit:function(e,t,n){setTimeout(function(){Math.random()>.5?t(e):n("Failed to "+Faker.Company.bs())},1e3)}},a={LOAD_BUZZ:"LOAD_BUZZ",LOAD_BUZZ_SUCCESS:"LOAD_BUZZ_SUCCESS",LOAD_BUZZ_FAIL:"LOAD_BUZZ_FAIL",ADD_BUZZ:"ADD_BUZZ",ADD_BUZZ_SUCCESS:"ADD_BUZZ_SUCCESS",ADD_BUZZ_FAIL:"ADD_BUZZ_FAIL"},s=0,u={loadBuzz:function(){this.dispatch(a.LOAD_BUZZ),i.load(function(e){this.dispatch(a.LOAD_BUZZ_SUCCESS,{words:e})}.bind(this),function(e){this.dispatch(a.LOAD_BUZZ_FAIL,{error:e})}.bind(this))},addBuzz:function(e){var t=s++;this.dispatch(a.ADD_BUZZ,{id:t,word:e}),i.submit(e,function(){this.dispatch(a.ADD_BUZZ_SUCCESS,{id:t})}.bind(this),function(e){this.dispatch(a.ADD_BUZZ_FAIL,{id:t,error:e})}.bind(this))}},c=r.createStore({initialize:function(){this.loading=!1,this.adding=!1,this.error=null,this.words=[],this.loadingWords={},this.bindActions(a.LOAD_BUZZ,this.onLoadBuzz,a.LOAD_BUZZ_SUCCESS,this.onLoadBuzzSuccess,a.LOAD_BUZZ_FAIL,this.onLoadBuzzFail,a.ADD_BUZZ,this.onAddBuzz,a.ADD_BUZZ_SUCCESS,this.onAddBuzzSuccess,a.ADD_BUZZ_FAIL,this.onAddBuzzFail)},onLoadBuzz:function(){this.loading=!0,this.words=[],this.error=null,this.emit("change")},onLoadBuzzSuccess:function(e){this.loading=!1,this.words=e.words.map(function(e){return{word:e,status:"OK"}}),this.emit("change")},onLoadBuzzFail:function(e){this.loading=!1,this.error=e.error,this.emit("change")},onAddBuzz:function(e){var t={word:e.word,status:"ADDING"};this.words.push(t),this.loadingWords[e.id]=t,this.emit("change")},onAddBuzzSuccess:function(e){this.loadingWords[e.id].status="OK",delete this.loadingWords[e.id],this.emit("change")},onAddBuzzFail:function(e){this.loadingWords[e.id].status="ERROR",this.loadingWords[e.id].error=e.error,delete this.loadingWords[e.id],this.emit("change")}}),l={BuzzwordStore:new c},p=new r.Flux(l,u);window.flux=p;var d=r.FluxMixin(o),f=r.StoreWatchMixin,h=o.createClass({displayName:"Application",mixins:[d,f("BuzzwordStore")],getInitialState:function(){return{suggestBuzzword:""}},getStateFromFlux:function(){var e=this.getFlux().store("BuzzwordStore");return{loading:e.loading,error:e.error,words:e.words}},render:function(){return o.DOM.div(null,o.DOM.h1(null,"All the Buzzwords"),this.state.error?"Error loading data":null,o.DOM.ul({style:{lineHeight:"1.3em",minHeight:"13em"}},this.state.loading?o.DOM.li(null,"Loading..."):null,this.state.words.map(function(e){return v({word:e})})),o.DOM.h2(null,"Suggest a New Buzzword"),o.DOM.form({onSubmit:this.handleSubmitForm},o.DOM.input({type:"text",value:this.state.suggestBuzzword,onChange:this.handleSuggestedWordChange}),o.DOM.input({type:"submit",value:"Add"})))},componentDidMount:function(){this.getFlux().actions.loadBuzz()},handleSuggestedWordChange:function(e){this.setState({suggestBuzzword:e.target.value})},handleSubmitForm:function(e){e.preventDefault(),this.state.suggestBuzzword.trim()&&(this.getFlux().actions.addBuzz(this.state.suggestBuzzword),this.setState({suggestBuzzword:""}))}}),v=o.createClass({displayName:"Word",render:function(){var e,t={};switch(this.props.word.status){case"OK":e="";break;case"ADDING":e="adding...",t={color:"#ccc"};break;case"ERROR":e="error: "+this.props.word.error,t={color:"red"}}return o.DOM.li({key:this.props.word.word},this.props.word.word," ",o.DOM.span({style:t},e))}});o.renderComponent(h({flux:p}),document.getElementById("app"))},function(e){function t(){}var n=e.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var n=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),n.length>0)){var o=n.shift();o()}},!0),function(e){n.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=t,n.once=t,n.off=t,n.emit=t,n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},function(e,t,n){(function(t){"use strict";var n=function(e,n,o,r,i,a,s,u){if("production"!==t.env.NODE_ENV&&void 0===n)throw new Error("invariant requires an error message argument");if(!e){var c;if(void 0===n)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[o,r,i,a,s,u],p=0;c=new Error("Invariant Violation: "+n.replace(/%s/g,function(){return l[p++]}))}throw c.framesToPop=1,c}};e.exports=n}).call(t,n(1))},function(e){"use strict";var t=!("undefined"==typeof window||!window.document||!window.document.createElement),n={canUseDOM:t,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:t&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:t&&!!window.screen,isInWorker:!t};e.exports=n},function(e,t,n){"use strict";var o=n(19),r=o({bubbled:null,captured:null}),i=o({topBlur:null,topChange:null,topClick:null,topCompositionEnd:null,topCompositionStart:null,topCompositionUpdate:null,topContextMenu:null,topCopy:null,topCut:null,topDoubleClick:null,topDrag:null,topDragEnd:null,topDragEnter:null,topDragExit:null,topDragLeave:null,topDragOver:null,topDragStart:null,topDrop:null,topError:null,topFocus:null,topInput:null,topKeyDown:null,topKeyPress:null,topKeyUp:null,topLoad:null,topMouseDown:null,topMouseMove:null,topMouseOut:null,topMouseOver:null,topMouseUp:null,topPaste:null,topReset:null,topScroll:null,topSelectionChange:null,topSubmit:null,topTextInput:null,topTouchCancel:null,topTouchEnd:null,topTouchMove:null,topTouchStart:null,topWheel:null}),a={topLevelTypes:i,PropagationPhases:r};e.exports=a},function(e,t,n){"use strict";var o=n(60),r=function(e,t){var n={};return o(n,e),o(n,t),n};e.exports=r},function(e,t,n){(function(t){"use strict";var o=n(51),r=n(10),i=n(2),a={getDOMNode:function(){return"production"!==t.env.NODE_ENV?i(this.isMounted(),"getDOMNode(): A component must be mounted to have a DOM node."):i(this.isMounted()),o.isNullComponentID(this._rootNodeID)?null:r.getNode(this._rootNodeID)}};e.exports=a}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function o(e){var t=e._owner||null;return t&&t.constructor&&t.constructor.displayName?" Check the render method of `"+t.constructor.displayName+"`.":""}function r(e,n,o){for(var r in n)n.hasOwnProperty(r)&&("production"!==t.env.NODE_ENV?x("function"==typeof n[r],"%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.",e.displayName||"ReactCompositeComponent",b[o],r):x("function"==typeof n[r]))}function i(e,n){var o=V.hasOwnProperty(n)?V[n]:null;B.hasOwnProperty(n)&&("production"!==t.env.NODE_ENV?x(o===A.OVERRIDE_BASE,"ReactCompositeComponentInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.",n):x(o===A.OVERRIDE_BASE)),e.hasOwnProperty(n)&&("production"!==t.env.NODE_ENV?x(o===A.DEFINE_MANY||o===A.DEFINE_MANY_MERGED,"ReactCompositeComponentInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",n):x(o===A.DEFINE_MANY||o===A.DEFINE_MANY_MERGED))}function a(e){var n=e._compositeLifeCycleState;"production"!==t.env.NODE_ENV?x(e.isMounted()||n===U.MOUNTING,"replaceState(...): Can only update a mounted or mounting component."):x(e.isMounted()||n===U.MOUNTING),"production"!==t.env.NODE_ENV?x(n!==U.RECEIVING_STATE,"replaceState(...): Cannot update during an existing state transition (such as within `render`). This could potentially cause an infinite loop so it is forbidden."):x(n!==U.RECEIVING_STATE),"production"!==t.env.NODE_ENV?x(n!==U.UNMOUNTING,"replaceState(...): Cannot update while unmounting component. This usually means you called setState() on an unmounted component."):x(n!==U.UNMOUNTING)}function s(e,n){"production"!==t.env.NODE_ENV?x(!v.isValidFactory(n),"ReactCompositeComponent: You're attempting to use a component class as a mixin. Instead, just use a regular object."):x(!v.isValidFactory(n)),"production"!==t.env.NODE_ENV?x(!v.isValidDescriptor(n),"ReactCompositeComponent: You're attempting to use a component as a mixin. Instead, just use a regular object."):x(!v.isValidDescriptor(n));var o=e.prototype;for(var r in n){var a=n[r];if(n.hasOwnProperty(r))if(i(o,r),L.hasOwnProperty(r))L[r](e,a);else{var s=V.hasOwnProperty(r),u=o.hasOwnProperty(r),c=a&&a.__reactDontBind,d="function"==typeof a,f=d&&!s&&!u&&!c;if(f)o.__reactAutoBindMap||(o.__reactAutoBindMap={}),o.__reactAutoBindMap[r]=a,o[r]=a;else if(u){var h=V[r];"production"!==t.env.NODE_ENV?x(s&&(h===A.DEFINE_MANY_MERGED||h===A.DEFINE_MANY),"ReactCompositeComponent: Unexpected spec policy %s for key %s when mixing in component specs.",h,r):x(s&&(h===A.DEFINE_MANY_MERGED||h===A.DEFINE_MANY)),h===A.DEFINE_MANY_MERGED?o[r]=l(o[r],a):h===A.DEFINE_MANY&&(o[r]=p(o[r],a))}else o[r]=a,"production"!==t.env.NODE_ENV&&"function"==typeof a&&n.displayName&&(o[r].displayName=n.displayName+"_"+r)}}}function u(e,n){if(n)for(var o in n){var r=n[o];if(n.hasOwnProperty(o)){var i=o in e,a=r;if(i){var s=e[o],u=typeof s,c=typeof r;"production"!==t.env.NODE_ENV?x("function"===u&&"function"===c,"ReactCompositeComponent: You are attempting to define `%s` on your component more than once, but that is only supported for functions, which are chained together. This conflict may be due to a mixin.",o):x("function"===u&&"function"===c),a=p(s,r)}e[o]=a}}}function c(e,n){return"production"!==t.env.NODE_ENV?x(e&&n&&"object"==typeof e&&"object"==typeof n,"mergeObjectsWithNoDuplicateKeys(): Cannot merge non-objects"):x(e&&n&&"object"==typeof e&&"object"==typeof n),R(n,function(n,o){"production"!==t.env.NODE_ENV?x(void 0===e[o],"mergeObjectsWithNoDuplicateKeys(): Tried to merge two objects with the same key: %s",o):x(void 0===e[o]),e[o]=n}),e}function l(e,t){return function(){var n=e.apply(this,arguments),o=t.apply(this,arguments);return null==n?o:null==o?n:c(n,o)}}function p(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}var d=n(27),f=n(50),h=n(28),v=n(9),m=n(81),g=n(51),y=n(161),E=n(85),_=n(12),N=n(165),D=n(87),b=n(86),C=n(30),w=n(43),x=n(2),O=n(19),M=n(5),T=n(11),I=n(61),R=n(100),S=n(62),P=n(14),A=O({DEFINE_ONCE:null,DEFINE_MANY:null,OVERRIDE_BASE:null,DEFINE_MANY_MERGED:null}),k=[],V={mixins:A.DEFINE_MANY,statics:A.DEFINE_MANY,propTypes:A.DEFINE_MANY,contextTypes:A.DEFINE_MANY,childContextTypes:A.DEFINE_MANY,getDefaultProps:A.DEFINE_MANY_MERGED,getInitialState:A.DEFINE_MANY_MERGED,getChildContext:A.DEFINE_MANY_MERGED,render:A.DEFINE_ONCE,componentWillMount:A.DEFINE_MANY,componentDidMount:A.DEFINE_MANY,componentWillReceiveProps:A.DEFINE_MANY,shouldComponentUpdate:A.DEFINE_ONCE,componentWillUpdate:A.DEFINE_MANY,componentDidUpdate:A.DEFINE_MANY,componentWillUnmount:A.DEFINE_MANY,updateComponent:A.OVERRIDE_BASE},L={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n1){for(var i=Array(r),c=0;r>c;c++)i[c]=arguments[c+1];e.children=i}var p=Object.create(n);return p._owner=s.current,p._context=a.current,"production"!==t.env.NODE_ENV&&(p._store={validated:!1,props:e},l)?(Object.freeze(p),p):(p.props=e,p)};return o.prototype=n,o.type=e,n.type=e,i(o,e),n.constructor=o,o},p.cloneAndReplaceProps=function(e,n){var o=Object.create(e.constructor.prototype);return o._owner=e._owner,o._context=e._context,"production"!==t.env.NODE_ENV&&(o._store={validated:e._store.validated,props:n},l)?(Object.freeze(o),o):(o.props=n,o)},p.isValidFactory=function(e){return"function"==typeof e&&e.prototype instanceof p},p.isValidDescriptor=function(e){return e instanceof p},e.exports=p}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function o(e){var t=E(e);return t&&A.getID(t)}function r(e){var n=i(e);if(n)if(x.hasOwnProperty(n)){var o=x[n];o!==e&&("production"!==t.env.NODE_ENV?N(!u(o,n),"ReactMount: Two valid but unequal nodes with the same `%s`: %s",w,n):N(!u(o,n)),x[n]=e)}else x[n]=e;return n}function i(e){return e&&e.getAttribute&&e.getAttribute(w)||""}function a(e,t){var n=i(e);n!==t&&delete x[n],e.setAttribute(w,t),x[t]=e}function s(e){return x.hasOwnProperty(e)&&u(x[e],e)||(x[e]=A.findReactNodeByID(e)),x[e]}function u(e,n){if(e){"production"!==t.env.NODE_ENV?N(i(e)===n,"ReactMount: Unexpected modification of `%s`",w):N(i(e)===n);var o=A.findReactContainerForID(n);if(o&&y(o,e))return!0}return!1}function c(e){delete x[e]}function l(e){var t=x[e];return t&&u(t,e)?void(P=t):!1}function p(e){P=null,m.traverseAncestors(e,l);var t=P;return P=null,t}var d=n(17),f=n(26),h=n(28),v=n(9),m=n(29),g=n(12),y=n(93),E=n(97),_=n(43),N=n(2),D=n(62),b=n(14),C=m.SEPARATOR,w=d.ID_ATTRIBUTE_NAME,x={},O=1,M=9,T={},I={};if("production"!==t.env.NODE_ENV)var R={};var S=[],P=null,A={_instancesByReactRootID:T,scrollMonitor:function(e,t){t()},_updateRootComponent:function(e,n,r,i){var a=n.props;return A.scrollMonitor(r,function(){e.replaceProps(a,i)}),"production"!==t.env.NODE_ENV&&(R[o(r)]=E(r)),e},_registerComponent:function(e,n){"production"!==t.env.NODE_ENV?N(n&&(n.nodeType===O||n.nodeType===M),"_registerComponent(...): Target container is not a DOM element."):N(n&&(n.nodeType===O||n.nodeType===M)),f.ensureScrollValueMonitoring();var o=A.registerContainer(n);return T[o]=e,o},_renderNewRootComponent:g.measure("ReactMount","_renderNewRootComponent",function(e,n,o){"production"!==t.env.NODE_ENV?b(null==h.current,"_renderNewRootComponent(): Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate."):null;var r=_(e),i=A._registerComponent(r,n);return r.mountComponentIntoNode(i,n,o),"production"!==t.env.NODE_ENV&&(R[i]=E(n)),r}),renderComponent:function(e,n,r){"production"!==t.env.NODE_ENV?N(v.isValidDescriptor(e),"renderComponent(): Invalid component descriptor.%s",v.isValidFactory(e)?" Instead of passing a component class, make sure to instantiate it first by calling it with props.":"undefined"!=typeof e.props?" This may be caused by unintentionally loading two independent copies of React.":""):N(v.isValidDescriptor(e));var i=T[o(n)];if(i){var a=i._descriptor;if(D(a,e))return A._updateRootComponent(i,e,n,r);A.unmountComponentAtNode(n)}var s=E(n),u=s&&A.isRenderedByReact(s),c=u&&!i,l=A._renderNewRootComponent(e,n,c);return r&&r.call(l),l},constructAndRenderComponent:function(e,t,n){return A.renderComponent(e(t),n)},constructAndRenderComponentByID:function(e,n,o){var r=document.getElementById(o);return"production"!==t.env.NODE_ENV?N(r,'Tried to get element with id of "%s" but it is not present on the page.',o):N(r),A.constructAndRenderComponent(e,n,r)},registerContainer:function(e){var t=o(e);return t&&(t=m.getReactRootIDFromNodeID(t)),t||(t=m.createReactRootID()),I[t]=e,t},unmountComponentAtNode:function(e){"production"!==t.env.NODE_ENV?b(null==h.current,"unmountComponentAtNode(): Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate."):null;var n=o(e),r=T[n];return r?(A.unmountComponentFromNode(r,e),delete T[n],delete I[n],"production"!==t.env.NODE_ENV&&delete R[n],!0):!1},unmountComponentFromNode:function(e,t){for(e.unmountComponent(),t.nodeType===M&&(t=t.documentElement);t.lastChild;)t.removeChild(t.lastChild)},findReactContainerForID:function(e){var n=m.getReactRootIDFromNodeID(e),o=I[n];if("production"!==t.env.NODE_ENV){var r=R[n];if(r&&r.parentNode!==o){"production"!==t.env.NODE_ENV?N(i(r)===n,"ReactMount: Root element ID differed from reactRootID."):N(i(r)===n);var a=o.firstChild;a&&n===i(a)?R[n]=a:console.warn("ReactMount: Root element has been removed from its original container. New container:",r.parentNode)}}return o},findReactNodeByID:function(e){var t=A.findReactContainerForID(e);return A.findComponentRoot(t,e)},isRenderedByReact:function(e){if(1!==e.nodeType)return!1;var t=A.getID(e);return t?t.charAt(0)===C:!1},getFirstReactDOM:function(e){for(var t=e;t&&t.parentNode!==t;){if(A.isRenderedByReact(t))return t;t=t.parentNode}return null},findComponentRoot:function(e,n){var o=S,r=0,i=p(n)||e;for(o[0]=i.firstChild,o.length=1;r when using tables, nesting

or tags, or using non-SVG elements in an parent. Try inspecting the child nodes of the element with React ID `%s`.",n,A.getID(e)):N(!1)},getReactRootID:o,getID:r,setID:a,getNode:s,purgeID:c};e.exports=A}).call(t,n(1))},function(e){"use strict";var t=function(e,t){var n;for(n in t)t.hasOwnProperty(n)&&(e.prototype[n]=t[n])};e.exports=t},function(e,t,n){(function(t){"use strict";function n(e,t,n){return n}var o={enableMeasure:!1,storedMeasure:n,measure:function(e,n,r){if("production"!==t.env.NODE_ENV){var i=null;return function(){return o.enableMeasure?(i||(i=o.storedMeasure(e,n,r)),i.apply(this,arguments)):r.apply(this,arguments)}}return r},injection:{injectMeasure:function(e){o.storedMeasure=e}}};e.exports=o}).call(t,n(1))},function(e,t,n){function o(e){return function(){return e}}function r(){}var i=n(182);i(r,{thatReturns:o,thatReturnsFalse:o(!1),thatReturnsTrue:o(!0),thatReturnsNull:o(null),thatReturnsThis:function(){return this},thatReturnsArgument:function(e){return e}}),e.exports=r},function(e,t,n){(function(t){"use strict";var o=n(13),r=o;"production"!==t.env.NODE_ENV&&(r=function(e,t){var n=Array.prototype.slice.call(arguments,2);if(void 0===t)throw new Error("`warning(condition, format, ...args)` requires a warning message argument");if(!e){var o=0;console.warn("Warning: "+t.replace(/%s/g,function(){return n[o++]}))}}),e.exports=r}).call(t,n(1))},function(e,t,n){(function(t){"use strict";var o=n(2),r=function(e){var t=this;if(t.instancePool.length){var n=t.instancePool.pop();return t.call(n,e),n}return new t(e)},i=function(e,t){var n=this;if(n.instancePool.length){var o=n.instancePool.pop();return n.call(o,e,t),o}return new n(e,t)},a=function(e,t,n){var o=this;if(o.instancePool.length){var r=o.instancePool.pop();return o.call(r,e,t,n),r}return new o(e,t,n)},s=function(e,t,n,o,r){var i=this;if(i.instancePool.length){var a=i.instancePool.pop();return i.call(a,e,t,n,o,r),a}return new i(e,t,n,o,r)},u=function(e){var n=this;"production"!==t.env.NODE_ENV?o(e instanceof n,"Trying to release an instance into a pool of a different type."):o(e instanceof n),e.destructor&&e.destructor(),n.instancePool.lengtht||r.hasOverloadedBooleanValue[e]&&t===!1}var r=n(17),i=n(54),a=n(101),s=n(14),u=a(function(e){return i(e)+'="'});if("production"!==t.env.NODE_ENV)var c={children:!0,dangerouslySetInnerHTML:!0,key:!0,ref:!0},l={},p=function(e){if(!(c.hasOwnProperty(e)&&c[e]||l.hasOwnProperty(e)&&l[e])){l[e]=!0;var n=e.toLowerCase(),o=r.isCustomAttribute(n)?n:r.getPossibleStandardName.hasOwnProperty(n)?r.getPossibleStandardName[n]:null;"production"!==t.env.NODE_ENV?s(null==o,"Unknown DOM property "+e+". Did you mean "+o+"?"):null}};var d={createMarkupForID:function(e){return u(r.ID_ATTRIBUTE_NAME)+i(e)+'"'},createMarkupForProperty:function(e,n){if(r.isStandardName.hasOwnProperty(e)&&r.isStandardName[e]){if(o(e,n))return"";var a=r.getAttributeName[e];return r.hasBooleanValue[e]||r.hasOverloadedBooleanValue[e]&&n===!0?i(a):u(a)+i(n)+'"'}return r.isCustomAttribute(e)?null==n?"":u(e)+i(n)+'"':("production"!==t.env.NODE_ENV&&p(e),null)},setValueForProperty:function(e,n,i){if(r.isStandardName.hasOwnProperty(n)&&r.isStandardName[n]){var a=r.getMutationMethod[n];if(a)a(e,i);else if(o(n,i))this.deleteValueForProperty(e,n);else if(r.mustUseAttribute[n])e.setAttribute(r.getAttributeName[n],""+i);else{var s=r.getPropertyName[n];r.hasSideEffects[n]&&e[s]===i||(e[s]=i)}}else r.isCustomAttribute(n)?null==i?e.removeAttribute(n):e.setAttribute(n,""+i):"production"!==t.env.NODE_ENV&&p(n)},deleteValueForProperty:function(e,n){if(r.isStandardName.hasOwnProperty(n)&&r.isStandardName[n]){var o=r.getMutationMethod[n];if(o)o(e,void 0);else if(r.mustUseAttribute[n])e.removeAttribute(r.getAttributeName[n]);else{var i=r.getPropertyName[n],a=r.getDefaultValueForProperty(e.nodeName,i);r.hasSideEffects[n]&&e[i]===a||(e[i]=a)}}else r.isCustomAttribute(n)?e.removeAttribute(n):"production"!==t.env.NODE_ENV&&p(n)}};e.exports=d}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function o(e,t,n){var o=t.dispatchConfig.phasedRegistrationNames[n];return m(e,o)}function r(e,n,r){if("production"!==t.env.NODE_ENV&&!e)throw new Error("Dispatching id must not be null");var i=n?v.bubbled:v.captured,a=o(e,r,i);a&&(r._dispatchListeners=f(r._dispatchListeners,a),r._dispatchIDs=f(r._dispatchIDs,e))}function i(e){e&&e.dispatchConfig.phasedRegistrationNames&&d.injection.getInstanceHandle().traverseTwoPhase(e.dispatchMarker,r,e)}function a(e,t,n){if(n&&n.dispatchConfig.registrationName){var o=n.dispatchConfig.registrationName,r=m(e,o);r&&(n._dispatchListeners=f(n._dispatchListeners,r),n._dispatchIDs=f(n._dispatchIDs,e))}}function s(e){e&&e.dispatchConfig.registrationName&&a(e.dispatchMarker,null,e)}function u(e){h(e,i)}function c(e,t,n,o){d.injection.getInstanceHandle().traverseEnterLeave(n,o,a,e,t)}function l(e){h(e,s)}var p=n(4),d=n(34),f=n(53),h=n(55),v=p.PropagationPhases,m=d.getListener,g={accumulateTwoPhaseDispatches:u,accumulateDirectDispatches:l,accumulateEnterLeaveDispatches:c};e.exports=g}).call(t,n(1))},function(e,t,n){"use strict";function o(e){return Object.prototype.hasOwnProperty.call(e,v)||(e[v]=f++,p[e[v]]={}),p[e[v]]}var r=n(4),i=n(34),a=n(78),s=n(162),u=n(92),c=n(59),l=n(5),p={},d=!1,f=0,h={topBlur:"blur",topChange:"change",topClick:"click",topCompositionEnd:"compositionend",topCompositionStart:"compositionstart",topCompositionUpdate:"compositionupdate",topContextMenu:"contextmenu",topCopy:"copy",topCut:"cut",topDoubleClick:"dblclick",topDrag:"drag",topDragEnd:"dragend",topDragEnter:"dragenter",topDragExit:"dragexit",topDragLeave:"dragleave",topDragOver:"dragover",topDragStart:"dragstart",topDrop:"drop",topFocus:"focus",topInput:"input",topKeyDown:"keydown",topKeyPress:"keypress",topKeyUp:"keyup",topMouseDown:"mousedown",topMouseMove:"mousemove",topMouseOut:"mouseout",topMouseOver:"mouseover",topMouseUp:"mouseup",topPaste:"paste",topScroll:"scroll",topSelectionChange:"selectionchange",topTextInput:"textInput",topTouchCancel:"touchcancel",topTouchEnd:"touchend",topTouchMove:"touchmove",topTouchStart:"touchstart",topWheel:"wheel"},v="_reactListenersID"+String(Math.random()).slice(2),m=l(s,{ReactEventListener:null,injection:{injectReactEventListener:function(e){e.setHandleTopLevel(m.handleTopLevel),m.ReactEventListener=e}},setEnabled:function(e){m.ReactEventListener&&m.ReactEventListener.setEnabled(e)},isEnabled:function(){return!(!m.ReactEventListener||!m.ReactEventListener.isEnabled())},listenTo:function(e,t){for(var n=t,i=o(n),s=a.registrationNameDependencies[e],u=r.topLevelTypes,l=0,p=s.length;p>l;l++){var d=s[l];i.hasOwnProperty(d)&&i[d]||(d===u.topWheel?c("wheel")?m.ReactEventListener.trapBubbledEvent(u.topWheel,"wheel",n):c("mousewheel")?m.ReactEventListener.trapBubbledEvent(u.topWheel,"mousewheel",n):m.ReactEventListener.trapBubbledEvent(u.topWheel,"DOMMouseScroll",n):d===u.topScroll?c("scroll",!0)?m.ReactEventListener.trapCapturedEvent(u.topScroll,"scroll",n):m.ReactEventListener.trapBubbledEvent(u.topScroll,"scroll",m.ReactEventListener.WINDOW_HANDLE):d===u.topFocus||d===u.topBlur?(c("focus",!0)?(m.ReactEventListener.trapCapturedEvent(u.topFocus,"focus",n),m.ReactEventListener.trapCapturedEvent(u.topBlur,"blur",n)):c("focusin")&&(m.ReactEventListener.trapBubbledEvent(u.topFocus,"focusin",n),m.ReactEventListener.trapBubbledEvent(u.topBlur,"focusout",n)),i[u.topBlur]=!0,i[u.topFocus]=!0):h.hasOwnProperty(d)&&m.ReactEventListener.trapBubbledEvent(d,h[d],n),i[d]=!0)}},trapBubbledEvent:function(e,t,n){return m.ReactEventListener.trapBubbledEvent(e,t,n)},trapCapturedEvent:function(e,t,n){return m.ReactEventListener.trapCapturedEvent(e,t,n)},ensureScrollValueMonitoring:function(){if(!d){var e=u.refreshScrollValues;m.ReactEventListener.monitorScrollValue(e),d=!0}},eventNameDispatchConfigs:i.eventNameDispatchConfigs,registrationNameModules:i.registrationNameModules,putListener:i.putListener,getListener:i.getListener,deleteListener:i.deleteListener,deleteAllListeners:i.deleteAllListeners});e.exports=m},function(e,t,n){(function(t){"use strict";var o=n(9),r=n(85),i=n(30),a=n(2),s=n(19),u=n(5),c=s({MOUNTED:null,UNMOUNTED:null}),l=!1,p=null,d=null,f={injection:{injectEnvironment:function(e){"production"!==t.env.NODE_ENV?a(!l,"ReactComponent: injectEnvironment() can only be called once."):a(!l),d=e.mountImageIntoNode,p=e.unmountIDFromEnvironment,f.BackendIDOperations=e.BackendIDOperations,l=!0}},LifeCycle:c,BackendIDOperations:null,Mixin:{isMounted:function(){return this._lifeCycleState===c.MOUNTED},setProps:function(e,t){var n=this._pendingDescriptor||this._descriptor;this.replaceProps(u(n.props,e),t)},replaceProps:function(e,n){"production"!==t.env.NODE_ENV?a(this.isMounted(),"replaceProps(...): Can only update a mounted component."):a(this.isMounted()),"production"!==t.env.NODE_ENV?a(0===this._mountDepth,"replaceProps(...): You called `setProps` or `replaceProps` on a component with a parent. This is an anti-pattern since props will get reactively updated when rendered. Instead, change the owner's `render` method to pass the correct value as props to the component where it is created."):a(0===this._mountDepth),this._pendingDescriptor=o.cloneAndReplaceProps(this._pendingDescriptor||this._descriptor,e),i.enqueueUpdate(this,n)},_setPropsInternal:function(e,t){var n=this._pendingDescriptor||this._descriptor;this._pendingDescriptor=o.cloneAndReplaceProps(n,u(n.props,e)),i.enqueueUpdate(this,t)},construct:function(e){this.props=e.props,this._owner=e._owner,this._lifeCycleState=c.UNMOUNTED,this._pendingCallbacks=null,this._descriptor=e,this._pendingDescriptor=null},mountComponent:function(e,n,o){"production"!==t.env.NODE_ENV?a(!this.isMounted(),"mountComponent(%s, ...): Can only mount an unmounted component. Make sure to avoid storing components between renders or reusing a single component instance in multiple places.",e):a(!this.isMounted());var i=this._descriptor.props;if(null!=i.ref){var s=this._descriptor._owner;r.addComponentAsRefTo(this,i.ref,s)}this._rootNodeID=e,this._lifeCycleState=c.MOUNTED,this._mountDepth=o},unmountComponent:function(){"production"!==t.env.NODE_ENV?a(this.isMounted(),"unmountComponent(): Can only unmount a mounted component."):a(this.isMounted());var e=this.props;null!=e.ref&&r.removeComponentAsRefFrom(this,e.ref,this._owner),p(this._rootNodeID),this._rootNodeID=null,this._lifeCycleState=c.UNMOUNTED},receiveComponent:function(e,n){"production"!==t.env.NODE_ENV?a(this.isMounted(),"receiveComponent(...): Can only update a mounted component."):a(this.isMounted()),this._pendingDescriptor=e,this.performUpdateIfNecessary(n)},performUpdateIfNecessary:function(e){if(null!=this._pendingDescriptor){var t=this._descriptor,n=this._pendingDescriptor;this._descriptor=n,this.props=n.props,this._owner=n._owner,this._pendingDescriptor=null,this.updateComponent(e,t)}},updateComponent:function(e,t){var n=this._descriptor;(n._owner!==t._owner||n.props.ref!==t.props.ref)&&(null!=t.props.ref&&r.removeComponentAsRefFrom(this,t.props.ref,t._owner),null!=n.props.ref&&r.addComponentAsRefTo(this,n.props.ref,n._owner))},mountComponentIntoNode:function(e,t,n){var o=i.ReactReconcileTransaction.getPooled();o.perform(this._mountComponentIntoNode,this,e,t,o,n),i.ReactReconcileTransaction.release(o)},_mountComponentIntoNode:function(e,t,n,o){var r=this.mountComponent(e,n,0);d(r,t,o)},isOwnedBy:function(e){return this._owner===e},getSiblingByRef:function(e){var t=this._owner;return t&&t.refs?t.refs[e]:null}}};e.exports=f}).call(t,n(1))},function(e){"use strict";var t={current:null};e.exports=t},function(e,t,n){(function(t){"use strict";function o(e){return f+e.toString(36)}function r(e,t){return e.charAt(t)===f||t===e.length}function i(e){return""===e||e.charAt(0)===f&&e.charAt(e.length-1)!==f}function a(e,t){return 0===t.indexOf(e)&&r(t,e.length)}function s(e){return e?e.substr(0,e.lastIndexOf(f)):""}function u(e,n){if("production"!==t.env.NODE_ENV?d(i(e)&&i(n),"getNextDescendantID(%s, %s): Received an invalid React DOM ID.",e,n):d(i(e)&&i(n)),"production"!==t.env.NODE_ENV?d(a(e,n),"getNextDescendantID(...): React has made an invalid assumption about the DOM hierarchy. Expected `%s` to be an ancestor of `%s`.",e,n):d(a(e,n)),e===n)return e;for(var o=e.length+h,s=o;s=s;s++)if(r(e,s)&&r(n,s))a=s;else if(e.charAt(s)!==n.charAt(s))break;var u=e.substr(0,a);return"production"!==t.env.NODE_ENV?d(i(u),"getFirstCommonAncestorID(%s, %s): Expected a valid React DOM ID: %s",e,n,u):d(i(u)),u}function l(e,n,o,r,i,c){e=e||"",n=n||"","production"!==t.env.NODE_ENV?d(e!==n,"traverseParentPath(...): Cannot traverse from and to the same ID, `%s`.",e):d(e!==n);var l=a(n,e);"production"!==t.env.NODE_ENV?d(l||a(e,n),"traverseParentPath(%s, %s, ...): Cannot traverse from two IDs that do not have a parent path.",e,n):d(l||a(e,n));for(var p=0,f=l?s:u,h=e;;h=f(h,n)){var m;if(i&&h===e||c&&h===n||(m=o(h,l,r)),m===!1||h===n)break;"production"!==t.env.NODE_ENV?d(p++1){var t=e.indexOf(f,1);return t>-1?e.substr(0,t):e}return null},traverseEnterLeave:function(e,t,n,o,r){var i=c(e,t);i!==e&&l(e,i,n,o,!1,!0),i!==t&&l(i,t,n,r,!0,!1)},traverseTwoPhase:function(e,t,n){e&&(l("",e,t,n,!0,!1),l(e,"",t,n,!1,!0))},traverseAncestors:function(e,t,n){l("",e,t,n,!0,!1)},_getFirstCommonAncestorID:c,_getNextDescendantID:u,isAncestorIDOf:a,SEPARATOR:f};e.exports=m}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function o(){"production"!==t.env.NODE_ENV?h(C.ReactReconcileTransaction&&y,"ReactUpdates: must inject a reconcile transaction class and batching strategy"):h(C.ReactReconcileTransaction&&y)}function r(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=c.getPooled(null),this.reconcileTransaction=C.ReactReconcileTransaction.getPooled()}function i(e,t,n){o(),y.batchedUpdates(e,t,n)}function a(e,t){return e._mountDepth-t._mountDepth}function s(e){var n=e.dirtyComponentsLength;"production"!==t.env.NODE_ENV?h(n===g.length,"Expected flush transaction's stored dirty-components length (%s) to match dirty-components array length (%s).",n,g.length):h(n===g.length),g.sort(a);for(var o=0;n>o;o++){var r=g[o];if(r.isMounted()){var i=r._pendingCallbacks;if(r._pendingCallbacks=null,r.performUpdateIfNecessary(e.reconcileTransaction),i)for(var s=0;sr?0:r);++ou;u++){var l=s[u];if(l){var p=l.extractEvents(e,t,n,o);p&&(i=a(i,p))}}return i},enqueueEvents:function(e){e&&(d=a(d,e))},processEventQueue:function(){var e=d;d=null,s(e,f),"production"!==t.env.NODE_ENV?u(!d,"processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented."):u(!d)},__purge:function(){p={}},__getListenerBank:function(){return p}};e.exports=v}).call(t,n(1))},function(e,t,n){"use strict";function o(e,t,n){r.call(this,e,t,n)}var r=n(18),i=n(57),a={view:function(e){if(e.view)return e.view;var t=i(e);if(null!=t&&t.window===t)return t;var n=t.ownerDocument;return n?n.defaultView||n.parentWindow:window},detail:function(e){return e.detail||0}};r.augmentClass(o,a),e.exports=o},function(e,t,n){function o(e,t,n){var o=-1,a=e?e.length:0;if(t=t&&"undefined"==typeof n?t:r(t,n,3),"number"==typeof a)for(;++oo;o++)e[o].call(n[o]);e.length=0,n.length=0}},reset:function(){this._callbacks=null,this._contexts=null},destructor:function(){this.reset()}}),r.addPoolingTo(o),e.exports=o}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function o(e){return e===g.topMouseUp||e===g.topTouchEnd||e===g.topTouchCancel}function r(e){return e===g.topMouseMove||e===g.topTouchMove}function i(e){return e===g.topMouseDown||e===g.topTouchStart}function a(e,n){var o=e._dispatchListeners,r=e._dispatchIDs;if("production"!==t.env.NODE_ENV&&f(e),Array.isArray(o))for(var i=0;i":">","<":"<",'"':""","'":"'"},r=/[&><"']/g;e.exports=n},function(e){"use strict";var t=function(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)};e.exports=t},function(e){"use strict";function t(e){var t=this,n=t.nativeEvent;if(n.getModifierState)return n.getModifierState(e);var r=o[e.toLowerCase()];return r&&n[r]}function n(){return t}var o={alt:"altKey",control:"ctrlKey",meta:"metaKey",shift:"shiftKey"};e.exports=n},function(e){"use strict";function t(e){var t=e.target||e.srcElement||window;return 3===t.nodeType?t.parentNode:t}e.exports=t},function(e,t,n){"use strict";function o(){return!i&&r.canUseDOM&&(i="textContent"in document.documentElement?"textContent":"innerText"),i}var r=n(3),i=null;e.exports=o},function(e,t,n){"use strict";/** * Checks if an event is supported in the current execution environment. * * NOTE: This will not work correctly for non-generic events such as `change`, @@ -14,10 +14,10 @@ var l=c.toLowerCase();if(a.getPossibleStandardName[l]=c,i.hasOwnProperty(c)){var * @internal * @license Modernizr 3.0.0pre (Custom Build) | MIT */ -function r(e,t){if(!i.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,r=n in document;if(!r){var a=document.createElement("div");a.setAttribute(n,"return;"),r="function"==typeof a[n]}return!r&&o&&"wheel"===e&&(r=document.implementation.hasFeature("Events.wheel","3.0")),r}var o,i=n(3);i.canUseDOM&&(o=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0),e.exports=r},function(e,t,n){"use strict";function r(e,t){if(a(e),null!=t){i(t);for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])}}var o=n(196),i=o.checkMergeObjectArg,a=o.checkMergeIntoObjectArg;e.exports=r},function(e,t,n){(function(t){"use strict";function r(e){"production"!==t.env.NODE_ENV?o(e&&!/[^a-z0-9_]/.test(e),"You must provide an eventName using only the characters [a-z0-9_]"):o(e&&!/[^a-z0-9_]/.test(e))}var o=n(2);e.exports=r}).call(t,n(1))},function(e){"use strict";function t(e,t){return e&&t&&e.type===t.type&&(e.props&&e.props.key)===(t.props&&t.props.key)&&e._owner===t._owner?!0:!1}e.exports=t},function(e,t,n){var r=n(126),o=n(130),i=n(22),a=n(111),s=n(33),u=n(113),c=n(36),l=n(114),p=n(127),d=n(112),f=function(e){this.stores=e,this.currentDispatch=null,this.waitingToDispatch=[];for(var t in e)e.hasOwnProperty(t)&&(e[t].dispatcher=this)};f.prototype.dispatch=function(e){if(this.currentDispatch)throw new Error("Cannot dispatch an action while another action is being dispatched");if(!e||!e.type)throw new Error("Can only dispatch actions with a 'type' property");this.waitingToDispatch=r(this.stores),this.currentDispatch=o(this.stores,function(){return{resolved:!1,waitingOn:[],waitCallback:null}});try{this.doDispatchLoop(e)}finally{this.currentDispatch=null}},f.prototype.doDispatchLoop=function(e){var t,n,r=[],o=[];if(i(this.waitingToDispatch,function(i,c){if(t=this.currentDispatch[c],n=!t.waitingOn.length||!a(t.waitingOn,s(this.waitingToDispatch)).length){if(t.waitCallback){var l=u(t.waitingOn,function(e){return this.stores[e]},this),p=t.waitCallback;t.waitCallback=null,t.waitingOn=[],t.resolved=!0,p.apply(null,l)}else t.resolved=!0,this.stores[c].__handleAction__(e);o.push(c),this.currentDispatch[c].resolved&&r.push(c)}},this),!o.length){var p=s(this.waitingToDispatch).join(", ");throw new Error("Indirect circular wait detected among: "+p)}c(r,function(e){delete this.waitingToDispatch[e]},this),l(this.waitingToDispatch)&&this.doDispatchLoop(e)},f.prototype.waitForStores=function(e,t,n){if(!this.currentDispatch)throw new Error("Cannot wait unless an action is being dispatched");var r=p(this.stores,function(t){return t===e});if(t.indexOf(r)>-1)throw new Error("A store cannot wait on itself");var o=this.currentDispatch[r];if(o.waitingOn.length)throw new Error(r+" already waiting on stores");c(t,function(e){var t=this.currentDispatch[e];if(!this.stores[e])throw new Error("Cannot wait for non-existent store "+e);if(t.waitingOn.indexOf(r)>-1)throw new Error("Circular wait detected between "+r+" and "+e)},this),o.resolved=!1,o.waitingOn=d(o.waitingOn.concat(t)),o.waitCallback=n},e.exports=f},function(e){var t=[];e.exports=t},function(e,t,n){(function(t){function r(e){return i(e)?a(e):{}}var o=n(31),i=n(23),a=(n(74),o(a=Object.create)&&a);a||(r=function(){function e(){}return function(n){if(i(n)){e.prototype=n;var r=new e;e.prototype=null}return r||t.Object()}}()),e.exports=r}).call(t,function(){return this}())},function(e,t,n){function r(e,t){var n=typeof t;if(e=e.cache,"boolean"==n||null==t)return e[t]?0:-1;"number"!=n&&"string"!=n&&(n="object");var r="number"==n?t:i+t;return e=(e=e[n])&&e[r],"object"==n?e&&o(e,t)>-1?0:-1:e?0:-1}var o=n(44),i=n(68);e.exports=r},function(e,t,n){function r(e){var t=-1,n=e.length,r=e[0],a=e[n/2|0],s=e[n-1];if(r&&"object"==typeof r&&a&&"object"==typeof a&&s&&"object"==typeof s)return!1;var u=i();u["false"]=u["null"]=u["true"]=u.undefined=!1;var c=i();for(c.array=e,c.cache=u,c.push=o;++t-1,"EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `%s`.",e):a(r>-1),!c.plugins[r]){"production"!==t.env.NODE_ENV?a(n.extractEvents,"EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `%s` does not.",e):a(n.extractEvents),c.plugins[r]=n;var i=n.eventTypes;for(var l in i)"production"!==t.env.NODE_ENV?a(o(i[l],n,l),"EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.",l,e):a(o(i[l],n,l))}}}function o(e,n,r){"production"!==t.env.NODE_ENV?a(!c.eventNameDispatchConfigs.hasOwnProperty(r),"EventPluginHub: More than one plugin attempted to publish the same event name, `%s`.",r):a(!c.eventNameDispatchConfigs.hasOwnProperty(r)),c.eventNameDispatchConfigs[r]=e;var o=e.phasedRegistrationNames;if(o){for(var s in o)if(o.hasOwnProperty(s)){var u=o[s];i(u,n,r)}return!0}return e.registrationName?(i(e.registrationName,n,r),!0):!1}function i(e,n,r){"production"!==t.env.NODE_ENV?a(!c.registrationNameModules[e],"EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.",e):a(!c.registrationNameModules[e]),c.registrationNameModules[e]=n,c.registrationNameDependencies[e]=n.eventTypes[r].dependencies}var a=n(2),s=null,u={},c={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},injectEventPluginOrder:function(e){"production"!==t.env.NODE_ENV?a(!s,"EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React."):a(!s),s=Array.prototype.slice.call(e),r()},injectEventPluginsByName:function(e){var n=!1;for(var o in e)if(e.hasOwnProperty(o)){var i=e[o];u.hasOwnProperty(o)&&u[o]===i||("production"!==t.env.NODE_ENV?a(!u[o],"EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.",o):a(!u[o]),u[o]=i,n=!0)}n&&r()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return c.registrationNameModules[t.registrationName]||null;for(var n in t.phasedRegistrationNames)if(t.phasedRegistrationNames.hasOwnProperty(n)){var r=c.registrationNameModules[t.phasedRegistrationNames[n]];if(r)return r}return null},_resetEventPlugins:function(){s=null;for(var e in u)u.hasOwnProperty(e)&&delete u[e];c.plugins.length=0;var t=c.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var r=c.registrationNameModules;for(var o in r)r.hasOwnProperty(o)&&delete r[o]}};e.exports=c}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function r(e){e.remove()}var o=n(26),i=n(53),a=n(55),s=n(2),u={trapBubbledEvent:function(e,n){"production"!==t.env.NODE_ENV?s(this.isMounted(),"Must be mounted to trap events"):s(this.isMounted());var r=o.trapBubbledEvent(e,n,this.getDOMNode());this._localEventListeners=i(this._localEventListeners,r)},componentWillUnmount:function(){this._localEventListeners&&a(this._localEventListeners,r)}};e.exports=u}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function r(e){e&&("production"!==t.env.NODE_ENV?m(null==e.children||null==e.dangerouslySetInnerHTML,"Can only set one of `children` or `props.dangerouslySetInnerHTML`."):m(null==e.children||null==e.dangerouslySetInnerHTML),"production"!==t.env.NODE_ENV?m(null==e.style||"object"==typeof e.style,"The `style` prop expects a mapping from style properties to values, not a string."):m(null==e.style||"object"==typeof e.style))}function o(e,t,n,r){var o=d.findReactContainerForID(e);if(o){var i=o.nodeType===w?o.ownerDocument:o;_(t,i)}r.getPutListenerQueue().enqueuePutListener(e,t,n)}function i(e,t){this._tagOpen="<"+e,this._tagClose=t?"":"",this.tagName=e.toUpperCase()}var a=n(76),s=n(17),u=n(24),c=n(6),l=n(27),p=n(26),d=n(10),f=n(82),h=n(12),v=n(54),m=n(2),g=n(16),y=n(5),E=n(11),N=p.deleteListener,_=p.listenTo,D=p.registrationNameModules,b={string:!0,number:!0},C=g({style:null}),w=1;i.Mixin={mountComponent:h.measure("ReactDOMComponent","mountComponent",function(e,t,n){return l.Mixin.mountComponent.call(this,e,t,n),r(this.props),this._createOpenTagMarkupAndPutListeners(t)+this._createContentMarkup(t)+this._tagClose}),_createOpenTagMarkupAndPutListeners:function(e){var t=this.props,n=this._tagOpen;for(var r in t)if(t.hasOwnProperty(r)){var i=t[r];if(null!=i)if(D.hasOwnProperty(r))o(this._rootNodeID,r,i,e);else{r===C&&(i&&(i=t.style=y(t.style)),i=a.createMarkupForStyles(i));var s=u.createMarkupForProperty(r,i);s&&(n+=" "+s)}}if(e.renderToStaticMarkup)return n+">";var c=u.createMarkupForID(this._rootNodeID);return n+" "+c+">"},_createContentMarkup:function(e){var t=this.props.dangerouslySetInnerHTML;if(null!=t){if(null!=t.__html)return t.__html}else{var n=b[typeof this.props.children]?this.props.children:null,r=null!=n?null:this.props.children;if(null!=n)return v(n);if(null!=r){var o=this.mountChildren(r,e);return o.join("")}}return""},receiveComponent:function(e,t){(e!==this._descriptor||null==e._owner)&&l.Mixin.receiveComponent.call(this,e,t)},updateComponent:h.measure("ReactDOMComponent","updateComponent",function(e,t){r(this._descriptor.props),l.Mixin.updateComponent.call(this,e,t),this._updateDOMProperties(t.props,e),this._updateDOMChildren(t.props,e)}),_updateDOMProperties:function(e,t){var n,r,i,a=this.props;for(n in e)if(!a.hasOwnProperty(n)&&e.hasOwnProperty(n))if(n===C){var u=e[n];for(r in u)u.hasOwnProperty(r)&&(i=i||{},i[r]="")}else D.hasOwnProperty(n)?N(this._rootNodeID,n):(s.isStandardName[n]||s.isCustomAttribute(n))&&l.BackendIDOperations.deletePropertyByID(this._rootNodeID,n);for(n in a){var c=a[n],p=e[n];if(a.hasOwnProperty(n)&&c!==p)if(n===C)if(c&&(c=a.style=y(c)),p){for(r in p)!p.hasOwnProperty(r)||c&&c.hasOwnProperty(r)||(i=i||{},i[r]="");for(r in c)c.hasOwnProperty(r)&&p[r]!==c[r]&&(i=i||{},i[r]=c[r])}else i=c;else D.hasOwnProperty(n)?o(this._rootNodeID,n,c,t):(s.isStandardName[n]||s.isCustomAttribute(n))&&l.BackendIDOperations.updatePropertyByID(this._rootNodeID,n,c)}i&&l.BackendIDOperations.updateStylesByID(this._rootNodeID,i)},_updateDOMChildren:function(e,t){var n=this.props,r=b[typeof e.children]?e.children:null,o=b[typeof n.children]?n.children:null,i=e.dangerouslySetInnerHTML&&e.dangerouslySetInnerHTML.__html,a=n.dangerouslySetInnerHTML&&n.dangerouslySetInnerHTML.__html,s=null!=r?null:e.children,u=null!=o?null:n.children,c=null!=r||null!=i,p=null!=o||null!=a;null!=s&&null==u?this.updateChildren(null,t):c&&!p&&this.updateTextContent(""),null!=o?r!==o&&this.updateTextContent(""+o):null!=a?i!==a&&l.BackendIDOperations.updateInnerHTMLByID(this._rootNodeID,a):null!=u&&this.updateChildren(u,t)},unmountComponent:function(){this.unmountChildren(),p.deleteAllListeners(this._rootNodeID),l.Mixin.unmountComponent.call(this)}},E(i,l.Mixin),E(i,i.Mixin),E(i,f.Mixin),E(i,c),e.exports=i}).call(t,n(1))},function(e,t,n){"use strict";function r(){var e=d.current;return e&&e.constructor.displayName||void 0}function o(e,t){e._store.validated||null!=e.props.key||(e._store.validated=!0,a("react_key_warning",'Each child in an array should have a unique "key" prop.',e,t))}function i(e,t,n){g.test(e)&&a("react_numeric_key_warning","Child objects should have non-numeric keys so ordering is preserved.",t,n)}function a(e,t,n,o){var i=r(),a=o.displayName,s=i||a,u=h[e];if(!u.hasOwnProperty(s)){u[s]=!0,t+=i?" Check the render method of "+i+".":" Check the renderComponent call using <"+a+">.";var c=null;n._owner&&n._owner!==d.current&&(c=n._owner.constructor.displayName,t+=" It was passed a child from "+c+"."),t+=" See http://fb.me/react-warning-keys for more information.",f(e,{component:s,componentOwner:c}),console.warn(t)}}function s(){var e=r()||"";v.hasOwnProperty(e)||(v[e]=!0,f("react_object_map_children"))}function u(e,t){if(Array.isArray(e))for(var n=0;n"," "+o.CHECKSUM_ATTR_NAME+'="'+t+'">')},canReuseMarkup:function(e,t){var n=t.getAttribute(o.CHECKSUM_ATTR_NAME);n=n&&parseInt(n,10);var i=r(e);return i===n}};e.exports=o},function(e,t,n){"use strict";function r(e,t,n){v.push({parentID:e,parentNode:null,type:l.INSERT_MARKUP,markupIndex:m.push(t)-1,textContent:null,fromIndex:null,toIndex:n})}function o(e,t,n){v.push({parentID:e,parentNode:null,type:l.MOVE_EXISTING,markupIndex:null,textContent:null,fromIndex:t,toIndex:n})}function i(e,t){v.push({parentID:e,parentNode:null,type:l.REMOVE_NODE,markupIndex:null,textContent:null,fromIndex:t,toIndex:null})}function a(e,t){v.push({parentID:e,parentNode:null,type:l.TEXT_CONTENT,markupIndex:null,textContent:t,fromIndex:null,toIndex:null})}function s(){v.length&&(c.BackendIDOperations.dangerouslyProcessChildrenUpdates(v,m),u())}function u(){v.length=0,m.length=0}var c=n(27),l=n(83),p=n(188),d=n(43),f=n(62),h=0,v=[],m=[],g={Mixin:{mountChildren:function(e,t){var n=p(e),r=[],o=0;this._renderedChildren=n;for(var i in n){var a=n[i];if(n.hasOwnProperty(i)){var s=d(a);n[i]=s;var u=this._rootNodeID+i,c=s.mountComponent(u,t,this._mountDepth+1);s._mountIndex=o,r.push(c),o++}}return r},updateTextContent:function(e){h++;var t=!0;try{var n=this._renderedChildren;for(var r in n)n.hasOwnProperty(r)&&this._unmountChildByName(n[r],r);this.setTextContent(e),t=!1}finally{h--,h||(t?u():s())}},updateChildren:function(e,t){h++;var n=!0;try{this._updateChildren(e,t),n=!1}finally{h--,h||(n?u():s())}},_updateChildren:function(e,t){var n=p(e),r=this._renderedChildren;if(n||r){var o,i=0,a=0;for(o in n)if(n.hasOwnProperty(o)){var s=r&&r[o],u=s&&s._descriptor,c=n[o];if(f(u,c))this.moveChild(s,a,i),i=Math.max(s._mountIndex,i),s.receiveComponent(c,t),s._mountIndex=a;else{s&&(i=Math.max(s._mountIndex,i),this._unmountChildByName(s,o));var l=d(c);this._mountChildByNameAtIndex(l,o,a,t)}a++}for(o in r)!r.hasOwnProperty(o)||n&&n[o]||this._unmountChildByName(r[o],o)}},unmountChildren:function(){var e=this._renderedChildren;for(var t in e){var n=e[t];n.unmountComponent&&n.unmountComponent()}this._renderedChildren=null},moveChild:function(e,t,n){e._mountIndex>",_={array:o("array"),bool:o("boolean"),func:o("function"),number:o("number"),object:o("object"),string:o("string"),any:i(),arrayOf:a,component:s(),instanceOf:u,objectOf:l,oneOf:c,oneOfType:p,renderable:d(),shape:f};e.exports=_},function(e,t,n){"use strict";function r(){this.listenersToPut=[]}var o=n(15),i=n(26),a=n(11);a(r,{enqueuePutListener:function(e,t,n){this.listenersToPut.push({rootNodeID:e,propKey:t,propValue:n})},putListeners:function(){for(var e=0;e"+o+""},receiveComponent:function(e){var t=e.props;t!==this.props&&(this.props=t,i.BackendIDOperations.updateTextContentByID(this._rootNodeID,t))}}),e.exports=a.createFactory(c)},function(e,t,n){"use strict";var r=n(97),o={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(){var e=r(window);o.currentScrollLeft=e.x,o.currentScrollTop=e.y}};e.exports=o},function(e,t,n){function r(e,t){return e&&t?e===t?!0:o(e)?!1:o(t)?r(e,t.parentNode):e.contains?e.contains(t):e.compareDocumentPosition?!!(16&e.compareDocumentPosition(t)):!1:!1}var o=n(194);e.exports=r},function(e){"use strict";function t(e){e.disabled||e.focus()}e.exports=t},function(e){function t(){try{return document.activeElement||document.body}catch(e){return document.body}}e.exports=t},function(e,t,n){(function(t){function r(e){return"production"!==t.env.NODE_ENV?i(!!a,"Markup wrapping node not initialized"):i(!!a),d.hasOwnProperty(e)||(e="*"),s.hasOwnProperty(e)||(a.innerHTML="*"===e?"":"<"+e+">",s[e]=!a.firstChild),s[e]?d[e]:null}var o=n(3),i=n(2),a=o.canUseDOM?document.createElement("div"):null,s={circle:!0,defs:!0,ellipse:!0,g:!0,line:!0,linearGradient:!0,path:!0,polygon:!0,polyline:!0,radialGradient:!0,rect:!0,stop:!0,text:!0},u=[1,'"],c=[1,"","
"],l=[3,"","
"],p=[1,"",""],d={"*":[1,"?

"],area:[1,"",""],col:[2,"","
"],legend:[1,"
","
"],param:[1,"",""],tr:[2,"","
"],optgroup:u,option:u,caption:c,colgroup:c,tbody:c,tfoot:c,thead:c,td:l,th:l,circle:p,defs:p,ellipse:p,g:p,line:p,linearGradient:p,path:p,polygon:p,polyline:p,radialGradient:p,rect:p,stop:p,text:p};e.exports=r}).call(t,n(1))},function(e){"use strict";function t(e){return e?e.nodeType===n?e.documentElement:e.firstChild:null}var n=9;e.exports=t},function(e){"use strict";function t(e){return e===window?{x:window.pageXOffset||document.documentElement.scrollLeft,y:window.pageYOffset||document.documentElement.scrollTop}:{x:e.scrollLeft,y:e.scrollTop}}e.exports=t},function(e){"use strict";function t(e){return e&&("INPUT"===e.nodeName&&n[e.type]||"TEXTAREA"===e.nodeName)}var n={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};e.exports=t},function(e){"use strict";function t(e,t,n){if(!e)return null;var r=0,o={};for(var i in e)e.hasOwnProperty(i)&&(o[i]=t.call(n,e[i],i,r++));return o}e.exports=t},function(e){"use strict";function t(e){var t={};return function(n){return t.hasOwnProperty(n)?t[n]:t[n]=e.call(this,n)}}e.exports=t},function(e,t,n){"use strict";var r=n(3),o=function(e,t){e.innerHTML=t};if(r.canUseDOM){var i=document.createElement("div");i.innerHTML=" ",""===i.innerHTML&&(o=function(e,t){e.parentNode&&e.parentNode.replaceChild(e,e),t.match(/^[ \r\n\t\f]/)||"<"===t[0]&&(-1!==t.indexOf("=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),v(n)?r.showHidden=n:n&&t._extend(r,n),_(r.showHidden)&&(r.showHidden=!1),_(r.depth)&&(r.depth=2),_(r.colors)&&(r.colors=!1),_(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=i),u(r,e,r.depth)}function i(e,t){var n=o.styles[t];return n?"["+o.colors[n][0]+"m"+e+"["+o.colors[n][1]+"m":e}function a(e){return e}function s(e){var t={};return e.forEach(function(e){t[e]=!0}),t}function u(e,n,r){if(e.customInspect&&n&&x(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var o=n.inspect(r,e);return E(o)||(o=u(e,o,r)),o}var i=c(e,n);if(i)return i;var a=Object.keys(n),v=s(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(n)),w(n)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return l(n);if(0===a.length){if(x(n)){var m=n.name?": "+n.name:"";return e.stylize("[Function"+m+"]","special")}if(D(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(C(n))return e.stylize(Date.prototype.toString.call(n),"date");if(w(n))return l(n)}var g="",y=!1,N=["{","}"];if(h(n)&&(y=!0,N=["[","]"]),x(n)){var _=n.name?": "+n.name:"";g=" [Function"+_+"]"}if(D(n)&&(g=" "+RegExp.prototype.toString.call(n)),C(n)&&(g=" "+Date.prototype.toUTCString.call(n)),w(n)&&(g=" "+l(n)),0===a.length&&(!y||0==n.length))return N[0]+g+N[1];if(0>r)return D(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special");e.seen.push(n);var b;return b=y?p(e,n,r,v,a):a.map(function(t){return d(e,n,r,v,t,y)}),e.seen.pop(),f(b,g,N)}function c(e,t){if(_(t))return e.stylize("undefined","undefined");if(E(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return y(t)?e.stylize(""+t,"number"):v(t)?e.stylize(""+t,"boolean"):m(t)?e.stylize("null","null"):void 0}function l(e){return"["+Error.prototype.toString.call(e)+"]"}function p(e,t,n,r,o){for(var i=[],a=0,s=t.length;s>a;++a)i.push(R(t,String(a))?d(e,t,n,r,String(a),!0):"");return o.forEach(function(o){o.match(/^\d+$/)||i.push(d(e,t,n,r,o,!0))}),i}function d(e,t,n,r,o,i){var a,s,c;if(c=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]},c.get?s=c.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):c.set&&(s=e.stylize("[Setter]","special")),R(r,o)||(a="["+o+"]"),s||(e.seen.indexOf(c.value)<0?(s=m(n)?u(e,c.value,null):u(e,c.value,n-1),s.indexOf("\n")>-1&&(s=i?s.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+s.split("\n").map(function(e){return" "+e}).join("\n"))):s=e.stylize("[Circular]","special")),_(a)){if(i&&o.match(/^\d+$/))return s;a=JSON.stringify(""+o),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+s}function f(e,t,n){var r=0,o=e.reduce(function(e,t){return r++,t.indexOf("\n")>=0&&r++,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0);return o>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}function h(e){return Array.isArray(e)}function v(e){return"boolean"==typeof e}function m(e){return null===e}function g(e){return null==e}function y(e){return"number"==typeof e}function E(e){return"string"==typeof e}function N(e){return"symbol"==typeof e}function _(e){return void 0===e}function D(e){return b(e)&&"[object RegExp]"===M(e)}function b(e){return"object"==typeof e&&null!==e}function C(e){return b(e)&&"[object Date]"===M(e)}function w(e){return b(e)&&("[object Error]"===M(e)||e instanceof Error)}function x(e){return"function"==typeof e}function O(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||"undefined"==typeof e}function M(e){return Object.prototype.toString.call(e)}function T(e){return 10>e?"0"+e.toString(10):e.toString(10)}function I(){var e=new Date,t=[T(e.getHours()),T(e.getMinutes()),T(e.getSeconds())].join(":");return[e.getDate(),k[e.getMonth()],t].join(" ")}function R(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var S=/%[sdj%]/g;t.format=function(e){if(!E(e)){for(var t=[],n=0;n=i)return e;switch(e){case"%s":return String(r[n++]); -case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(t){return"[Circular]"}default:return e}}),s=r[n];i>n;s=r[++n])a+=m(s)||!b(s)?" "+s:" "+o(s);return a},t.deprecate=function(n,o){function i(){if(!a){if(r.throwDeprecation)throw new Error(o);r.traceDeprecation?console.trace(o):console.error(o),a=!0}return n.apply(this,arguments)}if(_(e.process))return function(){return t.deprecate(n,o).apply(this,arguments)};if(r.noDeprecation===!0)return n;var a=!1;return i};var P,A={};t.debuglog=function(e){if(_(P)&&(P=r.env.NODE_DEBUG||""),e=e.toUpperCase(),!A[e])if(new RegExp("\\b"+e+"\\b","i").test(P)){var n=r.pid;A[e]=function(){var r=t.format.apply(t,arguments);console.error("%s %d: %s",e,n,r)}}else A[e]=function(){};return A[e]},t.inspect=o,o.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},o.styles={special:"cyan",number:"yellow","boolean":"yellow",undefined:"grey","null":"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=h,t.isBoolean=v,t.isNull=m,t.isNullOrUndefined=g,t.isNumber=y,t.isString=E,t.isSymbol=N,t.isUndefined=_,t.isRegExp=D,t.isObject=b,t.isDate=C,t.isError=w,t.isFunction=x,t.isPrimitive=O,t.isBuffer=n(205);var k=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];t.log=function(){console.log("%s - %s",I(),t.format.apply(t,arguments))},t.inherits=n(204),t._extend=function(e,t){if(!t||!b(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e}}).call(t,function(){return this}(),n(1))},function(e,t,n){var r=n(63),o=n(106),i=n(108),a=n(107),s=n(110),u=n(105),c={Dispatcher:r,Flux:o,FluxMixin:i,FluxChildMixin:a,StoreWatchMixin:s,createStore:u,version:n(206).version};e.exports=c},function(e,t,n){var r=n(36),o=n(109),i=n(103),a=["flux","waitFor"],s=function(e){r(a,function(t){if(e[t])throw new Error("Reserved key '"+t+"' found in store definition")});var t=function(t){t=t||{},o.call(this);for(var n in e)"actions"===n?this.__actions__=e[n]:"initialize"===n||(this[n]="function"==typeof e[n]?e[n].bind(this):e[n]);e.initialize&&e.initialize.call(this,t)};return i.inherits(t,o),t};e.exports=s},function(e,t,n){function r(e,t,n){for(var o in t)t.hasOwnProperty(o)&&("function"==typeof t[o]?e[o]=t[o].bind(n):"object"==typeof t[o]&&(e[o]={},r(e[o],t[o],n)))}var o=n(63),i=function(e,t){var n=new o(e),i={flux:this,dispatch:function(e,t){n.dispatch({type:e,payload:t})}};this.dispatcher=n,this.actions={},this.stores=e,r(this.actions,t,i);for(var a in e)e.hasOwnProperty(a)&&(e[a].flux=this)};i.prototype.store=function(e){return this.stores[e]},e.exports=i},function(e){var t=function(e){return{contextTypes:{flux:e.PropTypes.object},getFlux:function(){return this.context.flux}}};t.componentWillMount=function(){throw new Error("Fluxxor.FluxChildMixin is a function that takes React as a parameter and returns the mixin, e.g.: mixins[Fluxxor.FluxChildMixin(React)]")},e.exports=t},function(e){var t=function(e){return{propTypes:{flux:e.PropTypes.object.isRequired},childContextTypes:{flux:e.PropTypes.object},getChildContext:function(){return{flux:this.props.flux}},getFlux:function(){return this.props.flux}}};t.componentWillMount=function(){throw new Error("Fluxxor.FluxMixin is a function that takes React as a parameter and returns the mixin, e.g.: mixins[Fluxxor.FluxMixin(React)]")},e.exports=t},function(e,t,n){function r(e){this.dispatcher=e,this.__actions__={},o.call(this)}var o=n(203).EventEmitter,i=n(103);i.inherits(r,o),r.prototype.__handleAction__=function(e){var t;(t=this.__actions__[e.type])&&("function"==typeof t?t.call(this,e.payload,e.type):t&&"function"==typeof this[t]&&this[t].call(this,e.payload,e.type))},r.prototype.bindActions=function(){var e=Array.prototype.slice.call(arguments);if(e.length%2!==0)throw new Error("bindActions must take an even number of arguments.");for(var t=0;t=l&&a(t?e[t]:v)))}var g=e[0],y=-1,E=g?g.length:0,N=[];e:for(;++y2?o(e,17,i(arguments,2),null,t):o(e,1,null,null,t)}var o=n(122),i=n(32);e.exports=r},function(e,t,n){function r(e){function t(){if(r){var e=s(r);c.apply(e,arguments)}if(this instanceof t){var a=o(n.prototype),l=n.apply(a,e||arguments);return i(l)?l:a}return n.apply(u,e||arguments)}var n=e[0],r=e[2],u=e[4];return a(t,e),t}var o=n(65),i=n(23),a=n(46),s=n(32),u=[],c=u.push;e.exports=r},function(e,t,n){function r(e,t,n,f,h){if(n){var g=n(e);if("undefined"!=typeof g)return g}var E=c(e);if(!E)return e;var b=C.call(e);if(!D[b])return e;var O=x[b];switch(b){case v:case m:return new O(+e);case y:case _:return new O(e);case N:return g=O(e.source,d.exec(e)),g.lastIndex=e.lastIndex,g}var M=u(e);if(t){var T=!f;f||(f=s()),h||(h=s());for(var I=f.length;I--;)if(f[I]==e)return h[I];g=M?O(e.length):{}}else g=M?p(e):o({},e);return M&&(w.call(e,"index")&&(g.index=e.index),w.call(e,"input")&&(g.input=e.input)),t?(f.push(e),h.push(g),(M?i:a)(e,function(e,o){g[o]=r(e,t,n,f,h)}),T&&(l(f),l(h)),g):g}var o=n(125),i=n(36),a=n(22),s=n(38),u=n(72),c=n(23),l=n(39),p=n(32),d=/\w*$/,f="[object Arguments]",h="[object Array]",v="[object Boolean]",m="[object Date]",g="[object Function]",y="[object Number]",E="[object Object]",N="[object RegExp]",_="[object String]",D={};D[g]=!1,D[f]=D[h]=D[v]=D[m]=D[y]=D[E]=D[N]=D[_]=!0;var b=Object.prototype,C=b.toString,w=b.hasOwnProperty,x={};x[h]=Array,x[v]=Boolean,x[m]=Date,x[g]=Function,x[E]=Object,x[y]=Number,x[N]=RegExp,x[_]=String,e.exports=r},function(e,t,n){function r(e){function t(){var e=h?d:this;if(l){var a=s(l);c.apply(a,arguments)}if((p||m)&&(a||(a=s(arguments)),p&&c.apply(a,p),m&&a.length-1:void 0});return N.pop(),_.pop(),S&&(u(N),u(_)),D}var o=n(128),i=n(38),a=n(73),s=n(21),u=n(39),c="[object Arguments]",l="[object Array]",p="[object Boolean]",d="[object Date]",f="[object Number]",h="[object Object]",v="[object RegExp]",m="[object String]",g=Object.prototype,y=g.toString,E=g.hasOwnProperty;e.exports=r},function(e,t,n){function r(e,t,n){var r=-1,p=o,d=e?e.length:0,f=[],h=!t&&d>=u,v=n||h?s():f;if(h){var m=a(v);p=i,v=m}for(;++r3&&"function"==typeof c[p-2])var d=r(c[--p-1],c[p--],2);else p>2&&"function"==typeof c[p-1]&&(d=c[--p]);for(;++l8));var A=!1;_.canUseDOM&&(A=C("input")&&(!("documentMode"in document)||document.documentMode>9));var k={get:function(){return S.get.call(this)},set:function(e){R=""+e,S.set.call(this,e)}},V={eventTypes:M,extractEvents:function(e,t,n,o){var i,a;if(r(t)?P?i=u:a=c:w(t)?A?i=f:(i=v,a=h):m(t)&&(i=g),i){var s=i(e,t,n);if(s){var l=b.getPooled(M.change,s,o);return N.accumulateTwoPhaseDispatches(l),l}}a&&a(e,t,n)}};e.exports=V},function(e){"use strict";var t=0,n={createReactRootIndex:function(){return t++}};e.exports=n},function(e,t,n){"use strict";function r(e){switch(e){case y.topCompositionStart:return N.compositionStart;case y.topCompositionEnd:return N.compositionEnd;case y.topCompositionUpdate:return N.compositionUpdate}}function o(e,t){return e===y.topKeyDown&&t.keyCode===v}function i(e,t){switch(e){case y.topKeyUp:return-1!==h.indexOf(t.keyCode);case y.topKeyDown:return t.keyCode!==v;case y.topKeyPress:case y.topMouseDown:case y.topBlur:return!0;default:return!1}}function a(e){this.root=e,this.startSelection=l.getSelection(e),this.startValue=this.getText()}var s=n(4),u=n(25),c=n(3),l=n(52),p=n(174),d=n(58),f=n(16),h=[9,13,27,32],v=229,m=c.canUseDOM&&"CompositionEvent"in window,g=!m||"documentMode"in document&&document.documentMode>8&&document.documentMode<=11,y=s.topLevelTypes,E=null,N={compositionEnd:{phasedRegistrationNames:{bubbled:f({onCompositionEnd:null}),captured:f({onCompositionEndCapture:null})},dependencies:[y.topBlur,y.topCompositionEnd,y.topKeyDown,y.topKeyPress,y.topKeyUp,y.topMouseDown]},compositionStart:{phasedRegistrationNames:{bubbled:f({onCompositionStart:null}),captured:f({onCompositionStartCapture:null})},dependencies:[y.topBlur,y.topCompositionStart,y.topKeyDown,y.topKeyPress,y.topKeyUp,y.topMouseDown]},compositionUpdate:{phasedRegistrationNames:{bubbled:f({onCompositionUpdate:null}),captured:f({onCompositionUpdateCapture:null})},dependencies:[y.topBlur,y.topCompositionUpdate,y.topKeyDown,y.topKeyPress,y.topKeyUp,y.topMouseDown]}};a.prototype.getText=function(){return this.root.value||this.root[d()]},a.prototype.getData=function(){var e=this.getText(),t=this.startSelection.start,n=this.startValue.length-this.startSelection.end;return e.substr(t,e.length-n-t)};var _={eventTypes:N,extractEvents:function(e,t,n,s){var c,l;if(m?c=r(e):E?i(e,s)&&(c=N.compositionEnd):o(e,s)&&(c=N.compositionStart),g&&(E||c!==N.compositionStart?c===N.compositionEnd&&E&&(l=E.getData(),E=null):E=new a(t)),c){var d=p.getPooled(c,n,s);return l&&(d.data=l),u.accumulateTwoPhaseDispatches(d),d}}};e.exports=_},function(e,t,n){(function(t){"use strict";function r(e,t,n){e.insertBefore(t,e.childNodes[n]||null)}var o,i=n(139),a=n(83),s=n(58),u=n(2),c=s();o="textContent"===c?function(e,t){e.textContent=t}:function(e,t){for(;e.firstChild;)e.removeChild(e.firstChild);if(t){var n=e.ownerDocument||document;e.appendChild(n.createTextNode(t))}};var l={dangerouslyReplaceNodeWithMarkup:i.dangerouslyReplaceNodeWithMarkup,updateTextContent:o,processUpdates:function(e,n){for(var s,c=null,l=null,p=0;s=e[p];p++)if(s.type===a.MOVE_EXISTING||s.type===a.REMOVE_NODE){var d=s.fromIndex,f=s.parentNode.childNodes[d],h=s.parentID;"production"!==t.env.NODE_ENV?u(f,"processUpdates(): Unable to find child %s of element. This probably means the DOM was unexpectedly mutated (e.g., by the browser), usually due to forgetting a when using tables, nesting

or tags, or using non-SVG elements in an parent. Try inspecting the child nodes of the element with React ID `%s`.",d,h):u(f),c=c||{},c[h]=c[h]||[],c[h][d]=f,l=l||[],l.push(f)}var v=i.dangerouslyRenderMarkup(n);if(l)for(var m=0;m]+)/,l="data-danger-index",p={dangerouslyRenderMarkup:function(e){"production"!==t.env.NODE_ENV?u(o.canUseDOM,"dangerouslyRenderMarkup(...): Cannot render markup in a Worker thread. This is likely a bug in the framework. Please report immediately."):u(o.canUseDOM);for(var n,p={},d=0;d node. This is because browser quirks make this unreliable and/or slow. If you want to render to the root you must use server rendering. See renderComponentToString()."):u("html"!==e.tagName.toLowerCase());var r=i(n,a)[0];e.parentNode.replaceChild(r,e)}};e.exports=p}).call(t,n(1))},function(e,t,n){"use strict";var r=n(16),o=[r({ResponderEventPlugin:null}),r({SimpleEventPlugin:null}),r({TapEventPlugin:null}),r({EnterLeaveEventPlugin:null}),r({ChangeEventPlugin:null}),r({SelectEventPlugin:null}),r({CompositionEventPlugin:null}),r({BeforeInputEventPlugin:null}),r({AnalyticsEventPlugin:null}),r({MobileSafariClickEventPlugin:null})];e.exports=o},function(e,t,n){"use strict";var r=n(4),o=n(25),i=n(41),a=n(10),s=n(16),u=r.topLevelTypes,c=a.getFirstReactDOM,l={mouseEnter:{registrationName:s({onMouseEnter:null}),dependencies:[u.topMouseOut,u.topMouseOver]},mouseLeave:{registrationName:s({onMouseLeave:null}),dependencies:[u.topMouseOut,u.topMouseOver]}},p=[null,null],d={eventTypes:l,extractEvents:function(e,t,n,r){if(e===u.topMouseOver&&(r.relatedTarget||r.fromElement))return null;if(e!==u.topMouseOut&&e!==u.topMouseOver)return null;var s;if(t.window===t)s=t;else{var d=t.ownerDocument;s=d?d.defaultView||d.parentWindow:window}var f,h;if(e===u.topMouseOut?(f=t,h=c(r.relatedTarget||r.toElement)||s):(f=s,h=t),f===h)return null;var v=f?a.getID(f):"",m=h?a.getID(h):"",g=i.getPooled(l.mouseLeave,v,r);g.type="mouseleave",g.target=f,g.relatedTarget=h;var y=i.getPooled(l.mouseEnter,m,r);return y.type="mouseenter",y.target=h,y.relatedTarget=f,o.accumulateEnterLeaveDispatches(g,y,v,m),p[0]=g,p[1]=y,p}};e.exports=d},function(e,t,n){(function(t){var r=n(13),o={listen:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!1),{remove:function(){e.removeEventListener(t,n,!1)}}):e.attachEvent?(e.attachEvent("on"+t,n),{remove:function(){e.detachEvent("on"+t,n)}}):void 0},capture:function(e,n,o){return e.addEventListener?(e.addEventListener(n,o,!0),{remove:function(){e.removeEventListener(n,o,!0)}}):("production"!==t.env.NODE_ENV&&console.error("Attempted to listen to events during the capture phase on a browser that does not support the capture phase. Your application will not receive some events."),{remove:r})},registerDefault:function(){}};e.exports=o}).call(t,n(1))},function(e,t,n){"use strict";var r,o=n(17),i=n(3),a=o.injection.MUST_USE_ATTRIBUTE,s=o.injection.MUST_USE_PROPERTY,u=o.injection.HAS_BOOLEAN_VALUE,c=o.injection.HAS_SIDE_EFFECTS,l=o.injection.HAS_NUMERIC_VALUE,p=o.injection.HAS_POSITIVE_NUMERIC_VALUE,d=o.injection.HAS_OVERLOADED_BOOLEAN_VALUE;if(i.canUseDOM){var f=document.implementation;r=f&&f.hasFeature&&f.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")}var h={isCustomAttribute:RegExp.prototype.test.bind(/^(data|aria)-[a-z_][a-z\d_.\-]*$/),Properties:{accept:null,accessKey:null,action:null,allowFullScreen:a|u,allowTransparency:a,alt:null,async:u,autoComplete:null,autoPlay:u,cellPadding:null,cellSpacing:null,charSet:a,checked:s|u,className:r?a:s,cols:a|p,colSpan:null,content:null,contentEditable:null,contextMenu:a,controls:s|u,coords:null,crossOrigin:null,data:null,dateTime:a,defer:u,dir:null,disabled:a|u,download:d,draggable:null,encType:null,form:a,formNoValidate:u,frameBorder:a,height:a,hidden:a|u,href:null,hrefLang:null,htmlFor:null,httpEquiv:null,icon:null,id:s,label:null,lang:null,list:null,loop:s|u,max:null,maxLength:a,mediaGroup:null,method:null,min:null,multiple:s|u,muted:s|u,name:null,noValidate:u,pattern:null,placeholder:null,poster:null,preload:null,radioGroup:null,readOnly:s|u,rel:null,required:u,role:a,rows:a|p,rowSpan:null,sandbox:null,scope:null,scrollLeft:s,scrolling:null,scrollTop:s,seamless:a|u,selected:s|u,shape:null,size:a|p,span:p,spellCheck:null,src:null,srcDoc:s,srcSet:null,start:l,step:null,style:null,tabIndex:null,target:null,title:null,type:null,useMap:null,value:s|c,width:a,wmode:a,autoCapitalize:null,autoCorrect:null,itemProp:a,itemScope:a|u,itemType:a,property:null},DOMAttributeNames:{className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{autoCapitalize:"autocapitalize",autoComplete:"autocomplete",autoCorrect:"autocorrect",autoFocus:"autofocus",autoPlay:"autoplay",encType:"enctype",hrefLang:"hreflang",radioGroup:"radiogroup",spellCheck:"spellcheck",srcDoc:"srcdoc",srcSet:"srcset"}};e.exports=h},function(e,t,n){"use strict";var r=n(4),o=n(13),i=r.topLevelTypes,a={eventTypes:null,extractEvents:function(e,t,n,r){if(e===i.topTouchStart){var a=r.target;a&&!a.onclick&&(a.onclick=o)}}};e.exports=a},function(e,t,n){(function(t){"use strict";var r=n(24),o=n(48),i=n(146),a=n(27),s=n(7),u=n(50),c=n(28),l=n(9),p=n(8),d=n(79),f=n(158),h=n(29),v=n(10),m=n(82),g=n(12),y=n(87),E=n(167),N=n(90),_=n(197);f.inject();var D={Children:{map:i.map,forEach:i.forEach,count:i.count,only:_},DOM:p,PropTypes:y,initializeTouchEvents:function(e){o.useTouchEvents=e},createClass:s.createClass,createDescriptor:function(e){var t=Array.prototype.slice.call(arguments,1);return e.apply(null,t)},constructAndRenderComponent:v.constructAndRenderComponent,constructAndRenderComponentByID:v.constructAndRenderComponentByID,renderComponent:g.measure("React","renderComponent",v.renderComponent),renderComponentToString:E.renderComponentToString,renderComponentToStaticMarkup:E.renderComponentToStaticMarkup,unmountComponentAtNode:v.unmountComponentAtNode,isValidClass:l.isValidFactory,isValidComponent:l.isValidDescriptor,withContext:u.withContext,__internals:{Component:a,CurrentOwner:c,DOMComponent:d,DOMPropertyOperations:r,InstanceHandles:h,Mount:v,MultiChild:m,TextComponent:N}};if("production"!==t.env.NODE_ENV){var b=n(3);if(b.canUseDOM&&window.top===window.self&&navigator.userAgent.indexOf("Chrome")>-1){console.debug("Download the React DevTools for a better development experience: http://fb.me/react-devtools");var C=[Array.isArray,Array.prototype.every,Array.prototype.forEach,Array.prototype.indexOf,Array.prototype.map,Date.now,Function.prototype.bind,Object.keys,String.prototype.split,String.prototype.trim,Object.create,Object.freeze];for(var w in C)if(!C[w]){console.error("One or more ES5 shim/shams expected by React are not available: http://fb.me/react-warning-polyfills");break}}}D.version="0.11.0",e.exports=D}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function r(e,t){this.forEachFunction=e,this.forEachContext=t}function o(e,t,n,r){var o=e;o.forEachFunction.call(o.forEachContext,t,r)}function i(e,t,n){if(null==e)return e;var i=r.getPooled(t,n);d(e,o,i),r.release(i)}function a(e,t,n){this.mapResult=e,this.mapFunction=t,this.mapContext=n}function s(e,n,r,o){var i=e,a=i.mapResult,s=!a.hasOwnProperty(r);if("production"!==t.env.NODE_ENV?f(s,"ReactChildren.map(...): Encountered two children with the same key, `%s`. Child keys must be unique; when two children share a key, only the first child will be used.",r):null,s){var u=i.mapFunction.call(i.mapContext,n,o);a[r]=u}}function u(e,t,n){if(null==e)return e;var r={},o=a.getPooled(r,t,n);return d(e,s,o),a.release(o),r}function c(){return null}function l(e){return d(e,c,null)}var p=n(15),d=n(102),f=n(14),h=p.twoArgumentPooler,v=p.threeArgumentPooler;p.addPoolingTo(r,h),p.addPoolingTo(a,v);var m={forEach:i,map:u,count:l};e.exports=m}).call(t,n(1))},function(e,t,n){(function(t){"use strict";var r=n(150),o=n(81),i=n(10),a=n(12),s=n(166),u=n(96),c=n(2),l=n(101),p=1,d=9,f={ReactReconcileTransaction:s,BackendIDOperations:r,unmountIDFromEnvironment:function(e){i.purgeID(e)},mountImageIntoNode:a.measure("ReactComponentBrowserEnvironment","mountImageIntoNode",function(e,n,r){if("production"!==t.env.NODE_ENV?c(n&&(n.nodeType===p||n.nodeType===d),"mountComponentIntoNode(...): Target container is not valid."):c(n&&(n.nodeType===p||n.nodeType===d)),r){if(o.canReuseMarkup(e,u(n)))return;"production"!==t.env.NODE_ENV?c(n.nodeType!==d,"You're trying to render a component to the document using server rendering but the checksum was invalid. This usually means you rendered a different component type or props on the client from the one on the server, or your render() methods are impure. React cannot handle this case due to cross-browser quirks by rendering at the document root. You should look for environment dependent code in your components and ensure the props are the same client and server side."):c(n.nodeType!==d),"production"!==t.env.NODE_ENV&&console.warn("React attempted to use reuse markup in a container but the checksum was invalid. This generally means that you are using server rendering and the markup generated on the server was not what the client was expecting. React injected new markup to compensate which works but you have lost many of the benefits of server rendering. Instead, figure out why the markup being generated is different on the client or server.")}"production"!==t.env.NODE_ENV?c(n.nodeType!==d,"You're trying to render a component to the document but you didn't use server rendering. We can't do this without using server rendering due to cross-browser quirks. See renderComponentToString() for server rendering."):c(n.nodeType!==d),l(n,e)})};e.exports=f}).call(t,n(1))},function(e,t,n){"use strict";var r=n(40),o=n(6),i=n(7),a=n(8),s=n(19),u=a.button,c=s({onClick:!0,onDoubleClick:!0,onMouseDown:!0,onMouseMove:!0,onMouseUp:!0,onClickCapture:!0,onDoubleClickCapture:!0,onMouseDownCapture:!0,onMouseMoveCapture:!0,onMouseUpCapture:!0}),l=i.createClass({displayName:"ReactDOMButton",mixins:[r,o],render:function(){var e={};for(var t in this.props)!this.props.hasOwnProperty(t)||this.props.disabled&&c[t]||(e[t]=this.props[t]);return u(e,this.props.children)}});e.exports=l},function(e,t,n){"use strict";var r=n(4),o=n(78),i=n(6),a=n(7),s=n(8),u=s.form,c=a.createClass({displayName:"ReactDOMForm",mixins:[i,o],render:function(){return this.transferPropsTo(u(null,this.props.children))},componentDidMount:function(){this.trapBubbledEvent(r.topLevelTypes.topReset,"reset"),this.trapBubbledEvent(r.topLevelTypes.topSubmit,"submit")}});e.exports=c},function(e,t,n){(function(t){"use strict";var r=n(76),o=n(138),i=n(24),a=n(10),s=n(12),u=n(2),c=n(101),l={dangerouslySetInnerHTML:"`dangerouslySetInnerHTML` must be set using `updateInnerHTMLByID()`.",style:"`style` must be set using `updateStylesByID()`."},p={updatePropertyByID:s.measure("ReactDOMIDOperations","updatePropertyByID",function(e,n,r){var o=a.getNode(e);"production"!==t.env.NODE_ENV?u(!l.hasOwnProperty(n),"updatePropertyByID(...): %s",l[n]):u(!l.hasOwnProperty(n)),null!=r?i.setValueForProperty(o,n,r):i.deleteValueForProperty(o,n)}),deletePropertyByID:s.measure("ReactDOMIDOperations","deletePropertyByID",function(e,n,r){var o=a.getNode(e);"production"!==t.env.NODE_ENV?u(!l.hasOwnProperty(n),"updatePropertyByID(...): %s",l[n]):u(!l.hasOwnProperty(n)),i.deleteValueForProperty(o,n,r)}),updateStylesByID:s.measure("ReactDOMIDOperations","updateStylesByID",function(e,t){var n=a.getNode(e);r.setValueForStyles(n,t)}),updateInnerHTMLByID:s.measure("ReactDOMIDOperations","updateInnerHTMLByID",function(e,t){var n=a.getNode(e); -c(n,t)}),updateTextContentByID:s.measure("ReactDOMIDOperations","updateTextContentByID",function(e,t){var n=a.getNode(e);o.updateTextContent(n,t)}),dangerouslyReplaceNodeWithMarkupByID:s.measure("ReactDOMIDOperations","dangerouslyReplaceNodeWithMarkupByID",function(e,t){var n=a.getNode(e);o.dangerouslyReplaceNodeWithMarkup(n,t)}),dangerouslyProcessChildrenUpdates:s.measure("ReactDOMIDOperations","dangerouslyProcessChildrenUpdates",function(e,t){for(var n=0;np;p++){var h=u[p];if(h!==a&&h.form===a.form){var v=c.getID(h);"production"!==t.env.NODE_ENV?l(v,"ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported."):l(v);var m=f[v];"production"!==t.env.NODE_ENV?l(m,"ReactDOMInput: Unknown radio button ID %s.",v):l(m),m.setState({checked:!1})}}}return n}});e.exports=h}).call(t,n(1))},function(e,t,n){(function(t){"use strict";var r=n(6),o=n(7),i=n(8),a=n(14),s=i.option,u=o.createClass({displayName:"ReactDOMOption",mixins:[r],componentWillMount:function(){"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?a(null==this.props.selected,"Use the `defaultValue` or `value` props on , and ) reliably and efficiently. To fix this, have a single top-level component that never unmounts render these elements.",this.constructor.displayName):i(!1)},render:function(){return this.transferPropsTo(e(null,this.props.children))}});return n}var o=n(7),i=n(2);e.exports=r}).call(t,n(1))},function(e,t,n){(function(t){function r(e){var t=e.match(l);return t&&t[1].toLowerCase()}function o(e,n){var o=c;"production"!==t.env.NODE_ENV?u(!!c,"createNodesFromMarkup dummy not initialized"):u(!!c);var i=r(e),l=i&&s(i); -if(l){o.innerHTML=l[1]+e+l[2];for(var p=l[0];p--;)o=o.lastChild}else o.innerHTML=e;var d=o.getElementsByTagName("script");d.length&&("production"!==t.env.NODE_ENV?u(n,"createNodesFromMarkup(...): Unexpected