This repository is currently being migrated. It's locked while the migration is in progress.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpostman-bdd.min.js
504 lines (504 loc) · 110 KB
/
postman-bdd.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
/*!
* Postman BDD v5.0.2 (July 17th 2017)
*
* https://bigstickcarpet.github.io/postman-bdd
*
* @author James Messinger (http://jamesmessinger.com)
* @license MIT
*/
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.postmanBDD=f()}})(function(){var define,module,exports;return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){"use strict";function chaiHttp(e,t){function o(e){var t=contentTypes[e];a.addProperty(e,function(){var o=getHeader(this._obj,"content-type");this.assert(o&&o.indexOf(t)>=0,"expected the response type to be #{exp} but got #{act}","expected the response type to not be #{exp} (#{act})",e,o||"<content-type-not-set>")})}var a=e.Assertion;a.addMethod("status",function(e){new a(this._obj).to.have.property("status");var t=this._obj.status;this.assert(t===e,"expected the response to have status code #{exp} but got #{act}","expected the response to not have status code #{act}",e,t)}),a.addProperty("headers",function(){var e=this._obj.method?"request":"response";this.assert(Object.keys(this._obj.headers||{}).length>0,"expected the "+e+" to have headers","expected the "+e+" to not have any headers")}),a.addMethod("header",function(e,t){var o=getHeader(this._obj,e),a=void 0!==o&&null!==o;arguments.length<2?this.assert(a,"expected header #{exp} to exist","expected header #{exp} to not exist",e,o):t instanceof RegExp?this.assert(a&&t.test(o),"expected header '"+e+"' to match #{exp} but got #{act}","expected header '"+e+"' to not match #{exp} but got #{act}",t,a?o:"<header-not-set>"):this.assert(a&&o===t,"expected header '"+e+"' to have value #{exp} but got #{act}","expected header '"+e+"' to not have value #{exp}",t,a?o:"<header-not-set>")}),a.addProperty("ip",function(){this.assert(isIP(this._obj),"expected #{this} to be an ip","expected #{this} to not be an ip")}),Object.keys(contentTypes).forEach(o),a.addProperty("redirect",function(){var e=this._obj.status;this.assert(wasRedirected(this._obj),"expected redirect status code but got "+e,"expected not to redirect but got "+e+" status")}),a.addMethod("redirectTo",function(e){var t=this._obj.redirects,o=wasRedirected(this._obj),a=this._obj.status,s=getHeader(this._obj,"location");t&&t.length?this.assert(t.indexOf(e)>-1,"expected redirect to "+e+" but got "+t.join(" then "),"expected not to redirect to "+e+" but got "+t.join(" then ")):this.assert(o&&s===e,"expected redirect to #{exp} but got #{act}","expected not to redirect to #{exp}",e,o?s:a)}),a.addProperty("params",function(){var e=url.parse(this._obj.url,!0).query;this.assert(Object.keys(e).length>0,"expected the request to have query parameters","expected the request to not have any query parameters")}),a.addMethod("param",function(e,t){var o=url.parse(this._obj.url,!0).query,a=o[e],s=void 0!==a&&null!==a;arguments.length<2?this.assert(s,"expected query parameter #{exp} to exist","expected query parameter #{exp} to not exist",e,a):t instanceof RegExp?this.assert(s&&t.test(a),"expected query parameter '"+e+"' to match #{exp} but got #{act}","expected query parameter '"+e+"' to not match #{exp} but got #{act}",t,s?a:"<parameter-does-not-exist>"):this.assert(s&&a===t,"expected query parameter '"+e+"' to have value #{exp} but got #{act}","expected query parameter '"+e+"' to not have value #{exp}",t,s?a:"<parameter-does-not-exist>")}),a.addProperty("cookies",function(){var e=this._obj.method?"request":"response",t=getCookies(this._obj);this.assert(t.length>0,"expected the "+e+" to have cookies","expected the "+e+" to not have any cookies")}),a.addMethod("cookie",function(e,t){var o=getCookie(this._obj,e)||{},a=void 0!==o.value&&null!==o.value;arguments.length<2?this.assert(a,"expected cookie #{exp} to exist","expected cookie #{exp} to not exist",e,o.value):t instanceof RegExp?this.assert(a&&t.test(o.value),"expected cookie '"+e+"' to match #{exp} but got #{act}","expected cookie '"+e+"' to not match #{exp} but got #{act}",t,a?o.value:"<cookie-not-set>"):this.assert(a&&o.value===t,"expected cookie '"+e+"' to have value #{exp} but got #{act}","expected cookie '"+e+"' to not have value #{exp}",t,a?o.value:"<cookie-not-set>")}),e.Assertion.addMethod("schema",function(e){var o=tv4.validate(this._obj,e),a=t.flag(this,"negate");if(o&&a||!o&&!a){var s=tv4.error.dataPath,r=tv4.error.schemaPath,i=tv4.error.message;if(s){i=s.substr(1).split("/").join(".")+" is invalid. "+i}var c=new SyntaxError(i);throw c.dataPath=s,c.schemaPath=r,c}})}function getHeader(e,t){if(e.getHeader)return e.getHeader(t);t=(t||"").toLowerCase();for(var o=Object.keys(e.headers),a=0;a<o.length;a++)if(o[a].toLowerCase()===t)return e.headers[o[a]]}function getCookies(e){if(e.cookies)return e.cookies;var t=getHeader(e,"cookie");return cookies.parseRequestCookies(t)}function getCookie(e,t){if(e.getCookie)return e.getCookie(t);var o=getCookies(e);return cookies.getCookie(o,t)}function wasRedirected(e){var t=[301,302,303,307,308],o=e.redirects,a=e.status;return t.indexOf(a)>=0||o&&o.length}var isIP=require("is-ip"),url=require("url"),cookies=require("./cookies"),contentTypes={json:"application/json",text:"text/plain",html:"text/html",xml:"application/xml"};module.exports=chaiHttp},{"./cookies":3,"is-ip":50,url:57}],2:[function(require,module,exports){"use strict";function PostmanBDD(){var t=this.state=new State;this.hooks={before:new Hook("before",t),after:new Hook("after",t),beforeEach:new Hook("beforeEach",t),afterEach:new Hook("afterEach",t)},this.before=PostmanBDD.prototype.before.bind(this),this.after=PostmanBDD.prototype.after.bind(this),this.beforeEach=PostmanBDD.prototype.beforeEach.bind(this),this.afterEach=PostmanBDD.prototype.afterEach.bind(this),this.describe=PostmanBDD.prototype.describe.bind(this),this.it=PostmanBDD.prototype.it.bind(this)}var Runnable=require("./runnable"),Hook=require("./hook"),State=require("./state");module.exports=PostmanBDD,PostmanBDD.prototype.before=function(t,e){this.hooks.before.push(t,e)},PostmanBDD.prototype.after=function(t,e){this.hooks.after.push(t,e)},PostmanBDD.prototype.beforeEach=function(t,e){this.hooks.beforeEach.push(t,e)},PostmanBDD.prototype.afterEach=function(t,e){this.hooks.afterEach.push(t,e)},PostmanBDD.prototype.describe=function(t,e){var o=new Runnable("describe",this.state,t,e);return this.state.stack.push(o),this.oneTimeInitialization(),o.run(),this.state.isFinished()&&this.hooks.after.run(),this.state.stack.pop(),this.state.results},PostmanBDD.prototype.it=function(t,e){var o=new Runnable("it",this.state,t,e);return this.state.stack.push(o),this.oneTimeInitialization(),this.hooks.beforeEach.run(),o.run(),this.hooks.afterEach.run(),this.state.stack.pop(),o.result},PostmanBDD.prototype.oneTimeInitialization=function(){this.state.isStarted()||this.hooks.before.run()}},{"./hook":4,"./runnable":9,"./state":10}],3:[function(require,module,exports){"use strict";var CookieJar=require("cookiejar").CookieJar,CookieAccessInfo=require("cookiejar").CookieAccessInfo;module.exports={getCookie:function(e,o){return o=(o||"").toLowerCase(),e.find(function(e){return e&&e.name.toLowerCase()===o})},parseRequestCookies:function(e){var o=new CookieJar;if(e){var r=e.split(";").map(function(e){return e.trim()});o.setCookies(r)}return o.getCookies(CookieAccessInfo.All)},parseResponseCookies:function(e){var o=new CookieJar;return e&&o.setCookies(e),o.getCookies(CookieAccessInfo.All)}}},{cookiejar:45}],4:[function(require,module,exports){"use strict";function Hook(t,s){this.type=t,this.state=s,this.runnables=[]}var Runnable=require("./runnable");module.exports=Hook,Hook.prototype.run=function(){var t=this;this.state.inAHook()||this.runnables.forEach(function(s){t.state.stack.push(s),s.run(),t.state.stack.pop()})},Hook.prototype.push=function(t,s){var n=new Runnable(this.type,this.state,t,s);n.isHook=!0,this.runnables.push(n)}},{"./runnable":9}],5:[function(require,module,exports){function initPostmanBDD(){log.info("Using Postman BDD"),initBDD(),initSuperAgent(),initChai()}function initBDD(){var e=new PostmanBDD;before=e.before,after=e.after,beforeEach=e.beforeEach,afterEach=e.afterEach,describe=e.describe,it=e.it}function initSuperAgent(){response=new superAgent.Response}function initChai(){chai=require("chai"),assert=chai.assert,expect=chai.expect,chai.should(),chai.use(assertions)}var PostmanBDD=require("./bdd"),superAgent=require("./response"),assertions=require("./assertions"),options=require("./options"),log=require("./log");module.exports=options,module.exports.reset=initPostmanBDD,initPostmanBDD()},{"./assertions":1,"./bdd":2,"./log":6,"./options":7,"./response":8,chai:12}],6:[function(require,module,exports){"use strict";var options=require("./options"),levels=["silent","error","warn","info","debug"],log=module.exports={isEnabled:function(e){return levels.indexOf(options.logLevel)>=levels.indexOf(e)},errorToPOJO:function(e){if(e&&"object"==typeof e)return Object.keys(e).concat(["name","message","stack"]).reduce(function(o,n){return o[n]=e[n],o},{})}};levels.forEach(function(e){log[e]=function(){if(this.isEnabled(e)){var o=console.log;"function"==typeof console[e]&&(o=console[e]),o.apply(console,arguments)}}})},{"./options":7}],7:[function(require,module,exports){"use strict";module.exports={logLevel:"warn"}},{}],8:[function(require,module,exports){"use strict";function Response(){this.status="object"==typeof responseCode?responseCode.code:0,this.statusType=Math.floor(this.status/100),this.info=1===this.statusType,this.ok=2===this.statusType,this.redirect=3===this.statusType,this.clientError=4===this.statusType,this.serverError=5===this.statusType,this.error=this.clientError||this.serverError,this.accepted=202===this.status,this.noContent=204===this.status||1223===this.status,this.badRequest=400===this.status,this.unauthorized=401===this.status,this.notAcceptable=406===this.status,this.notFound=404===this.status,this.forbidden=403===this.status,this.time="number"==typeof responseTime?responseTime:0,this.headers=this.header=parseHeaders();var e=this.getHeader("content-type")||"",s=/charset=([a-zA-Z0-9_-]+)/i.exec(e);this.type=e.split(";")[0],this.charset=s?s[1]:"",this.cookies=parseCookies(this),this.text="string"==typeof responseBody?responseBody:"",this.body=parseResponeBody(this)}function parseHeaders(){if("object"==typeof responseHeaders){var e=pojo(responseHeaders),s={};return Object.keys(e).forEach(function(t){s[t.toLowerCase()]=e[t]}),s}return{}}function parseCookies(e){if("object"==typeof responseCookies&&responseCookies.length>0)return responseCookies;var s=e.getHeader("set-cookie");return cookies.parseResponseCookies(s)}function parseResponeBody(e){if(e.type.indexOf("json")>=0)try{return JSON.parse(e.text)}catch(e){log.error("Unable to parse the response body as JSON",log.errorToPOJO(e))}if(e.type.indexOf("xml")>=0)try{return pojo(xml2Json(e.text))}catch(e){log.error("Unable to parse the response body as XML",log.errorToPOJO(e))}return e.text}function pojo(e){return JSON.parse(JSON.stringify(e))}var log=require("./log"),cookies=require("./cookies");module.exports={Response:Response},Response.prototype.getHeader=function(e){return"object"==typeof postman&&"function"==typeof postman.getResponseHeader?postman.getResponseHeader(e):(e=(e||"").toLowerCase(),this.headers[e])},Response.prototype.getCookie=function(e){return"object"==typeof postman&&"function"==typeof postman.getResponseCookie?postman.getResponseCookie(e):cookies.getCookie(this.cookies,e)}},{"./cookies":3,"./log":6}],9:[function(require,module,exports){"use strict";function Runnable(t,s,e,i){"function"==typeof e&&(i=e,e=""),s.counters[t]++;var r="it"===t?"test":t;this.type=t,this.state=s,this.isHook=!1,this.isNamed=!!e,this.title=e||r+" #"+s.counters[t],this.fn=i,this.result=null,this.error=null}var log=require("./log");module.exports=Runnable,Runnable.prototype.run=function(){var t=this.state.currentPath();log.debug("Running "+t),"describe"!==this.type&&(this.state.results[t]=null);try{this.fn(),this.success(t)}catch(s){this.failure(s,t)}},Runnable.prototype.success=function(t){log.info("passed: "+t),this.result=!0,"describe"!==this.type&&(this.state.results[t]=!0)},Runnable.prototype.failure=function(t,s){log.error("failed: "+s,log.errorToPOJO(t)),this.result=!1,this.error=t,delete this.state.results[s],this.state.results[s+" ("+t.message+")"]=!1}},{"./log":6}],10:[function(require,module,exports){"use strict";function State(){this.results=resetTests(),this.stack=[],this.counters={describe:0,it:0,before:0,after:0,beforeEach:0,afterEach:0},this._pathCounter=0}function resetTests(){if("object"!=typeof tests)throw new Error('Postman BDD can only run inside the Postman scripting runtime (the "tests" global variable is missing)');return Object.keys(tests).forEach(function(t){delete tests[t]}),tests}module.exports=State,State.prototype.currentPath=function(){var t=this.stack[this.stack.length-1],e="";if("describe"!==t.type&&(e=++this._pathCounter+". "),"before"===t.type||"after"===t.type){if(!this.stack.some(function(t){return"describe"===t.type&&t.isNamed}))return e+t.title}return e+=this.stack.map(function(t){return t.title}).join(" - ")},State.prototype.isStarted=function(){return this._pathCounter>0},State.prototype.isFinished=function(){return 1===this.stack.length&&this.counters.describe>0},State.prototype.inAHook=function(){return this.stack.some(function(t){return t.isHook})}},{}],11:[function(require,module,exports){/*!
* assertion-error
* Copyright(c) 2013 Jake Luer <jake@qualiancy.com>
* MIT Licensed
*/
/*!
* Return a function that will copy properties from
* one object to another excluding any originally
* listed. Returned function will create a new `{}`.
*
* @param {String} excluded properties ...
* @return {Function}
*/
function exclude(){function r(r,o){Object.keys(o).forEach(function(e){~t.indexOf(e)||(r[e]=o[e])})}var t=[].slice.call(arguments);return function(){for(var t=[].slice.call(arguments),o=0,e={};o<t.length;o++)r(e,t[o]);return e}}function AssertionError(r,t,o){var e=exclude("name","message","stack","constructor","toJSON"),s=e(t||{});this.message=r||"Unspecified AssertionError",this.showDiff=!1;for(var c in s)this[c]=s[c];if((o=o||arguments.callee)&&Error.captureStackTrace)Error.captureStackTrace(this,o);else try{throw new Error}catch(r){this.stack=r.stack}}/*!
* Primary Exports
*/
module.exports=AssertionError,/*!
* Inherit from Error.prototype
*/
AssertionError.prototype=Object.create(Error.prototype),/*!
* Statically set name
*/
AssertionError.prototype.name="AssertionError",/*!
* Ensure correct constructor
*/
AssertionError.prototype.constructor=AssertionError,AssertionError.prototype.toJSON=function(r){var t=exclude("constructor","toJSON","stack"),o=t({name:this.name},this);return!1!==r&&this.stack&&(o.stack=this.stack),o}},{}],12:[function(require,module,exports){module.exports=require("./lib/chai")},{"./lib/chai":13}],13:[function(require,module,exports){/*!
* chai
* Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
var used=[];/*!
* Chai version
*/
exports.version="4.1.0",/*!
* Assertion Error
*/
exports.AssertionError=require("assertion-error");/*!
* Utils for plugins (not exported)
*/
var util=require("./chai/utils");exports.use=function(e){return~used.indexOf(e)||(e(exports,util),used.push(e)),exports},/*!
* Utility Functions
*/
exports.util=util;/*!
* Configuration
*/
var config=require("./chai/config");exports.config=config;/*!
* Primary `Assertion` prototype
*/
var assertion=require("./chai/assertion");exports.use(assertion);/*!
* Core Assertions
*/
var core=require("./chai/core/assertions");exports.use(core);/*!
* Expect interface
*/
var expect=require("./chai/interface/expect");exports.use(expect);/*!
* Should interface
*/
var should=require("./chai/interface/should");exports.use(should);/*!
* Assert interface
*/
var assert=require("./chai/interface/assert");exports.use(assert)},{"./chai/assertion":14,"./chai/config":15,"./chai/core/assertions":16,"./chai/interface/assert":17,"./chai/interface/expect":18,"./chai/interface/should":19,"./chai/utils":33,"assertion-error":11}],14:[function(require,module,exports){/*!
* chai
* http://chaijs.com
* Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
var config=require("./config");module.exports=function(t,e){/*!
* Assertion Constructor
*
* Creates object for chaining.
*
* `Assertion` objects contain metadata in the form of flags. Three flags can
* be assigned during instantiation by passing arguments to this constructor:
*
* - `object`: This flag contains the target of the assertion. For example, in
* the assertion `expect(numKittens).to.equal(7);`, the `object` flag will
* contain `numKittens` so that the `equal` assertion can reference it when
* needed.
*
* - `message`: This flag contains an optional custom error message to be
* prepended to the error message that's generated by the assertion when it
* fails.
*
* - `ssfi`: This flag stands for "start stack function indicator". It
* contains a function reference that serves as the starting point for
* removing frames from the stack trace of the error that's created by the
* assertion when it fails. The goal is to provide a cleaner stack trace to
* end users by removing Chai's internal functions. Note that it only works
* in environments that support `Error.captureStackTrace`, and only when
* `Chai.config.includeStack` hasn't been set to `false`.
*
* - `lockSsfi`: This flag controls whether or not the given `ssfi` flag
* should retain its current value, even as assertions are chained off of
* this object. This is usually set to `true` when creating a new assertion
* from within another assertion. It's also temporarily set to `true` before
* an overwritten assertion gets called by the overwriting assertion.
*
* @param {Mixed} obj target of the assertion
* @param {String} msg (optional) custom error message
* @param {Function} ssfi (optional) starting point for removing stack frames
* @param {Boolean} lockSsfi (optional) whether or not the ssfi flag is locked
* @api private
*/
function i(t,o,s,r){return n(this,"ssfi",s||i),n(this,"lockSsfi",r),n(this,"object",t),n(this,"message",o),e.proxify(this)}/*!
* Module dependencies.
*/
var o=t.AssertionError,n=e.flag;/*!
* Module export.
*/
t.Assertion=i,Object.defineProperty(i,"includeStack",{get:function(){return console.warn("Assertion.includeStack is deprecated, use chai.config.includeStack instead."),config.includeStack},set:function(t){console.warn("Assertion.includeStack is deprecated, use chai.config.includeStack instead."),config.includeStack=t}}),Object.defineProperty(i,"showDiff",{get:function(){return console.warn("Assertion.showDiff is deprecated, use chai.config.showDiff instead."),config.showDiff},set:function(t){console.warn("Assertion.showDiff is deprecated, use chai.config.showDiff instead."),config.showDiff=t}}),i.addProperty=function(t,i){e.addProperty(this.prototype,t,i)},i.addMethod=function(t,i){e.addMethod(this.prototype,t,i)},i.addChainableMethod=function(t,i,o){e.addChainableMethod(this.prototype,t,i,o)},i.overwriteProperty=function(t,i){e.overwriteProperty(this.prototype,t,i)},i.overwriteMethod=function(t,i){e.overwriteMethod(this.prototype,t,i)},i.overwriteChainableMethod=function(t,i,o){e.overwriteChainableMethod(this.prototype,t,i,o)},i.prototype.assert=function(t,i,s,r,c,f){var a=e.test(this,arguments);if(!1!==f&&(f=!0),void 0===r&&void 0===c&&(f=!1),!0!==config.showDiff&&(f=!1),!a){i=e.getMessage(this,arguments);var d=e.getActual(this,arguments);throw new o(i,{actual:d,expected:r,showDiff:f},config.includeStack?this.assert:n(this,"ssfi"))}},/*!
* ### ._obj
*
* Quick reference to stored `actual` value for plugin developers.
*
* @api private
*/
Object.defineProperty(i.prototype,"_obj",{get:function(){return n(this,"object")},set:function(t){n(this,"object",t)}})}},{"./config":15}],15:[function(require,module,exports){module.exports={includeStack:!1,showDiff:!0,truncateThreshold:40,useProxy:!0,proxyExcludedKeys:["then","inspect","toJSON"]}},{}],16:[function(require,module,exports){/*!
* chai
* http://chaijs.com
* Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
module.exports=function(e,t){function s(e,s){s&&D(this,"message",s),e=e.toLowerCase();var o=D(this,"object"),a=~["a","e","i","o","u"].indexOf(e.charAt(0))?"an ":"a ";this.assert(e===t.type(o).toLowerCase(),"expected #{this} to be "+a+e,"expected #{this} not to be "+a+e)}function o(e,s){return t.isNaN(e)&&t.isNaN(s)||e===s}function a(){D(this,"contains",!0)}function i(e,s){s&&D(this,"message",s),t.expectTypes(this,["array","object","string","map","set","weakset"]);var a=D(this,"object"),i=t.type(a).toLowerCase();if("object"!==i){var r=D(this,"deep"),n=r?"deep ":"",h=!1;switch(i){case"string":h=-1!==a.indexOf(e);break;case"weakset":if(r){var d=D(this,"message"),c=D(this,"ssfi");throw d=d?d+": ":"",new S(d+"unable to use .deep.include with WeakSet",void 0,c)}h=a.has(e);break;case"map":var p=r?t.eql:o;a.forEach(function(t){h=h||p(t,e)});break;case"set":r?a.forEach(function(s){h=h||t.eql(s,e)}):h=a.has(e);break;case"array":h=r?a.some(function(s){return t.eql(s,e)}):-1!==a.indexOf(e)}this.assert(h,"expected #{this} to "+n+"include "+t.inspect(e),"expected #{this} to not "+n+"include "+t.inspect(e))}else{var l=Object.keys(e),u=D(this,"negate"),b=null,f=0;if(l.forEach(function(s){var o=new N(a);if(t.transferFlags(this,o,!0),D(o,"lockSsfi",!0),!u||1===l.length)return void o.property(s,e[s]);try{o.property(s,e[s])}catch(e){if(!t.checkError.compatibleConstructor(e,S))throw e;null===b&&(b=e),f++}},this),u&&l.length>1&&f===l.length)throw b}}function r(){var e=D(this,"object"),s=t.type(e);this.assert("Arguments"===s,"expected #{this} to be arguments but got "+s,"expected #{this} to not be arguments")}function n(e,t){t&&D(this,"message",t);var s=D(this,"object");if(D(this,"deep"))return this.eql(e);this.assert(e===s,"expected #{this} to equal #{exp}","expected #{this} to not equal #{exp}",e,this._obj,!0)}function h(e,s){s&&D(this,"message",s),this.assert(t.eql(e,D(this,"object")),"expected #{this} to deeply equal #{exp}","expected #{this} to not deeply equal #{exp}",e,this._obj,!0)}function d(e,s){s&&D(this,"message",s);var o=D(this,"object"),a=D(this,"doLength"),i=D(this,"message"),r=i?i+": ":"",n=D(this,"ssfi"),h=t.type(o).toLowerCase(),d=t.type(e).toLowerCase(),c=!0;if(a&&new N(o,i,n,!0).to.have.property("length"),a||"date"!==h||"date"===d)if("number"===d||!a&&"number"!==h)if(a||"date"===h||"number"===h)c=!1;else{var p="string"===h?"'"+o+"'":o;errorMessage=r+"expected "+p+" to be a number or a date"}else errorMessage=r+"the argument to above must be a number";else errorMessage=r+"the argument to above must be a date";if(c)throw new S(errorMessage,void 0,n);if(a){var l=o.length;this.assert(l>e,"expected #{this} to have a length above #{exp} but got #{act}","expected #{this} to not have a length above #{exp}",e,l)}else this.assert(o>e,"expected #{this} to be above #{exp}","expected #{this} to be at most #{exp}",e)}function c(e,s){s&&D(this,"message",s);var o=D(this,"object"),a=D(this,"doLength"),i=D(this,"message"),r=i?i+": ":"",n=D(this,"ssfi"),h=t.type(o).toLowerCase(),d=t.type(e).toLowerCase(),c=!0;if(a&&new N(o,i,n,!0).to.have.property("length"),a||"date"!==h||"date"===d)if("number"===d||!a&&"number"!==h)if(a||"date"===h||"number"===h)c=!1;else{var p="string"===h?"'"+o+"'":o;errorMessage=r+"expected "+p+" to be a number or a date"}else errorMessage=r+"the argument to least must be a number";else errorMessage=r+"the argument to least must be a date";if(c)throw new S(errorMessage,void 0,n);if(a){var l=o.length;this.assert(l>=e,"expected #{this} to have a length at least #{exp} but got #{act}","expected #{this} to have a length below #{exp}",e,l)}else this.assert(o>=e,"expected #{this} to be at least #{exp}","expected #{this} to be below #{exp}",e)}function p(e,s){s&&D(this,"message",s);var o=D(this,"object"),a=D(this,"doLength"),i=D(this,"message"),r=i?i+": ":"",n=D(this,"ssfi"),h=t.type(o).toLowerCase(),d=t.type(e).toLowerCase(),c=!0;if(a&&new N(o,i,n,!0).to.have.property("length"),a||"date"!==h||"date"===d)if("number"===d||!a&&"number"!==h)if(a||"date"===h||"number"===h)c=!1;else{var p="string"===h?"'"+o+"'":o;errorMessage=r+"expected "+p+" to be a number or a date"}else errorMessage=r+"the argument to below must be a number";else errorMessage=r+"the argument to below must be a date";if(c)throw new S(errorMessage,void 0,n);if(a){var l=o.length;this.assert(l<e,"expected #{this} to have a length below #{exp} but got #{act}","expected #{this} to not have a length below #{exp}",e,l)}else this.assert(o<e,"expected #{this} to be below #{exp}","expected #{this} to be at least #{exp}",e)}function l(e,s){s&&D(this,"message",s);var o=D(this,"object"),a=D(this,"doLength"),i=D(this,"message"),r=i?i+": ":"",n=D(this,"ssfi"),h=t.type(o).toLowerCase(),d=t.type(e).toLowerCase(),c=!0;if(a&&new N(o,i,n,!0).to.have.property("length"),a||"date"!==h||"date"===d)if("number"===d||!a&&"number"!==h)if(a||"date"===h||"number"===h)c=!1;else{var p="string"===h?"'"+o+"'":o;errorMessage=r+"expected "+p+" to be a number or a date"}else errorMessage=r+"the argument to most must be a number";else errorMessage=r+"the argument to most must be a date";if(c)throw new S(errorMessage,void 0,n);if(a){var l=o.length;this.assert(l<=e,"expected #{this} to have a length at most #{exp} but got #{act}","expected #{this} to have a length above #{exp}",e,l)}else this.assert(o<=e,"expected #{this} to be at most #{exp}","expected #{this} to be above #{exp}",e)}function u(e,s){s&&D(this,"message",s);var o=D(this,"object"),a=D(this,"ssfi"),i=D(this,"message");if(e!==Object(e)||!("function"==typeof e||"undefined"!=typeof Symbol&&void 0!==Symbol.hasInstance&&Symbol.hasInstance in e))throw i=i?i+": ":"",new S(i+"The instanceof assertion needs a constructor but "+(null===e?"null":typeof e)+" was given.",void 0,a);var r=o instanceof e,n=t.getName(e);null===n&&(n="an unnamed constructor"),this.assert(r,"expected #{this} to be an instance of "+n,"expected #{this} to not be an instance of "+n)}function b(e,s,o){o&&D(this,"message",o);var a=D(this,"nested"),i=D(this,"own"),r=D(this,"message"),n=D(this,"object"),h=D(this,"ssfi");if(a&&i)throw r=r?r+": ":"",new S(r+'The "nested" and "own" flags cannot be combined.',void 0,h);if(null===n||void 0===n)throw r=r?r+": ":"",new S(r+"Target cannot be null or undefined.",void 0,h);var d=D(this,"deep"),c=D(this,"negate"),p=a?t.getPathInfo(n,e):null,l=a?p.value:n[e],u="";d&&(u+="deep "),i&&(u+="own "),a&&(u+="nested "),u+="property ";var b;b=i?Object.prototype.hasOwnProperty.call(n,e):a?p.exists:t.hasProperty(n,e),c&&1!==arguments.length||this.assert(b,"expected #{this} to have "+u+t.inspect(e),"expected #{this} to not have "+u+t.inspect(e)),arguments.length>1&&this.assert(b&&(d?t.eql(s,l):s===l),"expected #{this} to have "+u+t.inspect(e)+" of #{exp}, but got #{act}","expected #{this} to not have "+u+t.inspect(e)+" of #{act}",s,l),D(this,"object",l)}function f(e,t,s){D(this,"own",!0),b.apply(this,arguments)}function g(e,s,o){"string"==typeof s&&(o=s,s=null),o&&D(this,"message",o);var a=D(this,"object"),i=Object.getOwnPropertyDescriptor(Object(a),e);i&&s?this.assert(t.eql(s,i),"expected the own property descriptor for "+t.inspect(e)+" on #{this} to match "+t.inspect(s)+", got "+t.inspect(i),"expected the own property descriptor for "+t.inspect(e)+" on #{this} to not match "+t.inspect(s),s,i,!0):this.assert(i,"expected #{this} to have an own property descriptor for "+t.inspect(e),"expected #{this} to not have an own property descriptor for "+t.inspect(e)),D(this,"object",i)}function m(){D(this,"doLength",!0)}function x(e,t){t&&D(this,"message",t);var s=D(this,"object"),o=D(this,"message"),a=D(this,"ssfi");new N(s,o,a,!0).to.have.property("length");var i=s.length;this.assert(i==e,"expected #{this} to have a length of #{exp} but got #{act}","expected #{this} to not have a length of #{act}",e,i)}function v(e,t){t&&D(this,"message",t);var s=D(this,"object");this.assert(e.exec(s),"expected #{this} to match "+e,"expected #{this} not to match "+e)}function w(e){var s,o=D(this,"object"),a=t.type(o),i=t.type(e),r=D(this,"ssfi"),n=D(this,"deep"),h="",d=!0,c=D(this,"message");c=c?c+": ":"";var p=c+"when testing keys against an object or an array you must give a single Array|Object|String argument or multiple String arguments";if("Map"===a||"Set"===a)h=n?"deeply ":"",l=[],o.forEach(function(e,t){l.push(t)}),"Array"!==i&&(e=Array.prototype.slice.call(arguments));else{switch(l=t.getOwnEnumerableProperties(o),i){case"Array":if(arguments.length>1)throw new S(p,void 0,r);break;case"Object":if(arguments.length>1)throw new S(p,void 0,r);e=Object.keys(e);break;default:e=Array.prototype.slice.call(arguments)}e=e.map(function(e){return"symbol"==typeof e?e:String(e)})}if(!e.length)throw new S(c+"keys required",void 0,r);var l,u=e.length,b=D(this,"any"),f=D(this,"all"),g=e;if(b||f||(f=!0),b&&(d=g.some(function(e){return l.some(function(s){return n?t.eql(e,s):e===s})})),f&&(d=g.every(function(e){return l.some(function(s){return n?t.eql(e,s):e===s})}),D(this,"contains")||(d=d&&e.length==l.length)),u>1){e=e.map(function(e){return t.inspect(e)});var m=e.pop();f&&(s=e.join(", ")+", and "+m),b&&(s=e.join(", ")+", or "+m)}else s=t.inspect(e[0]);s=(u>1?"keys ":"key ")+s,s=(D(this,"contains")?"contain ":"have ")+s,this.assert(d,"expected #{this} to "+h+s,"expected #{this} to not "+h+s,g.slice(0).sort(t.compareByInspect),l.sort(t.compareByInspect),!0)}function y(e,s,o){o&&D(this,"message",o);var a=D(this,"object"),i=D(this,"ssfi"),r=D(this,"message"),n=D(this,"negate")||!1;new N(a,r,i,!0).is.a("function"),(e instanceof RegExp||"string"==typeof e)&&(s=e,e=null);var h;try{a()}catch(e){h=e}var d=void 0===e&&void 0===s,c=Boolean(e&&s),p=!1,l=!1;if(d||!d&&!n){var u="an error";e instanceof Error?u="#{exp}":e&&(u=t.checkError.getConstructorName(e)),this.assert(h,"expected #{this} to throw "+u,"expected #{this} to not throw an error but #{act} was thrown",e&&e.toString(),h instanceof Error?h.toString():"string"==typeof h?h:h&&t.checkError.getConstructorName(h))}if(e&&h){if(e instanceof Error){t.checkError.compatibleInstance(h,e)===n&&(c&&n?p=!0:this.assert(n,"expected #{this} to throw #{exp} but #{act} was thrown","expected #{this} to not throw #{exp}"+(h&&!n?" but #{act} was thrown":""),e.toString(),h.toString()))}t.checkError.compatibleConstructor(h,e)===n&&(c&&n?p=!0:this.assert(n,"expected #{this} to throw #{exp} but #{act} was thrown","expected #{this} to not throw #{exp}"+(h?" but #{act} was thrown":""),e instanceof Error?e.toString():e&&t.checkError.getConstructorName(e),h instanceof Error?h.toString():h&&t.checkError.getConstructorName(h)))}if(h&&void 0!==s&&null!==s){var b="including";s instanceof RegExp&&(b="matching");t.checkError.compatibleMessage(h,s)===n&&(c&&n?l=!0:this.assert(n,"expected #{this} to throw error "+b+" #{exp} but got #{act}","expected #{this} to throw error not "+b+" #{exp}",s,t.checkError.getMessage(h)))}p&&l&&this.assert(n,"expected #{this} to throw #{exp} but #{act} was thrown","expected #{this} to not throw #{exp}"+(h?" but #{act} was thrown":""),e instanceof Error?e.toString():e&&t.checkError.getConstructorName(e),h instanceof Error?h.toString():h&&t.checkError.getConstructorName(h)),D(this,"object",h)}function M(e,s){s&&D(this,"message",s);var o=D(this,"object"),a=D(this,"itself"),i="function"!=typeof o||a?o[e]:o.prototype[e];this.assert("function"==typeof i,"expected #{this} to respond to "+t.inspect(e),"expected #{this} to not respond to "+t.inspect(e))}function j(e,s){s&&D(this,"message",s);var o=D(this,"object"),a=e(o);this.assert(a,"expected #{this} to satisfy "+t.objDisplay(e),"expected #{this} to not satisfy"+t.objDisplay(e),!D(this,"negate"),a)}function k(e,t,s){s&&D(this,"message",s);var o=D(this,"object"),a=D(this,"message"),i=D(this,"ssfi");if(new N(o,a,i,!0).is.a("number"),"number"!=typeof e||"number"!=typeof t)throw a=a?a+": ":"",new S(a+"the arguments to closeTo or approximately must be numbers",void 0,i);this.assert(Math.abs(o-e)<=t,"expected #{this} to be close to "+e+" +/- "+t,"expected #{this} not to be close to "+e+" +/- "+t)}function O(e,t,s,o,a){if(!o){if(e.length!==t.length)return!1;t=t.slice()}return e.every(function(e,i){if(a)return s?s(e,t[i]):e===t[i];if(!s){var r=t.indexOf(e);return-1!==r&&(o||t.splice(r,1),!0)}return t.some(function(a,i){return!!s(e,a)&&(o||t.splice(i,1),!0)})})}function C(e,t){t&&D(this,"message",t);var s=D(this,"object"),o=D(this,"message"),a=D(this,"ssfi");new N(e,o,a,!0).to.be.an("array"),this.assert(e.indexOf(s)>-1,"expected #{this} to be one of #{exp}","expected #{this} to not be one of #{exp}",e,s)}function P(e,t,s){s&&D(this,"message",s);var o=D(this,"object"),a=D(this,"message"),i=D(this,"ssfi");new N(o,a,i,!0).is.a("function");var r;t?(new N(e,a,i,!0).to.have.property(t),r=e[t]):(new N(e,a,i,!0).is.a("function"),r=e()),o();var n=void 0===t||null===t?e():e[t],h=void 0===t||null===t?r:"."+t;D(this,"deltaMsgObj",h),D(this,"initialDeltaValue",r),D(this,"finalDeltaValue",n),D(this,"deltaBehavior","change"),D(this,"realDelta",n!==r),this.assert(r!==n,"expected "+h+" to change","expected "+h+" to not change")}function E(e,t,s){s&&D(this,"message",s);var o=D(this,"object"),a=D(this,"message"),i=D(this,"ssfi");new N(o,a,i,!0).is.a("function");var r;t?(new N(e,a,i,!0).to.have.property(t),r=e[t]):(new N(e,a,i,!0).is.a("function"),r=e()),new N(r,a,i,!0).is.a("number"),o();var n=void 0===t||null===t?e():e[t],h=void 0===t||null===t?r:"."+t;D(this,"deltaMsgObj",h),D(this,"initialDeltaValue",r),D(this,"finalDeltaValue",n),D(this,"deltaBehavior","increase"),D(this,"realDelta",n-r),this.assert(n-r>0,"expected "+h+" to increase","expected "+h+" to not increase")}function L(e,t,s){s&&D(this,"message",s);var o=D(this,"object"),a=D(this,"message"),i=D(this,"ssfi");new N(o,a,i,!0).is.a("function");var r;t?(new N(e,a,i,!0).to.have.property(t),r=e[t]):(new N(e,a,i,!0).is.a("function"),r=e()),new N(r,a,i,!0).is.a("number"),o();var n=void 0===t||null===t?e():e[t],h=void 0===t||null===t?r:"."+t;D(this,"deltaMsgObj",h),D(this,"initialDeltaValue",r),D(this,"finalDeltaValue",n),D(this,"deltaBehavior","decrease"),D(this,"realDelta",r-n),this.assert(n-r<0,"expected "+h+" to decrease","expected "+h+" to not decrease")}function q(e,t){t&&D(this,"message",t);var s,o=D(this,"deltaMsgObj"),a=D(this,"initialDeltaValue"),i=D(this,"finalDeltaValue"),r=D(this,"deltaBehavior"),n=D(this,"realDelta");s="change"===r?Math.abs(i-a)===Math.abs(e):n===Math.abs(e),this.assert(s,"expected "+o+" to "+r+" by "+e,"expected "+o+" to not "+r+" by "+e)}var N=e.Assertion,S=e.AssertionError,D=t.flag;["to","be","been","is","and","has","have","with","that","which","at","of","same","but","does"].forEach(function(e){N.addProperty(e)}),N.addProperty("not",function(){D(this,"negate",!0)}),N.addProperty("deep",function(){D(this,"deep",!0)}),N.addProperty("nested",function(){D(this,"nested",!0)}),N.addProperty("own",function(){D(this,"own",!0)}),N.addProperty("ordered",function(){D(this,"ordered",!0)}),N.addProperty("any",function(){D(this,"any",!0),D(this,"all",!1)}),N.addProperty("all",function(){D(this,"all",!0),D(this,"any",!1)}),N.addChainableMethod("an",s),N.addChainableMethod("a",s),N.addChainableMethod("include",i,a),N.addChainableMethod("contain",i,a),N.addChainableMethod("contains",i,a),N.addChainableMethod("includes",i,a),N.addProperty("ok",function(){this.assert(D(this,"object"),"expected #{this} to be truthy","expected #{this} to be falsy")}),N.addProperty("true",function(){this.assert(!0===D(this,"object"),"expected #{this} to be true","expected #{this} to be false",!D(this,"negate"))}),N.addProperty("false",function(){this.assert(!1===D(this,"object"),"expected #{this} to be false","expected #{this} to be true",!!D(this,"negate"))}),N.addProperty("null",function(){this.assert(null===D(this,"object"),"expected #{this} to be null","expected #{this} not to be null")}),N.addProperty("undefined",function(){this.assert(void 0===D(this,"object"),"expected #{this} to be undefined","expected #{this} not to be undefined")}),N.addProperty("NaN",function(){this.assert(t.isNaN(D(this,"object")),"expected #{this} to be NaN","expected #{this} not to be NaN")}),N.addProperty("exist",function(){var e=D(this,"object");this.assert(null!==e&&void 0!==e,"expected #{this} to exist","expected #{this} to not exist")}),N.addProperty("empty",function(){var e,s=D(this,"object"),o=D(this,"ssfi"),a=D(this,"message");switch(a=a?a+": ":"",t.type(s).toLowerCase()){case"array":case"string":e=s.length;break;case"map":case"set":e=s.size;break;case"weakmap":case"weakset":throw new S(a+".empty was passed a weak collection",void 0,o);case"function":var i=a+".empty was passed a function "+t.getName(s);throw new S(i.trim(),void 0,o);default:if(s!==Object(s))throw new S(a+".empty was passed non-string primitive "+t.inspect(s),void 0,o);e=Object.keys(s).length}this.assert(0===e,"expected #{this} to be empty","expected #{this} not to be empty")}),N.addProperty("arguments",r),N.addProperty("Arguments",r),N.addMethod("equal",n),N.addMethod("equals",n),N.addMethod("eq",n),N.addMethod("eql",h),N.addMethod("eqls",h),N.addMethod("above",d),N.addMethod("gt",d),N.addMethod("greaterThan",d),N.addMethod("least",c),N.addMethod("gte",c),N.addMethod("below",p),N.addMethod("lt",p),N.addMethod("lessThan",p),N.addMethod("most",l),N.addMethod("lte",l),N.addMethod("within",function(e,s,o){o&&D(this,"message",o);var a=D(this,"object"),i=D(this,"doLength"),r=D(this,"message"),n=r?r+": ":"",h=D(this,"ssfi"),d=t.type(a).toLowerCase(),c=t.type(e).toLowerCase(),p=t.type(s).toLowerCase(),l=!0,u="date"===c&&"date"===p?e.toUTCString()+".."+s.toUTCString():e+".."+s;if(i&&new N(a,r,h,!0).to.have.property("length"),i||"date"!==d||"date"===c&&"date"===p)if("number"===c&&"number"===p||!i&&"number"!==d)if(i||"date"===d||"number"===d)l=!1;else{var b="string"===d?"'"+a+"'":a;errorMessage=n+"expected "+b+" to be a number or a date"}else errorMessage=n+"the arguments to within must be numbers";else errorMessage=n+"the arguments to within must be dates";if(l)throw new S(errorMessage,void 0,h);if(i){var f=a.length;this.assert(f>=e&&f<=s,"expected #{this} to have a length within "+u,"expected #{this} to not have a length within "+u)}else this.assert(a>=e&&a<=s,"expected #{this} to be within "+u,"expected #{this} to not be within "+u)}),N.addMethod("instanceof",u),N.addMethod("instanceOf",u),N.addMethod("property",b),N.addMethod("ownProperty",f),N.addMethod("haveOwnProperty",f),N.addMethod("ownPropertyDescriptor",g),N.addMethod("haveOwnPropertyDescriptor",g),N.addChainableMethod("length",x,m),N.addChainableMethod("lengthOf",x,m),N.addMethod("match",v),N.addMethod("matches",v),N.addMethod("string",function(e,s){s&&D(this,"message",s);var o=D(this,"object"),a=D(this,"message"),i=D(this,"ssfi");new N(o,a,i,!0).is.a("string"),this.assert(~o.indexOf(e),"expected #{this} to contain "+t.inspect(e),"expected #{this} to not contain "+t.inspect(e))}),N.addMethod("keys",w),N.addMethod("key",w),N.addMethod("throw",y),N.addMethod("throws",y),N.addMethod("Throw",y),N.addMethod("respondTo",M),N.addMethod("respondsTo",M),N.addProperty("itself",function(){D(this,"itself",!0)}),N.addMethod("satisfy",j),N.addMethod("satisfies",j),N.addMethod("closeTo",k),N.addMethod("approximately",k),N.addMethod("members",function(e,s){s&&D(this,"message",s);var o=D(this,"object"),a=D(this,"message"),i=D(this,"ssfi");new N(o,a,i,!0).to.be.an("array"),new N(e,a,i,!0).to.be.an("array");var r,n,h,d=D(this,"contains"),c=D(this,"ordered");d?(r=c?"an ordered superset":"a superset",n="expected #{this} to be "+r+" of #{exp}",h="expected #{this} to not be "+r+" of #{exp}"):(r=c?"ordered members":"members",n="expected #{this} to have the same "+r+" as #{exp}",h="expected #{this} to not have the same "+r+" as #{exp}");var p=D(this,"deep")?t.eql:void 0;this.assert(O(e,o,p,d,c),n,h,e,o,!0)}),N.addMethod("oneOf",C),N.addMethod("change",P),N.addMethod("changes",P),N.addMethod("increase",E),N.addMethod("increases",E),N.addMethod("decrease",L),N.addMethod("decreases",L),N.addMethod("by",q),N.addProperty("extensible",function(){var e=D(this,"object"),t=e===Object(e)&&Object.isExtensible(e);this.assert(t,"expected #{this} to be extensible","expected #{this} to not be extensible")}),N.addProperty("sealed",function(){var e=D(this,"object"),t=e!==Object(e)||Object.isSealed(e);this.assert(t,"expected #{this} to be sealed","expected #{this} to not be sealed")}),N.addProperty("frozen",function(){var e=D(this,"object"),t=e!==Object(e)||Object.isFrozen(e);this.assert(t,"expected #{this} to be frozen","expected #{this} to not be frozen")}),N.addProperty("finite",function(e){var t=D(this,"object");this.assert("number"==typeof t&&isFinite(t),"expected #{this} to be a finite number","expected #{this} to not be a finite number")})}},{}],17:[function(require,module,exports){/*!
* chai
* Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
module.exports=function(e,n){/*!
* Chai dependencies.
*/
var t=e.Assertion,o=n.flag,s=e.assert=function(n,o){new t(null,null,e.assert,!0).assert(n,o,"[ negation message unavailable ]")};s.fail=function(n,t,o,i){throw o=o||"assert.fail()",new e.AssertionError(o,{actual:n,expected:t,operator:i},s.fail)},s.isOk=function(e,n){new t(e,n,s.isOk,!0).is.ok},s.isNotOk=function(e,n){new t(e,n,s.isNotOk,!0).is.not.ok},s.equal=function(e,n,i){var r=new t(e,i,s.equal,!0);r.assert(n==o(r,"object"),"expected #{this} to equal #{exp}","expected #{this} to not equal #{act}",n,e,!0)},s.notEqual=function(e,n,i){var r=new t(e,i,s.notEqual,!0);r.assert(n!=o(r,"object"),"expected #{this} to not equal #{exp}","expected #{this} to equal #{act}",n,e,!0)},s.strictEqual=function(e,n,o){new t(e,o,s.strictEqual,!0).to.equal(n)},s.notStrictEqual=function(e,n,o){new t(e,o,s.notStrictEqual,!0).to.not.equal(n)},s.deepEqual=s.deepStrictEqual=function(e,n,o){new t(e,o,s.deepEqual,!0).to.eql(n)},s.notDeepEqual=function(e,n,o){new t(e,o,s.notDeepEqual,!0).to.not.eql(n)},s.isAbove=function(e,n,o){new t(e,o,s.isAbove,!0).to.be.above(n)},s.isAtLeast=function(e,n,o){new t(e,o,s.isAtLeast,!0).to.be.least(n)},s.isBelow=function(e,n,o){new t(e,o,s.isBelow,!0).to.be.below(n)},s.isAtMost=function(e,n,o){new t(e,o,s.isAtMost,!0).to.be.most(n)},s.isTrue=function(e,n){new t(e,n,s.isTrue,!0).is.true},s.isNotTrue=function(e,n){new t(e,n,s.isNotTrue,!0).to.not.equal(!0)},s.isFalse=function(e,n){new t(e,n,s.isFalse,!0).is.false},s.isNotFalse=function(e,n){new t(e,n,s.isNotFalse,!0).to.not.equal(!1)},s.isNull=function(e,n){new t(e,n,s.isNull,!0).to.equal(null)},s.isNotNull=function(e,n){new t(e,n,s.isNotNull,!0).to.not.equal(null)},s.isNaN=function(e,n){new t(e,n,s.isNaN,!0).to.be.NaN},s.isNotNaN=function(e,n){new t(e,n,s.isNotNaN,!0).not.to.be.NaN},s.exists=function(e,n){new t(e,n,s.exists,!0).to.exist},s.notExists=function(e,n){new t(e,n,s.notExists,!0).to.not.exist},s.isUndefined=function(e,n){new t(e,n,s.isUndefined,!0).to.equal(void 0)},s.isDefined=function(e,n){new t(e,n,s.isDefined,!0).to.not.equal(void 0)},s.isFunction=function(e,n){new t(e,n,s.isFunction,!0).to.be.a("function")},s.isNotFunction=function(e,n){new t(e,n,s.isNotFunction,!0).to.not.be.a("function")},s.isObject=function(e,n){new t(e,n,s.isObject,!0).to.be.a("object")},s.isNotObject=function(e,n){new t(e,n,s.isNotObject,!0).to.not.be.a("object")},s.isArray=function(e,n){new t(e,n,s.isArray,!0).to.be.an("array")},s.isNotArray=function(e,n){new t(e,n,s.isNotArray,!0).to.not.be.an("array")},s.isString=function(e,n){new t(e,n,s.isString,!0).to.be.a("string")},s.isNotString=function(e,n){new t(e,n,s.isNotString,!0).to.not.be.a("string")},s.isNumber=function(e,n){new t(e,n,s.isNumber,!0).to.be.a("number")},s.isNotNumber=function(e,n){new t(e,n,s.isNotNumber,!0).to.not.be.a("number")},s.isFinite=function(e,n){new t(e,n,s.isFinite,!0).to.be.finite},s.isBoolean=function(e,n){new t(e,n,s.isBoolean,!0).to.be.a("boolean")},s.isNotBoolean=function(e,n){new t(e,n,s.isNotBoolean,!0).to.not.be.a("boolean")},s.typeOf=function(e,n,o){new t(e,o,s.typeOf,!0).to.be.a(n)},s.notTypeOf=function(e,n,o){new t(e,o,s.notTypeOf,!0).to.not.be.a(n)},s.instanceOf=function(e,n,o){new t(e,o,s.instanceOf,!0).to.be.instanceOf(n)},s.notInstanceOf=function(e,n,o){new t(e,o,s.notInstanceOf,!0).to.not.be.instanceOf(n)},s.include=function(e,n,o){new t(e,o,s.include,!0).include(n)},s.notInclude=function(e,n,o){new t(e,o,s.notInclude,!0).not.include(n)},s.deepInclude=function(e,n,o){new t(e,o,s.deepInclude,!0).deep.include(n)},s.notDeepInclude=function(e,n,o){new t(e,o,s.notDeepInclude,!0).not.deep.include(n)},s.nestedInclude=function(e,n,o){new t(e,o,s.nestedInclude,!0).nested.include(n)},s.notNestedInclude=function(e,n,o){new t(e,o,s.notNestedInclude,!0).not.nested.include(n)},s.deepNestedInclude=function(e,n,o){new t(e,o,s.deepNestedInclude,!0).deep.nested.include(n)},s.notDeepNestedInclude=function(e,n,o){new t(e,o,s.notDeepNestedInclude,!0).not.deep.nested.include(n)},s.ownInclude=function(e,n,o){new t(e,o,s.ownInclude,!0).own.include(n)},s.notOwnInclude=function(e,n,o){new t(e,o,s.notOwnInclude,!0).not.own.include(n)},s.deepOwnInclude=function(e,n,o){new t(e,o,s.deepOwnInclude,!0).deep.own.include(n)},s.notDeepOwnInclude=function(e,n,o){new t(e,o,s.notDeepOwnInclude,!0).not.deep.own.include(n)},s.match=function(e,n,o){new t(e,o,s.match,!0).to.match(n)},s.notMatch=function(e,n,o){new t(e,o,s.notMatch,!0).to.not.match(n)},s.property=function(e,n,o){new t(e,o,s.property,!0).to.have.property(n)},s.notProperty=function(e,n,o){new t(e,o,s.notProperty,!0).to.not.have.property(n)},s.propertyVal=function(e,n,o,i){new t(e,i,s.propertyVal,!0).to.have.property(n,o)},s.notPropertyVal=function(e,n,o,i){new t(e,i,s.notPropertyVal,!0).to.not.have.property(n,o)},s.deepPropertyVal=function(e,n,o,i){new t(e,i,s.deepPropertyVal,!0).to.have.deep.property(n,o)},s.notDeepPropertyVal=function(e,n,o,i){new t(e,i,s.notDeepPropertyVal,!0).to.not.have.deep.property(n,o)},s.ownProperty=function(e,n,o){new t(e,o,s.ownProperty,!0).to.have.own.property(n)},s.notOwnProperty=function(e,n,o){new t(e,o,s.notOwnProperty,!0).to.not.have.own.property(n)},s.ownPropertyVal=function(e,n,o,i){new t(e,i,s.ownPropertyVal,!0).to.have.own.property(n,o)},s.notOwnPropertyVal=function(e,n,o,i){new t(e,i,s.notOwnPropertyVal,!0).to.not.have.own.property(n,o)},s.deepOwnPropertyVal=function(e,n,o,i){new t(e,i,s.deepOwnPropertyVal,!0).to.have.deep.own.property(n,o)},s.notDeepOwnPropertyVal=function(e,n,o,i){new t(e,i,s.notDeepOwnPropertyVal,!0).to.not.have.deep.own.property(n,o)},s.nestedProperty=function(e,n,o){new t(e,o,s.nestedProperty,!0).to.have.nested.property(n)},s.notNestedProperty=function(e,n,o){new t(e,o,s.notNestedProperty,!0).to.not.have.nested.property(n)},s.nestedPropertyVal=function(e,n,o,i){new t(e,i,s.nestedPropertyVal,!0).to.have.nested.property(n,o)},s.notNestedPropertyVal=function(e,n,o,i){new t(e,i,s.notNestedPropertyVal,!0).to.not.have.nested.property(n,o)},s.deepNestedPropertyVal=function(e,n,o,i){new t(e,i,s.deepNestedPropertyVal,!0).to.have.deep.nested.property(n,o)},s.notDeepNestedPropertyVal=function(e,n,o,i){new t(e,i,s.notDeepNestedPropertyVal,!0).to.not.have.deep.nested.property(n,o)},s.lengthOf=function(e,n,o){new t(e,o,s.lengthOf,!0).to.have.lengthOf(n)},s.hasAnyKeys=function(e,n,o){new t(e,o,s.hasAnyKeys,!0).to.have.any.keys(n)},s.hasAllKeys=function(e,n,o){new t(e,o,s.hasAllKeys,!0).to.have.all.keys(n)},s.containsAllKeys=function(e,n,o){new t(e,o,s.containsAllKeys,!0).to.contain.all.keys(n)},s.doesNotHaveAnyKeys=function(e,n,o){new t(e,o,s.doesNotHaveAnyKeys,!0).to.not.have.any.keys(n)},s.doesNotHaveAllKeys=function(e,n,o){new t(e,o,s.doesNotHaveAllKeys,!0).to.not.have.all.keys(n)},s.hasAnyDeepKeys=function(e,n,o){new t(e,o,s.hasAnyDeepKeys,!0).to.have.any.deep.keys(n)},s.hasAllDeepKeys=function(e,n,o){new t(e,o,s.hasAllDeepKeys,!0).to.have.all.deep.keys(n)},s.containsAllDeepKeys=function(e,n,o){new t(e,o,s.containsAllDeepKeys,!0).to.contain.all.deep.keys(n)},s.doesNotHaveAnyDeepKeys=function(e,n,o){new t(e,o,s.doesNotHaveAnyDeepKeys,!0).to.not.have.any.deep.keys(n)},s.doesNotHaveAllDeepKeys=function(e,n,o){new t(e,o,s.doesNotHaveAllDeepKeys,!0).to.not.have.all.deep.keys(n)},s.throws=function(e,n,i,r){("string"==typeof n||n instanceof RegExp)&&(i=n,n=null);var c=new t(e,r,s.throws,!0).to.throw(n,i);return o(c,"object")},s.doesNotThrow=function(e,n,o,i){("string"==typeof n||n instanceof RegExp)&&(o=n,n=null),new t(e,i,s.doesNotThrow,!0).to.not.throw(n,o)},s.operator=function(i,r,c,a){var u;switch(r){case"==":u=i==c;break;case"===":u=i===c;break;case">":u=i>c;break;case">=":u=i>=c;break;case"<":u=i<c;break;case"<=":u=i<=c;break;case"!=":u=i!=c;break;case"!==":u=i!==c;break;default:throw a=a?a+": ":a,new e.AssertionError(a+'Invalid operator "'+r+'"',void 0,s.operator)}var l=new t(u,a,s.operator,!0);l.assert(!0===o(l,"object"),"expected "+n.inspect(i)+" to be "+r+" "+n.inspect(c),"expected "+n.inspect(i)+" to not be "+r+" "+n.inspect(c))},s.closeTo=function(e,n,o,i){new t(e,i,s.closeTo,!0).to.be.closeTo(n,o)},s.approximately=function(e,n,o,i){new t(e,i,s.approximately,!0).to.be.approximately(n,o)},s.sameMembers=function(e,n,o){new t(e,o,s.sameMembers,!0).to.have.same.members(n)},s.notSameMembers=function(e,n,o){new t(e,o,s.notSameMembers,!0).to.not.have.same.members(n)},s.sameDeepMembers=function(e,n,o){new t(e,o,s.sameDeepMembers,!0).to.have.same.deep.members(n)},s.notSameDeepMembers=function(e,n,o){new t(e,o,s.notSameDeepMembers,!0).to.not.have.same.deep.members(n)},s.sameOrderedMembers=function(e,n,o){new t(e,o,s.sameOrderedMembers,!0).to.have.same.ordered.members(n)},s.notSameOrderedMembers=function(e,n,o){new t(e,o,s.notSameOrderedMembers,!0).to.not.have.same.ordered.members(n)},s.sameDeepOrderedMembers=function(e,n,o){new t(e,o,s.sameDeepOrderedMembers,!0).to.have.same.deep.ordered.members(n)},s.notSameDeepOrderedMembers=function(e,n,o){new t(e,o,s.notSameDeepOrderedMembers,!0).to.not.have.same.deep.ordered.members(n)},s.includeMembers=function(e,n,o){new t(e,o,s.includeMembers,!0).to.include.members(n)},s.notIncludeMembers=function(e,n,o){new t(e,o,s.notIncludeMembers,!0).to.not.include.members(n)},s.includeDeepMembers=function(e,n,o){new t(e,o,s.includeDeepMembers,!0).to.include.deep.members(n)},s.notIncludeDeepMembers=function(e,n,o){new t(e,o,s.notIncludeDeepMembers,!0).to.not.include.deep.members(n)},s.includeOrderedMembers=function(e,n,o){new t(e,o,s.includeOrderedMembers,!0).to.include.ordered.members(n)},s.notIncludeOrderedMembers=function(e,n,o){new t(e,o,s.notIncludeOrderedMembers,!0).to.not.include.ordered.members(n)},s.includeDeepOrderedMembers=function(e,n,o){new t(e,o,s.includeDeepOrderedMembers,!0).to.include.deep.ordered.members(n)},s.notIncludeDeepOrderedMembers=function(e,n,o){new t(e,o,s.notIncludeDeepOrderedMembers,!0).to.not.include.deep.ordered.members(n)},s.oneOf=function(e,n,o){new t(e,o,s.oneOf,!0).to.be.oneOf(n)},s.changes=function(e,n,o,i){3===arguments.length&&"function"==typeof n&&(i=o,o=null),new t(e,i,s.changes,!0).to.change(n,o)},s.changesBy=function(e,n,o,i,r){if(4===arguments.length&&"function"==typeof n){var c=i;i=o,r=c}else 3===arguments.length&&(i=o,o=null);new t(e,r,s.changesBy,!0).to.change(n,o).by(i)},s.doesNotChange=function(e,n,o,i){return 3===arguments.length&&"function"==typeof n&&(i=o,o=null),new t(e,i,s.doesNotChange,!0).to.not.change(n,o)},s.changesButNotBy=function(e,n,o,i,r){if(4===arguments.length&&"function"==typeof n){var c=i;i=o,r=c}else 3===arguments.length&&(i=o,o=null);new t(e,r,s.changesButNotBy,!0).to.change(n,o).but.not.by(i)},s.increases=function(e,n,o,i){return 3===arguments.length&&"function"==typeof n&&(i=o,o=null),new t(e,i,s.increases,!0).to.increase(n,o)},s.increasesBy=function(e,n,o,i,r){if(4===arguments.length&&"function"==typeof n){var c=i;i=o,r=c}else 3===arguments.length&&(i=o,o=null);new t(e,r,s.increasesBy,!0).to.increase(n,o).by(i)},s.doesNotIncrease=function(e,n,o,i){return 3===arguments.length&&"function"==typeof n&&(i=o,o=null),new t(e,i,s.doesNotIncrease,!0).to.not.increase(n,o)},s.increasesButNotBy=function(e,n,o,i,r){if(4===arguments.length&&"function"==typeof n){var c=i;i=o,r=c}else 3===arguments.length&&(i=o,o=null);new t(e,r,s.increasesButNotBy,!0).to.increase(n,o).but.not.by(i)},s.decreases=function(e,n,o,i){return 3===arguments.length&&"function"==typeof n&&(i=o,o=null),new t(e,i,s.decreases,!0).to.decrease(n,o)},s.decreasesBy=function(e,n,o,i,r){if(4===arguments.length&&"function"==typeof n){var c=i;i=o,r=c}else 3===arguments.length&&(i=o,o=null);new t(e,r,s.decreasesBy,!0).to.decrease(n,o).by(i)},s.doesNotDecrease=function(e,n,o,i){return 3===arguments.length&&"function"==typeof n&&(i=o,o=null),new t(e,i,s.doesNotDecrease,!0).to.not.decrease(n,o)},s.doesNotDecreaseBy=function(e,n,o,i,r){if(4===arguments.length&&"function"==typeof n){var c=i;i=o,r=c}else 3===arguments.length&&(i=o,o=null);return new t(e,r,s.doesNotDecreaseBy,!0).to.not.decrease(n,o).by(i)},s.decreasesButNotBy=function(e,n,o,i,r){if(4===arguments.length&&"function"==typeof n){var c=i;i=o,r=c}else 3===arguments.length&&(i=o,o=null);new t(e,r,s.decreasesButNotBy,!0).to.decrease(n,o).but.not.by(i)},/*!
* ### .ifError(object)
*
* Asserts if value is not a false value, and throws if it is a true value.
* This is added to allow for chai to be a drop-in replacement for Node's
* assert class.
*
* var err = new Error('I am a custom error');
* assert.ifError(err); // Rethrows err!
*
* @name ifError
* @param {Object} object
* @namespace Assert
* @api public
*/
s.ifError=function(e){if(e)throw e},s.isExtensible=function(e,n){new t(e,n,s.isExtensible,!0).to.be.extensible},s.isNotExtensible=function(e,n){new t(e,n,s.isNotExtensible,!0).to.not.be.extensible},s.isSealed=function(e,n){new t(e,n,s.isSealed,!0).to.be.sealed},s.isNotSealed=function(e,n){new t(e,n,s.isNotSealed,!0).to.not.be.sealed},s.isFrozen=function(e,n){new t(e,n,s.isFrozen,!0).to.be.frozen},s.isNotFrozen=function(e,n){new t(e,n,s.isNotFrozen,!0).to.not.be.frozen},s.isEmpty=function(e,n){new t(e,n,s.isEmpty,!0).to.be.empty},s.isNotEmpty=function(e,n){new t(e,n,s.isNotEmpty,!0).to.not.be.empty},/*!
* Aliases.
*/
function e(n,t){return s[t]=s[n],e}("isOk","ok")("isNotOk","notOk")("throws","throw")("throws","Throw")("isExtensible","extensible")("isNotExtensible","notExtensible")("isSealed","sealed")("isNotSealed","notSealed")("isFrozen","frozen")("isNotFrozen","notFrozen")("isEmpty","empty")("isNotEmpty","notEmpty")}},{}],18:[function(require,module,exports){/*!
* chai
* Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
module.exports=function(e,t){e.expect=function(t,n){return new e.Assertion(t,n)},e.expect.fail=function(t,n,o,r){throw o=o||"expect.fail()",new e.AssertionError(o,{actual:t,expected:n,operator:r},e.expect.fail)}}},{}],19:[function(require,module,exports){/*!
* chai
* Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
module.exports=function(t,n){function o(){function n(){return this instanceof String||this instanceof Number||this instanceof Boolean||"function"==typeof Symbol&&this instanceof Symbol?new e(this.valueOf(),null,n):new e(this,null,n)}function o(t){Object.defineProperty(this,"should",{value:t,enumerable:!0,configurable:!0,writable:!0})}Object.defineProperty(Object.prototype,"should",{set:o,get:n,configurable:!0});var i={};return i.fail=function(n,o,e,r){throw e=e||"should.fail()",new t.AssertionError(e,{actual:n,expected:o,operator:r},i.fail)},i.equal=function(t,n,o){new e(t,o).to.equal(n)},i.Throw=function(t,n,o,i){new e(t,i).to.Throw(n,o)},i.exist=function(t,n){new e(t,n).to.exist},i.not={},i.not.equal=function(t,n,o){new e(t,o).to.not.equal(n)},i.not.Throw=function(t,n,o,i){new e(t,i).to.not.Throw(n,o)},i.not.exist=function(t,n){new e(t,n).to.not.exist},i.throw=i.Throw,i.not.throw=i.not.Throw,i}var e=t.Assertion;t.should=o,t.Should=o}},{}],20:[function(require,module,exports){/*!
* Chai - addChainingMethod utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
/*!
* Module dependencies
*/
var addLengthGuard=require("./addLengthGuard"),chai=require("../../chai"),flag=require("./flag"),proxify=require("./proxify"),transferFlags=require("./transferFlags"),canSetPrototype="function"==typeof Object.setPrototypeOf,testFn=function(){},excludeNames=Object.getOwnPropertyNames(testFn).filter(function(e){var t=Object.getOwnPropertyDescriptor(testFn,e);return"object"!=typeof t||!t.configurable}),call=Function.prototype.call,apply=Function.prototype.apply;module.exports=function(e,t,r,a){"function"!=typeof a&&(a=function(){});var n={method:r,chainingBehavior:a};e.__methods||(e.__methods={}),e.__methods[t]=n,Object.defineProperty(e,t,{get:function(){n.chainingBehavior.call(this);var r=function(){flag(this,"lockSsfi")||flag(this,"ssfi",r);var e=n.method.apply(this,arguments);if(void 0!==e)return e;var t=new chai.Assertion;return transferFlags(this,t),t};if(addLengthGuard(r,t,!0),canSetPrototype){var a=Object.create(this);a.call=call,a.apply=apply,Object.setPrototypeOf(r,a)}else{Object.getOwnPropertyNames(e).forEach(function(t){if(-1===excludeNames.indexOf(t)){var a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,a)}})}return transferFlags(this,r),proxify(r)},configurable:!0})}},{"../../chai":13,"./addLengthGuard":21,"./flag":26,"./proxify":41,"./transferFlags":43}],21:[function(require,module,exports){var config=require("../config"),fnLengthDesc=Object.getOwnPropertyDescriptor(function(){},"length");/*!
* Chai - addLengthGuard utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
module.exports=function(e,t,r){return fnLengthDesc.configurable?(Object.defineProperty(e,"length",{get:function(){if(r)throw Error("Invalid Chai property: "+t+'.length. Due to a compatibility issue, "length" cannot directly follow "'+t+'". Use "'+t+'.lengthOf" instead.');throw Error("Invalid Chai property: "+t+'.length. See docs for proper usage of "'+t+'".')}}),e):e}},{"../config":15}],22:[function(require,module,exports){/*!
* Chai - addMethod utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
var addLengthGuard=require("./addLengthGuard"),chai=require("../../chai"),flag=require("./flag"),proxify=require("./proxify"),transferFlags=require("./transferFlags");module.exports=function(r,a,e){var i=function(){flag(this,"lockSsfi")||flag(this,"ssfi",i);var r=e.apply(this,arguments);if(void 0!==r)return r;var a=new chai.Assertion;return transferFlags(this,a),a};addLengthGuard(i,a,!1),r[a]=proxify(i,a)}},{"../../chai":13,"./addLengthGuard":21,"./flag":26,"./proxify":41,"./transferFlags":43}],23:[function(require,module,exports){/*!
* Chai - addProperty utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
var chai=require("../../chai"),flag=require("./flag"),isProxyEnabled=require("./isProxyEnabled"),transferFlags=require("./transferFlags");module.exports=function(r,e,i){i=void 0===i?new Function:i,Object.defineProperty(r,e,{get:function r(){isProxyEnabled()||flag(this,"lockSsfi")||flag(this,"ssfi",r);var e=i.call(this);if(void 0!==e)return e;var a=new chai.Assertion;return transferFlags(this,a),a},configurable:!0})}},{"../../chai":13,"./flag":26,"./isProxyEnabled":36,"./transferFlags":43}],24:[function(require,module,exports){/*!
* Chai - compareByInspect utility
* Copyright(c) 2011-2016 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
/*!
* Module dependancies
*/
var inspect=require("./inspect");module.exports=function(e,n){return inspect(e)<inspect(n)?-1:1}},{"./inspect":34}],25:[function(require,module,exports){/*!
* Chai - expectTypes utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
var AssertionError=require("assertion-error"),flag=require("./flag"),type=require("type-detect");module.exports=function(e,r){var t=flag(e,"message"),o=flag(e,"ssfi");t=t?t+": ":"",e=flag(e,"object"),r=r.map(function(e){return e.toLowerCase()}),r.sort();var n=r.map(function(e,t){var o=~["a","e","i","o","u"].indexOf(e.charAt(0))?"an":"a";return(r.length>1&&t===r.length-1?"or ":"")+o+" "+e}).join(", "),a=type(e).toLowerCase();if(!r.some(function(e){return a===e}))throw new AssertionError(t+"object tested must be "+n+", but "+a+" given",void 0,o)}},{"./flag":26,"assertion-error":11,"type-detect":56}],26:[function(require,module,exports){/*!
* Chai - flag utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
module.exports=function(e,l,t){var n=e.__flags||(e.__flags=Object.create(null));if(3!==arguments.length)return n[l];n[l]=t}},{}],27:[function(require,module,exports){/*!
* Chai - getActual utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
module.exports=function(e,n){return n.length>4?n[4]:e._obj}},{}],28:[function(require,module,exports){/*!
* Chai - getEnumerableProperties utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
module.exports=function(r){var n=[];for(var o in r)n.push(o);return n}},{}],29:[function(require,module,exports){/*!
* Chai - message composition utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
/*!
* Module dependancies
*/
var flag=require("./flag"),getActual=require("./getActual"),inspect=require("./inspect"),objDisplay=require("./objDisplay");module.exports=function(e,t){var r=flag(e,"negate"),a=flag(e,"object"),i=t[3],l=getActual(e,t),n=r?t[2]:t[1],u=flag(e,"message");return"function"==typeof n&&(n=n()),n=n||"",n=n.replace(/#\{this\}/g,function(){return objDisplay(a)}).replace(/#\{act\}/g,function(){return objDisplay(l)}).replace(/#\{exp\}/g,function(){return objDisplay(i)}),u?u+": "+n:n}},{"./flag":26,"./getActual":27,"./inspect":34,"./objDisplay":37}],30:[function(require,module,exports){/*!
* Chai - getOwnEnumerableProperties utility
* Copyright(c) 2011-2016 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
/*!
* Module dependancies
*/
var getOwnEnumerablePropertySymbols=require("./getOwnEnumerablePropertySymbols");module.exports=function(e){return Object.keys(e).concat(getOwnEnumerablePropertySymbols(e))}},{"./getOwnEnumerablePropertySymbols":31}],31:[function(require,module,exports){/*!
* Chai - getOwnEnumerablePropertySymbols utility
* Copyright(c) 2011-2016 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
module.exports=function(e){return"function"!=typeof Object.getOwnPropertySymbols?[]:Object.getOwnPropertySymbols(e).filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}},{}],32:[function(require,module,exports){/*!
* Chai - getProperties utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
module.exports=function(e){function t(e){-1===o.indexOf(e)&&o.push(e)}for(var o=Object.getOwnPropertyNames(e),r=Object.getPrototypeOf(e);null!==r;)Object.getOwnPropertyNames(r).forEach(t),r=Object.getPrototypeOf(r);return o}},{}],33:[function(require,module,exports){/*!
* chai
* Copyright(c) 2011 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
/*!
* Dependencies that are used for multiple exports are required here only once
*/
var pathval=require("pathval");/*!
* test utility
*/
exports.test=require("./test"),/*!
* type utility
*/
exports.type=require("type-detect"),/*!
* expectTypes utility
*/
exports.expectTypes=require("./expectTypes"),/*!
* message utility
*/
exports.getMessage=require("./getMessage"),/*!
* actual utility
*/
exports.getActual=require("./getActual"),/*!
* Inspect util
*/
exports.inspect=require("./inspect"),/*!
* Object Display util
*/
exports.objDisplay=require("./objDisplay"),/*!
* Flag utility
*/
exports.flag=require("./flag"),/*!
* Flag transferring utility
*/
exports.transferFlags=require("./transferFlags"),/*!
* Deep equal utility
*/
exports.eql=require("deep-eql"),/*!
* Deep path info
*/
exports.getPathInfo=pathval.getPathInfo,/*!
* Check if a property exists
*/
exports.hasProperty=pathval.hasProperty,/*!
* Function name
*/
exports.getName=require("get-func-name"),/*!
* add Property
*/
exports.addProperty=require("./addProperty"),/*!
* add Method
*/
exports.addMethod=require("./addMethod"),/*!
* overwrite Property
*/
exports.overwriteProperty=require("./overwriteProperty"),/*!
* overwrite Method
*/
exports.overwriteMethod=require("./overwriteMethod"),/*!
* Add a chainable method
*/
exports.addChainableMethod=require("./addChainableMethod"),/*!
* Overwrite chainable method
*/
exports.overwriteChainableMethod=require("./overwriteChainableMethod"),/*!
* Compare by inspect method
*/
exports.compareByInspect=require("./compareByInspect"),/*!
* Get own enumerable property symbols method
*/
exports.getOwnEnumerablePropertySymbols=require("./getOwnEnumerablePropertySymbols"),/*!
* Get own enumerable properties method
*/
exports.getOwnEnumerableProperties=require("./getOwnEnumerableProperties"),/*!
* Checks error against a given set of criteria
*/
exports.checkError=require("check-error"),/*!
* Proxify util
*/
exports.proxify=require("./proxify"),/*!
* addLengthGuard util
*/
exports.addLengthGuard=require("./addLengthGuard"),/*!
* isProxyEnabled helper
*/
exports.isProxyEnabled=require("./isProxyEnabled"),/*!
* isNaN method
*/
exports.isNaN=require("./isNaN")},{"./addChainableMethod":20,"./addLengthGuard":21,"./addMethod":22,"./addProperty":23,"./compareByInspect":24,"./expectTypes":25,"./flag":26,"./getActual":27,"./getMessage":29,"./getOwnEnumerableProperties":30,"./getOwnEnumerablePropertySymbols":31,"./inspect":34,"./isNaN":35,"./isProxyEnabled":36,"./objDisplay":37,"./overwriteChainableMethod":38,"./overwriteMethod":39,"./overwriteProperty":40,"./proxify":41,"./test":42,"./transferFlags":43,"check-error":44,"deep-eql":46,"get-func-name":48,pathval:51,"type-detect":56}],34:[function(require,module,exports){function inspect(e,t,r,n){return formatValue({showHidden:t,seen:[],stylize:function(e){return e}},e,void 0===r?2:r)}function formatValue(e,t,r){if(t&&"function"==typeof t.inspect&&t.inspect!==exports.inspect&&(!t.constructor||t.constructor.prototype!==t)){var n=t.inspect(r,e);return"string"!=typeof n&&(n=formatValue(e,n,r)),n}var i=formatPrimitive(e,t);if(i)return i;if(isDOMElement(t)){if("outerHTML"in t)return t.outerHTML;try{if(document.xmlVersion){return(new XMLSerializer).serializeToString(t)}var o=document.createElementNS("http://www.w3.org/1999/xhtml","_");o.appendChild(t.cloneNode(!1));var a=o.innerHTML.replace("><",">"+t.innerHTML+"<");return o.innerHTML="",a}catch(e){}}var c,u,s=getEnumerableProperties(t),l=e.showHidden?getProperties(t):s;if(0===l.length||isError(t)&&(1===l.length&&"stack"===l[0]||2===l.length&&"description"===l[0]&&"stack"===l[1])){if("function"==typeof t)return c=getName(t),u=c?": "+c:"",e.stylize("[Function"+u+"]","special");if(isRegExp(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(isDate(t))return e.stylize(Date.prototype.toUTCString.call(t),"date");if(isError(t))return formatError(t)}var p="",f=!1,g=!1,y=["{","}"];if(isTypedArray(t)&&(g=!0,y=["[","]"]),isArray(t)&&(f=!0,y=["[","]"]),"function"==typeof t&&(c=getName(t),u=c?": "+c:"",p=" [Function"+u+"]"),isRegExp(t)&&(p=" "+RegExp.prototype.toString.call(t)),isDate(t)&&(p=" "+Date.prototype.toUTCString.call(t)),isError(t))return formatError(t);if(0===l.length&&(!f||0==t.length))return y[0]+p+y[1];if(r<0)return isRegExp(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);var m;if(f)m=formatArray(e,t,r,s,l);else{if(g)return formatTypedArray(t);m=l.map(function(n){return formatProperty(e,t,r,s,n,f)})}return e.seen.pop(),reduceToSingleString(m,p,y)}function formatPrimitive(e,t){switch(typeof t){case"undefined":return e.stylize("undefined","undefined");case"string":var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string");case"number":return 0===t&&1/t==-1/0?e.stylize("-0","number"):e.stylize(""+t,"number");case"boolean":return e.stylize(""+t,"boolean");case"symbol":return e.stylize(t.toString(),"symbol")}if(null===t)return e.stylize("null","null")}function formatError(e){return"["+Error.prototype.toString.call(e)+"]"}function formatArray(e,t,r,n,i){for(var o=[],a=0,c=t.length;a<c;++a)Object.prototype.hasOwnProperty.call(t,String(a))?o.push(formatProperty(e,t,r,n,String(a),!0)):o.push("");return i.forEach(function(i){i.match(/^\d+$/)||o.push(formatProperty(e,t,r,n,i,!0))}),o}function formatTypedArray(e){for(var t="[ ",r=0;r<e.length;++r){if(t.length>=config.truncateThreshold-7){t+="...";break}t+=e[r]+", "}return t+=" ]",-1!==t.indexOf(", ]")&&(t=t.replace(", ]"," ]")),t}function formatProperty(e,t,r,n,i,o){var a,c,u=Object.getOwnPropertyDescriptor(t,i);if(u&&(u.get?c=u.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):u.set&&(c=e.stylize("[Setter]","special"))),n.indexOf(i)<0&&(a="["+i+"]"),c||(e.seen.indexOf(t[i])<0?(c=null===r?formatValue(e,t[i],null):formatValue(e,t[i],r-1),c.indexOf("\n")>-1&&(c=o?c.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+c.split("\n").map(function(e){return" "+e}).join("\n"))):c=e.stylize("[Circular]","special")),void 0===a){if(o&&i.match(/^\d+$/))return c;a=JSON.stringify(""+i),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+": "+c}function reduceToSingleString(e,t,r){var n=0;return e.reduce(function(e,t){return n++,t.indexOf("\n")>=0&&n++,e+t.length+1},0)>60?r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}function isTypedArray(e){return"object"==typeof e&&/\w+Array]$/.test(objectToString(e))}function isArray(e){return Array.isArray(e)||"object"==typeof e&&"[object Array]"===objectToString(e)}function isRegExp(e){return"object"==typeof e&&"[object RegExp]"===objectToString(e)}function isDate(e){return"object"==typeof e&&"[object Date]"===objectToString(e)}function isError(e){return"object"==typeof e&&"[object Error]"===objectToString(e)}function objectToString(e){return Object.prototype.toString.call(e)}var getName=require("get-func-name"),getProperties=require("./getProperties"),getEnumerableProperties=require("./getEnumerableProperties"),config=require("../config");module.exports=inspect;var isDOMElement=function(e){return"object"==typeof HTMLElement?e instanceof HTMLElement:e&&"object"==typeof e&&"nodeType"in e&&1===e.nodeType&&"string"==typeof e.nodeName}},{"../config":15,"./getEnumerableProperties":28,"./getProperties":32,"get-func-name":48}],35:[function(require,module,exports){/*!
* Chai - isNaN utility
* Copyright(c) 2012-2015 Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
* MIT Licensed
*/
function isNaN(N){return N!==N}module.exports=Number.isNaN||isNaN},{}],36:[function(require,module,exports){var config=require("../config");/*!
* Chai - isProxyEnabled helper
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
module.exports=function(){return config.useProxy&&"undefined"!=typeof Proxy&&"undefined"!=typeof Reflect}},{"../config":15}],37:[function(require,module,exports){/*!
* Chai - flag utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
/*!
* Module dependancies
*/
var inspect=require("./inspect"),config=require("../config");module.exports=function(e){var n=inspect(e),t=Object.prototype.toString.call(e);if(config.truncateThreshold&&n.length>=config.truncateThreshold){if("[object Function]"===t)return e.name&&""!==e.name?"[Function: "+e.name+"]":"[Function]";if("[object Array]"===t)return"[ Array("+e.length+") ]";if("[object Object]"===t){var r=Object.keys(e);return"{ Object ("+(r.length>2?r.splice(0,2).join(", ")+", ...":r.join(", "))+") }"}return n}return n}},{"../config":15,"./inspect":34}],38:[function(require,module,exports){/*!
* Chai - overwriteChainableMethod utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
var chai=require("../../chai"),transferFlags=require("./transferFlags");module.exports=function(r,a,i,e){var n=r.__methods[a],t=n.chainingBehavior;n.chainingBehavior=function(){var r=e(t).call(this);if(void 0!==r)return r;var a=new chai.Assertion;return transferFlags(this,a),a};var s=n.method;n.method=function(){var r=i(s).apply(this,arguments);if(void 0!==r)return r;var a=new chai.Assertion;return transferFlags(this,a),a}}},{"../../chai":13,"./transferFlags":43}],39:[function(require,module,exports){/*!
* Chai - overwriteMethod utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
var addLengthGuard=require("./addLengthGuard"),chai=require("../../chai"),flag=require("./flag"),proxify=require("./proxify"),transferFlags=require("./transferFlags");module.exports=function(r,i,a){var f=r[i],t=function(){throw new Error(i+" is not a function")};f&&"function"==typeof f&&(t=f);var e=function(){flag(this,"lockSsfi")||flag(this,"ssfi",e);var r=flag(this,"lockSsfi");flag(this,"lockSsfi",!0);var i=a(t).apply(this,arguments);if(flag(this,"lockSsfi",r),void 0!==i)return i;var f=new chai.Assertion;return transferFlags(this,f),f};addLengthGuard(e,i,!1),r[i]=proxify(e,i)}},{"../../chai":13,"./addLengthGuard":21,"./flag":26,"./proxify":41,"./transferFlags":43}],40:[function(require,module,exports){/*!
* Chai - overwriteProperty utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
var chai=require("../../chai"),flag=require("./flag"),isProxyEnabled=require("./isProxyEnabled"),transferFlags=require("./transferFlags");module.exports=function(r,e,i){var t=Object.getOwnPropertyDescriptor(r,e),a=function(){};t&&"function"==typeof t.get&&(a=t.get),Object.defineProperty(r,e,{get:function r(){isProxyEnabled()||flag(this,"lockSsfi")||flag(this,"ssfi",r);var e=flag(this,"lockSsfi");flag(this,"lockSsfi",!0);var t=i(a).call(this);if(flag(this,"lockSsfi",e),void 0!==t)return t;var s=new chai.Assertion;return transferFlags(this,s),s},configurable:!0})}},{"../../chai":13,"./flag":26,"./isProxyEnabled":36,"./transferFlags":43}],41:[function(require,module,exports){function stringDistance(e,t,r){if(!r){r=[];for(var n=0;n<=e.length;n++)r[n]=[]}return r[e.length]&&r[e.length][t.length]||(0===e.length||0===t.length?r[e.length][t.length]=Math.max(e.length,t.length):r[e.length][t.length]=Math.min(stringDistance(e.slice(0,-1),t,r)+1,stringDistance(e,t.slice(0,-1),r)+1,stringDistance(e.slice(0,-1),t.slice(0,-1),r)+(e.slice(-1)===t.slice(-1)?0:1))),r[e.length][t.length]}var config=require("../config"),flag=require("./flag"),getProperties=require("./getProperties"),isProxyEnabled=require("./isProxyEnabled"),builtins=["__flags","__methods","_obj","assert"];module.exports=function(e,t){return isProxyEnabled()?new Proxy(e,{get:function e(r,n){if("string"==typeof n&&-1===config.proxyExcludedKeys.indexOf(n)&&!Reflect.has(r,n)){if(t)throw Error("Invalid Chai property: "+t+"."+n+'. See docs for proper usage of "'+t+'".');var i=getProperties(r).filter(function(e){return!Object.prototype.hasOwnProperty(e)&&-1===builtins.indexOf(e)}).sort(function(e,t){return stringDistance(n,e)-stringDistance(n,t)});throw i.length&&stringDistance(i[0],n)<4?Error("Invalid Chai property: "+n+'. Did you mean "'+i[0]+'"?'):Error("Invalid Chai property: "+n)}return-1!==builtins.indexOf(n)||flag(r,"lockSsfi")||flag(r,"ssfi",e),Reflect.get(r,n)}}):e}},{"../config":15,"./flag":26,"./getProperties":32,"./isProxyEnabled":36}],42:[function(require,module,exports){/*!
* Chai - test utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
/*!
* Module dependancies
*/
var flag=require("./flag");module.exports=function(e,r){var a=flag(e,"negate"),f=r[0];return a?!f:f}},{"./flag":26}],43:[function(require,module,exports){/*!
* Chai - transferFlags utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
module.exports=function(e,l,s){var a=e.__flags||(e.__flags=Object.create(null));l.__flags||(l.__flags=Object.create(null)),s=3!==arguments.length||s;for(var _ in a)(s||"object"!==_&&"ssfi"!==_&&"lockSsfi"!==_&&"message"!=_)&&(l.__flags[_]=a[_])}},{}],44:[function(require,module,exports){"use strict";function compatibleInstance(t,e){return e instanceof Error&&t===e}function compatibleConstructor(t,e){return e instanceof Error?t.constructor===e.constructor||t instanceof e.constructor:(e.prototype instanceof Error||e===Error)&&(t.constructor===e||t instanceof e)}function compatibleMessage(t,e){var n="string"==typeof t?t:t.message;return e instanceof RegExp?e.test(n):"string"==typeof e&&-1!==n.indexOf(e)}function getFunctionName(t){var e="";if(void 0===t.name){var n=String(t).match(functionNameMatch);n&&(e=n[1])}else e=t.name;return e}function getConstructorName(t){var e=t;return t instanceof Error?e=getFunctionName(t.constructor):"function"==typeof t&&(e=getFunctionName(t).trim()||getFunctionName(new t)),e}function getMessage(t){var e="";return t&&t.message?e=t.message:"string"==typeof t&&(e=t),e}var functionNameMatch=/\s*function(?:\s|\s*\/\*[^(?:*\/)]+\*\/\s*)*([^\(\/]+)/;module.exports={compatibleInstance:compatibleInstance,compatibleConstructor:compatibleConstructor,compatibleMessage:compatibleMessage,getMessage:getMessage,getConstructorName:getConstructorName}},{}],45:[function(require,module,exports){!function(){"use strict";function t(i,e,n,s){return this instanceof t?(this.domain=i||void 0,this.path=e||"/",this.secure=!!n,this.script=!!s,this):new t(i,e,n,s)}function i(t,e,n){return t instanceof i?t:this instanceof i?(this.name=null,this.value=null,this.expiration_date=1/0,this.path=String(n||"/"),this.explicit_path=!1,this.domain=e||null,this.explicit_domain=!1,this.secure=!1,this.noscript=!1,t&&this.parse(t,e,n),this):new i(t,e,n)}function e(){var t,n,s;return this instanceof e?(t=Object.create(null),this.setCookie=function(e,r,a){var o,h;if(e=new i(e,r,a),o=e.expiration_date<=Date.now(),void 0!==t[e.name]){for(n=t[e.name],h=0;h<n.length;h+=1)if(s=n[h],s.collidesWith(e))return o?(n.splice(h,1),0===n.length&&delete t[e.name],!1):(n[h]=e,e);return!o&&(n.push(e),e)}return!o&&(t[e.name]=[e],t[e.name])},this.getCookie=function(i,e){var s,r;if(n=t[i])for(r=0;r<n.length;r+=1)if(s=n[r],s.expiration_date<=Date.now())0===n.length&&delete t[s.name];else if(s.matches(e))return s},this.getCookies=function(i){var e,n,s=[];for(e in t)(n=this.getCookie(e,i))&&s.push(n);return s.toString=function(){return s.join(":")},s.toValueString=function(){return s.map(function(t){return t.toValueString()}).join(";")},s},this):new e}t.All=Object.freeze(Object.create(null)),exports.CookieAccessInfo=t,exports.Cookie=i,i.prototype.toString=function(){var t=[this.name+"="+this.value];return this.expiration_date!==1/0&&t.push("expires="+new Date(this.expiration_date).toGMTString()),this.domain&&t.push("domain="+this.domain),this.path&&t.push("path="+this.path),this.secure&&t.push("secure"),this.noscript&&t.push("httponly"),t.join("; ")},i.prototype.toValueString=function(){return this.name+"="+this.value};var n=/[:](?=\s*[a-zA-Z0-9_\-]+\s*[=])/g;i.prototype.parse=function(t,e,n){if(this instanceof i){var s,r=t.split(";").filter(function(t){return!!t}),a=r[0].match(/([^=]+)=([\s\S]*)/),o=a[1],h=a[2];for(this.name=o,this.value=h,s=1;s<r.length;s+=1)switch(a=r[s].match(/([^=]+)(?:=([\s\S]*))?/),o=a[1].trim().toLowerCase(),h=a[2],o){case"httponly":this.noscript=!0;break;case"expires":this.expiration_date=h?Number(Date.parse(h)):1/0;break;case"path":this.path=h?h.trim():"",this.explicit_path=!0;break;case"domain":this.domain=h?h.trim():"",this.explicit_domain=!!this.domain;break;case"secure":this.secure=!0}return this.explicit_path||(this.path=n||"/"),this.explicit_domain||(this.domain=e),this}return(new i).parse(t,e,n)},i.prototype.matches=function(i){return i===t.All||!(this.noscript&&i.script||this.secure&&!i.secure||!this.collidesWith(i))},i.prototype.collidesWith=function(t){if(this.path&&!t.path||this.domain&&!t.domain)return!1;if(this.path&&0!==t.path.indexOf(this.path))return!1;if(this.explicit_path&&0!==t.path.indexOf(this.path))return!1;var i=t.domain&&t.domain.replace(/^[\.]/,""),e=this.domain&&this.domain.replace(/^[\.]/,"");if(e===i)return!0;if(e){if(!this.explicit_domain)return!1;var n=i.indexOf(e);return-1!==n&&n===i.length-e.length}return!0},exports.CookieJar=e,e.prototype.setCookies=function(t,e,s){t=Array.isArray(t)?t:t.split(n);var r,a,o=[];for(t=t.map(function(t){return new i(t,e,s)}),r=0;r<t.length;r+=1)a=t[r],this.setCookie(a,e,s)&&o.push(a);return o}}()},{}],46:[function(require,module,exports){"use strict";function FakeMap(){this.clear()}/*!
* Check to see if the MemoizeMap has recorded a result of the two operands
*
* @param {Mixed} leftHandOperand
* @param {Mixed} rightHandOperand
* @param {MemoizeMap} memoizeMap
* @returns {Boolean|null} result
*/
function memoizeCompare(e,r,t){if(!t||isPrimitive(e)||isPrimitive(r))return null;var n=t.get(e);if(n){var a=n.get(r);if("boolean"==typeof a)return a}return null}/*!
* Set the result of the equality into the MemoizeMap
*
* @param {Mixed} leftHandOperand
* @param {Mixed} rightHandOperand
* @param {MemoizeMap} memoizeMap
* @param {Boolean} result
*/
function memoizeSet(e,r,t,n){if(t&&!isPrimitive(e)&&!isPrimitive(r)){var a=t.get(e);a?a.set(r,n):(a=new MemoizeMap,a.set(r,n),t.set(e,a))}}function deepEqual(e,r,t){if(t&&t.comparator)return extensiveDeepEqual(e,r,t);var n=simpleEqual(e,r);return null!==n?n:extensiveDeepEqual(e,r,t)}function simpleEqual(e,r){return e===r?0!==e||1/e==1/r:e!==e&&r!==r||!isPrimitive(e)&&!isPrimitive(r)&&null}/*!
* The main logic of the `deepEqual` function.
*
* @param {Mixed} leftHandOperand
* @param {Mixed} rightHandOperand
* @param {Object} [options] (optional) Additional options
* @param {Array} [options.comparator] (optional) Override default algorithm, determining custom equality.
* @param {Array} [options.memoize] (optional) Provide a custom memoization object which will cache the results of
complex objects for a speed boost. By passing `false` you can disable memoization, but this will cause circular
references to blow the stack.
* @return {Boolean} equal match
*/
function extensiveDeepEqual(e,r,t){t=t||{},t.memoize=!1!==t.memoize&&(t.memoize||new MemoizeMap);var n=t&&t.comparator,a=memoizeCompare(e,r,t.memoize);if(null!==a)return a;var i=memoizeCompare(r,e,t.memoize);if(null!==i)return i;if(n){var u=n(e,r);if(!1===u||!0===u)return memoizeSet(e,r,t.memoize,u),u;var s=simpleEqual(e,r);if(null!==s)return s}var o=type(e);if(o!==type(r))return memoizeSet(e,r,t.memoize,!1),!1;memoizeSet(e,r,t.memoize,!0);var l=extensiveDeepEqualByType(e,r,o,t);return memoizeSet(e,r,t.memoize,l),l}function extensiveDeepEqualByType(e,r,t,n){switch(t){case"String":case"Number":case"Boolean":case"Date":return deepEqual(e.valueOf(),r.valueOf());case"Promise":case"Symbol":case"function":case"WeakMap":case"WeakSet":case"Error":return e===r;case"Arguments":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"Array":return iterableEqual(e,r,n);case"RegExp":return regexpEqual(e,r);case"Generator":return generatorEqual(e,r,n);case"DataView":return iterableEqual(new Uint8Array(e.buffer),new Uint8Array(r.buffer),n);case"ArrayBuffer":return iterableEqual(new Uint8Array(e),new Uint8Array(r),n);case"Set":case"Map":return entriesEqual(e,r,n);default:return objectEqual(e,r,n)}}/*!
* Compare two Regular Expressions for equality.
*
* @param {RegExp} leftHandOperand
* @param {RegExp} rightHandOperand
* @return {Boolean} result
*/
function regexpEqual(e,r){return e.toString()===r.toString()}/*!
* Compare two Sets/Maps for equality. Faster than other equality functions.
*
* @param {Set} leftHandOperand
* @param {Set} rightHandOperand
* @param {Object} [options] (Optional)
* @return {Boolean} result
*/
function entriesEqual(e,r,t){if(e.size!==r.size)return!1;if(0===e.size)return!0;var n=[],a=[];return e.forEach(function(e,r){n.push([e,r])}),r.forEach(function(e,r){a.push([e,r])}),iterableEqual(n.sort(),a.sort(),t)}/*!
* Simple equality for flat iterable objects such as Arrays, TypedArrays or Node.js buffers.
*
* @param {Iterable} leftHandOperand
* @param {Iterable} rightHandOperand
* @param {Object} [options] (Optional)
* @return {Boolean} result
*/
function iterableEqual(e,r,t){var n=e.length;if(n!==r.length)return!1;if(0===n)return!0;for(var a=-1;++a<n;)if(!1===deepEqual(e[a],r[a],t))return!1;return!0}/*!
* Simple equality for generator objects such as those returned by generator functions.
*
* @param {Iterable} leftHandOperand
* @param {Iterable} rightHandOperand
* @param {Object} [options] (Optional)
* @return {Boolean} result
*/
function generatorEqual(e,r,t){return iterableEqual(getGeneratorEntries(e),getGeneratorEntries(r),t)}/*!
* Determine if the given object has an @@iterator function.
*
* @param {Object} target
* @return {Boolean} `true` if the object has an @@iterator function.
*/
function hasIteratorFunction(e){return"undefined"!=typeof Symbol&&"object"==typeof e&&void 0!==Symbol.iterator&&"function"==typeof e[Symbol.iterator]}/*!
* Gets all iterator entries from the given Object. If the Object has no @@iterator function, returns an empty array.
* This will consume the iterator - which could have side effects depending on the @@iterator implementation.
*
* @param {Object} target
* @returns {Array} an array of entries from the @@iterator function
*/
function getIteratorEntries(e){if(hasIteratorFunction(e))try{return getGeneratorEntries(e[Symbol.iterator]())}catch(e){return[]}return[]}/*!
* Gets all entries from a Generator. This will consume the generator - which could have side effects.
*
* @param {Generator} target
* @returns {Array} an array of entries from the Generator.
*/
function getGeneratorEntries(e){for(var r=e.next(),t=[r.value];!1===r.done;)r=e.next(),t.push(r.value);return t}/*!
* Gets all own and inherited enumerable keys from a target.
*
* @param {Object} target
* @returns {Array} an array of own and inherited enumerable keys from the target.
*/
function getEnumerableKeys(e){var r=[];for(var t in e)r.push(t);return r}/*!
* Determines if two objects have matching values, given a set of keys. Defers to deepEqual for the equality check of
* each key. If any value of the given key is not equal, the function will return false (early).
*
* @param {Mixed} leftHandOperand
* @param {Mixed} rightHandOperand
* @param {Array} keys An array of keys to compare the values of leftHandOperand and rightHandOperand against
* @param {Object} [options] (Optional)
* @return {Boolean} result
*/
function keysEqual(e,r,t,n){var a=t.length;if(0===a)return!0;for(var i=0;i<a;i+=1)if(!1===deepEqual(e[t[i]],r[t[i]],n))return!1;return!0}/*!
* Recursively check the equality of two Objects. Once basic sameness has been established it will defer to `deepEqual`
* for each enumerable key in the object.
*
* @param {Mixed} leftHandOperand
* @param {Mixed} rightHandOperand
* @param {Object} [options] (Optional)
* @return {Boolean} result
*/
function objectEqual(e,r,t){var n=getEnumerableKeys(e),a=getEnumerableKeys(r);if(n.length&&n.length===a.length)return n.sort(),a.sort(),!1!==iterableEqual(n,a)&&keysEqual(e,r,n,t);var i=getIteratorEntries(e),u=getIteratorEntries(r);return i.length&&i.length===u.length?(i.sort(),u.sort(),iterableEqual(i,u,t)):0===n.length&&0===i.length&&0===a.length&&0===u.length}/*!
* Returns true if the argument is a primitive.
*
* This intentionally returns true for all objects that can be compared by reference,
* including functions and symbols.
*
* @param {Mixed} value
* @return {Boolean} result
*/
function isPrimitive(e){return null===e||"object"!=typeof e}/*!
* deep-eql
* Copyright(c) 2013 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
/*!
* Module dependencies
*/
var type=require("type-detect");FakeMap.prototype={clear:function(){return this.keys=[],this.values=[],this},set:function(e,r){var t=this.keys.indexOf(e);return t>=0?this.values[t]=r:(this.keys.push(e),this.values.push(r)),this},get:function(e){return this.values[this.keys.indexOf(e)]},delete:function(e){var r=this.keys.indexOf(e);return r>=0&&(this.values=this.values.slice(0,r).concat(this.values.slice(r+1)),this.keys=this.keys.slice(0,r).concat(this.keys.slice(r+1))),this}};var MemoizeMap=null;MemoizeMap="function"==typeof WeakMap?WeakMap:FakeMap,/*!
* Primary Export
*/
module.exports=deepEqual,module.exports.MemoizeMap=MemoizeMap},{"type-detect":47}],47:[function(require,module,exports){(function(global){"use strict";var getPrototypeOfExists="function"==typeof Object.getPrototypeOf,promiseExists="function"==typeof Promise,globalObject="undefined"!=typeof window?window:"undefined"!=typeof global?global:self,isDom="location"in globalObject&&"document"in globalObject,htmlElementExists="undefined"!=typeof HTMLElement,isArrayExists="function"==typeof Array.isArray,symbolExists="undefined"!=typeof Symbol,mapExists="undefined"!=typeof Map,setExists="undefined"!=typeof Set,weakMapExists="undefined"!=typeof WeakMap,weakSetExists="undefined"!=typeof WeakSet,dataViewExists="undefined"!=typeof DataView,symbolIteratorExists=symbolExists&&void 0!==Symbol.iterator,symbolToStringTagExists=symbolExists&&void 0!==Symbol.toStringTag,setEntriesExists=setExists&&"function"==typeof Set.prototype.entries,mapEntriesExists=mapExists&&"function"==typeof Map.prototype.entries,setIteratorPrototype=getPrototypeOfExists&&setEntriesExists&&Object.getPrototypeOf((new Set).entries()),mapIteratorPrototype=getPrototypeOfExists&&mapEntriesExists&&Object.getPrototypeOf((new Map).entries()),arrayIteratorExists=symbolIteratorExists&&"function"==typeof Array.prototype[Symbol.iterator],arrayIteratorPrototype=arrayIteratorExists&&Object.getPrototypeOf([][Symbol.iterator]()),stringIteratorExists=symbolIteratorExists&&"function"==typeof Array.prototype[Symbol.iterator],stringIteratorPrototype=stringIteratorExists&&Object.getPrototypeOf(""[Symbol.iterator]()),toStringLeftSliceLength=8,toStringRightSliceLength=-1;module.exports=function(t){var e=typeof t;if("object"!==e)return e;if(null===t)return"null";if(t===globalObject)return"global";if(isArrayExists&&Array.isArray(t))return"Array";if(isDom){if(t===globalObject.location)return"Location";if(t===globalObject.document)return"Document";if(t===(globalObject.navigator||{}).mimeTypes)return"MimeTypeArray";if(t===(globalObject.navigator||{}).plugins)return"PluginArray";if(htmlElementExists&&t instanceof HTMLElement&&"BLOCKQUOTE"===t.tagName)return"HTMLQuoteElement";if(htmlElementExists&&t instanceof HTMLElement&&"TD"===t.tagName)return"HTMLTableDataCellElement";if(htmlElementExists&&t instanceof HTMLElement&&"TH"===t.tagName)return"HTMLTableHeaderCellElement"}var r=symbolToStringTagExists&&t[Symbol.toStringTag];if("string"==typeof r)return r;if(getPrototypeOfExists){var o=Object.getPrototypeOf(t);if(o===RegExp.prototype)return"RegExp";if(o===Date.prototype)return"Date";if(promiseExists&&o===Promise.prototype)return"Promise";if(setExists&&o===Set.prototype)return"Set";if(mapExists&&o===Map.prototype)return"Map";if(weakSetExists&&o===WeakSet.prototype)return"WeakSet";if(weakMapExists&&o===WeakMap.prototype)return"WeakMap";if(dataViewExists&&o===DataView.prototype)return"DataView";if(mapExists&&o===mapIteratorPrototype)return"Map Iterator";if(setExists&&o===setIteratorPrototype)return"Set Iterator";if(arrayIteratorExists&&o===arrayIteratorPrototype)return"Array Iterator";if(stringIteratorExists&&o===stringIteratorPrototype)return"String Iterator";if(null===o)return"Object"}return Object.prototype.toString.call(t).slice(toStringLeftSliceLength,toStringRightSliceLength)},module.exports.typeDetect=module.exports}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],48:[function(require,module,exports){"use strict";function getFuncName(t){if("function"!=typeof t)return null;var n="";if(void 0===Function.prototype.name&&void 0===t.name){var e=toString.call(t).match(functionNameMatch);e&&(n=e[1])}else n=t.name;return n}var toString=Function.prototype.toString,functionNameMatch=/\s*function(?:\s|\s*\/\*[^(?:*\/)]+\*\/\s*)*([^\s\(\/]+)/;module.exports=getFuncName},{}],49:[function(require,module,exports){"use strict";var v4="(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])(?:\\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])){3}",v6="(?:(?:[0-9a-fA-F:]){1,4}(?:(?::(?:[0-9a-fA-F]){1,4}|:)){2,7})+",ip=module.exports=function(e){return e=e||{},e.exact?new RegExp("(?:^"+v4+"$)|(?:^"+v6+"$)"):new RegExp("(?:"+v4+")|(?:"+v6+")","g")};ip.v4=function(e){return e=e||{},e.exact?new RegExp("^"+v4+"$"):new RegExp(v4,"g")},ip.v6=function(e){return e=e||{},e.exact?new RegExp("^"+v6+"$"):new RegExp(v6,"g")}},{}],50:[function(require,module,exports){"use strict";var ipRegex=require("ip-regex"),ip=module.exports=function(e){return ipRegex({exact:!0}).test(e)};ip.v4=function(e){return ipRegex.v4({exact:!0}).test(e)},ip.v6=function(e){return ipRegex.v6({exact:!0}).test(e)}},{"ip-regex":49}],51:[function(require,module,exports){"use strict";function hasProperty(e,t){return void 0!==e&&null!==e&&t in Object(e)}function parsePath(e){return e.replace(/([^\\])\[/g,"$1.[").match(/(\\\.|[^.]+?)+/g).map(function(e){var t=/^\[(\d+)\]$/,a=t.exec(e);return a?{i:parseFloat(a[1])}:{p:e.replace(/\\([.\[\]])/g,"$1")}})}function internalGetPathValue(e,t,a){var n=e,r=null;a=void 0===a?t.length:a;for(var l=0;l<a;l++){var i=t[l];n&&(n=void 0===i.p?n[i.i]:n[i.p],l===a-1&&(r=n))}return r}function internalSetPathValue(e,t,a){for(var n=e,r=a.length,l=null,i=0;i<r;i++){var u=null,o=null;if(l=a[i],i===r-1)u=void 0===l.p?l.i:l.p,n[u]=t;else if(void 0!==l.p&&n[l.p])n=n[l.p];else if(void 0!==l.i&&n[l.i])n=n[l.i];else{var h=a[i+1];u=void 0===l.p?l.i:l.p,o=void 0===h.p?[]:{},n[u]=o,n=n[u]}}}function getPathInfo(e,t){var a=parsePath(t),n=a[a.length-1],r={parent:a.length>1?internalGetPathValue(e,a,a.length-1):e,name:n.p||n.i,value:internalGetPathValue(e,a)};return r.exists=hasProperty(r.parent,r.name),r}function getPathValue(e,t){return getPathInfo(e,t).value}function setPathValue(e,t,a){return internalSetPathValue(e,a,parsePath(t)),e}module.exports={hasProperty:hasProperty,getPathInfo:getPathInfo,getPathValue:getPathValue,setPathValue:setPathValue}},{}],52:[function(require,module,exports){(function(global){/*! https://mths.be/punycode v1.4.1 by @mathias */
!function(e){function o(e){throw new RangeError(T[e])}function n(e,o){for(var n=e.length,t=[];n--;)t[n]=o(e[n]);return t}function t(e,o){var t=e.split("@"),r="";return t.length>1&&(r=t[0]+"@",e=t[1]),e=e.replace(S,"."),r+n(e.split("."),o).join(".")}function r(e){for(var o,n,t=[],r=0,u=e.length;r<u;)o=e.charCodeAt(r++),o>=55296&&o<=56319&&r<u?(n=e.charCodeAt(r++),56320==(64512&n)?t.push(((1023&o)<<10)+(1023&n)+65536):(t.push(o),r--)):t.push(o);return t}function u(e){return n(e,function(e){var o="";return e>65535&&(e-=65536,o+=P(e>>>10&1023|55296),e=56320|1023&e),o+=P(e)}).join("")}function i(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:b}function f(e,o){return e+22+75*(e<26)-((0!=o)<<5)}function c(e,o,n){var t=0;for(e=n?M(e/j):e>>1,e+=M(e/o);e>L*C>>1;t+=b)e=M(e/L);return M(t+(L+1)*e/(e+m))}function l(e){var n,t,r,f,l,s,d,p,a,h,v=[],g=e.length,w=0,m=I,j=A;for(t=e.lastIndexOf(E),t<0&&(t=0),r=0;r<t;++r)e.charCodeAt(r)>=128&&o("not-basic"),v.push(e.charCodeAt(r));for(f=t>0?t+1:0;f<g;){for(l=w,s=1,d=b;f>=g&&o("invalid-input"),p=i(e.charCodeAt(f++)),(p>=b||p>M((x-w)/s))&&o("overflow"),w+=p*s,a=d<=j?y:d>=j+C?C:d-j,!(p<a);d+=b)h=b-a,s>M(x/h)&&o("overflow"),s*=h;n=v.length+1,j=c(w-l,n,0==l),M(w/n)>x-m&&o("overflow"),m+=M(w/n),w%=n,v.splice(w++,0,m)}return u(v)}function s(e){var n,t,u,i,l,s,d,p,a,h,v,g,w,m,j,F=[];for(e=r(e),g=e.length,n=I,t=0,l=A,s=0;s<g;++s)(v=e[s])<128&&F.push(P(v));for(u=i=F.length,i&&F.push(E);u<g;){for(d=x,s=0;s<g;++s)(v=e[s])>=n&&v<d&&(d=v);for(w=u+1,d-n>M((x-t)/w)&&o("overflow"),t+=(d-n)*w,n=d,s=0;s<g;++s)if(v=e[s],v<n&&++t>x&&o("overflow"),v==n){for(p=t,a=b;h=a<=l?y:a>=l+C?C:a-l,!(p<h);a+=b)j=p-h,m=b-h,F.push(P(f(h+j%m,0))),p=M(j/m);F.push(P(f(p,0))),l=c(t,w,u==i),t=0,++u}++t,++n}return F.join("")}function d(e){return t(e,function(e){return F.test(e)?l(e.slice(4).toLowerCase()):e})}function p(e){return t(e,function(e){return O.test(e)?"xn--"+s(e):e})}var a="object"==typeof exports&&exports&&!exports.nodeType&&exports,h="object"==typeof module&&module&&!module.nodeType&&module,v="object"==typeof global&&global;v.global!==v&&v.window!==v&&v.self!==v||(e=v);var g,w,x=2147483647,b=36,y=1,C=26,m=38,j=700,A=72,I=128,E="-",F=/^xn--/,O=/[^\x20-\x7E]/,S=/[\x2E\u3002\uFF0E\uFF61]/g,T={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},L=b-y,M=Math.floor,P=String.fromCharCode;if(g={version:"1.4.1",ucs2:{decode:r,encode:u},decode:l,encode:s,toASCII:p,toUnicode:d},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return g});else if(a&&h)if(module.exports==a)h.exports=g;else for(w in g)g.hasOwnProperty(w)&&(a[w]=g[w]);else e.punycode=g}(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],53:[function(require,module,exports){"use strict";function hasOwnProperty(r,e){return Object.prototype.hasOwnProperty.call(r,e)}module.exports=function(r,e,t,n){e=e||"&",t=t||"=";var o={};if("string"!=typeof r||0===r.length)return o;var a=/\+/g;r=r.split(e);var s=1e3;n&&"number"==typeof n.maxKeys&&(s=n.maxKeys);var p=r.length;s>0&&p>s&&(p=s);for(var y=0;y<p;++y){var u,c,i,l,f=r[y].replace(a,"%20"),v=f.indexOf(t);v>=0?(u=f.substr(0,v),c=f.substr(v+1)):(u=f,c=""),i=decodeURIComponent(u),l=decodeURIComponent(c),hasOwnProperty(o,i)?isArray(o[i])?o[i].push(l):o[i]=[o[i],l]:o[i]=l}return o};var isArray=Array.isArray||function(r){return"[object Array]"===Object.prototype.toString.call(r)}},{}],54:[function(require,module,exports){"use strict";function map(r,e){if(r.map)return r.map(e);for(var t=[],n=0;n<r.length;n++)t.push(e(r[n],n));return t}var stringifyPrimitive=function(r){switch(typeof r){case"string":return r;case"boolean":return r?"true":"false";case"number":return isFinite(r)?r:"";default:return""}};module.exports=function(r,e,t,n){return e=e||"&",t=t||"=",null===r&&(r=void 0),"object"==typeof r?map(objectKeys(r),function(n){var i=encodeURIComponent(stringifyPrimitive(n))+t;return isArray(r[n])?map(r[n],function(r){return i+encodeURIComponent(stringifyPrimitive(r))}).join(e):i+encodeURIComponent(stringifyPrimitive(r[n]))}).join(e):n?encodeURIComponent(stringifyPrimitive(n))+t+encodeURIComponent(stringifyPrimitive(r)):""};var isArray=Array.isArray||function(r){return"[object Array]"===Object.prototype.toString.call(r)},objectKeys=Object.keys||function(r){var e=[];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&e.push(t);return e}},{}],55:[function(require,module,exports){"use strict";exports.decode=exports.parse=require("./decode"),exports.encode=exports.stringify=require("./encode")},{"./decode":53,"./encode":54}],56:[function(require,module,exports){(function(global){"use strict";var promiseExists="function"==typeof Promise,globalObject="undefined"!=typeof window?window:"undefined"!=typeof global?global:self,isDom="location"in globalObject&&"document"in globalObject,symbolExists="undefined"!=typeof Symbol,mapExists="undefined"!=typeof Map,setExists="undefined"!=typeof Set,weakMapExists="undefined"!=typeof WeakMap,weakSetExists="undefined"!=typeof WeakSet,dataViewExists="undefined"!=typeof DataView,symbolIteratorExists=symbolExists&&void 0!==Symbol.iterator,symbolToStringTagExists=symbolExists&&void 0!==Symbol.toStringTag,setEntriesExists=setExists&&"function"==typeof Set.prototype.entries,mapEntriesExists=mapExists&&"function"==typeof Map.prototype.entries,setIteratorPrototype=setEntriesExists&&Object.getPrototypeOf((new Set).entries()),mapIteratorPrototype=mapEntriesExists&&Object.getPrototypeOf((new Map).entries()),arrayIteratorExists=symbolIteratorExists&&"function"==typeof Array.prototype[Symbol.iterator],arrayIteratorPrototype=arrayIteratorExists&&Object.getPrototypeOf([][Symbol.iterator]()),stringIteratorExists=symbolIteratorExists&&"function"==typeof String.prototype[Symbol.iterator],stringIteratorPrototype=stringIteratorExists&&Object.getPrototypeOf(""[Symbol.iterator]()),toStringLeftSliceLength=8,toStringRightSliceLength=-1;module.exports=function(t){var e=typeof t;if("object"!==e)return e;if(null===t)return"null";if(t===globalObject)return"global";if(Array.isArray(t)&&(!1===symbolToStringTagExists||!(Symbol.toStringTag in t)))return"Array";if(isDom){if(t===globalObject.location)return"Location";if(t===globalObject.document)return"Document";if(t===(globalObject.navigator||{}).mimeTypes)return"MimeTypeArray";if(t===(globalObject.navigator||{}).plugins)return"PluginArray";if(t instanceof HTMLElement&&"BLOCKQUOTE"===t.tagName)return"HTMLQuoteElement";if(t instanceof HTMLElement&&"TD"===t.tagName)return"HTMLTableDataCellElement";if(t instanceof HTMLElement&&"TH"===t.tagName)return"HTMLTableHeaderCellElement"}var o=symbolToStringTagExists&&t[Symbol.toStringTag];if("string"==typeof o)return o;var r=Object.getPrototypeOf(t);return r===RegExp.prototype?"RegExp":r===Date.prototype?"Date":promiseExists&&r===Promise.prototype?"Promise":setExists&&r===Set.prototype?"Set":mapExists&&r===Map.prototype?"Map":weakSetExists&&r===WeakSet.prototype?"WeakSet":weakMapExists&&r===WeakMap.prototype?"WeakMap":dataViewExists&&r===DataView.prototype?"DataView":mapExists&&r===mapIteratorPrototype?"Map Iterator":setExists&&r===setIteratorPrototype?"Set Iterator":arrayIteratorExists&&r===arrayIteratorPrototype?"Array Iterator":stringIteratorExists&&r===stringIteratorPrototype?"String Iterator":null===r?"Object":Object.prototype.toString.call(t).slice(toStringLeftSliceLength,toStringRightSliceLength)},module.exports.typeDetect=module.exports}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],57:[function(require,module,exports){"use strict";function Url(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function urlParse(t,s,e){if(t&&util.isObject(t)&&t instanceof Url)return t;var h=new Url;return h.parse(t,s,e),h}function urlFormat(t){return util.isString(t)&&(t=urlParse(t)),t instanceof Url?t.format():Url.prototype.format.call(t)}function urlResolve(t,s){return urlParse(t,!1,!0).resolve(s)}function urlResolveObject(t,s){return t?urlParse(t,!1,!0).resolveObject(s):s}var punycode=require("punycode"),util=require("./util");exports.parse=urlParse,exports.resolve=urlResolve,exports.resolveObject=urlResolveObject,exports.format=urlFormat,exports.Url=Url;var protocolPattern=/^([a-z0-9.+-]+:)/i,portPattern=/:[0-9]*$/,simplePathPattern=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,delims=["<",">",'"',"`"," ","\r","\n","\t"],unwise=["{","}","|","\\","^","`"].concat(delims),autoEscape=["'"].concat(unwise),nonHostChars=["%","/","?",";","#"].concat(autoEscape),hostEndingChars=["/","?","#"],hostnameMaxLen=255,hostnamePartPattern=/^[+a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:!0,"javascript:":!0},hostlessProtocol={javascript:!0,"javascript:":!0},slashedProtocol={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},querystring=require("querystring");Url.prototype.parse=function(t,s,e){if(!util.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var h=t.indexOf("?"),r=-1!==h&&h<t.indexOf("#")?"?":"#",a=t.split(r),o=/\\/g;a[0]=a[0].replace(o,"/"),t=a.join(r);var n=t;if(n=n.trim(),!e&&1===t.split("#").length){var i=simplePathPattern.exec(n);if(i)return this.path=n,this.href=n,this.pathname=i[1],i[2]?(this.search=i[2],this.query=s?querystring.parse(this.search.substr(1)):this.search.substr(1)):s&&(this.search="",this.query={}),this}var l=protocolPattern.exec(n);if(l){l=l[0];var u=l.toLowerCase();this.protocol=u,n=n.substr(l.length)}if(e||l||n.match(/^\/\/[^@\/]+@[^@\/]+/)){var p="//"===n.substr(0,2);!p||l&&hostlessProtocol[l]||(n=n.substr(2),this.slashes=!0)}if(!hostlessProtocol[l]&&(p||l&&!slashedProtocol[l])){for(var c=-1,f=0;f<hostEndingChars.length;f++){var m=n.indexOf(hostEndingChars[f]);-1!==m&&(-1===c||m<c)&&(c=m)}var v,g;g=-1===c?n.lastIndexOf("@"):n.lastIndexOf("@",c),-1!==g&&(v=n.slice(0,g),n=n.slice(g+1),this.auth=decodeURIComponent(v)),c=-1;for(var f=0;f<nonHostChars.length;f++){var m=n.indexOf(nonHostChars[f]);-1!==m&&(-1===c||m<c)&&(c=m)}-1===c&&(c=n.length),this.host=n.slice(0,c),n=n.slice(c),this.parseHost(),this.hostname=this.hostname||"";var y="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!y)for(var P=this.hostname.split(/\./),f=0,d=P.length;f<d;f++){var b=P[f];if(b&&!b.match(hostnamePartPattern)){for(var q="",O=0,j=b.length;O<j;O++)b.charCodeAt(O)>127?q+="x":q+=b[O];if(!q.match(hostnamePartPattern)){var x=P.slice(0,f),U=P.slice(f+1),C=b.match(hostnamePartStart);C&&(x.push(C[1]),U.unshift(C[2])),U.length&&(n="/"+U.join(".")+n),this.hostname=x.join(".");break}}}this.hostname.length>hostnameMaxLen?this.hostname="":this.hostname=this.hostname.toLowerCase(),y||(this.hostname=punycode.toASCII(this.hostname));var A=this.port?":"+this.port:"",w=this.hostname||"";this.host=w+A,this.href+=this.host,y&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==n[0]&&(n="/"+n))}if(!unsafeProtocol[u])for(var f=0,d=autoEscape.length;f<d;f++){var E=autoEscape[f];if(-1!==n.indexOf(E)){var I=encodeURIComponent(E);I===E&&(I=escape(E)),n=n.split(E).join(I)}}var R=n.indexOf("#");-1!==R&&(this.hash=n.substr(R),n=n.slice(0,R));var S=n.indexOf("?");if(-1!==S?(this.search=n.substr(S),this.query=n.substr(S+1),s&&(this.query=querystring.parse(this.query)),n=n.slice(0,S)):s&&(this.search="",this.query={}),n&&(this.pathname=n),slashedProtocol[u]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var A=this.pathname||"",k=this.search||"";this.path=A+k}return this.href=this.format(),this},Url.prototype.format=function(){var t=this.auth||"";t&&(t=encodeURIComponent(t),t=t.replace(/%3A/i,":"),t+="@");var s=this.protocol||"",e=this.pathname||"",h=this.hash||"",r=!1,a="";this.host?r=t+this.host:this.hostname&&(r=t+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(r+=":"+this.port)),this.query&&util.isObject(this.query)&&Object.keys(this.query).length&&(a=querystring.stringify(this.query));var o=this.search||a&&"?"+a||"";return s&&":"!==s.substr(-1)&&(s+=":"),this.slashes||(!s||slashedProtocol[s])&&!1!==r?(r="//"+(r||""),e&&"/"!==e.charAt(0)&&(e="/"+e)):r||(r=""),h&&"#"!==h.charAt(0)&&(h="#"+h),o&&"?"!==o.charAt(0)&&(o="?"+o),e=e.replace(/[?#]/g,function(t){return encodeURIComponent(t)}),o=o.replace("#","%23"),s+r+e+o+h},Url.prototype.resolve=function(t){return this.resolveObject(urlParse(t,!1,!0)).format()},Url.prototype.resolveObject=function(t){if(util.isString(t)){var s=new Url;s.parse(t,!1,!0),t=s}for(var e=new Url,h=Object.keys(this),r=0;r<h.length;r++){var a=h[r];e[a]=this[a]}if(e.hash=t.hash,""===t.href)return e.href=e.format(),e;if(t.slashes&&!t.protocol){for(var o=Object.keys(t),n=0;n<o.length;n++){var i=o[n];"protocol"!==i&&(e[i]=t[i])}return slashedProtocol[e.protocol]&&e.hostname&&!e.pathname&&(e.path=e.pathname="/"),e.href=e.format(),e}if(t.protocol&&t.protocol!==e.protocol){if(!slashedProtocol[t.protocol]){for(var l=Object.keys(t),u=0;u<l.length;u++){var p=l[u];e[p]=t[p]}return e.href=e.format(),e}if(e.protocol=t.protocol,t.host||hostlessProtocol[t.protocol])e.pathname=t.pathname;else{for(var c=(t.pathname||"").split("/");c.length&&!(t.host=c.shift()););t.host||(t.host=""),t.hostname||(t.hostname=""),""!==c[0]&&c.unshift(""),c.length<2&&c.unshift(""),e.pathname=c.join("/")}if(e.search=t.search,e.query=t.query,e.host=t.host||"",e.auth=t.auth,e.hostname=t.hostname||t.host,e.port=t.port,e.pathname||e.search){var f=e.pathname||"",m=e.search||"";e.path=f+m}return e.slashes=e.slashes||t.slashes,e.href=e.format(),e}var v=e.pathname&&"/"===e.pathname.charAt(0),g=t.host||t.pathname&&"/"===t.pathname.charAt(0),y=g||v||e.host&&t.pathname,P=y,d=e.pathname&&e.pathname.split("/")||[],c=t.pathname&&t.pathname.split("/")||[],b=e.protocol&&!slashedProtocol[e.protocol];if(b&&(e.hostname="",e.port=null,e.host&&(""===d[0]?d[0]=e.host:d.unshift(e.host)),e.host="",t.protocol&&(t.hostname=null,t.port=null,t.host&&(""===c[0]?c[0]=t.host:c.unshift(t.host)),t.host=null),y=y&&(""===c[0]||""===d[0])),g)e.host=t.host||""===t.host?t.host:e.host,e.hostname=t.hostname||""===t.hostname?t.hostname:e.hostname,e.search=t.search,e.query=t.query,d=c;else if(c.length)d||(d=[]),d.pop(),d=d.concat(c),e.search=t.search,e.query=t.query;else if(!util.isNullOrUndefined(t.search)){if(b){e.hostname=e.host=d.shift();var q=!!(e.host&&e.host.indexOf("@")>0)&&e.host.split("@");q&&(e.auth=q.shift(),e.host=e.hostname=q.shift())}return e.search=t.search,e.query=t.query,util.isNull(e.pathname)&&util.isNull(e.search)||(e.path=(e.pathname?e.pathname:"")+(e.search?e.search:"")),e.href=e.format(),e}if(!d.length)return e.pathname=null,e.search?e.path="/"+e.search:e.path=null,e.href=e.format(),e;for(var O=d.slice(-1)[0],j=(e.host||t.host||d.length>1)&&("."===O||".."===O)||""===O,x=0,U=d.length;U>=0;U--)O=d[U],"."===O?d.splice(U,1):".."===O?(d.splice(U,1),x++):x&&(d.splice(U,1),x--);if(!y&&!P)for(;x--;x)d.unshift("..");!y||""===d[0]||d[0]&&"/"===d[0].charAt(0)||d.unshift(""),j&&"/"!==d.join("/").substr(-1)&&d.push("");var C=""===d[0]||d[0]&&"/"===d[0].charAt(0);if(b){e.hostname=e.host=C?"":d.length?d.shift():"";var q=!!(e.host&&e.host.indexOf("@")>0)&&e.host.split("@");q&&(e.auth=q.shift(),e.host=e.hostname=q.shift())}return y=y||e.host&&d.length,y&&!C&&d.unshift(""),d.length?e.pathname=d.join("/"):(e.pathname=null,e.path=null),util.isNull(e.pathname)&&util.isNull(e.search)||(e.path=(e.pathname?e.pathname:"")+(e.search?e.search:"")),e.auth=t.auth||e.auth,e.slashes=e.slashes||t.slashes,e.href=e.format(),e},Url.prototype.parseHost=function(){var t=this.host,s=portPattern.exec(t);s&&(s=s[0],":"!==s&&(this.port=s.substr(1)),t=t.substr(0,t.length-s.length)),t&&(this.hostname=t)}},{"./util":58,punycode:52,querystring:55}],58:[function(require,module,exports){"use strict";module.exports={isString:function(n){return"string"==typeof n},isObject:function(n){return"object"==typeof n&&null!==n},isNull:function(n){return null===n},isNullOrUndefined:function(n){return null==n}}},{}]},{},[5])(5)});
//# sourceMappingURL=postman-bdd.min.js.map