text: !function(t,e,n){"function"==typeof require&&"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&"object"==typeof define.amd?define(function(){return n()}):e[t]=n()}("chai",this,function(){function require(t){var e=require.resolve(t),n=require.modules[e];if(!n)throw new Error('failed to require "'+t+'"');return n.exports||(n.exports={},n.call(n.exports,n,n.exports,require.relative(e))),n.exports}return require.modules={},require.resolve=function(t){var e=t,n=t+".js",r=t+"/index.js";return require.modules[n]&&n||require.modules[r]&&r||e},require.register=function(t,e){require.modules[t]=e},require.relative=function(t){return function(e){if("."!=e.charAt(0))return require(e);var n=t.split("/"),r=e.split("/");n.pop();for(var o=0;o<r.length;o++){var s=r[o];".."==s?n.pop():"."!=s&&n.push(s)}return require(n.join("/"))}},require.alias=function(t,e){var n=require.modules[t];require.modules[e]=n},require.register("chai.js",function(t,e,n){var r=[],e=t.exports={};e.version="1.4.2",e.Assertion=n("./chai/assertion"),e.AssertionError=n("./chai/error");var o=n("./chai/utils");e.use=function(t){return~r.indexOf(t)||(t(this,o),r.push(t)),this};var s=n("./chai/core/assertions");e.use(s);var i=n("./chai/interface/expect");e.use(i);var a=n("./chai/interface/should");e.use(a);var c=n("./chai/interface/assert");e.use(c)}),require.register("chai/assertion.js",function(t,e,n){function r(t,e,n){i(this,"ssfi",n||arguments.callee),i(this,"object",t),i(this,"message",e)}var o=n("./error"),s=n("./utils"),i=s.flag;t.exports=r,r.includeStack=!1,r.addProperty=function(t,e){s.addProperty(this.prototype,t,e)},r.addMethod=function(t,e){s.addMethod(this.prototype,t,e)},r.addChainableMethod=function(t,e,n){s.addChainableMethod(this.prototype,t,e,n)},r.overwriteProperty=function(t,e){s.overwriteProperty(this.prototype,t,e)},r.overwriteMethod=function(t,e){s.overwriteMethod(this.prototype,t,e)},r.prototype.assert=function(t,e,n,a,c,u){var h=s.test(this,arguments);if(!0!==u&&(u=!1),!h){var e=s.getMessage(this,arguments),p=s.getActual(this,arguments);throw new o({message:e,actual:p,expected:a,stackStartFunction:r.includeStack?this.assert:i(this,"ssfi"),showDiff:u})}},Object.defineProperty(r.prototype,"_obj",{get:function(){return i(this,"object")},set:function(t){i(this,"object",t)}})}),require.register("chai/core/assertions.js",function(t){t.exports=function(t,e){function n(t,e){e&&x(this,"message",e);var n=x(this,"object"),r=t.charAt(0).toUpperCase(),o=r+t.slice(1),s=~["A","E","I","O","U"].indexOf(r)?"an ":"a ";this.assert("[object "+o+"]"===v.call(n),"expected #{this} to be "+s+t,"expected #{this} not to be "+s+t)}function r(){x(this,"contains",!0)}function o(t,n){n&&x(this,"message",n);var r=x(this,"object");this.assert(~r.indexOf(t),"expected #{this} to include "+e.inspect(t),"expected #{this} to not include "+e.inspect(t))}function s(){var t=x(this,"object"),e=Object.prototype.toString.call(t);this.assert("[object Arguments]"===e,"expected #{this} to be arguments but got "+e,"expected #{this} to not be arguments")}function i(t,e){e&&x(this,"message",e);var n=x(this,"object");return x(this,"deep")?this.eql(t):void this.assert(t===n,"expected #{this} to equal #{exp}","expected #{this} to not equal #{exp}",t,this._obj,!0)}function a(t,e){e&&x(this,"message",e);var n=x(this,"object");if(x(this,"doLength")){new y(n,e).to.have.property("length");var r=n.length;this.assert(r>t,"expected #{this} to have a length above #{exp} but got #{act}","expected #{this} to not have a length above #{exp}",t,r)}else this.assert(n>t,"expected #{this} to be above "+t,"expected #{this} to be at most "+t)}function c(t,e){e&&x(this,"message",e);var n=x(this,"object");if(x(this,"doLength")){new y(n,e).to.have.property("length");var r=n.length;this.assert(r>=t,"expected #{this} to have a length at least #{exp} but got #{act}","expected #{this} to not have a length below #{exp}",t,r)}else this.assert(n>=t,"expected #{this} to be at least "+t,"expected #{this} to be below "+t)}function u(t,e){e&&x(this,"message",e);var n=x(this,"object");if(x(this,"doLength")){new y(n,e).to.have.property("length");var r=n.length;this.assert(t>r,"expected #{this} to have a length below #{exp} but got #{act}","expected #{this} to not have a length below #{exp}",t,r)}else this.assert(t>n,"expected #{this} to be below "+t,"expected #{this} to be at least "+t)}function h(t,e){e&&x(this,"message",e);var n=x(this,"object");if(x(this,"doLength")){new y(n,e).to.have.property("length");var r=n.length;this.assert(t>=r,"expected #{this} to have a length at most #{exp} but got #{act}","expected #{this} to not have a length above #{exp}",t,r)}else this.assert(t>=n,"expected #{this} to be at most "+t,"expected #{this} to be above "+t)}function p(t,n){n&&x(this,"message",n);var r=e.getName(t);this.assert(x(this,"object")instanceof t,"expected #{this} to be an instance of "+r,"expected #{this} to not be an instance of "+r)}function f(t,n){n&&x(this,"message",n);var r=x(this,"object");this.assert(r.hasOwnProperty(t),"expected #{this} to have own property "+e.inspect(t),"expected #{this} to not have own property "+e.inspect(t))}function l(){x(this,"doLength",!0)}function d(t,e){e&&x(this,"message",e);var n=x(this,"object");new y(n,e).to.have.property("length");var r=n.length;this.assert(r==t,"expected #{this} to have a length of #{exp} but got #{act}","expected #{this} to not have a length of #{act}",t,r)}function g(t){var n,r=x(this,"object"),o=!0;if(t=t instanceof Array?t:Array.prototype.slice.call(arguments),!t.length)throw new Error("keys required");var s=Object.keys(r),i=t.length;if(o=t.every(function(t){return~s.indexOf(t)}),x(this,"negate")||x(this,"contains")||(o=o&&t.length==s.length),i>1){t=t.map(function(t){return e.inspect(t)});var a=t.pop();n=t.join(", ")+", and "+a}else n=e.inspect(t[0]);n=(i>1?"keys ":"key ")+n,n=(x(this,"contains")?"contain ":"have ")+n,this.assert(o,"expected #{this} to "+n,"expected #{this} to not "+n)}function b(t,n,r){r&&x(this,"message",r);var o=x(this,"object");new y(o,r).is.a("function");var s=!1,i=null,a=null,c=null;0===arguments.length?(n=null,t=null):t&&(t instanceof RegExp||"string"==typeof t)?(n=t,t=null):t&&t instanceof Error?(i=t,t=null,n=null):"function"==typeof t?a=(new t).name:t=null;try{o()}catch(u){if(i)return this.assert(u===i,"expected #{this} to throw "+e.inspect(i)+" but "+e.inspect(u)+" was thrown","expected #{this} to not throw "+e.inspect(i)),this;if(t&&(this.assert(u instanceof t,"expected #{this} to throw "+a+" but "+e.inspect(u)+" was thrown","expected #{this} to not throw "+a+" but "+e.inspect(u)+" was thrown"),!n))return this;if(u.message&&n&&n instanceof RegExp)return this.assert(n.exec(u.message),"expected #{this} to throw error matching "+n+" but got "+e.inspect(u.message),"expected #{this} to throw error not matching "+n),this;if(u.message&&n&&"string"==typeof n)return this.assert(~u.message.indexOf(n),"expected #{this} to throw error including #{exp} but got #{act}","expected #{this} to throw error not including #{act}",n,u.message),this;s=!0,c=u}var h=a?a:i?e.inspect(i):"an error",p="";s&&(p=" but "+e.inspect(c)+" was thrown"),this.assert(s===!0,"expected #{this} to throw "+h+p,"expected #{this} to not throw "+h+p)}var y=t.Assertion,v=Object.prototype.toString,x=e.flag;["to","be","been","is","and","have","with","that","at","of"].forEach(function(t){y.addProperty(t,function(){return this})}),y.addProperty("not",function(){x(this,"negate",!0)}),y.addProperty("deep",function(){x(this,"deep",!0)}),y.addChainableMethod("an",n),y.addChainableMethod("a",n),y.addChainableMethod("include",o,r),y.addChainableMethod("contain",o,r),y.addProperty("ok",function(){this.assert(x(this,"object"),"expected #{this} to be truthy","expected #{this} to be falsy")}),y.addProperty("true",function(){this.assert(!0===x(this,"object"),"expected #{this} to be true","expected #{this} to be false",this.negate?!1:!0)}),y.addProperty("false",function(){this.assert(!1===x(this,"object"),"expected #{this} to be false","expected #{this} to be true",this.negate?!0:!1)}),y.addProperty("null",function(){this.assert(null===x(this,"object"),"expected #{this} to be null","expected #{this} not to be null")}),y.addProperty("undefined",function(){this.assert(void 0===x(this,"object"),"expected #{this} to be undefined","expected #{this} not to be undefined")}),y.addProperty("exist",function(){this.assert(null!=x(this,"object"),"expected #{this} to exist","expected #{this} to not exist")}),y.addProperty("empty",function(){var t=x(this,"object"),e=t;Array.isArray(t)||"string"==typeof object?e=t.length:"object"==typeof t&&(e=Object.keys(t).length),this.assert(!e,"expected #{this} to be empty","expected #{this} not to be empty")}),y.addProperty("arguments",s),y.addProperty("Arguments",s),y.addMethod("equal",i),y.addMethod("equals",i),y.addMethod("eq",i),y.addMethod("eql",function(t,n){n&&x(this,"message",n),this.assert(e.eql(t,x(this,"object")),"expected #{this} to deeply equal #{exp}","expected #{this} to not deeply equal #{exp}",t,this._obj,!0)}),y.addMethod("above",a),y.addMethod("gt",a),y.addMethod("greaterThan",a),y.addMethod("least",c),y.addMethod("gte",c),y.addMethod("below",u),y.addMethod("lt",u),y.addMethod("lessThan",u),y.addMethod("most",h),y.addMethod("lte",h),y.addMethod("within",function(t,e,n){n&&x(this,"message",n);var r=x(this,"object"),o=t+".."+e;if(x(this,"doLength")){new y(r,n).to.have.property("length");var s=r.length;this.assert(s>=t&&e>=s,"expected #{this} to have a length within "+o,"expected #{this} to not have a length within "+o)}else this.assert(r>=t&&e>=r,"expected #{this} to be within "+o,"expected #{this} to not be within "+o)}),y.addMethod("instanceof",p),y.addMethod("instanceOf",p),y.addMethod("property",function(t,n,r){r&&x(this,"message",r);var o=x(this,"deep")?"deep property ":"property ",s=x(this,"negate"),i=x(this,"object"),a=x(this,"deep")?e.getPathValue(t,i):i[t];if(s&&void 0!==n){if(void 0===a)throw r=null!=r?r+": ":"",new Error(r+e.inspect(i)+" has no "+o+e.inspect(t))}else this.assert(void 0!==a,"expected #{this} to have a "+o+e.inspect(t),"expected #{this} to not have "+o+e.inspect(t));void 0!==n&&this.assert(n===a,"expected #{this} to have a "+o+e.inspect(t)+" of #{exp}, but got #{act}","expected #{this} to not have a "+o+e.inspect(t)+" of #{act}",n,a),x(this,"object",a)}),y.addMethod("ownProperty",f),y.addMethod("haveOwnProperty",f),y.addChainableMethod("length",d,l),y.addMethod("lengthOf",d,l),y.addMethod("match",function(t,e){e&&x(this,"message",e);var n=x(this,"object");this.assert(t.exec(n),"expected #{this} to match "+t,"expected #{this} not to match "+t)}),y.addMethod("string",function(t,n){n&&x(this,"message",n);var r=x(this,"object");new y(r,n).is.a("string"),this.assert(~r.indexOf(t),"expected #{this} to contain "+e.inspect(t),"expected #{this} to not contain "+e.inspect(t))}),y.addMethod("keys",g),y.addMethod("key",g),y.addMethod("throw",b),y.addMethod("throws",b),y.addMethod("Throw",b),y.addMethod("respondTo",function(t,n){n&&x(this,"message",n);var r=x(this,"object"),o=x(this,"itself"),s="function"!=typeof r||o?r[t]:r.prototype[t];this.assert("function"==typeof s,"expected #{this} to respond to "+e.inspect(t),"expected #{this} to not respond to "+e.inspect(t))}),y.addProperty("itself",function(){x(this,"itself",!0)}),y.addMethod("satisfy",function(t,n){n&&x(this,"message",n);var r=x(this,"object");this.assert(t(r),"expected #{this} to satisfy "+e.inspect(t),"expected #{this} to not satisfy"+e.inspect(t),this.negate?!1:!0,t(r))}),y.addMethod("closeTo",function(t,e,n){n&&x(this,"message",n);var r=x(this,"object");this.assert(Math.abs(r-t)<=e,"expected #{this} to be close to "+t+" +/- "+e,"expected #{this} not to be close to "+t+" +/- "+e)})}}),require.register("chai/error.js",function(t){function e(t){if(t=t||{},this.message=t.message,this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,this.showDiff=t.showDiff,t.stackStartFunction&&Error.captureStackTrace){var e=t.stackStartFunction;Error.captureStackTrace(this,e)}}t.exports=e,e.prototype=Object.create(Error.prototype),e.prototype.name="AssertionError",e.prototype.constructor=e,e.prototype.toString=function(){return this.message}}),require.register("chai/interface/assert.js",function(module,exports,require){module.exports=function(chai,util){var Assertion=chai.Assertion,flag=util.flag,assert=chai.assert=function(t,e){var n=new Assertion(null);n.assert(t,e,"[ negation message unavailable ]")};assert.fail=function(t,e,n,r){throw new chai.AssertionError({actual:t,expected:e,message:n,operator:r,stackStartFunction:assert.fail})},assert.ok=function(t,e){new Assertion(t,e).is.ok},assert.equal=function(t,e,n){var r=new Assertion(t,n);r.assert(e==flag(r,"object"),"expected #{this} to equal #{exp}","expected #{this} to not equal #{act}",e,t)},assert.notEqual=function(t,e,n){var r=new Assertion(t,n);r.assert(e!=flag(r,"object"),"expected #{this} to not equal #{exp}","expected #{this} to equal #{act}",e,t)},assert.strictEqual=function(t,e,n){new Assertion(t,n).to.equal(e)},assert.notStrictEqual=function(t,e,n){new Assertion(t,n).to.not.equal(e)},assert.deepEqual=function(t,e,n){new Assertion(t,n).to.eql(e)},assert.notDeepEqual=function(t,e,n){new Assertion(t,n).to.not.eql(e)},assert.isTrue=function(t,e){new Assertion(t,e).is["true"]},assert.isFalse=function(t,e){new Assertion(t,e).is["false"]},assert.isNull=function(t,e){new Assertion(t,e).to.equal(null)},assert.isNotNull=function(t,e){new Assertion(t,e).to.not.equal(null)},assert.isUndefined=function(t,e){new Assertion(t,e).to.equal(void 0)},assert.isDefined=function(t,e){new Assertion(t,e).to.not.equal(void 0)},assert.isFunction=function(t,e){new Assertion(t,e).to.be.a("function")},assert.isNotFunction=function(t,e){new Assertion(t,e).to.not.be.a("function")},assert.isObject=function(t,e){new Assertion(t,e).to.be.a("object")},assert.isNotObject=function(t,e){new Assertion(t,e).to.not.be.a("object")},assert.isArray=function(t,e){new Assertion(t,e).to.be.an("array")},assert.isNotArray=function(t,e){new Assertion(t,e).to.not.be.an("array")},assert.isString=function(t,e){new Assertion(t,e).to.be.a("string")},assert.isNotString=function(t,e){new Assertion(t,e).to.not.be.a("string")},assert.isNumber=function(t,e){new Assertion(t,e).to.be.a("number")},assert.isNotNumber=function(t,e){new Assertion(t,e).to.not.be.a("number")},assert.isBoolean=function(t,e){new Assertion(t,e).to.be.a("boolean")},assert.isNotBoolean=function(t,e){new Assertion(t,e).to.not.be.a("boolean")},assert.typeOf=function(t,e,n){new Assertion(t,n).to.be.a(e)},assert.notTypeOf=function(t,e,n){new Assertion(t,n).to.not.be.a(e)},assert.instanceOf=function(t,e,n){new Assertion(t,n).to.be.instanceOf(e)},assert.notInstanceOf=function(t,e,n){new Assertion(t,n).to.not.be.instanceOf(e)},assert.include=function(t,e,n){var r=new Assertion(t,n);Array.isArray(t)?r.to.include(e):"string"==typeof t&&r.to.contain.string(e)},assert.match=function(t,e,n){new Assertion(t,n).to.match(e)},assert.notMatch=function(t,e,n){new Assertion(t,n).to.not.match(e)},assert.property=function(t,e,n){new Assertion(t,n).to.have.property(e)},assert.notProperty=function(t,e,n){new Assertion(t,n).to.not.have.property(e)},assert.deepProperty=function(t,e,n){new Assertion(t,n).to.have.deep.property(e)},assert.notDeepProperty=function(t,e,n){new Assertion(t,n).to.not.have.deep.property(e)},assert.propertyVal=function(t,e,n,r){new Assertion(t,r).to.have.property(e,n)},assert.propertyNotVal=function(t,e,n,r){new Assertion(t,r).to.not.have.property(e,n)},assert.deepPropertyVal=function(t,e,n,r){new Assertion(t,r).to.have.deep.property(e,n)},assert.deepPropertyNotVal=function(t,e,n,r){new Assertion(t,r).to.not.have.deep.property(e,n)},assert.lengthOf=function(t,e,n){new Assertion(t,n).to.have.length(e)},assert.Throw=function(t,e,n,r){("string"==typeof e||e instanceof RegExp)&&(n=e,e=null),new Assertion(t,r).to.Throw(e,n)},assert.doesNotThrow=function(t,e,n){"string"==typeof e&&(n=e,e=null),new Assertion(t,n).to.not.Throw(e)},assert.operator=function(val,operator,val2,msg){if(!~["==","===",">",">=","<","<=","!=","!=="].indexOf(operator))throw new Error('Invalid operator "'+operator+'"');var test=new Assertion(eval(val+operator+val2),msg);test.assert(!0===flag(test,"object"),"expected "+util.inspect(val)+" to be "+operator+" "+util.inspect(val2),"expected "+util.inspect(val)+" to not be "+operator+" "+util.inspect(val2))},assert.closeTo=function(t,e,n,r){new Assertion(t,r).to.be.closeTo(e,n)},assert.ifError=function(t,e){new Assertion(t,e).to.not.be.ok},function t(e,n){return assert[n]=assert[e],t}("Throw","throw")("Throw","throws")}}),require.register("chai/interface/expect.js",function(t){t.exports=function(t){t.expect=function(e,n){return new t.Assertion(e,n)}}}),require.register("chai/interface/should.js",function(t){t.exports=function(t){function e(){Object.defineProperty(Object.prototype,"should",{set:function(t){Object.defineProperty(this,"should",{value:t,enumerable:!0,configurable:!0,writable:!0})},get:function(){return new n(this instanceof String||this instanceof Number?this.constructor(this):this instanceof Boolean?1==this:this)},configurable:!0});var t={};return t.equal=function(t,e,r){new n(t,r).to.equal(e)},t.Throw=function(t,e,r,o){new n(t,o).to.Throw(e,r)},t.exist=function(t,e){new n(t,e).to.exist},t.not={},t.not.equal=function(t,e,r){new n(t,r).to.not.equal(e)},t.not.Throw=function(t,e,r,o){new n(t,o).to.not.Throw(e,r)},t.not.exist=function(t,e){new n(t,e).to.not.exist},t["throw"]=t.Throw,t.not["throw"]=t.not.Throw,t}var n=t.Assertion;t.should=e,t.Should=e}}),require.register("chai/utils/addChainableMethod.js",function(t,e,n){var r=n("./transferFlags");t.exports=function(t,e,n,o){"function"!=typeof o&&(o=function(){}),Object.defineProperty(t,e,{get:function(){o.call(this);var e=function(){var t=n.apply(this,arguments);return void 0===t?this:t},s=Object.getOwnPropertyNames(t);return s.forEach(function(n){var r=Object.getOwnPropertyDescriptor(t,n),o=Object.getOwnPropertyDescriptor(Function.prototype,n);(!o||o.configurable)&&"arguments"!==n&&Object.defineProperty(e,n,r)}),r(this,e),e},configurable:!0})}}),require.register("chai/utils/addMethod.js",function(t){t.exports=function(t,e,n){t[e]=function(){var t=n.apply(this,arguments);return void 0===t?this:t}}}),require.register("chai/utils/addProperty.js",function(t){t.exports=function(t,e,n){Object.defineProperty(t,e,{get:function(){var t=n.call(this);return void 0===t?this:t},configurable:!0})}}),require.register("chai/utils/eql.js",function(t,e,n){function r(t,e,n){if(t===e)return!0;if(a.isBuffer(t)&&a.isBuffer(e)){if(t.length!=e.length)return!1;for(var r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}return t instanceof Date&&e instanceof Date?t.getTime()===e.getTime():"object"!=typeof t&&"object"!=typeof e?t===e:i(t,e,n)}function o(t){return null===t||void 0===t}function s(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function i(t,e,n){if(o(t)||o(e))return!1;if(t.prototype!==e.prototype)return!1;var i;if(n){for(i=0;i<n.length;i++)if(n[i][0]===t&&n[i][1]===e||n[i][0]===e&&n[i][1]===t)return!0}else n=[];if(s(t))return s(e)?(t=pSlice.call(t),e=pSlice.call(e),r(t,e,n)):!1;try{var a,c=Object.keys(t),u=Object.keys(e)}catch(h){return!1}if(c.length!=u.length)return!1;for(c.sort(),u.sort(),i=c.length-1;i>=0;i--)if(c[i]!=u[i])return!1;for(n.push([t,e]),i=c.length-1;i>=0;i--)if(a=c[i],!r(t[a],e[a],n))return!1;return!0}t.exports=r;var a;try{a=n("buffer").Buffer}catch(c){a={isBuffer:function(){return!1}}}}),require.register("chai/utils/flag.js",function(t){t.exports=function(t,e,n){var r=t.__flags||(t.__flags=Object.create(null));return 3!==arguments.length?r[e]:void(r[e]=n)}}),require.register("chai/utils/getActual.js",function(t){t.exports=function(t,e){var n=e[4];return"undefined"!=typeof n?n:t._obj}}),require.register("chai/utils/getMessage.js",function(t,e,n){var r=n("./flag"),o=n("./getActual"),s=(n("./inspect"),n("./objDisplay"));t.exports=function(t,e){var n=r(t,"negate"),i=r(t,"object"),a=e[3],c=o(t,e),u=n?e[2]:e[1],h=r(t,"message");return u=u||"",u=u.replace(/#{this}/g,s(i)).replace(/#{act}/g,s(c)).replace(/#{exp}/g,s(a)),h?h+": "+u:u}}),require.register("chai/utils/getName.js",function(t){t.exports=function(t){if(t.name)return t.name;var e=/^\s?function ([^(]*)\(/.exec(t);return e&&e[1]?e[1]:""}}),require.register("chai/utils/getPathValue.js",function(t){function e(t){var e=t.replace(/\[/g,".["),n=e.match(/(\\\.|[^.]+?)+/g);return n.map(function(t){var e=/\[(\d+)\]$/,n=e.exec(t);return n?{i:parseFloat(n[1])}:{p:t}})}function n(t,e){for(var n,r=e,o=0,s=t.length;s>o;o++){var i=t[o];r?("undefined"!=typeof i.p?r=r[i.p]:"undefined"!=typeof i.i&&(r=r[i.i]),o==s-1&&(n=r)):n=void 0}return n}t.exports=function(t,r){var o=e(t);return n(o,r)}}),require.register("chai/utils/index.js",function(t,e,n){var e=t.exports={};e.test=n("./test"),e.getMessage=n("./getMessage"),e.getActual=n("./getActual"),e.inspect=n("./inspect"),e.objDisplay=n("./objDisplay"),e.flag=n("./flag"),e.transferFlags=n("./transferFlags"),e.eql=n("./eql"),e.getPathValue=n("./getPathValue"),e.getName=n("./getName"),e.addProperty=n("./addProperty"),e.addMethod=n("./addMethod"),e.overwriteProperty=n("./overwriteProperty"),e.overwriteMethod=n("./overwriteMethod"),e.addChainableMethod=n("./addChainableMethod")}),require.register("chai/utils/inspect.js",function(t,e,n){function r(t,e,n){var r={showHidden:e,seen:[],stylize:function(t){return t}};return o(r,t,"undefined"==typeof n?2:n)}function o(t,n,r){if(n&&"function"==typeof n.inspect&&n.inspect!==e.inspect&&(!n.constructor||n.constructor.prototype!==n))return n.inspect(r);var o=s(t,n);if(o)return o;if(y(n))return b(n);var d=Object.keys(n),v=t.showHidden?Object.getOwnPropertyNames(n):d;if(0===v.length||l(n)&&(1===v.length&&"stack"===v[0]||2===v.length&&"description"===v[0]&&"stack"===v[1])){if("function"==typeof n){var x=g(n),w=x?": "+x:"";return t.stylize("[Function"+w+"]","special")}if(p(n))return t.stylize(RegExp.prototype.toString.call(n),"regexp");if(f(n))return t.stylize(Date.prototype.toUTCString.call(n),"date");if(l(n))return i(n)}var j="",m=!1,A=["{","}"];if(h(n)&&(m=!0,A=["[","]"]),"function"==typeof n){var x=g(n),w=x?": "+x:"";j=" [Function"+w+"]"}if(p(n)&&(j=" "+RegExp.prototype.toString.call(n)),f(n)&&(j=" "+Date.prototype.toUTCString.call(n)),l(n))return i(n);if(0===v.length&&(!m||0==n.length))return A[0]+j+A[1];if(0>r)return p(n)?t.stylize(RegExp.prototype.toString.call(n),"regexp"):t.stylize("[Object]","special");t.seen.push(n);var q;return q=m?a(t,n,r,d,v):v.map(function(e){return c(t,n,r,d,e,m)}),t.seen.pop(),u(q,j,A)}function s(t,e){switch(typeof e){case"undefined":return t.stylize("undefined","undefined");case"string":var n="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(n,"string");case"number":return t.stylize(""+e,"number");case"boolean":return t.stylize(""+e,"boolean")}return null===e?t.stylize("null","null"):void 0}function i(t){return"["+Error.prototype.toString.call(t)+"]"}function a(t,e,n,r,o){for(var s=[],i=0,a=e.length;a>i;++i)s.push(Object.prototype.hasOwnProperty.call(e,String(i))?c(t,e,n,r,String(i),!0):"");return o.forEach(function(o){o.match(/^\d+$/)||s.push(c(t,e,n,r,o,!0))}),s}function c(t,e,n,r,s,i){var a,c;if(e.__lookupGetter__&&(e.__lookupGetter__(s)?c=e.__lookupSetter__(s)?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):e.__lookupSetter__(s)&&(c=t.stylize("[Setter]","special"))),r.indexOf(s)<0&&(a="["+s+"]"),c||(t.seen.indexOf(e[s])<0?(c=null===n?o(t,e[s],null):o(t,e[s],n-1),c.indexOf("\n")>-1&&(c=i?c.split("\n").map(function(t){return"  "+t}).join("\n").substr(2):"\n"+c.split("\n").map(function(t){return"   "+t}).join("\n"))):c=t.stylize("[Circular]","special")),"undefined"==typeof a){if(i&&s.match(/^\d+$/))return c;a=JSON.stringify(""+s),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=t.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=t.stylize(a,"string"))}return a+": "+c}function u(t,e,n){var r=0,o=t.reduce(function(t,e){return r++,e.indexOf("\n")>=0&&r++,t+e.length+1},0);return o>60?n[0]+(""===e?"":e+"\n ")+" "+t.join(",\n  ")+" "+n[1]:n[0]+e+" "+t.join(", ")+" "+n[1]}function h(t){return Array.isArray(t)||"object"==typeof t&&"[object Array]"===d(t)}function p(t){return"object"==typeof t&&"[object RegExp]"===d(t)}function f(t){return"object"==typeof t&&"[object Date]"===d(t)}function l(t){return"object"==typeof t&&"[object Error]"===d(t)}function d(t){return Object.prototype.toString.call(t)}var g=n("./getName");t.exports=r;var b=function(t){if("outerHTML"in t)return t.outerHTML;var e,n="http://www.w3.org/1999/xhtml",r=document.createElementNS(n,"_"),o=((window.HTMLElement||window.Element).prototype,new XMLSerializer);return document.xmlVersion?o.serializeToString(t):(r.appendChild(t.cloneNode(!1)),e=r.innerHTML.replace("><",">"+t.innerHTML+"<"),r.innerHTML="",e)},y=function(t){return"object"==typeof HTMLElement?t instanceof HTMLElement:t&&"object"==typeof t&&1===t.nodeType&&"string"==typeof t.nodeName}}),require.register("chai/utils/objDisplay.js",function(t,e,n){var r=n("./inspect");t.exports=function(t){var e=r(t),n=Object.prototype.toString.call(t);if(e.length>=40){if("[object Array]"===n)return"[ Array("+t.length+") ]";if("[object Object]"===n){var o=Object.keys(t),s=o.length>2?o.splice(0,2).join(", ")+", ...":o.join(", ");return"{ Object ("+s+") }"}return e}return e}}),require.register("chai/utils/overwriteMethod.js",function(t){t.exports=function(t,e,n){var r=t[e],o=function(){return this};r&&"function"==typeof r&&(o=r),t[e]=function(){var t=n(o).apply(this,arguments);return void 0===t?this:t}}}),require.register("chai/utils/overwriteProperty.js",function(t){t.exports=function(t,e,n){var r=Object.getOwnPropertyDescriptor(t,e),o=function(){};r&&"function"==typeof r.get&&(o=r.get),Object.defineProperty(t,e,{get:function(){var t=n(o).call(this);return void 0===t?this:t},configurable:!0})}}),require.register("chai/utils/test.js",function(t,e,n){var r=n("./flag");t.exports=function(t,e){var n=r(t,"negate"),o=e[0];return n?!o:o}}),require.register("chai/utils/transferFlags.js",function(t){t.exports=function(t,e,n){var r=t.__flags||(t.__flags=Object.create(null));e.__flags||(e.__flags=Object.create(null)),n=3===arguments.length?n:!0;for(var o in r)(n||"object"!==o&&"ssfi"!==o&&"message"!=o)&&(e.__flags[o]=r[o])}}),require.alias("./chai.js","chai"),require("chai")});