Advertisement
Guest User

bundle.js

a guest
Apr 26th, 2022
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
  2. module.exports = require('./lib/axios');
  3. },{"./lib/axios":3}],2:[function(require,module,exports){
  4. 'use strict';
  5.  
  6. var utils = require('./../utils');
  7. var settle = require('./../core/settle');
  8. var cookies = require('./../helpers/cookies');
  9. var buildURL = require('./../helpers/buildURL');
  10. var buildFullPath = require('../core/buildFullPath');
  11. var parseHeaders = require('./../helpers/parseHeaders');
  12. var isURLSameOrigin = require('./../helpers/isURLSameOrigin');
  13. var createError = require('../core/createError');
  14. var transitionalDefaults = require('../defaults/transitional');
  15. var Cancel = require('../cancel/Cancel');
  16.  
  17. module.exports = function xhrAdapter(config) {
  18.   return new Promise(function dispatchXhrRequest(resolve, reject) {
  19.     var requestData = config.data;
  20.     var requestHeaders = config.headers;
  21.     var responseType = config.responseType;
  22.     var onCanceled;
  23.     function done() {
  24.       if (config.cancelToken) {
  25.         config.cancelToken.unsubscribe(onCanceled);
  26.       }
  27.  
  28.       if (config.signal) {
  29.         config.signal.removeEventListener('abort', onCanceled);
  30.       }
  31.     }
  32.  
  33.     if (utils.isFormData(requestData)) {
  34.       delete requestHeaders['Content-Type']; // Let the browser set it
  35.     }
  36.  
  37.     var request = new XMLHttpRequest();
  38.  
  39.     // HTTP basic authentication
  40.     if (config.auth) {
  41.       var username = config.auth.username || '';
  42.       var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';
  43.       requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);
  44.     }
  45.  
  46.     var fullPath = buildFullPath(config.baseURL, config.url);
  47.     request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);
  48.  
  49.     // Set the request timeout in MS
  50.     request.timeout = config.timeout;
  51.  
  52.     function onloadend() {
  53.       if (!request) {
  54.         return;
  55.       }
  56.       // Prepare the response
  57.       var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;
  58.       var responseData = !responseType || responseType === 'text' ||  responseType === 'json' ?
  59.         request.responseText : request.response;
  60.       var response = {
  61.         data: responseData,
  62.         status: request.status,
  63.         statusText: request.statusText,
  64.         headers: responseHeaders,
  65.         config: config,
  66.         request: request
  67.       };
  68.  
  69.       settle(function _resolve(value) {
  70.         resolve(value);
  71.         done();
  72.       }, function _reject(err) {
  73.         reject(err);
  74.         done();
  75.       }, response);
  76.  
  77.       // Clean up request
  78.       request = null;
  79.     }
  80.  
  81.     if ('onloadend' in request) {
  82.       // Use onloadend if available
  83.       request.onloadend = onloadend;
  84.     } else {
  85.       // Listen for ready state to emulate onloadend
  86.       request.onreadystatechange = function handleLoad() {
  87.         if (!request || request.readyState !== 4) {
  88.           return;
  89.         }
  90.  
  91.         // The request errored out and we didn't get a response, this will be
  92.         // handled by onerror instead
  93.         // With one exception: request that using file: protocol, most browsers
  94.         // will return status as 0 even though it's a successful request
  95.         if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
  96.           return;
  97.         }
  98.         // readystate handler is calling before onerror or ontimeout handlers,
  99.         // so we should call onloadend on the next 'tick'
  100.         setTimeout(onloadend);
  101.       };
  102.     }
  103.  
  104.     // Handle browser request cancellation (as opposed to a manual cancellation)
  105.     request.onabort = function handleAbort() {
  106.       if (!request) {
  107.         return;
  108.       }
  109.  
  110.       reject(createError('Request aborted', config, 'ECONNABORTED', request));
  111.  
  112.       // Clean up request
  113.       request = null;
  114.     };
  115.  
  116.     // Handle low level network errors
  117.     request.onerror = function handleError() {
  118.       // Real errors are hidden from us by the browser
  119.       // onerror should only fire if it's a network error
  120.       reject(createError('Network Error', config, null, request));
  121.  
  122.       // Clean up request
  123.       request = null;
  124.     };
  125.  
  126.     // Handle timeout
  127.     request.ontimeout = function handleTimeout() {
  128.       var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';
  129.       var transitional = config.transitional || transitionalDefaults;
  130.       if (config.timeoutErrorMessage) {
  131.         timeoutErrorMessage = config.timeoutErrorMessage;
  132.       }
  133.       reject(createError(
  134.         timeoutErrorMessage,
  135.         config,
  136.         transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',
  137.         request));
  138.  
  139.       // Clean up request
  140.       request = null;
  141.     };
  142.  
  143.     // Add xsrf header
  144.     // This is only done if running in a standard browser environment.
  145.     // Specifically not if we're in a web worker, or react-native.
  146.     if (utils.isStandardBrowserEnv()) {
  147.       // Add xsrf header
  148.       var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?
  149.         cookies.read(config.xsrfCookieName) :
  150.         undefined;
  151.  
  152.       if (xsrfValue) {
  153.         requestHeaders[config.xsrfHeaderName] = xsrfValue;
  154.       }
  155.     }
  156.  
  157.     // Add headers to the request
  158.     if ('setRequestHeader' in request) {
  159.       utils.forEach(requestHeaders, function setRequestHeader(val, key) {
  160.         if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {
  161.           // Remove Content-Type if data is undefined
  162.           delete requestHeaders[key];
  163.         } else {
  164.           // Otherwise add header to the request
  165.           request.setRequestHeader(key, val);
  166.         }
  167.       });
  168.     }
  169.  
  170.     // Add withCredentials to request if needed
  171.     if (!utils.isUndefined(config.withCredentials)) {
  172.       request.withCredentials = !!config.withCredentials;
  173.     }
  174.  
  175.     // Add responseType to request if needed
  176.     if (responseType && responseType !== 'json') {
  177.       request.responseType = config.responseType;
  178.     }
  179.  
  180.     // Handle progress if needed
  181.     if (typeof config.onDownloadProgress === 'function') {
  182.       request.addEventListener('progress', config.onDownloadProgress);
  183.     }
  184.  
  185.     // Not all browsers support upload events
  186.     if (typeof config.onUploadProgress === 'function' && request.upload) {
  187.       request.upload.addEventListener('progress', config.onUploadProgress);
  188.     }
  189.  
  190.     if (config.cancelToken || config.signal) {
  191.       // Handle cancellation
  192.       // eslint-disable-next-line func-names
  193.       onCanceled = function(cancel) {
  194.         if (!request) {
  195.           return;
  196.         }
  197.         reject(!cancel || (cancel && cancel.type) ? new Cancel('canceled') : cancel);
  198.         request.abort();
  199.         request = null;
  200.       };
  201.  
  202.       config.cancelToken && config.cancelToken.subscribe(onCanceled);
  203.       if (config.signal) {
  204.         config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);
  205.       }
  206.     }
  207.  
  208.     if (!requestData) {
  209.       requestData = null;
  210.     }
  211.  
  212.     // Send the request
  213.     request.send(requestData);
  214.   });
  215. };
  216.  
  217. },{"../cancel/Cancel":4,"../core/buildFullPath":9,"../core/createError":10,"../defaults/transitional":17,"./../core/settle":14,"./../helpers/buildURL":20,"./../helpers/cookies":22,"./../helpers/isURLSameOrigin":25,"./../helpers/parseHeaders":27,"./../utils":30}],3:[function(require,module,exports){
  218. 'use strict';
  219.  
  220. var utils = require('./utils');
  221. var bind = require('./helpers/bind');
  222. var Axios = require('./core/Axios');
  223. var mergeConfig = require('./core/mergeConfig');
  224. var defaults = require('./defaults');
  225.  
  226. /**
  227.  * Create an instance of Axios
  228.  *
  229.  * @param {Object} defaultConfig The default config for the instance
  230.  * @return {Axios} A new instance of Axios
  231.  */
  232. function createInstance(defaultConfig) {
  233.   var context = new Axios(defaultConfig);
  234.   var instance = bind(Axios.prototype.request, context);
  235.  
  236.   // Copy axios.prototype to instance
  237.   utils.extend(instance, Axios.prototype, context);
  238.  
  239.   // Copy context to instance
  240.   utils.extend(instance, context);
  241.  
  242.   // Factory for creating new instances
  243.   instance.create = function create(instanceConfig) {
  244.     return createInstance(mergeConfig(defaultConfig, instanceConfig));
  245.   };
  246.  
  247.   return instance;
  248. }
  249.  
  250. // Create the default instance to be exported
  251. var axios = createInstance(defaults);
  252.  
  253. // Expose Axios class to allow class inheritance
  254. axios.Axios = Axios;
  255.  
  256. // Expose Cancel & CancelToken
  257. axios.Cancel = require('./cancel/Cancel');
  258. axios.CancelToken = require('./cancel/CancelToken');
  259. axios.isCancel = require('./cancel/isCancel');
  260. axios.VERSION = require('./env/data').version;
  261.  
  262. // Expose all/spread
  263. axios.all = function all(promises) {
  264.   return Promise.all(promises);
  265. };
  266. axios.spread = require('./helpers/spread');
  267.  
  268. // Expose isAxiosError
  269. axios.isAxiosError = require('./helpers/isAxiosError');
  270.  
  271. module.exports = axios;
  272.  
  273. // Allow use of default import syntax in TypeScript
  274. module.exports.default = axios;
  275.  
  276. },{"./cancel/Cancel":4,"./cancel/CancelToken":5,"./cancel/isCancel":6,"./core/Axios":7,"./core/mergeConfig":13,"./defaults":16,"./env/data":18,"./helpers/bind":19,"./helpers/isAxiosError":24,"./helpers/spread":28,"./utils":30}],4:[function(require,module,exports){
  277. 'use strict';
  278.  
  279. /**
  280.  * A `Cancel` is an object that is thrown when an operation is canceled.
  281.  *
  282.  * @class
  283.  * @param {string=} message The message.
  284.  */
  285. function Cancel(message) {
  286.   this.message = message;
  287. }
  288.  
  289. Cancel.prototype.toString = function toString() {
  290.   return 'Cancel' + (this.message ? ': ' + this.message : '');
  291. };
  292.  
  293. Cancel.prototype.__CANCEL__ = true;
  294.  
  295. module.exports = Cancel;
  296.  
  297. },{}],5:[function(require,module,exports){
  298. 'use strict';
  299.  
  300. var Cancel = require('./Cancel');
  301.  
  302. /**
  303.  * A `CancelToken` is an object that can be used to request cancellation of an operation.
  304.  *
  305.  * @class
  306.  * @param {Function} executor The executor function.
  307.  */
  308. function CancelToken(executor) {
  309.   if (typeof executor !== 'function') {
  310.     throw new TypeError('executor must be a function.');
  311.   }
  312.  
  313.   var resolvePromise;
  314.  
  315.   this.promise = new Promise(function promiseExecutor(resolve) {
  316.     resolvePromise = resolve;
  317.   });
  318.  
  319.   var token = this;
  320.  
  321.   // eslint-disable-next-line func-names
  322.   this.promise.then(function(cancel) {
  323.     if (!token._listeners) return;
  324.  
  325.     var i;
  326.     var l = token._listeners.length;
  327.  
  328.     for (i = 0; i < l; i++) {
  329.       token._listeners[i](cancel);
  330.     }
  331.     token._listeners = null;
  332.   });
  333.  
  334.   // eslint-disable-next-line func-names
  335.   this.promise.then = function(onfulfilled) {
  336.     var _resolve;
  337.     // eslint-disable-next-line func-names
  338.     var promise = new Promise(function(resolve) {
  339.       token.subscribe(resolve);
  340.       _resolve = resolve;
  341.     }).then(onfulfilled);
  342.  
  343.     promise.cancel = function reject() {
  344.       token.unsubscribe(_resolve);
  345.     };
  346.  
  347.     return promise;
  348.   };
  349.  
  350.   executor(function cancel(message) {
  351.     if (token.reason) {
  352.       // Cancellation has already been requested
  353.       return;
  354.     }
  355.  
  356.     token.reason = new Cancel(message);
  357.     resolvePromise(token.reason);
  358.   });
  359. }
  360.  
  361. /**
  362.  * Throws a `Cancel` if cancellation has been requested.
  363.  */
  364. CancelToken.prototype.throwIfRequested = function throwIfRequested() {
  365.   if (this.reason) {
  366.     throw this.reason;
  367.   }
  368. };
  369.  
  370. /**
  371.  * Subscribe to the cancel signal
  372.  */
  373.  
  374. CancelToken.prototype.subscribe = function subscribe(listener) {
  375.   if (this.reason) {
  376.     listener(this.reason);
  377.     return;
  378.   }
  379.  
  380.   if (this._listeners) {
  381.     this._listeners.push(listener);
  382.   } else {
  383.     this._listeners = [listener];
  384.   }
  385. };
  386.  
  387. /**
  388.  * Unsubscribe from the cancel signal
  389.  */
  390.  
  391. CancelToken.prototype.unsubscribe = function unsubscribe(listener) {
  392.   if (!this._listeners) {
  393.     return;
  394.   }
  395.   var index = this._listeners.indexOf(listener);
  396.   if (index !== -1) {
  397.     this._listeners.splice(index, 1);
  398.   }
  399. };
  400.  
  401. /**
  402.  * Returns an object that contains a new `CancelToken` and a function that, when called,
  403.  * cancels the `CancelToken`.
  404.  */
  405. CancelToken.source = function source() {
  406.   var cancel;
  407.   var token = new CancelToken(function executor(c) {
  408.     cancel = c;
  409.   });
  410.   return {
  411.     token: token,
  412.     cancel: cancel
  413.   };
  414. };
  415.  
  416. module.exports = CancelToken;
  417.  
  418. },{"./Cancel":4}],6:[function(require,module,exports){
  419. 'use strict';
  420.  
  421. module.exports = function isCancel(value) {
  422.   return !!(value && value.__CANCEL__);
  423. };
  424.  
  425. },{}],7:[function(require,module,exports){
  426. 'use strict';
  427.  
  428. var utils = require('./../utils');
  429. var buildURL = require('../helpers/buildURL');
  430. var InterceptorManager = require('./InterceptorManager');
  431. var dispatchRequest = require('./dispatchRequest');
  432. var mergeConfig = require('./mergeConfig');
  433. var validator = require('../helpers/validator');
  434.  
  435. var validators = validator.validators;
  436. /**
  437.  * Create a new instance of Axios
  438.  *
  439.  * @param {Object} instanceConfig The default config for the instance
  440.  */
  441. function Axios(instanceConfig) {
  442.   this.defaults = instanceConfig;
  443.   this.interceptors = {
  444.     request: new InterceptorManager(),
  445.     response: new InterceptorManager()
  446.   };
  447. }
  448.  
  449. /**
  450.  * Dispatch a request
  451.  *
  452.  * @param {Object} config The config specific for this request (merged with this.defaults)
  453.  */
  454. Axios.prototype.request = function request(configOrUrl, config) {
  455.   /*eslint no-param-reassign:0*/
  456.   // Allow for axios('example/url'[, config]) a la fetch API
  457.   if (typeof configOrUrl === 'string') {
  458.     config = config || {};
  459.     config.url = configOrUrl;
  460.   } else {
  461.     config = configOrUrl || {};
  462.   }
  463.  
  464.   config = mergeConfig(this.defaults, config);
  465.  
  466.   // Set config.method
  467.   if (config.method) {
  468.     config.method = config.method.toLowerCase();
  469.   } else if (this.defaults.method) {
  470.     config.method = this.defaults.method.toLowerCase();
  471.   } else {
  472.     config.method = 'get';
  473.   }
  474.  
  475.   var transitional = config.transitional;
  476.  
  477.   if (transitional !== undefined) {
  478.     validator.assertOptions(transitional, {
  479.       silentJSONParsing: validators.transitional(validators.boolean),
  480.       forcedJSONParsing: validators.transitional(validators.boolean),
  481.       clarifyTimeoutError: validators.transitional(validators.boolean)
  482.     }, false);
  483.   }
  484.  
  485.   // filter out skipped interceptors
  486.   var requestInterceptorChain = [];
  487.   var synchronousRequestInterceptors = true;
  488.   this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
  489.     if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {
  490.       return;
  491.     }
  492.  
  493.     synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;
  494.  
  495.     requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);
  496.   });
  497.  
  498.   var responseInterceptorChain = [];
  499.   this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
  500.     responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
  501.   });
  502.  
  503.   var promise;
  504.  
  505.   if (!synchronousRequestInterceptors) {
  506.     var chain = [dispatchRequest, undefined];
  507.  
  508.     Array.prototype.unshift.apply(chain, requestInterceptorChain);
  509.     chain = chain.concat(responseInterceptorChain);
  510.  
  511.     promise = Promise.resolve(config);
  512.     while (chain.length) {
  513.       promise = promise.then(chain.shift(), chain.shift());
  514.     }
  515.  
  516.     return promise;
  517.   }
  518.  
  519.  
  520.   var newConfig = config;
  521.   while (requestInterceptorChain.length) {
  522.     var onFulfilled = requestInterceptorChain.shift();
  523.     var onRejected = requestInterceptorChain.shift();
  524.     try {
  525.       newConfig = onFulfilled(newConfig);
  526.     } catch (error) {
  527.       onRejected(error);
  528.       break;
  529.     }
  530.   }
  531.  
  532.   try {
  533.     promise = dispatchRequest(newConfig);
  534.   } catch (error) {
  535.     return Promise.reject(error);
  536.   }
  537.  
  538.   while (responseInterceptorChain.length) {
  539.     promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());
  540.   }
  541.  
  542.   return promise;
  543. };
  544.  
  545. Axios.prototype.getUri = function getUri(config) {
  546.   config = mergeConfig(this.defaults, config);
  547.   return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, '');
  548. };
  549.  
  550. // Provide aliases for supported request methods
  551. utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {
  552.   /*eslint func-names:0*/
  553.   Axios.prototype[method] = function(url, config) {
  554.     return this.request(mergeConfig(config || {}, {
  555.       method: method,
  556.       url: url,
  557.       data: (config || {}).data
  558.     }));
  559.   };
  560. });
  561.  
  562. utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
  563.   /*eslint func-names:0*/
  564.   Axios.prototype[method] = function(url, data, config) {
  565.     return this.request(mergeConfig(config || {}, {
  566.       method: method,
  567.       url: url,
  568.       data: data
  569.     }));
  570.   };
  571. });
  572.  
  573. module.exports = Axios;
  574.  
  575. },{"../helpers/buildURL":20,"../helpers/validator":29,"./../utils":30,"./InterceptorManager":8,"./dispatchRequest":11,"./mergeConfig":13}],8:[function(require,module,exports){
  576. 'use strict';
  577.  
  578. var utils = require('./../utils');
  579.  
  580. function InterceptorManager() {
  581.   this.handlers = [];
  582. }
  583.  
  584. /**
  585.  * Add a new interceptor to the stack
  586.  *
  587.  * @param {Function} fulfilled The function to handle `then` for a `Promise`
  588.  * @param {Function} rejected The function to handle `reject` for a `Promise`
  589.  *
  590.  * @return {Number} An ID used to remove interceptor later
  591.  */
  592. InterceptorManager.prototype.use = function use(fulfilled, rejected, options) {
  593.   this.handlers.push({
  594.     fulfilled: fulfilled,
  595.     rejected: rejected,
  596.     synchronous: options ? options.synchronous : false,
  597.     runWhen: options ? options.runWhen : null
  598.   });
  599.   return this.handlers.length - 1;
  600. };
  601.  
  602. /**
  603.  * Remove an interceptor from the stack
  604.  *
  605.  * @param {Number} id The ID that was returned by `use`
  606.  */
  607. InterceptorManager.prototype.eject = function eject(id) {
  608.   if (this.handlers[id]) {
  609.     this.handlers[id] = null;
  610.   }
  611. };
  612.  
  613. /**
  614.  * Iterate over all the registered interceptors
  615.  *
  616.  * This method is particularly useful for skipping over any
  617.  * interceptors that may have become `null` calling `eject`.
  618.  *
  619.  * @param {Function} fn The function to call for each interceptor
  620.  */
  621. InterceptorManager.prototype.forEach = function forEach(fn) {
  622.   utils.forEach(this.handlers, function forEachHandler(h) {
  623.     if (h !== null) {
  624.       fn(h);
  625.     }
  626.   });
  627. };
  628.  
  629. module.exports = InterceptorManager;
  630.  
  631. },{"./../utils":30}],9:[function(require,module,exports){
  632. 'use strict';
  633.  
  634. var isAbsoluteURL = require('../helpers/isAbsoluteURL');
  635. var combineURLs = require('../helpers/combineURLs');
  636.  
  637. /**
  638.  * Creates a new URL by combining the baseURL with the requestedURL,
  639.  * only when the requestedURL is not already an absolute URL.
  640.  * If the requestURL is absolute, this function returns the requestedURL untouched.
  641.  *
  642.  * @param {string} baseURL The base URL
  643.  * @param {string} requestedURL Absolute or relative URL to combine
  644.  * @returns {string} The combined full path
  645.  */
  646. module.exports = function buildFullPath(baseURL, requestedURL) {
  647.   if (baseURL && !isAbsoluteURL(requestedURL)) {
  648.     return combineURLs(baseURL, requestedURL);
  649.   }
  650.   return requestedURL;
  651. };
  652.  
  653. },{"../helpers/combineURLs":21,"../helpers/isAbsoluteURL":23}],10:[function(require,module,exports){
  654. 'use strict';
  655.  
  656. var enhanceError = require('./enhanceError');
  657.  
  658. /**
  659.  * Create an Error with the specified message, config, error code, request and response.
  660.  *
  661.  * @param {string} message The error message.
  662.  * @param {Object} config The config.
  663.  * @param {string} [code] The error code (for example, 'ECONNABORTED').
  664.  * @param {Object} [request] The request.
  665.  * @param {Object} [response] The response.
  666.  * @returns {Error} The created error.
  667.  */
  668. module.exports = function createError(message, config, code, request, response) {
  669.   var error = new Error(message);
  670.   return enhanceError(error, config, code, request, response);
  671. };
  672.  
  673. },{"./enhanceError":12}],11:[function(require,module,exports){
  674. 'use strict';
  675.  
  676. var utils = require('./../utils');
  677. var transformData = require('./transformData');
  678. var isCancel = require('../cancel/isCancel');
  679. var defaults = require('../defaults');
  680. var Cancel = require('../cancel/Cancel');
  681.  
  682. /**
  683.  * Throws a `Cancel` if cancellation has been requested.
  684.  */
  685. function throwIfCancellationRequested(config) {
  686.   if (config.cancelToken) {
  687.     config.cancelToken.throwIfRequested();
  688.   }
  689.  
  690.   if (config.signal && config.signal.aborted) {
  691.     throw new Cancel('canceled');
  692.   }
  693. }
  694.  
  695. /**
  696.  * Dispatch a request to the server using the configured adapter.
  697.  *
  698.  * @param {object} config The config that is to be used for the request
  699.  * @returns {Promise} The Promise to be fulfilled
  700.  */
  701. module.exports = function dispatchRequest(config) {
  702.   throwIfCancellationRequested(config);
  703.  
  704.   // Ensure headers exist
  705.   config.headers = config.headers || {};
  706.  
  707.   // Transform request data
  708.   config.data = transformData.call(
  709.     config,
  710.     config.data,
  711.     config.headers,
  712.     config.transformRequest
  713.   );
  714.  
  715.   // Flatten headers
  716.   config.headers = utils.merge(
  717.     config.headers.common || {},
  718.     config.headers[config.method] || {},
  719.     config.headers
  720.   );
  721.  
  722.   utils.forEach(
  723.     ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],
  724.     function cleanHeaderConfig(method) {
  725.       delete config.headers[method];
  726.     }
  727.   );
  728.  
  729.   var adapter = config.adapter || defaults.adapter;
  730.  
  731.   return adapter(config).then(function onAdapterResolution(response) {
  732.     throwIfCancellationRequested(config);
  733.  
  734.     // Transform response data
  735.     response.data = transformData.call(
  736.       config,
  737.       response.data,
  738.       response.headers,
  739.       config.transformResponse
  740.     );
  741.  
  742.     return response;
  743.   }, function onAdapterRejection(reason) {
  744.     if (!isCancel(reason)) {
  745.       throwIfCancellationRequested(config);
  746.  
  747.       // Transform response data
  748.       if (reason && reason.response) {
  749.         reason.response.data = transformData.call(
  750.           config,
  751.           reason.response.data,
  752.           reason.response.headers,
  753.           config.transformResponse
  754.         );
  755.       }
  756.     }
  757.  
  758.     return Promise.reject(reason);
  759.   });
  760. };
  761.  
  762. },{"../cancel/Cancel":4,"../cancel/isCancel":6,"../defaults":16,"./../utils":30,"./transformData":15}],12:[function(require,module,exports){
  763. 'use strict';
  764.  
  765. /**
  766.  * Update an Error with the specified config, error code, and response.
  767.  *
  768.  * @param {Error} error The error to update.
  769.  * @param {Object} config The config.
  770.  * @param {string} [code] The error code (for example, 'ECONNABORTED').
  771.  * @param {Object} [request] The request.
  772.  * @param {Object} [response] The response.
  773.  * @returns {Error} The error.
  774.  */
  775. module.exports = function enhanceError(error, config, code, request, response) {
  776.   error.config = config;
  777.   if (code) {
  778.     error.code = code;
  779.   }
  780.  
  781.   error.request = request;
  782.   error.response = response;
  783.   error.isAxiosError = true;
  784.  
  785.   error.toJSON = function toJSON() {
  786.     return {
  787.       // Standard
  788.       message: this.message,
  789.       name: this.name,
  790.       // Microsoft
  791.       description: this.description,
  792.       number: this.number,
  793.       // Mozilla
  794.       fileName: this.fileName,
  795.       lineNumber: this.lineNumber,
  796.       columnNumber: this.columnNumber,
  797.       stack: this.stack,
  798.       // Axios
  799.       config: this.config,
  800.       code: this.code,
  801.       status: this.response && this.response.status ? this.response.status : null
  802.     };
  803.   };
  804.   return error;
  805. };
  806.  
  807. },{}],13:[function(require,module,exports){
  808. 'use strict';
  809.  
  810. var utils = require('../utils');
  811.  
  812. /**
  813.  * Config-specific merge-function which creates a new config-object
  814.  * by merging two configuration objects together.
  815.  *
  816.  * @param {Object} config1
  817.  * @param {Object} config2
  818.  * @returns {Object} New object resulting from merging config2 to config1
  819.  */
  820. module.exports = function mergeConfig(config1, config2) {
  821.   // eslint-disable-next-line no-param-reassign
  822.   config2 = config2 || {};
  823.   var config = {};
  824.  
  825.   function getMergedValue(target, source) {
  826.     if (utils.isPlainObject(target) && utils.isPlainObject(source)) {
  827.       return utils.merge(target, source);
  828.     } else if (utils.isPlainObject(source)) {
  829.       return utils.merge({}, source);
  830.     } else if (utils.isArray(source)) {
  831.       return source.slice();
  832.     }
  833.     return source;
  834.   }
  835.  
  836.   // eslint-disable-next-line consistent-return
  837.   function mergeDeepProperties(prop) {
  838.     if (!utils.isUndefined(config2[prop])) {
  839.       return getMergedValue(config1[prop], config2[prop]);
  840.     } else if (!utils.isUndefined(config1[prop])) {
  841.       return getMergedValue(undefined, config1[prop]);
  842.     }
  843.   }
  844.  
  845.   // eslint-disable-next-line consistent-return
  846.   function valueFromConfig2(prop) {
  847.     if (!utils.isUndefined(config2[prop])) {
  848.       return getMergedValue(undefined, config2[prop]);
  849.     }
  850.   }
  851.  
  852.   // eslint-disable-next-line consistent-return
  853.   function defaultToConfig2(prop) {
  854.     if (!utils.isUndefined(config2[prop])) {
  855.       return getMergedValue(undefined, config2[prop]);
  856.     } else if (!utils.isUndefined(config1[prop])) {
  857.       return getMergedValue(undefined, config1[prop]);
  858.     }
  859.   }
  860.  
  861.   // eslint-disable-next-line consistent-return
  862.   function mergeDirectKeys(prop) {
  863.     if (prop in config2) {
  864.       return getMergedValue(config1[prop], config2[prop]);
  865.     } else if (prop in config1) {
  866.       return getMergedValue(undefined, config1[prop]);
  867.     }
  868.   }
  869.  
  870.   var mergeMap = {
  871.     'url': valueFromConfig2,
  872.     'method': valueFromConfig2,
  873.     'data': valueFromConfig2,
  874.     'baseURL': defaultToConfig2,
  875.     'transformRequest': defaultToConfig2,
  876.     'transformResponse': defaultToConfig2,
  877.     'paramsSerializer': defaultToConfig2,
  878.     'timeout': defaultToConfig2,
  879.     'timeoutMessage': defaultToConfig2,
  880.     'withCredentials': defaultToConfig2,
  881.     'adapter': defaultToConfig2,
  882.     'responseType': defaultToConfig2,
  883.     'xsrfCookieName': defaultToConfig2,
  884.     'xsrfHeaderName': defaultToConfig2,
  885.     'onUploadProgress': defaultToConfig2,
  886.     'onDownloadProgress': defaultToConfig2,
  887.     'decompress': defaultToConfig2,
  888.     'maxContentLength': defaultToConfig2,
  889.     'maxBodyLength': defaultToConfig2,
  890.     'transport': defaultToConfig2,
  891.     'httpAgent': defaultToConfig2,
  892.     'httpsAgent': defaultToConfig2,
  893.     'cancelToken': defaultToConfig2,
  894.     'socketPath': defaultToConfig2,
  895.     'responseEncoding': defaultToConfig2,
  896.     'validateStatus': mergeDirectKeys
  897.   };
  898.  
  899.   utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {
  900.     var merge = mergeMap[prop] || mergeDeepProperties;
  901.     var configValue = merge(prop);
  902.     (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);
  903.   });
  904.  
  905.   return config;
  906. };
  907.  
  908. },{"../utils":30}],14:[function(require,module,exports){
  909. 'use strict';
  910.  
  911. var createError = require('./createError');
  912.  
  913. /**
  914.  * Resolve or reject a Promise based on response status.
  915.  *
  916.  * @param {Function} resolve A function that resolves the promise.
  917.  * @param {Function} reject A function that rejects the promise.
  918.  * @param {object} response The response.
  919.  */
  920. module.exports = function settle(resolve, reject, response) {
  921.   var validateStatus = response.config.validateStatus;
  922.   if (!response.status || !validateStatus || validateStatus(response.status)) {
  923.     resolve(response);
  924.   } else {
  925.     reject(createError(
  926.       'Request failed with status code ' + response.status,
  927.       response.config,
  928.       null,
  929.       response.request,
  930.       response
  931.     ));
  932.   }
  933. };
  934.  
  935. },{"./createError":10}],15:[function(require,module,exports){
  936. 'use strict';
  937.  
  938. var utils = require('./../utils');
  939. var defaults = require('../defaults');
  940.  
  941. /**
  942.  * Transform the data for a request or a response
  943.  *
  944.  * @param {Object|String} data The data to be transformed
  945.  * @param {Array} headers The headers for the request or response
  946.  * @param {Array|Function} fns A single function or Array of functions
  947.  * @returns {*} The resulting transformed data
  948.  */
  949. module.exports = function transformData(data, headers, fns) {
  950.   var context = this || defaults;
  951.   /*eslint no-param-reassign:0*/
  952.   utils.forEach(fns, function transform(fn) {
  953.     data = fn.call(context, data, headers);
  954.   });
  955.  
  956.   return data;
  957. };
  958.  
  959. },{"../defaults":16,"./../utils":30}],16:[function(require,module,exports){
  960. (function (process){(function (){
  961. 'use strict';
  962.  
  963. var utils = require('../utils');
  964. var normalizeHeaderName = require('../helpers/normalizeHeaderName');
  965. var enhanceError = require('../core/enhanceError');
  966. var transitionalDefaults = require('./transitional');
  967.  
  968. var DEFAULT_CONTENT_TYPE = {
  969.   'Content-Type': 'application/x-www-form-urlencoded'
  970. };
  971.  
  972. function setContentTypeIfUnset(headers, value) {
  973.   if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {
  974.     headers['Content-Type'] = value;
  975.   }
  976. }
  977.  
  978. function getDefaultAdapter() {
  979.   var adapter;
  980.   if (typeof XMLHttpRequest !== 'undefined') {
  981.     // For browsers use XHR adapter
  982.     adapter = require('../adapters/xhr');
  983.   } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {
  984.     // For node use HTTP adapter
  985.     adapter = require('../adapters/http');
  986.   }
  987.   return adapter;
  988. }
  989.  
  990. function stringifySafely(rawValue, parser, encoder) {
  991.   if (utils.isString(rawValue)) {
  992.     try {
  993.       (parser || JSON.parse)(rawValue);
  994.       return utils.trim(rawValue);
  995.     } catch (e) {
  996.       if (e.name !== 'SyntaxError') {
  997.         throw e;
  998.       }
  999.     }
  1000.   }
  1001.  
  1002.   return (encoder || JSON.stringify)(rawValue);
  1003. }
  1004.  
  1005. var defaults = {
  1006.  
  1007.   transitional: transitionalDefaults,
  1008.  
  1009.   adapter: getDefaultAdapter(),
  1010.  
  1011.   transformRequest: [function transformRequest(data, headers) {
  1012.     normalizeHeaderName(headers, 'Accept');
  1013.     normalizeHeaderName(headers, 'Content-Type');
  1014.  
  1015.     if (utils.isFormData(data) ||
  1016.       utils.isArrayBuffer(data) ||
  1017.       utils.isBuffer(data) ||
  1018.       utils.isStream(data) ||
  1019.       utils.isFile(data) ||
  1020.       utils.isBlob(data)
  1021.     ) {
  1022.       return data;
  1023.     }
  1024.     if (utils.isArrayBufferView(data)) {
  1025.       return data.buffer;
  1026.     }
  1027.     if (utils.isURLSearchParams(data)) {
  1028.       setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
  1029.       return data.toString();
  1030.     }
  1031.     if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {
  1032.       setContentTypeIfUnset(headers, 'application/json');
  1033.       return stringifySafely(data);
  1034.     }
  1035.     return data;
  1036.   }],
  1037.  
  1038.   transformResponse: [function transformResponse(data) {
  1039.     var transitional = this.transitional || defaults.transitional;
  1040.     var silentJSONParsing = transitional && transitional.silentJSONParsing;
  1041.     var forcedJSONParsing = transitional && transitional.forcedJSONParsing;
  1042.     var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';
  1043.  
  1044.     if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {
  1045.       try {
  1046.         return JSON.parse(data);
  1047.       } catch (e) {
  1048.         if (strictJSONParsing) {
  1049.           if (e.name === 'SyntaxError') {
  1050.             throw enhanceError(e, this, 'E_JSON_PARSE');
  1051.           }
  1052.           throw e;
  1053.         }
  1054.       }
  1055.     }
  1056.  
  1057.     return data;
  1058.   }],
  1059.  
  1060.   /**
  1061.    * A timeout in milliseconds to abort a request. If set to 0 (default) a
  1062.    * timeout is not created.
  1063.    */
  1064.   timeout: 0,
  1065.  
  1066.   xsrfCookieName: 'XSRF-TOKEN',
  1067.   xsrfHeaderName: 'X-XSRF-TOKEN',
  1068.  
  1069.   maxContentLength: -1,
  1070.   maxBodyLength: -1,
  1071.  
  1072.   validateStatus: function validateStatus(status) {
  1073.     return status >= 200 && status < 300;
  1074.   },
  1075.  
  1076.   headers: {
  1077.     common: {
  1078.       'Accept': 'application/json, text/plain, */*'
  1079.     }
  1080.   }
  1081. };
  1082.  
  1083. utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {
  1084.   defaults.headers[method] = {};
  1085. });
  1086.  
  1087. utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
  1088.   defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);
  1089. });
  1090.  
  1091. module.exports = defaults;
  1092.  
  1093. }).call(this)}).call(this,require('_process'))
  1094. },{"../adapters/http":2,"../adapters/xhr":2,"../core/enhanceError":12,"../helpers/normalizeHeaderName":26,"../utils":30,"./transitional":17,"_process":54}],17:[function(require,module,exports){
  1095. 'use strict';
  1096.  
  1097. module.exports = {
  1098.   silentJSONParsing: true,
  1099.   forcedJSONParsing: true,
  1100.   clarifyTimeoutError: false
  1101. };
  1102.  
  1103. },{}],18:[function(require,module,exports){
  1104. module.exports = {
  1105.   "version": "0.26.1"
  1106. };
  1107. },{}],19:[function(require,module,exports){
  1108. 'use strict';
  1109.  
  1110. module.exports = function bind(fn, thisArg) {
  1111.   return function wrap() {
  1112.     var args = new Array(arguments.length);
  1113.     for (var i = 0; i < args.length; i++) {
  1114.       args[i] = arguments[i];
  1115.     }
  1116.     return fn.apply(thisArg, args);
  1117.   };
  1118. };
  1119.  
  1120. },{}],20:[function(require,module,exports){
  1121. 'use strict';
  1122.  
  1123. var utils = require('./../utils');
  1124.  
  1125. function encode(val) {
  1126.   return encodeURIComponent(val).
  1127.     replace(/%3A/gi, ':').
  1128.     replace(/%24/g, '$').
  1129.     replace(/%2C/gi, ',').
  1130.     replace(/%20/g, '+').
  1131.     replace(/%5B/gi, '[').
  1132.     replace(/%5D/gi, ']');
  1133. }
  1134.  
  1135. /**
  1136.  * Build a URL by appending params to the end
  1137.  *
  1138.  * @param {string} url The base of the url (e.g., http://www.google.com)
  1139.  * @param {object} [params] The params to be appended
  1140.  * @returns {string} The formatted url
  1141.  */
  1142. module.exports = function buildURL(url, params, paramsSerializer) {
  1143.   /*eslint no-param-reassign:0*/
  1144.   if (!params) {
  1145.     return url;
  1146.   }
  1147.  
  1148.   var serializedParams;
  1149.   if (paramsSerializer) {
  1150.     serializedParams = paramsSerializer(params);
  1151.   } else if (utils.isURLSearchParams(params)) {
  1152.     serializedParams = params.toString();
  1153.   } else {
  1154.     var parts = [];
  1155.  
  1156.     utils.forEach(params, function serialize(val, key) {
  1157.       if (val === null || typeof val === 'undefined') {
  1158.         return;
  1159.       }
  1160.  
  1161.       if (utils.isArray(val)) {
  1162.         key = key + '[]';
  1163.       } else {
  1164.         val = [val];
  1165.       }
  1166.  
  1167.       utils.forEach(val, function parseValue(v) {
  1168.         if (utils.isDate(v)) {
  1169.           v = v.toISOString();
  1170.         } else if (utils.isObject(v)) {
  1171.           v = JSON.stringify(v);
  1172.         }
  1173.         parts.push(encode(key) + '=' + encode(v));
  1174.       });
  1175.     });
  1176.  
  1177.     serializedParams = parts.join('&');
  1178.   }
  1179.  
  1180.   if (serializedParams) {
  1181.     var hashmarkIndex = url.indexOf('#');
  1182.     if (hashmarkIndex !== -1) {
  1183.       url = url.slice(0, hashmarkIndex);
  1184.     }
  1185.  
  1186.     url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;
  1187.   }
  1188.  
  1189.   return url;
  1190. };
  1191.  
  1192. },{"./../utils":30}],21:[function(require,module,exports){
  1193. 'use strict';
  1194.  
  1195. /**
  1196.  * Creates a new URL by combining the specified URLs
  1197.  *
  1198.  * @param {string} baseURL The base URL
  1199.  * @param {string} relativeURL The relative URL
  1200.  * @returns {string} The combined URL
  1201.  */
  1202. module.exports = function combineURLs(baseURL, relativeURL) {
  1203.   return relativeURL
  1204.     ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '')
  1205.     : baseURL;
  1206. };
  1207.  
  1208. },{}],22:[function(require,module,exports){
  1209. 'use strict';
  1210.  
  1211. var utils = require('./../utils');
  1212.  
  1213. module.exports = (
  1214.   utils.isStandardBrowserEnv() ?
  1215.  
  1216.   // Standard browser envs support document.cookie
  1217.     (function standardBrowserEnv() {
  1218.       return {
  1219.         write: function write(name, value, expires, path, domain, secure) {
  1220.           var cookie = [];
  1221.           cookie.push(name + '=' + encodeURIComponent(value));
  1222.  
  1223.           if (utils.isNumber(expires)) {
  1224.             cookie.push('expires=' + new Date(expires).toGMTString());
  1225.           }
  1226.  
  1227.           if (utils.isString(path)) {
  1228.             cookie.push('path=' + path);
  1229.           }
  1230.  
  1231.           if (utils.isString(domain)) {
  1232.             cookie.push('domain=' + domain);
  1233.           }
  1234.  
  1235.           if (secure === true) {
  1236.             cookie.push('secure');
  1237.           }
  1238.  
  1239.           document.cookie = cookie.join('; ');
  1240.         },
  1241.  
  1242.         read: function read(name) {
  1243.           var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)'));
  1244.           return (match ? decodeURIComponent(match[3]) : null);
  1245.         },
  1246.  
  1247.         remove: function remove(name) {
  1248.           this.write(name, '', Date.now() - 86400000);
  1249.         }
  1250.       };
  1251.     })() :
  1252.  
  1253.   // Non standard browser env (web workers, react-native) lack needed support.
  1254.     (function nonStandardBrowserEnv() {
  1255.       return {
  1256.         write: function write() {},
  1257.         read: function read() { return null; },
  1258.         remove: function remove() {}
  1259.       };
  1260.     })()
  1261. );
  1262.  
  1263. },{"./../utils":30}],23:[function(require,module,exports){
  1264. 'use strict';
  1265.  
  1266. /**
  1267.  * Determines whether the specified URL is absolute
  1268.  *
  1269.  * @param {string} url The URL to test
  1270.  * @returns {boolean} True if the specified URL is absolute, otherwise false
  1271.  */
  1272. module.exports = function isAbsoluteURL(url) {
  1273.   // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL).
  1274.   // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed
  1275.   // by any combination of letters, digits, plus, period, or hyphen.
  1276.   return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url);
  1277. };
  1278.  
  1279. },{}],24:[function(require,module,exports){
  1280. 'use strict';
  1281.  
  1282. var utils = require('./../utils');
  1283.  
  1284. /**
  1285.  * Determines whether the payload is an error thrown by Axios
  1286.  *
  1287.  * @param {*} payload The value to test
  1288.  * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false
  1289.  */
  1290. module.exports = function isAxiosError(payload) {
  1291.   return utils.isObject(payload) && (payload.isAxiosError === true);
  1292. };
  1293.  
  1294. },{"./../utils":30}],25:[function(require,module,exports){
  1295. 'use strict';
  1296.  
  1297. var utils = require('./../utils');
  1298.  
  1299. module.exports = (
  1300.   utils.isStandardBrowserEnv() ?
  1301.  
  1302.   // Standard browser envs have full support of the APIs needed to test
  1303.   // whether the request URL is of the same origin as current location.
  1304.     (function standardBrowserEnv() {
  1305.       var msie = /(msie|trident)/i.test(navigator.userAgent);
  1306.       var urlParsingNode = document.createElement('a');
  1307.       var originURL;
  1308.  
  1309.       /**
  1310.     * Parse a URL to discover it's components
  1311.     *
  1312.     * @param {String} url The URL to be parsed
  1313.     * @returns {Object}
  1314.     */
  1315.       function resolveURL(url) {
  1316.         var href = url;
  1317.  
  1318.         if (msie) {
  1319.         // IE needs attribute set twice to normalize properties
  1320.           urlParsingNode.setAttribute('href', href);
  1321.           href = urlParsingNode.href;
  1322.         }
  1323.  
  1324.         urlParsingNode.setAttribute('href', href);
  1325.  
  1326.         // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils
  1327.         return {
  1328.           href: urlParsingNode.href,
  1329.           protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',
  1330.           host: urlParsingNode.host,
  1331.           search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '',
  1332.           hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',
  1333.           hostname: urlParsingNode.hostname,
  1334.           port: urlParsingNode.port,
  1335.           pathname: (urlParsingNode.pathname.charAt(0) === '/') ?
  1336.             urlParsingNode.pathname :
  1337.             '/' + urlParsingNode.pathname
  1338.         };
  1339.       }
  1340.  
  1341.       originURL = resolveURL(window.location.href);
  1342.  
  1343.       /**
  1344.     * Determine if a URL shares the same origin as the current location
  1345.     *
  1346.     * @param {String} requestURL The URL to test
  1347.     * @returns {boolean} True if URL shares the same origin, otherwise false
  1348.     */
  1349.       return function isURLSameOrigin(requestURL) {
  1350.         var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;
  1351.         return (parsed.protocol === originURL.protocol &&
  1352.             parsed.host === originURL.host);
  1353.       };
  1354.     })() :
  1355.  
  1356.   // Non standard browser envs (web workers, react-native) lack needed support.
  1357.     (function nonStandardBrowserEnv() {
  1358.       return function isURLSameOrigin() {
  1359.         return true;
  1360.       };
  1361.     })()
  1362. );
  1363.  
  1364. },{"./../utils":30}],26:[function(require,module,exports){
  1365. 'use strict';
  1366.  
  1367. var utils = require('../utils');
  1368.  
  1369. module.exports = function normalizeHeaderName(headers, normalizedName) {
  1370.   utils.forEach(headers, function processHeader(value, name) {
  1371.     if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {
  1372.       headers[normalizedName] = value;
  1373.       delete headers[name];
  1374.     }
  1375.   });
  1376. };
  1377.  
  1378. },{"../utils":30}],27:[function(require,module,exports){
  1379. 'use strict';
  1380.  
  1381. var utils = require('./../utils');
  1382.  
  1383. // Headers whose duplicates are ignored by node
  1384. // c.f. https://nodejs.org/api/http.html#http_message_headers
  1385. var ignoreDuplicateOf = [
  1386.   'age', 'authorization', 'content-length', 'content-type', 'etag',
  1387.   'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',
  1388.   'last-modified', 'location', 'max-forwards', 'proxy-authorization',
  1389.   'referer', 'retry-after', 'user-agent'
  1390. ];
  1391.  
  1392. /**
  1393.  * Parse headers into an object
  1394.  *
  1395.  * ```
  1396.  * Date: Wed, 27 Aug 2014 08:58:49 GMT
  1397.  * Content-Type: application/json
  1398.  * Connection: keep-alive
  1399.  * Transfer-Encoding: chunked
  1400.  * ```
  1401.  *
  1402.  * @param {String} headers Headers needing to be parsed
  1403.  * @returns {Object} Headers parsed into an object
  1404.  */
  1405. module.exports = function parseHeaders(headers) {
  1406.   var parsed = {};
  1407.   var key;
  1408.   var val;
  1409.   var i;
  1410.  
  1411.   if (!headers) { return parsed; }
  1412.  
  1413.   utils.forEach(headers.split('\n'), function parser(line) {
  1414.     i = line.indexOf(':');
  1415.     key = utils.trim(line.substr(0, i)).toLowerCase();
  1416.     val = utils.trim(line.substr(i + 1));
  1417.  
  1418.     if (key) {
  1419.       if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {
  1420.         return;
  1421.       }
  1422.       if (key === 'set-cookie') {
  1423.         parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);
  1424.       } else {
  1425.         parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;
  1426.       }
  1427.     }
  1428.   });
  1429.  
  1430.   return parsed;
  1431. };
  1432.  
  1433. },{"./../utils":30}],28:[function(require,module,exports){
  1434. 'use strict';
  1435.  
  1436. /**
  1437.  * Syntactic sugar for invoking a function and expanding an array for arguments.
  1438.  *
  1439.  * Common use case would be to use `Function.prototype.apply`.
  1440.  *
  1441.  *  ```js
  1442.  *  function f(x, y, z) {}
  1443.  *  var args = [1, 2, 3];
  1444.  *  f.apply(null, args);
  1445.  *  ```
  1446.  *
  1447.  * With `spread` this example can be re-written.
  1448.  *
  1449.  *  ```js
  1450.  *  spread(function(x, y, z) {})([1, 2, 3]);
  1451.  *  ```
  1452.  *
  1453.  * @param {Function} callback
  1454.  * @returns {Function}
  1455.  */
  1456. module.exports = function spread(callback) {
  1457.   return function wrap(arr) {
  1458.     return callback.apply(null, arr);
  1459.   };
  1460. };
  1461.  
  1462. },{}],29:[function(require,module,exports){
  1463. 'use strict';
  1464.  
  1465. var VERSION = require('../env/data').version;
  1466.  
  1467. var validators = {};
  1468.  
  1469. // eslint-disable-next-line func-names
  1470. ['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {
  1471.   validators[type] = function validator(thing) {
  1472.     return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;
  1473.   };
  1474. });
  1475.  
  1476. var deprecatedWarnings = {};
  1477.  
  1478. /**
  1479.  * Transitional option validator
  1480.  * @param {function|boolean?} validator - set to false if the transitional option has been removed
  1481.  * @param {string?} version - deprecated version / removed since version
  1482.  * @param {string?} message - some message with additional info
  1483.  * @returns {function}
  1484.  */
  1485. validators.transitional = function transitional(validator, version, message) {
  1486.   function formatMessage(opt, desc) {
  1487.     return '[Axios v' + VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : '');
  1488.   }
  1489.  
  1490.   // eslint-disable-next-line func-names
  1491.   return function(value, opt, opts) {
  1492.     if (validator === false) {
  1493.       throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));
  1494.     }
  1495.  
  1496.     if (version && !deprecatedWarnings[opt]) {
  1497.       deprecatedWarnings[opt] = true;
  1498.       // eslint-disable-next-line no-console
  1499.       console.warn(
  1500.         formatMessage(
  1501.           opt,
  1502.           ' has been deprecated since v' + version + ' and will be removed in the near future'
  1503.         )
  1504.       );
  1505.     }
  1506.  
  1507.     return validator ? validator(value, opt, opts) : true;
  1508.   };
  1509. };
  1510.  
  1511. /**
  1512.  * Assert object's properties type
  1513.  * @param {object} options
  1514.  * @param {object} schema
  1515.  * @param {boolean?} allowUnknown
  1516.  */
  1517.  
  1518. function assertOptions(options, schema, allowUnknown) {
  1519.   if (typeof options !== 'object') {
  1520.     throw new TypeError('options must be an object');
  1521.   }
  1522.   var keys = Object.keys(options);
  1523.   var i = keys.length;
  1524.   while (i-- > 0) {
  1525.     var opt = keys[i];
  1526.     var validator = schema[opt];
  1527.     if (validator) {
  1528.       var value = options[opt];
  1529.       var result = value === undefined || validator(value, opt, options);
  1530.       if (result !== true) {
  1531.         throw new TypeError('option ' + opt + ' must be ' + result);
  1532.       }
  1533.       continue;
  1534.     }
  1535.     if (allowUnknown !== true) {
  1536.       throw Error('Unknown option ' + opt);
  1537.     }
  1538.   }
  1539. }
  1540.  
  1541. module.exports = {
  1542.   assertOptions: assertOptions,
  1543.   validators: validators
  1544. };
  1545.  
  1546. },{"../env/data":18}],30:[function(require,module,exports){
  1547. 'use strict';
  1548.  
  1549. var bind = require('./helpers/bind');
  1550.  
  1551. // utils is a library of generic helper functions non-specific to axios
  1552.  
  1553. var toString = Object.prototype.toString;
  1554.  
  1555. /**
  1556.  * Determine if a value is an Array
  1557.  *
  1558.  * @param {Object} val The value to test
  1559.  * @returns {boolean} True if value is an Array, otherwise false
  1560.  */
  1561. function isArray(val) {
  1562.   return Array.isArray(val);
  1563. }
  1564.  
  1565. /**
  1566.  * Determine if a value is undefined
  1567.  *
  1568.  * @param {Object} val The value to test
  1569.  * @returns {boolean} True if the value is undefined, otherwise false
  1570.  */
  1571. function isUndefined(val) {
  1572.   return typeof val === 'undefined';
  1573. }
  1574.  
  1575. /**
  1576.  * Determine if a value is a Buffer
  1577.  *
  1578.  * @param {Object} val The value to test
  1579.  * @returns {boolean} True if value is a Buffer, otherwise false
  1580.  */
  1581. function isBuffer(val) {
  1582.   return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)
  1583.     && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);
  1584. }
  1585.  
  1586. /**
  1587.  * Determine if a value is an ArrayBuffer
  1588.  *
  1589.  * @param {Object} val The value to test
  1590.  * @returns {boolean} True if value is an ArrayBuffer, otherwise false
  1591.  */
  1592. function isArrayBuffer(val) {
  1593.   return toString.call(val) === '[object ArrayBuffer]';
  1594. }
  1595.  
  1596. /**
  1597.  * Determine if a value is a FormData
  1598.  *
  1599.  * @param {Object} val The value to test
  1600.  * @returns {boolean} True if value is an FormData, otherwise false
  1601.  */
  1602. function isFormData(val) {
  1603.   return toString.call(val) === '[object FormData]';
  1604. }
  1605.  
  1606. /**
  1607.  * Determine if a value is a view on an ArrayBuffer
  1608.  *
  1609.  * @param {Object} val The value to test
  1610.  * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false
  1611.  */
  1612. function isArrayBufferView(val) {
  1613.   var result;
  1614.   if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {
  1615.     result = ArrayBuffer.isView(val);
  1616.   } else {
  1617.     result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));
  1618.   }
  1619.   return result;
  1620. }
  1621.  
  1622. /**
  1623.  * Determine if a value is a String
  1624.  *
  1625.  * @param {Object} val The value to test
  1626.  * @returns {boolean} True if value is a String, otherwise false
  1627.  */
  1628. function isString(val) {
  1629.   return typeof val === 'string';
  1630. }
  1631.  
  1632. /**
  1633.  * Determine if a value is a Number
  1634.  *
  1635.  * @param {Object} val The value to test
  1636.  * @returns {boolean} True if value is a Number, otherwise false
  1637.  */
  1638. function isNumber(val) {
  1639.   return typeof val === 'number';
  1640. }
  1641.  
  1642. /**
  1643.  * Determine if a value is an Object
  1644.  *
  1645.  * @param {Object} val The value to test
  1646.  * @returns {boolean} True if value is an Object, otherwise false
  1647.  */
  1648. function isObject(val) {
  1649.   return val !== null && typeof val === 'object';
  1650. }
  1651.  
  1652. /**
  1653.  * Determine if a value is a plain Object
  1654.  *
  1655.  * @param {Object} val The value to test
  1656.  * @return {boolean} True if value is a plain Object, otherwise false
  1657.  */
  1658. function isPlainObject(val) {
  1659.   if (toString.call(val) !== '[object Object]') {
  1660.     return false;
  1661.   }
  1662.  
  1663.   var prototype = Object.getPrototypeOf(val);
  1664.   return prototype === null || prototype === Object.prototype;
  1665. }
  1666.  
  1667. /**
  1668.  * Determine if a value is a Date
  1669.  *
  1670.  * @param {Object} val The value to test
  1671.  * @returns {boolean} True if value is a Date, otherwise false
  1672.  */
  1673. function isDate(val) {
  1674.   return toString.call(val) === '[object Date]';
  1675. }
  1676.  
  1677. /**
  1678.  * Determine if a value is a File
  1679.  *
  1680.  * @param {Object} val The value to test
  1681.  * @returns {boolean} True if value is a File, otherwise false
  1682.  */
  1683. function isFile(val) {
  1684.   return toString.call(val) === '[object File]';
  1685. }
  1686.  
  1687. /**
  1688.  * Determine if a value is a Blob
  1689.  *
  1690.  * @param {Object} val The value to test
  1691.  * @returns {boolean} True if value is a Blob, otherwise false
  1692.  */
  1693. function isBlob(val) {
  1694.   return toString.call(val) === '[object Blob]';
  1695. }
  1696.  
  1697. /**
  1698.  * Determine if a value is a Function
  1699.  *
  1700.  * @param {Object} val The value to test
  1701.  * @returns {boolean} True if value is a Function, otherwise false
  1702.  */
  1703. function isFunction(val) {
  1704.   return toString.call(val) === '[object Function]';
  1705. }
  1706.  
  1707. /**
  1708.  * Determine if a value is a Stream
  1709.  *
  1710.  * @param {Object} val The value to test
  1711.  * @returns {boolean} True if value is a Stream, otherwise false
  1712.  */
  1713. function isStream(val) {
  1714.   return isObject(val) && isFunction(val.pipe);
  1715. }
  1716.  
  1717. /**
  1718.  * Determine if a value is a URLSearchParams object
  1719.  *
  1720.  * @param {Object} val The value to test
  1721.  * @returns {boolean} True if value is a URLSearchParams object, otherwise false
  1722.  */
  1723. function isURLSearchParams(val) {
  1724.   return toString.call(val) === '[object URLSearchParams]';
  1725. }
  1726.  
  1727. /**
  1728.  * Trim excess whitespace off the beginning and end of a string
  1729.  *
  1730.  * @param {String} str The String to trim
  1731.  * @returns {String} The String freed of excess whitespace
  1732.  */
  1733. function trim(str) {
  1734.   return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g, '');
  1735. }
  1736.  
  1737. /**
  1738.  * Determine if we're running in a standard browser environment
  1739.  *
  1740.  * This allows axios to run in a web worker, and react-native.
  1741.  * Both environments support XMLHttpRequest, but not fully standard globals.
  1742.  *
  1743.  * web workers:
  1744.  *  typeof window -> undefined
  1745.  *  typeof document -> undefined
  1746.  *
  1747.  * react-native:
  1748.  *  navigator.product -> 'ReactNative'
  1749.  * nativescript
  1750.  *  navigator.product -> 'NativeScript' or 'NS'
  1751.  */
  1752. function isStandardBrowserEnv() {
  1753.   if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||
  1754.                                            navigator.product === 'NativeScript' ||
  1755.                                            navigator.product === 'NS')) {
  1756.     return false;
  1757.   }
  1758.   return (
  1759.     typeof window !== 'undefined' &&
  1760.     typeof document !== 'undefined'
  1761.   );
  1762. }
  1763.  
  1764. /**
  1765.  * Iterate over an Array or an Object invoking a function for each item.
  1766.  *
  1767.  * If `obj` is an Array callback will be called passing
  1768.  * the value, index, and complete array for each item.
  1769.  *
  1770.  * If 'obj' is an Object callback will be called passing
  1771.  * the value, key, and complete object for each property.
  1772.  *
  1773.  * @param {Object|Array} obj The object to iterate
  1774.  * @param {Function} fn The callback to invoke for each item
  1775.  */
  1776. function forEach(obj, fn) {
  1777.   // Don't bother if no value provided
  1778.   if (obj === null || typeof obj === 'undefined') {
  1779.     return;
  1780.   }
  1781.  
  1782.   // Force an array if not already something iterable
  1783.   if (typeof obj !== 'object') {
  1784.     /*eslint no-param-reassign:0*/
  1785.     obj = [obj];
  1786.   }
  1787.  
  1788.   if (isArray(obj)) {
  1789.     // Iterate over array values
  1790.     for (var i = 0, l = obj.length; i < l; i++) {
  1791.       fn.call(null, obj[i], i, obj);
  1792.     }
  1793.   } else {
  1794.     // Iterate over object keys
  1795.     for (var key in obj) {
  1796.       if (Object.prototype.hasOwnProperty.call(obj, key)) {
  1797.         fn.call(null, obj[key], key, obj);
  1798.       }
  1799.     }
  1800.   }
  1801. }
  1802.  
  1803. /**
  1804.  * Accepts varargs expecting each argument to be an object, then
  1805.  * immutably merges the properties of each object and returns result.
  1806.  *
  1807.  * When multiple objects contain the same key the later object in
  1808.  * the arguments list will take precedence.
  1809.  *
  1810.  * Example:
  1811.  *
  1812.  * ```js
  1813.  * var result = merge({foo: 123}, {foo: 456});
  1814.  * console.log(result.foo); // outputs 456
  1815.  * ```
  1816.  *
  1817.  * @param {Object} obj1 Object to merge
  1818.  * @returns {Object} Result of all merge properties
  1819.  */
  1820. function merge(/* obj1, obj2, obj3, ... */) {
  1821.   var result = {};
  1822.   function assignValue(val, key) {
  1823.     if (isPlainObject(result[key]) && isPlainObject(val)) {
  1824.       result[key] = merge(result[key], val);
  1825.     } else if (isPlainObject(val)) {
  1826.       result[key] = merge({}, val);
  1827.     } else if (isArray(val)) {
  1828.       result[key] = val.slice();
  1829.     } else {
  1830.       result[key] = val;
  1831.     }
  1832.   }
  1833.  
  1834.   for (var i = 0, l = arguments.length; i < l; i++) {
  1835.     forEach(arguments[i], assignValue);
  1836.   }
  1837.   return result;
  1838. }
  1839.  
  1840. /**
  1841.  * Extends object a by mutably adding to it the properties of object b.
  1842.  *
  1843.  * @param {Object} a The object to be extended
  1844.  * @param {Object} b The object to copy properties from
  1845.  * @param {Object} thisArg The object to bind function to
  1846.  * @return {Object} The resulting value of object a
  1847.  */
  1848. function extend(a, b, thisArg) {
  1849.   forEach(b, function assignValue(val, key) {
  1850.     if (thisArg && typeof val === 'function') {
  1851.       a[key] = bind(val, thisArg);
  1852.     } else {
  1853.       a[key] = val;
  1854.     }
  1855.   });
  1856.   return a;
  1857. }
  1858.  
  1859. /**
  1860.  * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)
  1861.  *
  1862.  * @param {string} content with BOM
  1863.  * @return {string} content value without BOM
  1864.  */
  1865. function stripBOM(content) {
  1866.   if (content.charCodeAt(0) === 0xFEFF) {
  1867.     content = content.slice(1);
  1868.   }
  1869.   return content;
  1870. }
  1871.  
  1872. module.exports = {
  1873.   isArray: isArray,
  1874.   isArrayBuffer: isArrayBuffer,
  1875.   isBuffer: isBuffer,
  1876.   isFormData: isFormData,
  1877.   isArrayBufferView: isArrayBufferView,
  1878.   isString: isString,
  1879.   isNumber: isNumber,
  1880.   isObject: isObject,
  1881.   isPlainObject: isPlainObject,
  1882.   isUndefined: isUndefined,
  1883.   isDate: isDate,
  1884.   isFile: isFile,
  1885.   isBlob: isBlob,
  1886.   isFunction: isFunction,
  1887.   isStream: isStream,
  1888.   isURLSearchParams: isURLSearchParams,
  1889.   isStandardBrowserEnv: isStandardBrowserEnv,
  1890.   forEach: forEach,
  1891.   merge: merge,
  1892.   extend: extend,
  1893.   trim: trim,
  1894.   stripBOM: stripBOM
  1895. };
  1896.  
  1897. },{"./helpers/bind":19}],31:[function(require,module,exports){
  1898. const console = require("console");
  1899. const axios = require("axios");
  1900.  
  1901. const url = "https://www.jma.go.jp/bosai/forecast/data/forecast/";
  1902. const area = "260000"; // Kyoto
  1903.  
  1904. (getWeatherForecast = async () => {
  1905.   try {
  1906.     const response = await axios.get(`${url}${area}.json`);
  1907.  
  1908. //    console.log(response.data);
  1909. //    console.log(response.data[0].publishingOffice);
  1910. //    console.log(response.data[0].timeSeries[0].areas);
  1911.  
  1912.     for(const area of response.data[0].timeSeries[0].areas){
  1913.         console.log(`----${area.area.name}----`);
  1914.         for(const weather of area.weathers){
  1915.             console.log(weather);
  1916.         }
  1917.     }
  1918.   } catch (error) {
  1919.     console.error(error);
  1920.   }
  1921. })();
  1922.  
  1923. },{"axios":1,"console":39}],32:[function(require,module,exports){
  1924. (function (global){(function (){
  1925. 'use strict';
  1926.  
  1927. var objectAssign = require('object-assign');
  1928.  
  1929. // compare and isBuffer taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js
  1930. // original notice:
  1931.  
  1932. /*!
  1933.  * The buffer module from node.js, for the browser.
  1934.  *
  1935.  * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
  1936.  * @license  MIT
  1937.  */
  1938. function compare(a, b) {
  1939.   if (a === b) {
  1940.     return 0;
  1941.   }
  1942.  
  1943.   var x = a.length;
  1944.   var y = b.length;
  1945.  
  1946.   for (var i = 0, len = Math.min(x, y); i < len; ++i) {
  1947.     if (a[i] !== b[i]) {
  1948.       x = a[i];
  1949.       y = b[i];
  1950.       break;
  1951.     }
  1952.   }
  1953.  
  1954.   if (x < y) {
  1955.     return -1;
  1956.   }
  1957.   if (y < x) {
  1958.     return 1;
  1959.   }
  1960.   return 0;
  1961. }
  1962. function isBuffer(b) {
  1963.   if (global.Buffer && typeof global.Buffer.isBuffer === 'function') {
  1964.     return global.Buffer.isBuffer(b);
  1965.   }
  1966.   return !!(b != null && b._isBuffer);
  1967. }
  1968.  
  1969. // based on node assert, original notice:
  1970. // NB: The URL to the CommonJS spec is kept just for tradition.
  1971. //     node-assert has evolved a lot since then, both in API and behavior.
  1972.  
  1973. // http://wiki.commonjs.org/wiki/Unit_Testing/1.0
  1974. //
  1975. // THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!
  1976. //
  1977. // Originally from narwhal.js (http://narwhaljs.org)
  1978. // Copyright (c) 2009 Thomas Robinson <280north.com>
  1979. //
  1980. // Permission is hereby granted, free of charge, to any person obtaining a copy
  1981. // of this software and associated documentation files (the 'Software'), to
  1982. // deal in the Software without restriction, including without limitation the
  1983. // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
  1984. // sell copies of the Software, and to permit persons to whom the Software is
  1985. // furnished to do so, subject to the following conditions:
  1986. //
  1987. // The above copyright notice and this permission notice shall be included in
  1988. // all copies or substantial portions of the Software.
  1989. //
  1990. // THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  1991. // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  1992. // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  1993. // AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
  1994. // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
  1995. // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  1996.  
  1997. var util = require('util/');
  1998. var hasOwn = Object.prototype.hasOwnProperty;
  1999. var pSlice = Array.prototype.slice;
  2000. var functionsHaveNames = (function () {
  2001.   return function foo() {}.name === 'foo';
  2002. }());
  2003. function pToString (obj) {
  2004.   return Object.prototype.toString.call(obj);
  2005. }
  2006. function isView(arrbuf) {
  2007.   if (isBuffer(arrbuf)) {
  2008.     return false;
  2009.   }
  2010.   if (typeof global.ArrayBuffer !== 'function') {
  2011.     return false;
  2012.   }
  2013.   if (typeof ArrayBuffer.isView === 'function') {
  2014.     return ArrayBuffer.isView(arrbuf);
  2015.   }
  2016.   if (!arrbuf) {
  2017.     return false;
  2018.   }
  2019.   if (arrbuf instanceof DataView) {
  2020.     return true;
  2021.   }
  2022.   if (arrbuf.buffer && arrbuf.buffer instanceof ArrayBuffer) {
  2023.     return true;
  2024.   }
  2025.   return false;
  2026. }
  2027. // 1. The assert module provides functions that throw
  2028. // AssertionError's when particular conditions are not met. The
  2029. // assert module must conform to the following interface.
  2030.  
  2031. var assert = module.exports = ok;
  2032.  
  2033. // 2. The AssertionError is defined in assert.
  2034. // new assert.AssertionError({ message: message,
  2035. //                             actual: actual,
  2036. //                             expected: expected })
  2037.  
  2038. var regex = /\s*function\s+([^\(\s]*)\s*/;
  2039. // based on https://github.com/ljharb/function.prototype.name/blob/adeeeec8bfcc6068b187d7d9fb3d5bb1d3a30899/implementation.js
  2040. function getName(func) {
  2041.   if (!util.isFunction(func)) {
  2042.     return;
  2043.   }
  2044.   if (functionsHaveNames) {
  2045.     return func.name;
  2046.   }
  2047.   var str = func.toString();
  2048.   var match = str.match(regex);
  2049.   return match && match[1];
  2050. }
  2051. assert.AssertionError = function AssertionError(options) {
  2052.   this.name = 'AssertionError';
  2053.   this.actual = options.actual;
  2054.   this.expected = options.expected;
  2055.   this.operator = options.operator;
  2056.   if (options.message) {
  2057.     this.message = options.message;
  2058.     this.generatedMessage = false;
  2059.   } else {
  2060.     this.message = getMessage(this);
  2061.     this.generatedMessage = true;
  2062.   }
  2063.   var stackStartFunction = options.stackStartFunction || fail;
  2064.   if (Error.captureStackTrace) {
  2065.     Error.captureStackTrace(this, stackStartFunction);
  2066.   } else {
  2067.     // non v8 browsers so we can have a stacktrace
  2068.     var err = new Error();
  2069.     if (err.stack) {
  2070.       var out = err.stack;
  2071.  
  2072.       // try to strip useless frames
  2073.       var fn_name = getName(stackStartFunction);
  2074.       var idx = out.indexOf('\n' + fn_name);
  2075.       if (idx >= 0) {
  2076.         // once we have located the function frame
  2077.         // we need to strip out everything before it (and its line)
  2078.         var next_line = out.indexOf('\n', idx + 1);
  2079.         out = out.substring(next_line + 1);
  2080.       }
  2081.  
  2082.       this.stack = out;
  2083.     }
  2084.   }
  2085. };
  2086.  
  2087. // assert.AssertionError instanceof Error
  2088. util.inherits(assert.AssertionError, Error);
  2089.  
  2090. function truncate(s, n) {
  2091.   if (typeof s === 'string') {
  2092.     return s.length < n ? s : s.slice(0, n);
  2093.   } else {
  2094.     return s;
  2095.   }
  2096. }
  2097. function inspect(something) {
  2098.   if (functionsHaveNames || !util.isFunction(something)) {
  2099.     return util.inspect(something);
  2100.   }
  2101.   var rawname = getName(something);
  2102.   var name = rawname ? ': ' + rawname : '';
  2103.   return '[Function' +  name + ']';
  2104. }
  2105. function getMessage(self) {
  2106.   return truncate(inspect(self.actual), 128) + ' ' +
  2107.          self.operator + ' ' +
  2108.          truncate(inspect(self.expected), 128);
  2109. }
  2110.  
  2111. // At present only the three keys mentioned above are used and
  2112. // understood by the spec. Implementations or sub modules can pass
  2113. // other keys to the AssertionError's constructor - they will be
  2114. // ignored.
  2115.  
  2116. // 3. All of the following functions must throw an AssertionError
  2117. // when a corresponding condition is not met, with a message that
  2118. // may be undefined if not provided.  All assertion methods provide
  2119. // both the actual and expected values to the assertion error for
  2120. // display purposes.
  2121.  
  2122. function fail(actual, expected, message, operator, stackStartFunction) {
  2123.   throw new assert.AssertionError({
  2124.     message: message,
  2125.     actual: actual,
  2126.     expected: expected,
  2127.     operator: operator,
  2128.     stackStartFunction: stackStartFunction
  2129.   });
  2130. }
  2131.  
  2132. // EXTENSION! allows for well behaved errors defined elsewhere.
  2133. assert.fail = fail;
  2134.  
  2135. // 4. Pure assertion tests whether a value is truthy, as determined
  2136. // by !!guard.
  2137. // assert.ok(guard, message_opt);
  2138. // This statement is equivalent to assert.equal(true, !!guard,
  2139. // message_opt);. To test strictly for the value true, use
  2140. // assert.strictEqual(true, guard, message_opt);.
  2141.  
  2142. function ok(value, message) {
  2143.   if (!value) fail(value, true, message, '==', assert.ok);
  2144. }
  2145. assert.ok = ok;
  2146.  
  2147. // 5. The equality assertion tests shallow, coercive equality with
  2148. // ==.
  2149. // assert.equal(actual, expected, message_opt);
  2150.  
  2151. assert.equal = function equal(actual, expected, message) {
  2152.   if (actual != expected) fail(actual, expected, message, '==', assert.equal);
  2153. };
  2154.  
  2155. // 6. The non-equality assertion tests for whether two objects are not equal
  2156. // with != assert.notEqual(actual, expected, message_opt);
  2157.  
  2158. assert.notEqual = function notEqual(actual, expected, message) {
  2159.   if (actual == expected) {
  2160.     fail(actual, expected, message, '!=', assert.notEqual);
  2161.   }
  2162. };
  2163.  
  2164. // 7. The equivalence assertion tests a deep equality relation.
  2165. // assert.deepEqual(actual, expected, message_opt);
  2166.  
  2167. assert.deepEqual = function deepEqual(actual, expected, message) {
  2168.   if (!_deepEqual(actual, expected, false)) {
  2169.     fail(actual, expected, message, 'deepEqual', assert.deepEqual);
  2170.   }
  2171. };
  2172.  
  2173. assert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {
  2174.   if (!_deepEqual(actual, expected, true)) {
  2175.     fail(actual, expected, message, 'deepStrictEqual', assert.deepStrictEqual);
  2176.   }
  2177. };
  2178.  
  2179. function _deepEqual(actual, expected, strict, memos) {
  2180.   // 7.1. All identical values are equivalent, as determined by ===.
  2181.   if (actual === expected) {
  2182.     return true;
  2183.   } else if (isBuffer(actual) && isBuffer(expected)) {
  2184.     return compare(actual, expected) === 0;
  2185.  
  2186.   // 7.2. If the expected value is a Date object, the actual value is
  2187.   // equivalent if it is also a Date object that refers to the same time.
  2188.   } else if (util.isDate(actual) && util.isDate(expected)) {
  2189.     return actual.getTime() === expected.getTime();
  2190.  
  2191.   // 7.3 If the expected value is a RegExp object, the actual value is
  2192.   // equivalent if it is also a RegExp object with the same source and
  2193.   // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).
  2194.   } else if (util.isRegExp(actual) && util.isRegExp(expected)) {
  2195.     return actual.source === expected.source &&
  2196.            actual.global === expected.global &&
  2197.            actual.multiline === expected.multiline &&
  2198.            actual.lastIndex === expected.lastIndex &&
  2199.            actual.ignoreCase === expected.ignoreCase;
  2200.  
  2201.   // 7.4. Other pairs that do not both pass typeof value == 'object',
  2202.   // equivalence is determined by ==.
  2203.   } else if ((actual === null || typeof actual !== 'object') &&
  2204.              (expected === null || typeof expected !== 'object')) {
  2205.     return strict ? actual === expected : actual == expected;
  2206.  
  2207.   // If both values are instances of typed arrays, wrap their underlying
  2208.   // ArrayBuffers in a Buffer each to increase performance
  2209.   // This optimization requires the arrays to have the same type as checked by
  2210.   // Object.prototype.toString (aka pToString). Never perform binary
  2211.   // comparisons for Float*Arrays, though, since e.g. +0 === -0 but their
  2212.   // bit patterns are not identical.
  2213.   } else if (isView(actual) && isView(expected) &&
  2214.              pToString(actual) === pToString(expected) &&
  2215.              !(actual instanceof Float32Array ||
  2216.                actual instanceof Float64Array)) {
  2217.     return compare(new Uint8Array(actual.buffer),
  2218.                    new Uint8Array(expected.buffer)) === 0;
  2219.  
  2220.   // 7.5 For all other Object pairs, including Array objects, equivalence is
  2221.   // determined by having the same number of owned properties (as verified
  2222.   // with Object.prototype.hasOwnProperty.call), the same set of keys
  2223.   // (although not necessarily the same order), equivalent values for every
  2224.   // corresponding key, and an identical 'prototype' property. Note: this
  2225.   // accounts for both named and indexed properties on Arrays.
  2226.   } else if (isBuffer(actual) !== isBuffer(expected)) {
  2227.     return false;
  2228.   } else {
  2229.     memos = memos || {actual: [], expected: []};
  2230.  
  2231.     var actualIndex = memos.actual.indexOf(actual);
  2232.     if (actualIndex !== -1) {
  2233.       if (actualIndex === memos.expected.indexOf(expected)) {
  2234.         return true;
  2235.       }
  2236.     }
  2237.  
  2238.     memos.actual.push(actual);
  2239.     memos.expected.push(expected);
  2240.  
  2241.     return objEquiv(actual, expected, strict, memos);
  2242.   }
  2243. }
  2244.  
  2245. function isArguments(object) {
  2246.   return Object.prototype.toString.call(object) == '[object Arguments]';
  2247. }
  2248.  
  2249. function objEquiv(a, b, strict, actualVisitedObjects) {
  2250.   if (a === null || a === undefined || b === null || b === undefined)
  2251.     return false;
  2252.   // if one is a primitive, the other must be same
  2253.   if (util.isPrimitive(a) || util.isPrimitive(b))
  2254.     return a === b;
  2255.   if (strict && Object.getPrototypeOf(a) !== Object.getPrototypeOf(b))
  2256.     return false;
  2257.   var aIsArgs = isArguments(a);
  2258.   var bIsArgs = isArguments(b);
  2259.   if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs))
  2260.     return false;
  2261.   if (aIsArgs) {
  2262.     a = pSlice.call(a);
  2263.     b = pSlice.call(b);
  2264.     return _deepEqual(a, b, strict);
  2265.   }
  2266.   var ka = objectKeys(a);
  2267.   var kb = objectKeys(b);
  2268.   var key, i;
  2269.   // having the same number of owned properties (keys incorporates
  2270.   // hasOwnProperty)
  2271.   if (ka.length !== kb.length)
  2272.     return false;
  2273.   //the same set of keys (although not necessarily the same order),
  2274.   ka.sort();
  2275.   kb.sort();
  2276.   //~~~cheap key test
  2277.   for (i = ka.length - 1; i >= 0; i--) {
  2278.     if (ka[i] !== kb[i])
  2279.       return false;
  2280.   }
  2281.   //equivalent values for every corresponding key, and
  2282.   //~~~possibly expensive deep test
  2283.   for (i = ka.length - 1; i >= 0; i--) {
  2284.     key = ka[i];
  2285.     if (!_deepEqual(a[key], b[key], strict, actualVisitedObjects))
  2286.       return false;
  2287.   }
  2288.   return true;
  2289. }
  2290.  
  2291. // 8. The non-equivalence assertion tests for any deep inequality.
  2292. // assert.notDeepEqual(actual, expected, message_opt);
  2293.  
  2294. assert.notDeepEqual = function notDeepEqual(actual, expected, message) {
  2295.   if (_deepEqual(actual, expected, false)) {
  2296.     fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);
  2297.   }
  2298. };
  2299.  
  2300. assert.notDeepStrictEqual = notDeepStrictEqual;
  2301. function notDeepStrictEqual(actual, expected, message) {
  2302.   if (_deepEqual(actual, expected, true)) {
  2303.     fail(actual, expected, message, 'notDeepStrictEqual', notDeepStrictEqual);
  2304.   }
  2305. }
  2306.  
  2307.  
  2308. // 9. The strict equality assertion tests strict equality, as determined by ===.
  2309. // assert.strictEqual(actual, expected, message_opt);
  2310.  
  2311. assert.strictEqual = function strictEqual(actual, expected, message) {
  2312.   if (actual !== expected) {
  2313.     fail(actual, expected, message, '===', assert.strictEqual);
  2314.   }
  2315. };
  2316.  
  2317. // 10. The strict non-equality assertion tests for strict inequality, as
  2318. // determined by !==.  assert.notStrictEqual(actual, expected, message_opt);
  2319.  
  2320. assert.notStrictEqual = function notStrictEqual(actual, expected, message) {
  2321.   if (actual === expected) {
  2322.     fail(actual, expected, message, '!==', assert.notStrictEqual);
  2323.   }
  2324. };
  2325.  
  2326. function expectedException(actual, expected) {
  2327.   if (!actual || !expected) {
  2328.     return false;
  2329.   }
  2330.  
  2331.   if (Object.prototype.toString.call(expected) == '[object RegExp]') {
  2332.     return expected.test(actual);
  2333.   }
  2334.  
  2335.   try {
  2336.     if (actual instanceof expected) {
  2337.       return true;
  2338.     }
  2339.   } catch (e) {
  2340.     // Ignore.  The instanceof check doesn't work for arrow functions.
  2341.   }
  2342.  
  2343.   if (Error.isPrototypeOf(expected)) {
  2344.     return false;
  2345.   }
  2346.  
  2347.   return expected.call({}, actual) === true;
  2348. }
  2349.  
  2350. function _tryBlock(block) {
  2351.   var error;
  2352.   try {
  2353.     block();
  2354.   } catch (e) {
  2355.     error = e;
  2356.   }
  2357.   return error;
  2358. }
  2359.  
  2360. function _throws(shouldThrow, block, expected, message) {
  2361.   var actual;
  2362.  
  2363.   if (typeof block !== 'function') {
  2364.     throw new TypeError('"block" argument must be a function');
  2365.   }
  2366.  
  2367.   if (typeof expected === 'string') {
  2368.     message = expected;
  2369.     expected = null;
  2370.   }
  2371.  
  2372.   actual = _tryBlock(block);
  2373.  
  2374.   message = (expected && expected.name ? ' (' + expected.name + ').' : '.') +
  2375.             (message ? ' ' + message : '.');
  2376.  
  2377.   if (shouldThrow && !actual) {
  2378.     fail(actual, expected, 'Missing expected exception' + message);
  2379.   }
  2380.  
  2381.   var userProvidedMessage = typeof message === 'string';
  2382.   var isUnwantedException = !shouldThrow && util.isError(actual);
  2383.   var isUnexpectedException = !shouldThrow && actual && !expected;
  2384.  
  2385.   if ((isUnwantedException &&
  2386.       userProvidedMessage &&
  2387.       expectedException(actual, expected)) ||
  2388.       isUnexpectedException) {
  2389.     fail(actual, expected, 'Got unwanted exception' + message);
  2390.   }
  2391.  
  2392.   if ((shouldThrow && actual && expected &&
  2393.       !expectedException(actual, expected)) || (!shouldThrow && actual)) {
  2394.     throw actual;
  2395.   }
  2396. }
  2397.  
  2398. // 11. Expected to throw an error:
  2399. // assert.throws(block, Error_opt, message_opt);
  2400.  
  2401. assert.throws = function(block, /*optional*/error, /*optional*/message) {
  2402.   _throws(true, block, error, message);
  2403. };
  2404.  
  2405. // EXTENSION! This is annoying to write outside this module.
  2406. assert.doesNotThrow = function(block, /*optional*/error, /*optional*/message) {
  2407.   _throws(false, block, error, message);
  2408. };
  2409.  
  2410. assert.ifError = function(err) { if (err) throw err; };
  2411.  
  2412. // Expose a strict only variant of assert
  2413. function strict(value, message) {
  2414.   if (!value) fail(value, true, message, '==', strict);
  2415. }
  2416. assert.strict = objectAssign(strict, assert, {
  2417.   equal: assert.strictEqual,
  2418.   deepEqual: assert.deepStrictEqual,
  2419.   notEqual: assert.notStrictEqual,
  2420.   notDeepEqual: assert.notDeepStrictEqual
  2421. });
  2422. assert.strict.strict = assert.strict;
  2423.  
  2424. var objectKeys = Object.keys || function (obj) {
  2425.   var keys = [];
  2426.   for (var key in obj) {
  2427.     if (hasOwn.call(obj, key)) keys.push(key);
  2428.   }
  2429.   return keys;
  2430. };
  2431.  
  2432. }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
  2433. },{"object-assign":53,"util/":35}],33:[function(require,module,exports){
  2434. if (typeof Object.create === 'function') {
  2435.   // implementation from standard node.js 'util' module
  2436.   module.exports = function inherits(ctor, superCtor) {
  2437.     ctor.super_ = superCtor
  2438.     ctor.prototype = Object.create(superCtor.prototype, {
  2439.       constructor: {
  2440.         value: ctor,
  2441.         enumerable: false,
  2442.         writable: true,
  2443.         configurable: true
  2444.       }
  2445.     });
  2446.   };
  2447. } else {
  2448.   // old school shim for old browsers
  2449.   module.exports = function inherits(ctor, superCtor) {
  2450.     ctor.super_ = superCtor
  2451.     var TempCtor = function () {}
  2452.     TempCtor.prototype = superCtor.prototype
  2453.     ctor.prototype = new TempCtor()
  2454.     ctor.prototype.constructor = ctor
  2455.   }
  2456. }
  2457.  
  2458. },{}],34:[function(require,module,exports){
  2459. module.exports = function isBuffer(arg) {
  2460.   return arg && typeof arg === 'object'
  2461.     && typeof arg.copy === 'function'
  2462.     && typeof arg.fill === 'function'
  2463.     && typeof arg.readUInt8 === 'function';
  2464. }
  2465. },{}],35:[function(require,module,exports){
  2466. (function (process,global){(function (){
  2467. // Copyright Joyent, Inc. and other Node contributors.
  2468. //
  2469. // Permission is hereby granted, free of charge, to any person obtaining a
  2470. // copy of this software and associated documentation files (the
  2471. // "Software"), to deal in the Software without restriction, including
  2472. // without limitation the rights to use, copy, modify, merge, publish,
  2473. // distribute, sublicense, and/or sell copies of the Software, and to permit
  2474. // persons to whom the Software is furnished to do so, subject to the
  2475. // following conditions:
  2476. //
  2477. // The above copyright notice and this permission notice shall be included
  2478. // in all copies or substantial portions of the Software.
  2479. //
  2480. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  2481. // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  2482. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  2483. // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  2484. // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  2485. // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  2486. // USE OR OTHER DEALINGS IN THE SOFTWARE.
  2487.  
  2488. var formatRegExp = /%[sdj%]/g;
  2489. exports.format = function(f) {
  2490.   if (!isString(f)) {
  2491.     var objects = [];
  2492.     for (var i = 0; i < arguments.length; i++) {
  2493.       objects.push(inspect(arguments[i]));
  2494.     }
  2495.     return objects.join(' ');
  2496.   }
  2497.  
  2498.   var i = 1;
  2499.   var args = arguments;
  2500.   var len = args.length;
  2501.   var str = String(f).replace(formatRegExp, function(x) {
  2502.     if (x === '%%') return '%';
  2503.     if (i >= len) return x;
  2504.     switch (x) {
  2505.       case '%s': return String(args[i++]);
  2506.       case '%d': return Number(args[i++]);
  2507.       case '%j':
  2508.         try {
  2509.           return JSON.stringify(args[i++]);
  2510.         } catch (_) {
  2511.           return '[Circular]';
  2512.         }
  2513.       default:
  2514.         return x;
  2515.     }
  2516.   });
  2517.   for (var x = args[i]; i < len; x = args[++i]) {
  2518.     if (isNull(x) || !isObject(x)) {
  2519.       str += ' ' + x;
  2520.     } else {
  2521.       str += ' ' + inspect(x);
  2522.     }
  2523.   }
  2524.   return str;
  2525. };
  2526.  
  2527.  
  2528. // Mark that a method should not be used.
  2529. // Returns a modified function which warns once by default.
  2530. // If --no-deprecation is set, then it is a no-op.
  2531. exports.deprecate = function(fn, msg) {
  2532.   // Allow for deprecating things in the process of starting up.
  2533.   if (isUndefined(global.process)) {
  2534.     return function() {
  2535.       return exports.deprecate(fn, msg).apply(this, arguments);
  2536.     };
  2537.   }
  2538.  
  2539.   if (process.noDeprecation === true) {
  2540.     return fn;
  2541.   }
  2542.  
  2543.   var warned = false;
  2544.   function deprecated() {
  2545.     if (!warned) {
  2546.       if (process.throwDeprecation) {
  2547.         throw new Error(msg);
  2548.       } else if (process.traceDeprecation) {
  2549.         console.trace(msg);
  2550.       } else {
  2551.         console.error(msg);
  2552.       }
  2553.       warned = true;
  2554.     }
  2555.     return fn.apply(this, arguments);
  2556.   }
  2557.  
  2558.   return deprecated;
  2559. };
  2560.  
  2561.  
  2562. var debugs = {};
  2563. var debugEnviron;
  2564. exports.debuglog = function(set) {
  2565.   if (isUndefined(debugEnviron))
  2566.     debugEnviron = process.env.NODE_DEBUG || '';
  2567.   set = set.toUpperCase();
  2568.   if (!debugs[set]) {
  2569.     if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
  2570.       var pid = process.pid;
  2571.       debugs[set] = function() {
  2572.         var msg = exports.format.apply(exports, arguments);
  2573.         console.error('%s %d: %s', set, pid, msg);
  2574.       };
  2575.     } else {
  2576.       debugs[set] = function() {};
  2577.     }
  2578.   }
  2579.   return debugs[set];
  2580. };
  2581.  
  2582.  
  2583. /**
  2584.  * Echos the value of a value. Trys to print the value out
  2585.  * in the best way possible given the different types.
  2586.  *
  2587.  * @param {Object} obj The object to print out.
  2588.  * @param {Object} opts Optional options object that alters the output.
  2589.  */
  2590. /* legacy: obj, showHidden, depth, colors*/
  2591. function inspect(obj, opts) {
  2592.   // default options
  2593.   var ctx = {
  2594.     seen: [],
  2595.     stylize: stylizeNoColor
  2596.   };
  2597.   // legacy...
  2598.   if (arguments.length >= 3) ctx.depth = arguments[2];
  2599.   if (arguments.length >= 4) ctx.colors = arguments[3];
  2600.   if (isBoolean(opts)) {
  2601.     // legacy...
  2602.     ctx.showHidden = opts;
  2603.   } else if (opts) {
  2604.     // got an "options" object
  2605.     exports._extend(ctx, opts);
  2606.   }
  2607.   // set default options
  2608.   if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
  2609.   if (isUndefined(ctx.depth)) ctx.depth = 2;
  2610.   if (isUndefined(ctx.colors)) ctx.colors = false;
  2611.   if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
  2612.   if (ctx.colors) ctx.stylize = stylizeWithColor;
  2613.   return formatValue(ctx, obj, ctx.depth);
  2614. }
  2615. exports.inspect = inspect;
  2616.  
  2617.  
  2618. // http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
  2619. inspect.colors = {
  2620.   'bold' : [1, 22],
  2621.   'italic' : [3, 23],
  2622.   'underline' : [4, 24],
  2623.   'inverse' : [7, 27],
  2624.   'white' : [37, 39],
  2625.   'grey' : [90, 39],
  2626.   'black' : [30, 39],
  2627.   'blue' : [34, 39],
  2628.   'cyan' : [36, 39],
  2629.   'green' : [32, 39],
  2630.   'magenta' : [35, 39],
  2631.   'red' : [31, 39],
  2632.   'yellow' : [33, 39]
  2633. };
  2634.  
  2635. // Don't use 'blue' not visible on cmd.exe
  2636. inspect.styles = {
  2637.   'special': 'cyan',
  2638.   'number': 'yellow',
  2639.   'boolean': 'yellow',
  2640.   'undefined': 'grey',
  2641.   'null': 'bold',
  2642.   'string': 'green',
  2643.   'date': 'magenta',
  2644.   // "name": intentionally not styling
  2645.   'regexp': 'red'
  2646. };
  2647.  
  2648.  
  2649. function stylizeWithColor(str, styleType) {
  2650.   var style = inspect.styles[styleType];
  2651.  
  2652.   if (style) {
  2653.     return '\u001b[' + inspect.colors[style][0] + 'm' + str +
  2654.            '\u001b[' + inspect.colors[style][1] + 'm';
  2655.   } else {
  2656.     return str;
  2657.   }
  2658. }
  2659.  
  2660.  
  2661. function stylizeNoColor(str, styleType) {
  2662.   return str;
  2663. }
  2664.  
  2665.  
  2666. function arrayToHash(array) {
  2667.   var hash = {};
  2668.  
  2669.   array.forEach(function(val, idx) {
  2670.     hash[val] = true;
  2671.   });
  2672.  
  2673.   return hash;
  2674. }
  2675.  
  2676.  
  2677. function formatValue(ctx, value, recurseTimes) {
  2678.   // Provide a hook for user-specified inspect functions.
  2679.   // Check that value is an object with an inspect function on it
  2680.   if (ctx.customInspect &&
  2681.       value &&
  2682.       isFunction(value.inspect) &&
  2683.       // Filter out the util module, it's inspect function is special
  2684.       value.inspect !== exports.inspect &&
  2685.       // Also filter out any prototype objects using the circular check.
  2686.       !(value.constructor && value.constructor.prototype === value)) {
  2687.     var ret = value.inspect(recurseTimes, ctx);
  2688.     if (!isString(ret)) {
  2689.       ret = formatValue(ctx, ret, recurseTimes);
  2690.     }
  2691.     return ret;
  2692.   }
  2693.  
  2694.   // Primitive types cannot have properties
  2695.   var primitive = formatPrimitive(ctx, value);
  2696.   if (primitive) {
  2697.     return primitive;
  2698.   }
  2699.  
  2700.   // Look up the keys of the object.
  2701.   var keys = Object.keys(value);
  2702.   var visibleKeys = arrayToHash(keys);
  2703.  
  2704.   if (ctx.showHidden) {
  2705.     keys = Object.getOwnPropertyNames(value);
  2706.   }
  2707.  
  2708.   // IE doesn't make error fields non-enumerable
  2709.   // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx
  2710.   if (isError(value)
  2711.       && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {
  2712.     return formatError(value);
  2713.   }
  2714.  
  2715.   // Some type of object without properties can be shortcutted.
  2716.   if (keys.length === 0) {
  2717.     if (isFunction(value)) {
  2718.       var name = value.name ? ': ' + value.name : '';
  2719.       return ctx.stylize('[Function' + name + ']', 'special');
  2720.     }
  2721.     if (isRegExp(value)) {
  2722.       return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
  2723.     }
  2724.     if (isDate(value)) {
  2725.       return ctx.stylize(Date.prototype.toString.call(value), 'date');
  2726.     }
  2727.     if (isError(value)) {
  2728.       return formatError(value);
  2729.     }
  2730.   }
  2731.  
  2732.   var base = '', array = false, braces = ['{', '}'];
  2733.  
  2734.   // Make Array say that they are Array
  2735.   if (isArray(value)) {
  2736.     array = true;
  2737.     braces = ['[', ']'];
  2738.   }
  2739.  
  2740.   // Make functions say that they are functions
  2741.   if (isFunction(value)) {
  2742.     var n = value.name ? ': ' + value.name : '';
  2743.     base = ' [Function' + n + ']';
  2744.   }
  2745.  
  2746.   // Make RegExps say that they are RegExps
  2747.   if (isRegExp(value)) {
  2748.     base = ' ' + RegExp.prototype.toString.call(value);
  2749.   }
  2750.  
  2751.   // Make dates with properties first say the date
  2752.   if (isDate(value)) {
  2753.     base = ' ' + Date.prototype.toUTCString.call(value);
  2754.   }
  2755.  
  2756.   // Make error with message first say the error
  2757.   if (isError(value)) {
  2758.     base = ' ' + formatError(value);
  2759.   }
  2760.  
  2761.   if (keys.length === 0 && (!array || value.length == 0)) {
  2762.     return braces[0] + base + braces[1];
  2763.   }
  2764.  
  2765.   if (recurseTimes < 0) {
  2766.     if (isRegExp(value)) {
  2767.       return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
  2768.     } else {
  2769.       return ctx.stylize('[Object]', 'special');
  2770.     }
  2771.   }
  2772.  
  2773.   ctx.seen.push(value);
  2774.  
  2775.   var output;
  2776.   if (array) {
  2777.     output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
  2778.   } else {
  2779.     output = keys.map(function(key) {
  2780.       return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
  2781.     });
  2782.   }
  2783.  
  2784.   ctx.seen.pop();
  2785.  
  2786.   return reduceToSingleString(output, base, braces);
  2787. }
  2788.  
  2789.  
  2790. function formatPrimitive(ctx, value) {
  2791.   if (isUndefined(value))
  2792.     return ctx.stylize('undefined', 'undefined');
  2793.   if (isString(value)) {
  2794.     var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '')
  2795.                                              .replace(/'/g, "\\'")
  2796.                                              .replace(/\\"/g, '"') + '\'';
  2797.     return ctx.stylize(simple, 'string');
  2798.   }
  2799.   if (isNumber(value))
  2800.     return ctx.stylize('' + value, 'number');
  2801.   if (isBoolean(value))
  2802.     return ctx.stylize('' + value, 'boolean');
  2803.   // For some reason typeof null is "object", so special case here.
  2804.   if (isNull(value))
  2805.     return ctx.stylize('null', 'null');
  2806. }
  2807.  
  2808.  
  2809. function formatError(value) {
  2810.   return '[' + Error.prototype.toString.call(value) + ']';
  2811. }
  2812.  
  2813.  
  2814. function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
  2815.   var output = [];
  2816.   for (var i = 0, l = value.length; i < l; ++i) {
  2817.     if (hasOwnProperty(value, String(i))) {
  2818.       output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
  2819.           String(i), true));
  2820.     } else {
  2821.       output.push('');
  2822.     }
  2823.   }
  2824.   keys.forEach(function(key) {
  2825.     if (!key.match(/^\d+$/)) {
  2826.       output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
  2827.           key, true));
  2828.     }
  2829.   });
  2830.   return output;
  2831. }
  2832.  
  2833.  
  2834. function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
  2835.   var name, str, desc;
  2836.   desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };
  2837.   if (desc.get) {
  2838.     if (desc.set) {
  2839.       str = ctx.stylize('[Getter/Setter]', 'special');
  2840.     } else {
  2841.       str = ctx.stylize('[Getter]', 'special');
  2842.     }
  2843.   } else {
  2844.     if (desc.set) {
  2845.       str = ctx.stylize('[Setter]', 'special');
  2846.     }
  2847.   }
  2848.   if (!hasOwnProperty(visibleKeys, key)) {
  2849.     name = '[' + key + ']';
  2850.   }
  2851.   if (!str) {
  2852.     if (ctx.seen.indexOf(desc.value) < 0) {
  2853.       if (isNull(recurseTimes)) {
  2854.         str = formatValue(ctx, desc.value, null);
  2855.       } else {
  2856.         str = formatValue(ctx, desc.value, recurseTimes - 1);
  2857.       }
  2858.       if (str.indexOf('\n') > -1) {
  2859.         if (array) {
  2860.           str = str.split('\n').map(function(line) {
  2861.             return '  ' + line;
  2862.           }).join('\n').substr(2);
  2863.         } else {
  2864.           str = '\n' + str.split('\n').map(function(line) {
  2865.             return '   ' + line;
  2866.           }).join('\n');
  2867.         }
  2868.       }
  2869.     } else {
  2870.       str = ctx.stylize('[Circular]', 'special');
  2871.     }
  2872.   }
  2873.   if (isUndefined(name)) {
  2874.     if (array && key.match(/^\d+$/)) {
  2875.       return str;
  2876.     }
  2877.     name = JSON.stringify('' + key);
  2878.     if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
  2879.       name = name.substr(1, name.length - 2);
  2880.       name = ctx.stylize(name, 'name');
  2881.     } else {
  2882.       name = name.replace(/'/g, "\\'")
  2883.                  .replace(/\\"/g, '"')
  2884.                  .replace(/(^"|"$)/g, "'");
  2885.       name = ctx.stylize(name, 'string');
  2886.     }
  2887.   }
  2888.  
  2889.   return name + ': ' + str;
  2890. }
  2891.  
  2892.  
  2893. function reduceToSingleString(output, base, braces) {
  2894.   var numLinesEst = 0;
  2895.   var length = output.reduce(function(prev, cur) {
  2896.     numLinesEst++;
  2897.     if (cur.indexOf('\n') >= 0) numLinesEst++;
  2898.     return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
  2899.   }, 0);
  2900.  
  2901.   if (length > 60) {
  2902.     return braces[0] +
  2903.            (base === '' ? '' : base + '\n ') +
  2904.            ' ' +
  2905.            output.join(',\n  ') +
  2906.            ' ' +
  2907.            braces[1];
  2908.   }
  2909.  
  2910.   return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
  2911. }
  2912.  
  2913.  
  2914. // NOTE: These type checking functions intentionally don't use `instanceof`
  2915. // because it is fragile and can be easily faked with `Object.create()`.
  2916. function isArray(ar) {
  2917.   return Array.isArray(ar);
  2918. }
  2919. exports.isArray = isArray;
  2920.  
  2921. function isBoolean(arg) {
  2922.   return typeof arg === 'boolean';
  2923. }
  2924. exports.isBoolean = isBoolean;
  2925.  
  2926. function isNull(arg) {
  2927.   return arg === null;
  2928. }
  2929. exports.isNull = isNull;
  2930.  
  2931. function isNullOrUndefined(arg) {
  2932.   return arg == null;
  2933. }
  2934. exports.isNullOrUndefined = isNullOrUndefined;
  2935.  
  2936. function isNumber(arg) {
  2937.   return typeof arg === 'number';
  2938. }
  2939. exports.isNumber = isNumber;
  2940.  
  2941. function isString(arg) {
  2942.   return typeof arg === 'string';
  2943. }
  2944. exports.isString = isString;
  2945.  
  2946. function isSymbol(arg) {
  2947.   return typeof arg === 'symbol';
  2948. }
  2949. exports.isSymbol = isSymbol;
  2950.  
  2951. function isUndefined(arg) {
  2952.   return arg === void 0;
  2953. }
  2954. exports.isUndefined = isUndefined;
  2955.  
  2956. function isRegExp(re) {
  2957.   return isObject(re) && objectToString(re) === '[object RegExp]';
  2958. }
  2959. exports.isRegExp = isRegExp;
  2960.  
  2961. function isObject(arg) {
  2962.   return typeof arg === 'object' && arg !== null;
  2963. }
  2964. exports.isObject = isObject;
  2965.  
  2966. function isDate(d) {
  2967.   return isObject(d) && objectToString(d) === '[object Date]';
  2968. }
  2969. exports.isDate = isDate;
  2970.  
  2971. function isError(e) {
  2972.   return isObject(e) &&
  2973.       (objectToString(e) === '[object Error]' || e instanceof Error);
  2974. }
  2975. exports.isError = isError;
  2976.  
  2977. function isFunction(arg) {
  2978.   return typeof arg === 'function';
  2979. }
  2980. exports.isFunction = isFunction;
  2981.  
  2982. function isPrimitive(arg) {
  2983.   return arg === null ||
  2984.          typeof arg === 'boolean' ||
  2985.          typeof arg === 'number' ||
  2986.          typeof arg === 'string' ||
  2987.          typeof arg === 'symbol' ||  // ES6 symbol
  2988.          typeof arg === 'undefined';
  2989. }
  2990. exports.isPrimitive = isPrimitive;
  2991.  
  2992. exports.isBuffer = require('./support/isBuffer');
  2993.  
  2994. function objectToString(o) {
  2995.   return Object.prototype.toString.call(o);
  2996. }
  2997.  
  2998.  
  2999. function pad(n) {
  3000.   return n < 10 ? '0' + n.toString(10) : n.toString(10);
  3001. }
  3002.  
  3003.  
  3004. var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
  3005.               'Oct', 'Nov', 'Dec'];
  3006.  
  3007. // 26 Feb 16:19:34
  3008. function timestamp() {
  3009.   var d = new Date();
  3010.   var time = [pad(d.getHours()),
  3011.               pad(d.getMinutes()),
  3012.               pad(d.getSeconds())].join(':');
  3013.   return [d.getDate(), months[d.getMonth()], time].join(' ');
  3014. }
  3015.  
  3016.  
  3017. // log is just a thin wrapper to console.log that prepends a timestamp
  3018. exports.log = function() {
  3019.   console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));
  3020. };
  3021.  
  3022.  
  3023. /**
  3024.  * Inherit the prototype methods from one constructor into another.
  3025.  *
  3026.  * The Function.prototype.inherits from lang.js rewritten as a standalone
  3027.  * function (not on Function.prototype). NOTE: If this file is to be loaded
  3028.  * during bootstrapping this function needs to be rewritten using some native
  3029.  * functions as prototype setup using normal JavaScript does not work as
  3030.  * expected during bootstrapping (see mirror.js in r114903).
  3031.  *
  3032.  * @param {function} ctor Constructor function which needs to inherit the
  3033.  *     prototype.
  3034.  * @param {function} superCtor Constructor function to inherit prototype from.
  3035.  */
  3036. exports.inherits = require('inherits');
  3037.  
  3038. exports._extend = function(origin, add) {
  3039.   // Don't do anything if add isn't an object
  3040.   if (!add || !isObject(add)) return origin;
  3041.  
  3042.   var keys = Object.keys(add);
  3043.   var i = keys.length;
  3044.   while (i--) {
  3045.     origin[keys[i]] = add[keys[i]];
  3046.   }
  3047.   return origin;
  3048. };
  3049.  
  3050. function hasOwnProperty(obj, prop) {
  3051.   return Object.prototype.hasOwnProperty.call(obj, prop);
  3052. }
  3053.  
  3054. }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
  3055. },{"./support/isBuffer":34,"_process":54,"inherits":33}],36:[function(require,module,exports){
  3056. (function (global){(function (){
  3057. 'use strict';
  3058.  
  3059. var possibleNames = [
  3060.     'BigInt64Array',
  3061.     'BigUint64Array',
  3062.     'Float32Array',
  3063.     'Float64Array',
  3064.     'Int16Array',
  3065.     'Int32Array',
  3066.     'Int8Array',
  3067.     'Uint16Array',
  3068.     'Uint32Array',
  3069.     'Uint8Array',
  3070.     'Uint8ClampedArray'
  3071. ];
  3072.  
  3073. var g = typeof globalThis === 'undefined' ? global : globalThis;
  3074.  
  3075. module.exports = function availableTypedArrays() {
  3076.     var out = [];
  3077.     for (var i = 0; i < possibleNames.length; i++) {
  3078.         if (typeof g[possibleNames[i]] === 'function') {
  3079.             out[out.length] = possibleNames[i];
  3080.         }
  3081.     }
  3082.     return out;
  3083. };
  3084.  
  3085. }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
  3086. },{}],37:[function(require,module,exports){
  3087. 'use strict';
  3088.  
  3089. var GetIntrinsic = require('get-intrinsic');
  3090.  
  3091. var callBind = require('./');
  3092.  
  3093. var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));
  3094.  
  3095. module.exports = function callBoundIntrinsic(name, allowMissing) {
  3096.     var intrinsic = GetIntrinsic(name, !!allowMissing);
  3097.     if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {
  3098.         return callBind(intrinsic);
  3099.     }
  3100.     return intrinsic;
  3101. };
  3102.  
  3103. },{"./":38,"get-intrinsic":44}],38:[function(require,module,exports){
  3104. 'use strict';
  3105.  
  3106. var bind = require('function-bind');
  3107. var GetIntrinsic = require('get-intrinsic');
  3108.  
  3109. var $apply = GetIntrinsic('%Function.prototype.apply%');
  3110. var $call = GetIntrinsic('%Function.prototype.call%');
  3111. var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);
  3112.  
  3113. var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);
  3114. var $defineProperty = GetIntrinsic('%Object.defineProperty%', true);
  3115. var $max = GetIntrinsic('%Math.max%');
  3116.  
  3117. if ($defineProperty) {
  3118.     try {
  3119.         $defineProperty({}, 'a', { value: 1 });
  3120.     } catch (e) {
  3121.         // IE 8 has a broken defineProperty
  3122.         $defineProperty = null;
  3123.     }
  3124. }
  3125.  
  3126. module.exports = function callBind(originalFunction) {
  3127.     var func = $reflectApply(bind, $call, arguments);
  3128.     if ($gOPD && $defineProperty) {
  3129.         var desc = $gOPD(func, 'length');
  3130.         if (desc.configurable) {
  3131.             // original length, plus the receiver, minus any additional arguments (after the receiver)
  3132.             $defineProperty(
  3133.                 func,
  3134.                 'length',
  3135.                 { value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }
  3136.             );
  3137.         }
  3138.     }
  3139.     return func;
  3140. };
  3141.  
  3142. var applyBind = function applyBind() {
  3143.     return $reflectApply(bind, $apply, arguments);
  3144. };
  3145.  
  3146. if ($defineProperty) {
  3147.     $defineProperty(module.exports, 'apply', { value: applyBind });
  3148. } else {
  3149.     module.exports.apply = applyBind;
  3150. }
  3151.  
  3152. },{"function-bind":43,"get-intrinsic":44}],39:[function(require,module,exports){
  3153. (function (global){(function (){
  3154. /*global window, global*/
  3155. var util = require("util")
  3156. var assert = require("assert")
  3157. function now() { return new Date().getTime() }
  3158.  
  3159. var slice = Array.prototype.slice
  3160. var console
  3161. var times = {}
  3162.  
  3163. if (typeof global !== "undefined" && global.console) {
  3164.     console = global.console
  3165. } else if (typeof window !== "undefined" && window.console) {
  3166.     console = window.console
  3167. } else {
  3168.     console = {}
  3169. }
  3170.  
  3171. var functions = [
  3172.     [log, "log"],
  3173.     [info, "info"],
  3174.     [warn, "warn"],
  3175.     [error, "error"],
  3176.     [time, "time"],
  3177.     [timeEnd, "timeEnd"],
  3178.     [trace, "trace"],
  3179.     [dir, "dir"],
  3180.     [consoleAssert, "assert"]
  3181. ]
  3182.  
  3183. for (var i = 0; i < functions.length; i++) {
  3184.     var tuple = functions[i]
  3185.     var f = tuple[0]
  3186.     var name = tuple[1]
  3187.  
  3188.     if (!console[name]) {
  3189.         console[name] = f
  3190.     }
  3191. }
  3192.  
  3193. module.exports = console
  3194.  
  3195. function log() {}
  3196.  
  3197. function info() {
  3198.     console.log.apply(console, arguments)
  3199. }
  3200.  
  3201. function warn() {
  3202.     console.log.apply(console, arguments)
  3203. }
  3204.  
  3205. function error() {
  3206.     console.warn.apply(console, arguments)
  3207. }
  3208.  
  3209. function time(label) {
  3210.     times[label] = now()
  3211. }
  3212.  
  3213. function timeEnd(label) {
  3214.     var time = times[label]
  3215.     if (!time) {
  3216.         throw new Error("No such label: " + label)
  3217.     }
  3218.  
  3219.     delete times[label]
  3220.     var duration = now() - time
  3221.     console.log(label + ": " + duration + "ms")
  3222. }
  3223.  
  3224. function trace() {
  3225.     var err = new Error()
  3226.     err.name = "Trace"
  3227.     err.message = util.format.apply(null, arguments)
  3228.     console.error(err.stack)
  3229. }
  3230.  
  3231. function dir(object) {
  3232.     console.log(util.inspect(object) + "\n")
  3233. }
  3234.  
  3235. function consoleAssert(expression) {
  3236.     if (!expression) {
  3237.         var arr = slice.call(arguments, 1)
  3238.         assert.ok(false, util.format.apply(null, arr))
  3239.     }
  3240. }
  3241.  
  3242. }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
  3243. },{"assert":32,"util":57}],40:[function(require,module,exports){
  3244. 'use strict';
  3245.  
  3246. var GetIntrinsic = require('get-intrinsic');
  3247.  
  3248. var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);
  3249. if ($gOPD) {
  3250.     try {
  3251.         $gOPD([], 'length');
  3252.     } catch (e) {
  3253.         // IE 8 has a broken gOPD
  3254.         $gOPD = null;
  3255.     }
  3256. }
  3257.  
  3258. module.exports = $gOPD;
  3259.  
  3260. },{"get-intrinsic":44}],41:[function(require,module,exports){
  3261.  
  3262. var hasOwn = Object.prototype.hasOwnProperty;
  3263. var toString = Object.prototype.toString;
  3264.  
  3265. module.exports = function forEach (obj, fn, ctx) {
  3266.     if (toString.call(fn) !== '[object Function]') {
  3267.         throw new TypeError('iterator must be a function');
  3268.     }
  3269.     var l = obj.length;
  3270.     if (l === +l) {
  3271.         for (var i = 0; i < l; i++) {
  3272.             fn.call(ctx, obj[i], i, obj);
  3273.         }
  3274.     } else {
  3275.         for (var k in obj) {
  3276.             if (hasOwn.call(obj, k)) {
  3277.                 fn.call(ctx, obj[k], k, obj);
  3278.             }
  3279.         }
  3280.     }
  3281. };
  3282.  
  3283.  
  3284. },{}],42:[function(require,module,exports){
  3285. 'use strict';
  3286.  
  3287. /* eslint no-invalid-this: 1 */
  3288.  
  3289. var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';
  3290. var slice = Array.prototype.slice;
  3291. var toStr = Object.prototype.toString;
  3292. var funcType = '[object Function]';
  3293.  
  3294. module.exports = function bind(that) {
  3295.     var target = this;
  3296.     if (typeof target !== 'function' || toStr.call(target) !== funcType) {
  3297.         throw new TypeError(ERROR_MESSAGE + target);
  3298.     }
  3299.     var args = slice.call(arguments, 1);
  3300.  
  3301.     var bound;
  3302.     var binder = function () {
  3303.         if (this instanceof bound) {
  3304.             var result = target.apply(
  3305.                 this,
  3306.                 args.concat(slice.call(arguments))
  3307.             );
  3308.             if (Object(result) === result) {
  3309.                 return result;
  3310.             }
  3311.             return this;
  3312.         } else {
  3313.             return target.apply(
  3314.                 that,
  3315.                 args.concat(slice.call(arguments))
  3316.             );
  3317.         }
  3318.     };
  3319.  
  3320.     var boundLength = Math.max(0, target.length - args.length);
  3321.     var boundArgs = [];
  3322.     for (var i = 0; i < boundLength; i++) {
  3323.         boundArgs.push('$' + i);
  3324.     }
  3325.  
  3326.     bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);
  3327.  
  3328.     if (target.prototype) {
  3329.         var Empty = function Empty() {};
  3330.         Empty.prototype = target.prototype;
  3331.         bound.prototype = new Empty();
  3332.         Empty.prototype = null;
  3333.     }
  3334.  
  3335.     return bound;
  3336. };
  3337.  
  3338. },{}],43:[function(require,module,exports){
  3339. 'use strict';
  3340.  
  3341. var implementation = require('./implementation');
  3342.  
  3343. module.exports = Function.prototype.bind || implementation;
  3344.  
  3345. },{"./implementation":42}],44:[function(require,module,exports){
  3346. 'use strict';
  3347.  
  3348. var undefined;
  3349.  
  3350. var $SyntaxError = SyntaxError;
  3351. var $Function = Function;
  3352. var $TypeError = TypeError;
  3353.  
  3354. // eslint-disable-next-line consistent-return
  3355. var getEvalledConstructor = function (expressionSyntax) {
  3356.     try {
  3357.         return $Function('"use strict"; return (' + expressionSyntax + ').constructor;')();
  3358.     } catch (e) {}
  3359. };
  3360.  
  3361. var $gOPD = Object.getOwnPropertyDescriptor;
  3362. if ($gOPD) {
  3363.     try {
  3364.         $gOPD({}, '');
  3365.     } catch (e) {
  3366.         $gOPD = null; // this is IE 8, which has a broken gOPD
  3367.     }
  3368. }
  3369.  
  3370. var throwTypeError = function () {
  3371.     throw new $TypeError();
  3372. };
  3373. var ThrowTypeError = $gOPD
  3374.     ? (function () {
  3375.         try {
  3376.             // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties
  3377.             arguments.callee; // IE 8 does not throw here
  3378.             return throwTypeError;
  3379.         } catch (calleeThrows) {
  3380.             try {
  3381.                 // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')
  3382.                 return $gOPD(arguments, 'callee').get;
  3383.             } catch (gOPDthrows) {
  3384.                 return throwTypeError;
  3385.             }
  3386.         }
  3387.     }())
  3388.     : throwTypeError;
  3389.  
  3390. var hasSymbols = require('has-symbols')();
  3391.  
  3392. var getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto
  3393.  
  3394. var needsEval = {};
  3395.  
  3396. var TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);
  3397.  
  3398. var INTRINSICS = {
  3399.     '%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,
  3400.     '%Array%': Array,
  3401.     '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,
  3402.     '%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,
  3403.     '%AsyncFromSyncIteratorPrototype%': undefined,
  3404.     '%AsyncFunction%': needsEval,
  3405.     '%AsyncGenerator%': needsEval,
  3406.     '%AsyncGeneratorFunction%': needsEval,
  3407.     '%AsyncIteratorPrototype%': needsEval,
  3408.     '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,
  3409.     '%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,
  3410.     '%Boolean%': Boolean,
  3411.     '%DataView%': typeof DataView === 'undefined' ? undefined : DataView,
  3412.     '%Date%': Date,
  3413.     '%decodeURI%': decodeURI,
  3414.     '%decodeURIComponent%': decodeURIComponent,
  3415.     '%encodeURI%': encodeURI,
  3416.     '%encodeURIComponent%': encodeURIComponent,
  3417.     '%Error%': Error,
  3418.     '%eval%': eval, // eslint-disable-line no-eval
  3419.     '%EvalError%': EvalError,
  3420.     '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,
  3421.     '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,
  3422.     '%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,
  3423.     '%Function%': $Function,
  3424.     '%GeneratorFunction%': needsEval,
  3425.     '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,
  3426.     '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,
  3427.     '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,
  3428.     '%isFinite%': isFinite,
  3429.     '%isNaN%': isNaN,
  3430.     '%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,
  3431.     '%JSON%': typeof JSON === 'object' ? JSON : undefined,
  3432.     '%Map%': typeof Map === 'undefined' ? undefined : Map,
  3433.     '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),
  3434.     '%Math%': Math,
  3435.     '%Number%': Number,
  3436.     '%Object%': Object,
  3437.     '%parseFloat%': parseFloat,
  3438.     '%parseInt%': parseInt,
  3439.     '%Promise%': typeof Promise === 'undefined' ? undefined : Promise,
  3440.     '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,
  3441.     '%RangeError%': RangeError,
  3442.     '%ReferenceError%': ReferenceError,
  3443.     '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,
  3444.     '%RegExp%': RegExp,
  3445.     '%Set%': typeof Set === 'undefined' ? undefined : Set,
  3446.     '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),
  3447.     '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,
  3448.     '%String%': String,
  3449.     '%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,
  3450.     '%Symbol%': hasSymbols ? Symbol : undefined,
  3451.     '%SyntaxError%': $SyntaxError,
  3452.     '%ThrowTypeError%': ThrowTypeError,
  3453.     '%TypedArray%': TypedArray,
  3454.     '%TypeError%': $TypeError,
  3455.     '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,
  3456.     '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,
  3457.     '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,
  3458.     '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,
  3459.     '%URIError%': URIError,
  3460.     '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,
  3461.     '%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,
  3462.     '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet
  3463. };
  3464.  
  3465. var doEval = function doEval(name) {
  3466.     var value;
  3467.     if (name === '%AsyncFunction%') {
  3468.         value = getEvalledConstructor('async function () {}');
  3469.     } else if (name === '%GeneratorFunction%') {
  3470.         value = getEvalledConstructor('function* () {}');
  3471.     } else if (name === '%AsyncGeneratorFunction%') {
  3472.         value = getEvalledConstructor('async function* () {}');
  3473.     } else if (name === '%AsyncGenerator%') {
  3474.         var fn = doEval('%AsyncGeneratorFunction%');
  3475.         if (fn) {
  3476.             value = fn.prototype;
  3477.         }
  3478.     } else if (name === '%AsyncIteratorPrototype%') {
  3479.         var gen = doEval('%AsyncGenerator%');
  3480.         if (gen) {
  3481.             value = getProto(gen.prototype);
  3482.         }
  3483.     }
  3484.  
  3485.     INTRINSICS[name] = value;
  3486.  
  3487.     return value;
  3488. };
  3489.  
  3490. var LEGACY_ALIASES = {
  3491.     '%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],
  3492.     '%ArrayPrototype%': ['Array', 'prototype'],
  3493.     '%ArrayProto_entries%': ['Array', 'prototype', 'entries'],
  3494.     '%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],
  3495.     '%ArrayProto_keys%': ['Array', 'prototype', 'keys'],
  3496.     '%ArrayProto_values%': ['Array', 'prototype', 'values'],
  3497.     '%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],
  3498.     '%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],
  3499.     '%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],
  3500.     '%BooleanPrototype%': ['Boolean', 'prototype'],
  3501.     '%DataViewPrototype%': ['DataView', 'prototype'],
  3502.     '%DatePrototype%': ['Date', 'prototype'],
  3503.     '%ErrorPrototype%': ['Error', 'prototype'],
  3504.     '%EvalErrorPrototype%': ['EvalError', 'prototype'],
  3505.     '%Float32ArrayPrototype%': ['Float32Array', 'prototype'],
  3506.     '%Float64ArrayPrototype%': ['Float64Array', 'prototype'],
  3507.     '%FunctionPrototype%': ['Function', 'prototype'],
  3508.     '%Generator%': ['GeneratorFunction', 'prototype'],
  3509.     '%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],
  3510.     '%Int8ArrayPrototype%': ['Int8Array', 'prototype'],
  3511.     '%Int16ArrayPrototype%': ['Int16Array', 'prototype'],
  3512.     '%Int32ArrayPrototype%': ['Int32Array', 'prototype'],
  3513.     '%JSONParse%': ['JSON', 'parse'],
  3514.     '%JSONStringify%': ['JSON', 'stringify'],
  3515.     '%MapPrototype%': ['Map', 'prototype'],
  3516.     '%NumberPrototype%': ['Number', 'prototype'],
  3517.     '%ObjectPrototype%': ['Object', 'prototype'],
  3518.     '%ObjProto_toString%': ['Object', 'prototype', 'toString'],
  3519.     '%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],
  3520.     '%PromisePrototype%': ['Promise', 'prototype'],
  3521.     '%PromiseProto_then%': ['Promise', 'prototype', 'then'],
  3522.     '%Promise_all%': ['Promise', 'all'],
  3523.     '%Promise_reject%': ['Promise', 'reject'],
  3524.     '%Promise_resolve%': ['Promise', 'resolve'],
  3525.     '%RangeErrorPrototype%': ['RangeError', 'prototype'],
  3526.     '%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],
  3527.     '%RegExpPrototype%': ['RegExp', 'prototype'],
  3528.     '%SetPrototype%': ['Set', 'prototype'],
  3529.     '%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],
  3530.     '%StringPrototype%': ['String', 'prototype'],
  3531.     '%SymbolPrototype%': ['Symbol', 'prototype'],
  3532.     '%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],
  3533.     '%TypedArrayPrototype%': ['TypedArray', 'prototype'],
  3534.     '%TypeErrorPrototype%': ['TypeError', 'prototype'],
  3535.     '%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],
  3536.     '%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],
  3537.     '%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],
  3538.     '%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],
  3539.     '%URIErrorPrototype%': ['URIError', 'prototype'],
  3540.     '%WeakMapPrototype%': ['WeakMap', 'prototype'],
  3541.     '%WeakSetPrototype%': ['WeakSet', 'prototype']
  3542. };
  3543.  
  3544. var bind = require('function-bind');
  3545. var hasOwn = require('has');
  3546. var $concat = bind.call(Function.call, Array.prototype.concat);
  3547. var $spliceApply = bind.call(Function.apply, Array.prototype.splice);
  3548. var $replace = bind.call(Function.call, String.prototype.replace);
  3549. var $strSlice = bind.call(Function.call, String.prototype.slice);
  3550.  
  3551. /* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */
  3552. var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;
  3553. var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */
  3554. var stringToPath = function stringToPath(string) {
  3555.     var first = $strSlice(string, 0, 1);
  3556.     var last = $strSlice(string, -1);
  3557.     if (first === '%' && last !== '%') {
  3558.         throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`');
  3559.     } else if (last === '%' && first !== '%') {
  3560.         throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`');
  3561.     }
  3562.     var result = [];
  3563.     $replace(string, rePropName, function (match, number, quote, subString) {
  3564.         result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;
  3565.     });
  3566.     return result;
  3567. };
  3568. /* end adaptation */
  3569.  
  3570. var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {
  3571.     var intrinsicName = name;
  3572.     var alias;
  3573.     if (hasOwn(LEGACY_ALIASES, intrinsicName)) {
  3574.         alias = LEGACY_ALIASES[intrinsicName];
  3575.         intrinsicName = '%' + alias[0] + '%';
  3576.     }
  3577.  
  3578.     if (hasOwn(INTRINSICS, intrinsicName)) {
  3579.         var value = INTRINSICS[intrinsicName];
  3580.         if (value === needsEval) {
  3581.             value = doEval(intrinsicName);
  3582.         }
  3583.         if (typeof value === 'undefined' && !allowMissing) {
  3584.             throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');
  3585.         }
  3586.  
  3587.         return {
  3588.             alias: alias,
  3589.             name: intrinsicName,
  3590.             value: value
  3591.         };
  3592.     }
  3593.  
  3594.     throw new $SyntaxError('intrinsic ' + name + ' does not exist!');
  3595. };
  3596.  
  3597. module.exports = function GetIntrinsic(name, allowMissing) {
  3598.     if (typeof name !== 'string' || name.length === 0) {
  3599.         throw new $TypeError('intrinsic name must be a non-empty string');
  3600.     }
  3601.     if (arguments.length > 1 && typeof allowMissing !== 'boolean') {
  3602.         throw new $TypeError('"allowMissing" argument must be a boolean');
  3603.     }
  3604.  
  3605.     var parts = stringToPath(name);
  3606.     var intrinsicBaseName = parts.length > 0 ? parts[0] : '';
  3607.  
  3608.     var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);
  3609.     var intrinsicRealName = intrinsic.name;
  3610.     var value = intrinsic.value;
  3611.     var skipFurtherCaching = false;
  3612.  
  3613.     var alias = intrinsic.alias;
  3614.     if (alias) {
  3615.         intrinsicBaseName = alias[0];
  3616.         $spliceApply(parts, $concat([0, 1], alias));
  3617.     }
  3618.  
  3619.     for (var i = 1, isOwn = true; i < parts.length; i += 1) {
  3620.         var part = parts[i];
  3621.         var first = $strSlice(part, 0, 1);
  3622.         var last = $strSlice(part, -1);
  3623.         if (
  3624.             (
  3625.                 (first === '"' || first === "'" || first === '`')
  3626.                 || (last === '"' || last === "'" || last === '`')
  3627.             )
  3628.             && first !== last
  3629.         ) {
  3630.             throw new $SyntaxError('property names with quotes must have matching quotes');
  3631.         }
  3632.         if (part === 'constructor' || !isOwn) {
  3633.             skipFurtherCaching = true;
  3634.         }
  3635.  
  3636.         intrinsicBaseName += '.' + part;
  3637.         intrinsicRealName = '%' + intrinsicBaseName + '%';
  3638.  
  3639.         if (hasOwn(INTRINSICS, intrinsicRealName)) {
  3640.             value = INTRINSICS[intrinsicRealName];
  3641.         } else if (value != null) {
  3642.             if (!(part in value)) {
  3643.                 if (!allowMissing) {
  3644.                     throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');
  3645.                 }
  3646.                 return void undefined;
  3647.             }
  3648.             if ($gOPD && (i + 1) >= parts.length) {
  3649.                 var desc = $gOPD(value, part);
  3650.                 isOwn = !!desc;
  3651.  
  3652.                 // By convention, when a data property is converted to an accessor
  3653.                 // property to emulate a data property that does not suffer from
  3654.                 // the override mistake, that accessor's getter is marked with
  3655.                 // an `originalValue` property. Here, when we detect this, we
  3656.                 // uphold the illusion by pretending to see that original data
  3657.                 // property, i.e., returning the value rather than the getter
  3658.                 // itself.
  3659.                 if (isOwn && 'get' in desc && !('originalValue' in desc.get)) {
  3660.                     value = desc.get;
  3661.                 } else {
  3662.                     value = value[part];
  3663.                 }
  3664.             } else {
  3665.                 isOwn = hasOwn(value, part);
  3666.                 value = value[part];
  3667.             }
  3668.  
  3669.             if (isOwn && !skipFurtherCaching) {
  3670.                 INTRINSICS[intrinsicRealName] = value;
  3671.             }
  3672.         }
  3673.     }
  3674.     return value;
  3675. };
  3676.  
  3677. },{"function-bind":43,"has":48,"has-symbols":45}],45:[function(require,module,exports){
  3678. 'use strict';
  3679.  
  3680. var origSymbol = typeof Symbol !== 'undefined' && Symbol;
  3681. var hasSymbolSham = require('./shams');
  3682.  
  3683. module.exports = function hasNativeSymbols() {
  3684.     if (typeof origSymbol !== 'function') { return false; }
  3685.     if (typeof Symbol !== 'function') { return false; }
  3686.     if (typeof origSymbol('foo') !== 'symbol') { return false; }
  3687.     if (typeof Symbol('bar') !== 'symbol') { return false; }
  3688.  
  3689.     return hasSymbolSham();
  3690. };
  3691.  
  3692. },{"./shams":46}],46:[function(require,module,exports){
  3693. 'use strict';
  3694.  
  3695. /* eslint complexity: [2, 18], max-statements: [2, 33] */
  3696. module.exports = function hasSymbols() {
  3697.     if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }
  3698.     if (typeof Symbol.iterator === 'symbol') { return true; }
  3699.  
  3700.     var obj = {};
  3701.     var sym = Symbol('test');
  3702.     var symObj = Object(sym);
  3703.     if (typeof sym === 'string') { return false; }
  3704.  
  3705.     if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }
  3706.     if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }
  3707.  
  3708.     // temp disabled per https://github.com/ljharb/object.assign/issues/17
  3709.     // if (sym instanceof Symbol) { return false; }
  3710.     // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4
  3711.     // if (!(symObj instanceof Symbol)) { return false; }
  3712.  
  3713.     // if (typeof Symbol.prototype.toString !== 'function') { return false; }
  3714.     // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }
  3715.  
  3716.     var symVal = 42;
  3717.     obj[sym] = symVal;
  3718.     for (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop
  3719.     if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }
  3720.  
  3721.     if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }
  3722.  
  3723.     var syms = Object.getOwnPropertySymbols(obj);
  3724.     if (syms.length !== 1 || syms[0] !== sym) { return false; }
  3725.  
  3726.     if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }
  3727.  
  3728.     if (typeof Object.getOwnPropertyDescriptor === 'function') {
  3729.         var descriptor = Object.getOwnPropertyDescriptor(obj, sym);
  3730.         if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }
  3731.     }
  3732.  
  3733.     return true;
  3734. };
  3735.  
  3736. },{}],47:[function(require,module,exports){
  3737. 'use strict';
  3738.  
  3739. var hasSymbols = require('has-symbols/shams');
  3740.  
  3741. module.exports = function hasToStringTagShams() {
  3742.     return hasSymbols() && !!Symbol.toStringTag;
  3743. };
  3744.  
  3745. },{"has-symbols/shams":46}],48:[function(require,module,exports){
  3746. 'use strict';
  3747.  
  3748. var bind = require('function-bind');
  3749.  
  3750. module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);
  3751.  
  3752. },{"function-bind":43}],49:[function(require,module,exports){
  3753. if (typeof Object.create === 'function') {
  3754.   // implementation from standard node.js 'util' module
  3755.   module.exports = function inherits(ctor, superCtor) {
  3756.     if (superCtor) {
  3757.       ctor.super_ = superCtor
  3758.       ctor.prototype = Object.create(superCtor.prototype, {
  3759.         constructor: {
  3760.           value: ctor,
  3761.           enumerable: false,
  3762.           writable: true,
  3763.           configurable: true
  3764.         }
  3765.       })
  3766.     }
  3767.   };
  3768. } else {
  3769.   // old school shim for old browsers
  3770.   module.exports = function inherits(ctor, superCtor) {
  3771.     if (superCtor) {
  3772.       ctor.super_ = superCtor
  3773.       var TempCtor = function () {}
  3774.       TempCtor.prototype = superCtor.prototype
  3775.       ctor.prototype = new TempCtor()
  3776.       ctor.prototype.constructor = ctor
  3777.     }
  3778.   }
  3779. }
  3780.  
  3781. },{}],50:[function(require,module,exports){
  3782. 'use strict';
  3783.  
  3784. var hasToStringTag = require('has-tostringtag/shams')();
  3785. var callBound = require('call-bind/callBound');
  3786.  
  3787. var $toString = callBound('Object.prototype.toString');
  3788.  
  3789. var isStandardArguments = function isArguments(value) {
  3790.     if (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {
  3791.         return false;
  3792.     }
  3793.     return $toString(value) === '[object Arguments]';
  3794. };
  3795.  
  3796. var isLegacyArguments = function isArguments(value) {
  3797.     if (isStandardArguments(value)) {
  3798.         return true;
  3799.     }
  3800.     return value !== null &&
  3801.         typeof value === 'object' &&
  3802.         typeof value.length === 'number' &&
  3803.         value.length >= 0 &&
  3804.         $toString(value) !== '[object Array]' &&
  3805.         $toString(value.callee) === '[object Function]';
  3806. };
  3807.  
  3808. var supportsStandardArguments = (function () {
  3809.     return isStandardArguments(arguments);
  3810. }());
  3811.  
  3812. isStandardArguments.isLegacyArguments = isLegacyArguments; // for tests
  3813.  
  3814. module.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;
  3815.  
  3816. },{"call-bind/callBound":37,"has-tostringtag/shams":47}],51:[function(require,module,exports){
  3817. 'use strict';
  3818.  
  3819. var toStr = Object.prototype.toString;
  3820. var fnToStr = Function.prototype.toString;
  3821. var isFnRegex = /^\s*(?:function)?\*/;
  3822. var hasToStringTag = require('has-tostringtag/shams')();
  3823. var getProto = Object.getPrototypeOf;
  3824. var getGeneratorFunc = function () { // eslint-disable-line consistent-return
  3825.     if (!hasToStringTag) {
  3826.         return false;
  3827.     }
  3828.     try {
  3829.         return Function('return function*() {}')();
  3830.     } catch (e) {
  3831.     }
  3832. };
  3833. var GeneratorFunction;
  3834.  
  3835. module.exports = function isGeneratorFunction(fn) {
  3836.     if (typeof fn !== 'function') {
  3837.         return false;
  3838.     }
  3839.     if (isFnRegex.test(fnToStr.call(fn))) {
  3840.         return true;
  3841.     }
  3842.     if (!hasToStringTag) {
  3843.         var str = toStr.call(fn);
  3844.         return str === '[object GeneratorFunction]';
  3845.     }
  3846.     if (!getProto) {
  3847.         return false;
  3848.     }
  3849.     if (typeof GeneratorFunction === 'undefined') {
  3850.         var generatorFunc = getGeneratorFunc();
  3851.         GeneratorFunction = generatorFunc ? getProto(generatorFunc) : false;
  3852.     }
  3853.     return getProto(fn) === GeneratorFunction;
  3854. };
  3855.  
  3856. },{"has-tostringtag/shams":47}],52:[function(require,module,exports){
  3857. (function (global){(function (){
  3858. 'use strict';
  3859.  
  3860. var forEach = require('foreach');
  3861. var availableTypedArrays = require('available-typed-arrays');
  3862. var callBound = require('call-bind/callBound');
  3863.  
  3864. var $toString = callBound('Object.prototype.toString');
  3865. var hasToStringTag = require('has-tostringtag/shams')();
  3866.  
  3867. var g = typeof globalThis === 'undefined' ? global : globalThis;
  3868. var typedArrays = availableTypedArrays();
  3869.  
  3870. var $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {
  3871.     for (var i = 0; i < array.length; i += 1) {
  3872.         if (array[i] === value) {
  3873.             return i;
  3874.         }
  3875.     }
  3876.     return -1;
  3877. };
  3878. var $slice = callBound('String.prototype.slice');
  3879. var toStrTags = {};
  3880. var gOPD = require('es-abstract/helpers/getOwnPropertyDescriptor');
  3881. var getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');
  3882. if (hasToStringTag && gOPD && getPrototypeOf) {
  3883.     forEach(typedArrays, function (typedArray) {
  3884.         var arr = new g[typedArray]();
  3885.         if (Symbol.toStringTag in arr) {
  3886.             var proto = getPrototypeOf(arr);
  3887.             var descriptor = gOPD(proto, Symbol.toStringTag);
  3888.             if (!descriptor) {
  3889.                 var superProto = getPrototypeOf(proto);
  3890.                 descriptor = gOPD(superProto, Symbol.toStringTag);
  3891.             }
  3892.             toStrTags[typedArray] = descriptor.get;
  3893.         }
  3894.     });
  3895. }
  3896.  
  3897. var tryTypedArrays = function tryAllTypedArrays(value) {
  3898.     var anyTrue = false;
  3899.     forEach(toStrTags, function (getter, typedArray) {
  3900.         if (!anyTrue) {
  3901.             try {
  3902.                 anyTrue = getter.call(value) === typedArray;
  3903.             } catch (e) { /**/ }
  3904.         }
  3905.     });
  3906.     return anyTrue;
  3907. };
  3908.  
  3909. module.exports = function isTypedArray(value) {
  3910.     if (!value || typeof value !== 'object') { return false; }
  3911.     if (!hasToStringTag || !(Symbol.toStringTag in value)) {
  3912.         var tag = $slice($toString(value), 8, -1);
  3913.         return $indexOf(typedArrays, tag) > -1;
  3914.     }
  3915.     if (!gOPD) { return false; }
  3916.     return tryTypedArrays(value);
  3917. };
  3918.  
  3919. }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
  3920. },{"available-typed-arrays":36,"call-bind/callBound":37,"es-abstract/helpers/getOwnPropertyDescriptor":40,"foreach":41,"has-tostringtag/shams":47}],53:[function(require,module,exports){
  3921. /*
  3922. object-assign
  3923. (c) Sindre Sorhus
  3924. @license MIT
  3925. */
  3926.  
  3927. 'use strict';
  3928. /* eslint-disable no-unused-vars */
  3929. var getOwnPropertySymbols = Object.getOwnPropertySymbols;
  3930. var hasOwnProperty = Object.prototype.hasOwnProperty;
  3931. var propIsEnumerable = Object.prototype.propertyIsEnumerable;
  3932.  
  3933. function toObject(val) {
  3934.     if (val === null || val === undefined) {
  3935.         throw new TypeError('Object.assign cannot be called with null or undefined');
  3936.     }
  3937.  
  3938.     return Object(val);
  3939. }
  3940.  
  3941. function shouldUseNative() {
  3942.     try {
  3943.         if (!Object.assign) {
  3944.             return false;
  3945.         }
  3946.  
  3947.         // Detect buggy property enumeration order in older V8 versions.
  3948.  
  3949.         // https://bugs.chromium.org/p/v8/issues/detail?id=4118
  3950.         var test1 = new String('abc');  // eslint-disable-line no-new-wrappers
  3951.         test1[5] = 'de';
  3952.         if (Object.getOwnPropertyNames(test1)[0] === '5') {
  3953.             return false;
  3954.         }
  3955.  
  3956.         // https://bugs.chromium.org/p/v8/issues/detail?id=3056
  3957.         var test2 = {};
  3958.         for (var i = 0; i < 10; i++) {
  3959.             test2['_' + String.fromCharCode(i)] = i;
  3960.         }
  3961.         var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
  3962.             return test2[n];
  3963.         });
  3964.         if (order2.join('') !== '0123456789') {
  3965.             return false;
  3966.         }
  3967.  
  3968.         // https://bugs.chromium.org/p/v8/issues/detail?id=3056
  3969.         var test3 = {};
  3970.         'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
  3971.             test3[letter] = letter;
  3972.         });
  3973.         if (Object.keys(Object.assign({}, test3)).join('') !==
  3974.                 'abcdefghijklmnopqrst') {
  3975.             return false;
  3976.         }
  3977.  
  3978.         return true;
  3979.     } catch (err) {
  3980.         // We don't expect any of the above to throw, but better to be safe.
  3981.         return false;
  3982.     }
  3983. }
  3984.  
  3985. module.exports = shouldUseNative() ? Object.assign : function (target, source) {
  3986.     var from;
  3987.     var to = toObject(target);
  3988.     var symbols;
  3989.  
  3990.     for (var s = 1; s < arguments.length; s++) {
  3991.         from = Object(arguments[s]);
  3992.  
  3993.         for (var key in from) {
  3994.             if (hasOwnProperty.call(from, key)) {
  3995.                 to[key] = from[key];
  3996.             }
  3997.         }
  3998.  
  3999.         if (getOwnPropertySymbols) {
  4000.             symbols = getOwnPropertySymbols(from);
  4001.             for (var i = 0; i < symbols.length; i++) {
  4002.                 if (propIsEnumerable.call(from, symbols[i])) {
  4003.                     to[symbols[i]] = from[symbols[i]];
  4004.                 }
  4005.             }
  4006.         }
  4007.     }
  4008.  
  4009.     return to;
  4010. };
  4011.  
  4012. },{}],54:[function(require,module,exports){
  4013. // shim for using process in browser
  4014. var process = module.exports = {};
  4015.  
  4016. // cached from whatever global is present so that test runners that stub it
  4017. // don't break things.  But we need to wrap it in a try catch in case it is
  4018. // wrapped in strict mode code which doesn't define any globals.  It's inside a
  4019. // function because try/catches deoptimize in certain engines.
  4020.  
  4021. var cachedSetTimeout;
  4022. var cachedClearTimeout;
  4023.  
  4024. function defaultSetTimout() {
  4025.     throw new Error('setTimeout has not been defined');
  4026. }
  4027. function defaultClearTimeout () {
  4028.     throw new Error('clearTimeout has not been defined');
  4029. }
  4030. (function () {
  4031.     try {
  4032.         if (typeof setTimeout === 'function') {
  4033.             cachedSetTimeout = setTimeout;
  4034.         } else {
  4035.             cachedSetTimeout = defaultSetTimout;
  4036.         }
  4037.     } catch (e) {
  4038.         cachedSetTimeout = defaultSetTimout;
  4039.     }
  4040.     try {
  4041.         if (typeof clearTimeout === 'function') {
  4042.             cachedClearTimeout = clearTimeout;
  4043.         } else {
  4044.             cachedClearTimeout = defaultClearTimeout;
  4045.         }
  4046.     } catch (e) {
  4047.         cachedClearTimeout = defaultClearTimeout;
  4048.     }
  4049. } ())
  4050. function runTimeout(fun) {
  4051.     if (cachedSetTimeout === setTimeout) {
  4052.         //normal enviroments in sane situations
  4053.         return setTimeout(fun, 0);
  4054.     }
  4055.     // if setTimeout wasn't available but was latter defined
  4056.     if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
  4057.         cachedSetTimeout = setTimeout;
  4058.         return setTimeout(fun, 0);
  4059.     }
  4060.     try {
  4061.         // when when somebody has screwed with setTimeout but no I.E. maddness
  4062.         return cachedSetTimeout(fun, 0);
  4063.     } catch(e){
  4064.         try {
  4065.             // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
  4066.             return cachedSetTimeout.call(null, fun, 0);
  4067.         } catch(e){
  4068.             // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
  4069.             return cachedSetTimeout.call(this, fun, 0);
  4070.         }
  4071.     }
  4072.  
  4073.  
  4074. }
  4075. function runClearTimeout(marker) {
  4076.     if (cachedClearTimeout === clearTimeout) {
  4077.         //normal enviroments in sane situations
  4078.         return clearTimeout(marker);
  4079.     }
  4080.     // if clearTimeout wasn't available but was latter defined
  4081.     if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
  4082.         cachedClearTimeout = clearTimeout;
  4083.         return clearTimeout(marker);
  4084.     }
  4085.     try {
  4086.         // when when somebody has screwed with setTimeout but no I.E. maddness
  4087.         return cachedClearTimeout(marker);
  4088.     } catch (e){
  4089.         try {
  4090.             // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally
  4091.             return cachedClearTimeout.call(null, marker);
  4092.         } catch (e){
  4093.             // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
  4094.             // Some versions of I.E. have different rules for clearTimeout vs setTimeout
  4095.             return cachedClearTimeout.call(this, marker);
  4096.         }
  4097.     }
  4098.  
  4099.  
  4100.  
  4101. }
  4102. var queue = [];
  4103. var draining = false;
  4104. var currentQueue;
  4105. var queueIndex = -1;
  4106.  
  4107. function cleanUpNextTick() {
  4108.     if (!draining || !currentQueue) {
  4109.         return;
  4110.     }
  4111.     draining = false;
  4112.     if (currentQueue.length) {
  4113.         queue = currentQueue.concat(queue);
  4114.     } else {
  4115.         queueIndex = -1;
  4116.     }
  4117.     if (queue.length) {
  4118.         drainQueue();
  4119.     }
  4120. }
  4121.  
  4122. function drainQueue() {
  4123.     if (draining) {
  4124.         return;
  4125.     }
  4126.     var timeout = runTimeout(cleanUpNextTick);
  4127.     draining = true;
  4128.  
  4129.     var len = queue.length;
  4130.     while(len) {
  4131.         currentQueue = queue;
  4132.         queue = [];
  4133.         while (++queueIndex < len) {
  4134.             if (currentQueue) {
  4135.                 currentQueue[queueIndex].run();
  4136.             }
  4137.         }
  4138.         queueIndex = -1;
  4139.         len = queue.length;
  4140.     }
  4141.     currentQueue = null;
  4142.     draining = false;
  4143.     runClearTimeout(timeout);
  4144. }
  4145.  
  4146. process.nextTick = function (fun) {
  4147.     var args = new Array(arguments.length - 1);
  4148.     if (arguments.length > 1) {
  4149.         for (var i = 1; i < arguments.length; i++) {
  4150.             args[i - 1] = arguments[i];
  4151.         }
  4152.     }
  4153.     queue.push(new Item(fun, args));
  4154.     if (queue.length === 1 && !draining) {
  4155.         runTimeout(drainQueue);
  4156.     }
  4157. };
  4158.  
  4159. // v8 likes predictible objects
  4160. function Item(fun, array) {
  4161.     this.fun = fun;
  4162.     this.array = array;
  4163. }
  4164. Item.prototype.run = function () {
  4165.     this.fun.apply(null, this.array);
  4166. };
  4167. process.title = 'browser';
  4168. process.browser = true;
  4169. process.env = {};
  4170. process.argv = [];
  4171. process.version = ''; // empty string to avoid regexp issues
  4172. process.versions = {};
  4173.  
  4174. function noop() {}
  4175.  
  4176. process.on = noop;
  4177. process.addListener = noop;
  4178. process.once = noop;
  4179. process.off = noop;
  4180. process.removeListener = noop;
  4181. process.removeAllListeners = noop;
  4182. process.emit = noop;
  4183. process.prependListener = noop;
  4184. process.prependOnceListener = noop;
  4185.  
  4186. process.listeners = function (name) { return [] }
  4187.  
  4188. process.binding = function (name) {
  4189.     throw new Error('process.binding is not supported');
  4190. };
  4191.  
  4192. process.cwd = function () { return '/' };
  4193. process.chdir = function (dir) {
  4194.     throw new Error('process.chdir is not supported');
  4195. };
  4196. process.umask = function() { return 0; };
  4197.  
  4198. },{}],55:[function(require,module,exports){
  4199. arguments[4][34][0].apply(exports,arguments)
  4200. },{"dup":34}],56:[function(require,module,exports){
  4201. // Currently in sync with Node.js lib/internal/util/types.js
  4202. // https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9
  4203.  
  4204. 'use strict';
  4205.  
  4206. var isArgumentsObject = require('is-arguments');
  4207. var isGeneratorFunction = require('is-generator-function');
  4208. var whichTypedArray = require('which-typed-array');
  4209. var isTypedArray = require('is-typed-array');
  4210.  
  4211. function uncurryThis(f) {
  4212.   return f.call.bind(f);
  4213. }
  4214.  
  4215. var BigIntSupported = typeof BigInt !== 'undefined';
  4216. var SymbolSupported = typeof Symbol !== 'undefined';
  4217.  
  4218. var ObjectToString = uncurryThis(Object.prototype.toString);
  4219.  
  4220. var numberValue = uncurryThis(Number.prototype.valueOf);
  4221. var stringValue = uncurryThis(String.prototype.valueOf);
  4222. var booleanValue = uncurryThis(Boolean.prototype.valueOf);
  4223.  
  4224. if (BigIntSupported) {
  4225.   var bigIntValue = uncurryThis(BigInt.prototype.valueOf);
  4226. }
  4227.  
  4228. if (SymbolSupported) {
  4229.   var symbolValue = uncurryThis(Symbol.prototype.valueOf);
  4230. }
  4231.  
  4232. function checkBoxedPrimitive(value, prototypeValueOf) {
  4233.   if (typeof value !== 'object') {
  4234.     return false;
  4235.   }
  4236.   try {
  4237.     prototypeValueOf(value);
  4238.     return true;
  4239.   } catch(e) {
  4240.     return false;
  4241.   }
  4242. }
  4243.  
  4244. exports.isArgumentsObject = isArgumentsObject;
  4245. exports.isGeneratorFunction = isGeneratorFunction;
  4246. exports.isTypedArray = isTypedArray;
  4247.  
  4248. // Taken from here and modified for better browser support
  4249. // https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js
  4250. function isPromise(input) {
  4251.     return (
  4252.         (
  4253.             typeof Promise !== 'undefined' &&
  4254.             input instanceof Promise
  4255.         ) ||
  4256.         (
  4257.             input !== null &&
  4258.             typeof input === 'object' &&
  4259.             typeof input.then === 'function' &&
  4260.             typeof input.catch === 'function'
  4261.         )
  4262.     );
  4263. }
  4264. exports.isPromise = isPromise;
  4265.  
  4266. function isArrayBufferView(value) {
  4267.   if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {
  4268.     return ArrayBuffer.isView(value);
  4269.   }
  4270.  
  4271.   return (
  4272.     isTypedArray(value) ||
  4273.     isDataView(value)
  4274.   );
  4275. }
  4276. exports.isArrayBufferView = isArrayBufferView;
  4277.  
  4278.  
  4279. function isUint8Array(value) {
  4280.   return whichTypedArray(value) === 'Uint8Array';
  4281. }
  4282. exports.isUint8Array = isUint8Array;
  4283.  
  4284. function isUint8ClampedArray(value) {
  4285.   return whichTypedArray(value) === 'Uint8ClampedArray';
  4286. }
  4287. exports.isUint8ClampedArray = isUint8ClampedArray;
  4288.  
  4289. function isUint16Array(value) {
  4290.   return whichTypedArray(value) === 'Uint16Array';
  4291. }
  4292. exports.isUint16Array = isUint16Array;
  4293.  
  4294. function isUint32Array(value) {
  4295.   return whichTypedArray(value) === 'Uint32Array';
  4296. }
  4297. exports.isUint32Array = isUint32Array;
  4298.  
  4299. function isInt8Array(value) {
  4300.   return whichTypedArray(value) === 'Int8Array';
  4301. }
  4302. exports.isInt8Array = isInt8Array;
  4303.  
  4304. function isInt16Array(value) {
  4305.   return whichTypedArray(value) === 'Int16Array';
  4306. }
  4307. exports.isInt16Array = isInt16Array;
  4308.  
  4309. function isInt32Array(value) {
  4310.   return whichTypedArray(value) === 'Int32Array';
  4311. }
  4312. exports.isInt32Array = isInt32Array;
  4313.  
  4314. function isFloat32Array(value) {
  4315.   return whichTypedArray(value) === 'Float32Array';
  4316. }
  4317. exports.isFloat32Array = isFloat32Array;
  4318.  
  4319. function isFloat64Array(value) {
  4320.   return whichTypedArray(value) === 'Float64Array';
  4321. }
  4322. exports.isFloat64Array = isFloat64Array;
  4323.  
  4324. function isBigInt64Array(value) {
  4325.   return whichTypedArray(value) === 'BigInt64Array';
  4326. }
  4327. exports.isBigInt64Array = isBigInt64Array;
  4328.  
  4329. function isBigUint64Array(value) {
  4330.   return whichTypedArray(value) === 'BigUint64Array';
  4331. }
  4332. exports.isBigUint64Array = isBigUint64Array;
  4333.  
  4334. function isMapToString(value) {
  4335.   return ObjectToString(value) === '[object Map]';
  4336. }
  4337. isMapToString.working = (
  4338.   typeof Map !== 'undefined' &&
  4339.   isMapToString(new Map())
  4340. );
  4341.  
  4342. function isMap(value) {
  4343.   if (typeof Map === 'undefined') {
  4344.     return false;
  4345.   }
  4346.  
  4347.   return isMapToString.working
  4348.     ? isMapToString(value)
  4349.     : value instanceof Map;
  4350. }
  4351. exports.isMap = isMap;
  4352.  
  4353. function isSetToString(value) {
  4354.   return ObjectToString(value) === '[object Set]';
  4355. }
  4356. isSetToString.working = (
  4357.   typeof Set !== 'undefined' &&
  4358.   isSetToString(new Set())
  4359. );
  4360. function isSet(value) {
  4361.   if (typeof Set === 'undefined') {
  4362.     return false;
  4363.   }
  4364.  
  4365.   return isSetToString.working
  4366.     ? isSetToString(value)
  4367.     : value instanceof Set;
  4368. }
  4369. exports.isSet = isSet;
  4370.  
  4371. function isWeakMapToString(value) {
  4372.   return ObjectToString(value) === '[object WeakMap]';
  4373. }
  4374. isWeakMapToString.working = (
  4375.   typeof WeakMap !== 'undefined' &&
  4376.   isWeakMapToString(new WeakMap())
  4377. );
  4378. function isWeakMap(value) {
  4379.   if (typeof WeakMap === 'undefined') {
  4380.     return false;
  4381.   }
  4382.  
  4383.   return isWeakMapToString.working
  4384.     ? isWeakMapToString(value)
  4385.     : value instanceof WeakMap;
  4386. }
  4387. exports.isWeakMap = isWeakMap;
  4388.  
  4389. function isWeakSetToString(value) {
  4390.   return ObjectToString(value) === '[object WeakSet]';
  4391. }
  4392. isWeakSetToString.working = (
  4393.   typeof WeakSet !== 'undefined' &&
  4394.   isWeakSetToString(new WeakSet())
  4395. );
  4396. function isWeakSet(value) {
  4397.   return isWeakSetToString(value);
  4398. }
  4399. exports.isWeakSet = isWeakSet;
  4400.  
  4401. function isArrayBufferToString(value) {
  4402.   return ObjectToString(value) === '[object ArrayBuffer]';
  4403. }
  4404. isArrayBufferToString.working = (
  4405.   typeof ArrayBuffer !== 'undefined' &&
  4406.   isArrayBufferToString(new ArrayBuffer())
  4407. );
  4408. function isArrayBuffer(value) {
  4409.   if (typeof ArrayBuffer === 'undefined') {
  4410.     return false;
  4411.   }
  4412.  
  4413.   return isArrayBufferToString.working
  4414.     ? isArrayBufferToString(value)
  4415.     : value instanceof ArrayBuffer;
  4416. }
  4417. exports.isArrayBuffer = isArrayBuffer;
  4418.  
  4419. function isDataViewToString(value) {
  4420.   return ObjectToString(value) === '[object DataView]';
  4421. }
  4422. isDataViewToString.working = (
  4423.   typeof ArrayBuffer !== 'undefined' &&
  4424.   typeof DataView !== 'undefined' &&
  4425.   isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))
  4426. );
  4427. function isDataView(value) {
  4428.   if (typeof DataView === 'undefined') {
  4429.     return false;
  4430.   }
  4431.  
  4432.   return isDataViewToString.working
  4433.     ? isDataViewToString(value)
  4434.     : value instanceof DataView;
  4435. }
  4436. exports.isDataView = isDataView;
  4437.  
  4438. // Store a copy of SharedArrayBuffer in case it's deleted elsewhere
  4439. var SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined;
  4440. function isSharedArrayBufferToString(value) {
  4441.   return ObjectToString(value) === '[object SharedArrayBuffer]';
  4442. }
  4443. function isSharedArrayBuffer(value) {
  4444.   if (typeof SharedArrayBufferCopy === 'undefined') {
  4445.     return false;
  4446.   }
  4447.  
  4448.   if (typeof isSharedArrayBufferToString.working === 'undefined') {
  4449.     isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());
  4450.   }
  4451.  
  4452.   return isSharedArrayBufferToString.working
  4453.     ? isSharedArrayBufferToString(value)
  4454.     : value instanceof SharedArrayBufferCopy;
  4455. }
  4456. exports.isSharedArrayBuffer = isSharedArrayBuffer;
  4457.  
  4458. function isAsyncFunction(value) {
  4459.   return ObjectToString(value) === '[object AsyncFunction]';
  4460. }
  4461. exports.isAsyncFunction = isAsyncFunction;
  4462.  
  4463. function isMapIterator(value) {
  4464.   return ObjectToString(value) === '[object Map Iterator]';
  4465. }
  4466. exports.isMapIterator = isMapIterator;
  4467.  
  4468. function isSetIterator(value) {
  4469.   return ObjectToString(value) === '[object Set Iterator]';
  4470. }
  4471. exports.isSetIterator = isSetIterator;
  4472.  
  4473. function isGeneratorObject(value) {
  4474.   return ObjectToString(value) === '[object Generator]';
  4475. }
  4476. exports.isGeneratorObject = isGeneratorObject;
  4477.  
  4478. function isWebAssemblyCompiledModule(value) {
  4479.   return ObjectToString(value) === '[object WebAssembly.Module]';
  4480. }
  4481. exports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;
  4482.  
  4483. function isNumberObject(value) {
  4484.   return checkBoxedPrimitive(value, numberValue);
  4485. }
  4486. exports.isNumberObject = isNumberObject;
  4487.  
  4488. function isStringObject(value) {
  4489.   return checkBoxedPrimitive(value, stringValue);
  4490. }
  4491. exports.isStringObject = isStringObject;
  4492.  
  4493. function isBooleanObject(value) {
  4494.   return checkBoxedPrimitive(value, booleanValue);
  4495. }
  4496. exports.isBooleanObject = isBooleanObject;
  4497.  
  4498. function isBigIntObject(value) {
  4499.   return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);
  4500. }
  4501. exports.isBigIntObject = isBigIntObject;
  4502.  
  4503. function isSymbolObject(value) {
  4504.   return SymbolSupported && checkBoxedPrimitive(value, symbolValue);
  4505. }
  4506. exports.isSymbolObject = isSymbolObject;
  4507.  
  4508. function isBoxedPrimitive(value) {
  4509.   return (
  4510.     isNumberObject(value) ||
  4511.     isStringObject(value) ||
  4512.     isBooleanObject(value) ||
  4513.     isBigIntObject(value) ||
  4514.     isSymbolObject(value)
  4515.   );
  4516. }
  4517. exports.isBoxedPrimitive = isBoxedPrimitive;
  4518.  
  4519. function isAnyArrayBuffer(value) {
  4520.   return typeof Uint8Array !== 'undefined' && (
  4521.     isArrayBuffer(value) ||
  4522.     isSharedArrayBuffer(value)
  4523.   );
  4524. }
  4525. exports.isAnyArrayBuffer = isAnyArrayBuffer;
  4526.  
  4527. ['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {
  4528.   Object.defineProperty(exports, method, {
  4529.     enumerable: false,
  4530.     value: function() {
  4531.       throw new Error(method + ' is not supported in userland');
  4532.     }
  4533.   });
  4534. });
  4535.  
  4536. },{"is-arguments":50,"is-generator-function":51,"is-typed-array":52,"which-typed-array":58}],57:[function(require,module,exports){
  4537. (function (process){(function (){
  4538. // Copyright Joyent, Inc. and other Node contributors.
  4539. //
  4540. // Permission is hereby granted, free of charge, to any person obtaining a
  4541. // copy of this software and associated documentation files (the
  4542. // "Software"), to deal in the Software without restriction, including
  4543. // without limitation the rights to use, copy, modify, merge, publish,
  4544. // distribute, sublicense, and/or sell copies of the Software, and to permit
  4545. // persons to whom the Software is furnished to do so, subject to the
  4546. // following conditions:
  4547. //
  4548. // The above copyright notice and this permission notice shall be included
  4549. // in all copies or substantial portions of the Software.
  4550. //
  4551. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  4552. // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  4553. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  4554. // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  4555. // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  4556. // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  4557. // USE OR OTHER DEALINGS IN THE SOFTWARE.
  4558.  
  4559. var getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||
  4560.   function getOwnPropertyDescriptors(obj) {
  4561.     var keys = Object.keys(obj);
  4562.     var descriptors = {};
  4563.     for (var i = 0; i < keys.length; i++) {
  4564.       descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);
  4565.     }
  4566.     return descriptors;
  4567.   };
  4568.  
  4569. var formatRegExp = /%[sdj%]/g;
  4570. exports.format = function(f) {
  4571.   if (!isString(f)) {
  4572.     var objects = [];
  4573.     for (var i = 0; i < arguments.length; i++) {
  4574.       objects.push(inspect(arguments[i]));
  4575.     }
  4576.     return objects.join(' ');
  4577.   }
  4578.  
  4579.   var i = 1;
  4580.   var args = arguments;
  4581.   var len = args.length;
  4582.   var str = String(f).replace(formatRegExp, function(x) {
  4583.     if (x === '%%') return '%';
  4584.     if (i >= len) return x;
  4585.     switch (x) {
  4586.       case '%s': return String(args[i++]);
  4587.       case '%d': return Number(args[i++]);
  4588.       case '%j':
  4589.         try {
  4590.           return JSON.stringify(args[i++]);
  4591.         } catch (_) {
  4592.           return '[Circular]';
  4593.         }
  4594.       default:
  4595.         return x;
  4596.     }
  4597.   });
  4598.   for (var x = args[i]; i < len; x = args[++i]) {
  4599.     if (isNull(x) || !isObject(x)) {
  4600.       str += ' ' + x;
  4601.     } else {
  4602.       str += ' ' + inspect(x);
  4603.     }
  4604.   }
  4605.   return str;
  4606. };
  4607.  
  4608.  
  4609. // Mark that a method should not be used.
  4610. // Returns a modified function which warns once by default.
  4611. // If --no-deprecation is set, then it is a no-op.
  4612. exports.deprecate = function(fn, msg) {
  4613.   if (typeof process !== 'undefined' && process.noDeprecation === true) {
  4614.     return fn;
  4615.   }
  4616.  
  4617.   // Allow for deprecating things in the process of starting up.
  4618.   if (typeof process === 'undefined') {
  4619.     return function() {
  4620.       return exports.deprecate(fn, msg).apply(this, arguments);
  4621.     };
  4622.   }
  4623.  
  4624.   var warned = false;
  4625.   function deprecated() {
  4626.     if (!warned) {
  4627.       if (process.throwDeprecation) {
  4628.         throw new Error(msg);
  4629.       } else if (process.traceDeprecation) {
  4630.         console.trace(msg);
  4631.       } else {
  4632.         console.error(msg);
  4633.       }
  4634.       warned = true;
  4635.     }
  4636.     return fn.apply(this, arguments);
  4637.   }
  4638.  
  4639.   return deprecated;
  4640. };
  4641.  
  4642.  
  4643. var debugs = {};
  4644. var debugEnvRegex = /^$/;
  4645.  
  4646. if (process.env.NODE_DEBUG) {
  4647.   var debugEnv = process.env.NODE_DEBUG;
  4648.   debugEnv = debugEnv.replace(/[|\\{}()[\]^$+?.]/g, '\\$&')
  4649.     .replace(/\*/g, '.*')
  4650.     .replace(/,/g, '$|^')
  4651.     .toUpperCase();
  4652.   debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');
  4653. }
  4654. exports.debuglog = function(set) {
  4655.   set = set.toUpperCase();
  4656.   if (!debugs[set]) {
  4657.     if (debugEnvRegex.test(set)) {
  4658.       var pid = process.pid;
  4659.       debugs[set] = function() {
  4660.         var msg = exports.format.apply(exports, arguments);
  4661.         console.error('%s %d: %s', set, pid, msg);
  4662.       };
  4663.     } else {
  4664.       debugs[set] = function() {};
  4665.     }
  4666.   }
  4667.   return debugs[set];
  4668. };
  4669.  
  4670.  
  4671. /**
  4672.  * Echos the value of a value. Trys to print the value out
  4673.  * in the best way possible given the different types.
  4674.  *
  4675.  * @param {Object} obj The object to print out.
  4676.  * @param {Object} opts Optional options object that alters the output.
  4677.  */
  4678. /* legacy: obj, showHidden, depth, colors*/
  4679. function inspect(obj, opts) {
  4680.   // default options
  4681.   var ctx = {
  4682.     seen: [],
  4683.     stylize: stylizeNoColor
  4684.   };
  4685.   // legacy...
  4686.   if (arguments.length >= 3) ctx.depth = arguments[2];
  4687.   if (arguments.length >= 4) ctx.colors = arguments[3];
  4688.   if (isBoolean(opts)) {
  4689.     // legacy...
  4690.     ctx.showHidden = opts;
  4691.   } else if (opts) {
  4692.     // got an "options" object
  4693.     exports._extend(ctx, opts);
  4694.   }
  4695.   // set default options
  4696.   if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
  4697.   if (isUndefined(ctx.depth)) ctx.depth = 2;
  4698.   if (isUndefined(ctx.colors)) ctx.colors = false;
  4699.   if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
  4700.   if (ctx.colors) ctx.stylize = stylizeWithColor;
  4701.   return formatValue(ctx, obj, ctx.depth);
  4702. }
  4703. exports.inspect = inspect;
  4704.  
  4705.  
  4706. // http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
  4707. inspect.colors = {
  4708.   'bold' : [1, 22],
  4709.   'italic' : [3, 23],
  4710.   'underline' : [4, 24],
  4711.   'inverse' : [7, 27],
  4712.   'white' : [37, 39],
  4713.   'grey' : [90, 39],
  4714.   'black' : [30, 39],
  4715.   'blue' : [34, 39],
  4716.   'cyan' : [36, 39],
  4717.   'green' : [32, 39],
  4718.   'magenta' : [35, 39],
  4719.   'red' : [31, 39],
  4720.   'yellow' : [33, 39]
  4721. };
  4722.  
  4723. // Don't use 'blue' not visible on cmd.exe
  4724. inspect.styles = {
  4725.   'special': 'cyan',
  4726.   'number': 'yellow',
  4727.   'boolean': 'yellow',
  4728.   'undefined': 'grey',
  4729.   'null': 'bold',
  4730.   'string': 'green',
  4731.   'date': 'magenta',
  4732.   // "name": intentionally not styling
  4733.   'regexp': 'red'
  4734. };
  4735.  
  4736.  
  4737. function stylizeWithColor(str, styleType) {
  4738.   var style = inspect.styles[styleType];
  4739.  
  4740.   if (style) {
  4741.     return '\u001b[' + inspect.colors[style][0] + 'm' + str +
  4742.            '\u001b[' + inspect.colors[style][1] + 'm';
  4743.   } else {
  4744.     return str;
  4745.   }
  4746. }
  4747.  
  4748.  
  4749. function stylizeNoColor(str, styleType) {
  4750.   return str;
  4751. }
  4752.  
  4753.  
  4754. function arrayToHash(array) {
  4755.   var hash = {};
  4756.  
  4757.   array.forEach(function(val, idx) {
  4758.     hash[val] = true;
  4759.   });
  4760.  
  4761.   return hash;
  4762. }
  4763.  
  4764.  
  4765. function formatValue(ctx, value, recurseTimes) {
  4766.   // Provide a hook for user-specified inspect functions.
  4767.   // Check that value is an object with an inspect function on it
  4768.   if (ctx.customInspect &&
  4769.       value &&
  4770.       isFunction(value.inspect) &&
  4771.       // Filter out the util module, it's inspect function is special
  4772.       value.inspect !== exports.inspect &&
  4773.       // Also filter out any prototype objects using the circular check.
  4774.       !(value.constructor && value.constructor.prototype === value)) {
  4775.     var ret = value.inspect(recurseTimes, ctx);
  4776.     if (!isString(ret)) {
  4777.       ret = formatValue(ctx, ret, recurseTimes);
  4778.     }
  4779.     return ret;
  4780.   }
  4781.  
  4782.   // Primitive types cannot have properties
  4783.   var primitive = formatPrimitive(ctx, value);
  4784.   if (primitive) {
  4785.     return primitive;
  4786.   }
  4787.  
  4788.   // Look up the keys of the object.
  4789.   var keys = Object.keys(value);
  4790.   var visibleKeys = arrayToHash(keys);
  4791.  
  4792.   if (ctx.showHidden) {
  4793.     keys = Object.getOwnPropertyNames(value);
  4794.   }
  4795.  
  4796.   // IE doesn't make error fields non-enumerable
  4797.   // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx
  4798.   if (isError(value)
  4799.       && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {
  4800.     return formatError(value);
  4801.   }
  4802.  
  4803.   // Some type of object without properties can be shortcutted.
  4804.   if (keys.length === 0) {
  4805.     if (isFunction(value)) {
  4806.       var name = value.name ? ': ' + value.name : '';
  4807.       return ctx.stylize('[Function' + name + ']', 'special');
  4808.     }
  4809.     if (isRegExp(value)) {
  4810.       return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
  4811.     }
  4812.     if (isDate(value)) {
  4813.       return ctx.stylize(Date.prototype.toString.call(value), 'date');
  4814.     }
  4815.     if (isError(value)) {
  4816.       return formatError(value);
  4817.     }
  4818.   }
  4819.  
  4820.   var base = '', array = false, braces = ['{', '}'];
  4821.  
  4822.   // Make Array say that they are Array
  4823.   if (isArray(value)) {
  4824.     array = true;
  4825.     braces = ['[', ']'];
  4826.   }
  4827.  
  4828.   // Make functions say that they are functions
  4829.   if (isFunction(value)) {
  4830.     var n = value.name ? ': ' + value.name : '';
  4831.     base = ' [Function' + n + ']';
  4832.   }
  4833.  
  4834.   // Make RegExps say that they are RegExps
  4835.   if (isRegExp(value)) {
  4836.     base = ' ' + RegExp.prototype.toString.call(value);
  4837.   }
  4838.  
  4839.   // Make dates with properties first say the date
  4840.   if (isDate(value)) {
  4841.     base = ' ' + Date.prototype.toUTCString.call(value);
  4842.   }
  4843.  
  4844.   // Make error with message first say the error
  4845.   if (isError(value)) {
  4846.     base = ' ' + formatError(value);
  4847.   }
  4848.  
  4849.   if (keys.length === 0 && (!array || value.length == 0)) {
  4850.     return braces[0] + base + braces[1];
  4851.   }
  4852.  
  4853.   if (recurseTimes < 0) {
  4854.     if (isRegExp(value)) {
  4855.       return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
  4856.     } else {
  4857.       return ctx.stylize('[Object]', 'special');
  4858.     }
  4859.   }
  4860.  
  4861.   ctx.seen.push(value);
  4862.  
  4863.   var output;
  4864.   if (array) {
  4865.     output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
  4866.   } else {
  4867.     output = keys.map(function(key) {
  4868.       return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
  4869.     });
  4870.   }
  4871.  
  4872.   ctx.seen.pop();
  4873.  
  4874.   return reduceToSingleString(output, base, braces);
  4875. }
  4876.  
  4877.  
  4878. function formatPrimitive(ctx, value) {
  4879.   if (isUndefined(value))
  4880.     return ctx.stylize('undefined', 'undefined');
  4881.   if (isString(value)) {
  4882.     var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '')
  4883.                                              .replace(/'/g, "\\'")
  4884.                                              .replace(/\\"/g, '"') + '\'';
  4885.     return ctx.stylize(simple, 'string');
  4886.   }
  4887.   if (isNumber(value))
  4888.     return ctx.stylize('' + value, 'number');
  4889.   if (isBoolean(value))
  4890.     return ctx.stylize('' + value, 'boolean');
  4891.   // For some reason typeof null is "object", so special case here.
  4892.   if (isNull(value))
  4893.     return ctx.stylize('null', 'null');
  4894. }
  4895.  
  4896.  
  4897. function formatError(value) {
  4898.   return '[' + Error.prototype.toString.call(value) + ']';
  4899. }
  4900.  
  4901.  
  4902. function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
  4903.   var output = [];
  4904.   for (var i = 0, l = value.length; i < l; ++i) {
  4905.     if (hasOwnProperty(value, String(i))) {
  4906.       output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
  4907.           String(i), true));
  4908.     } else {
  4909.       output.push('');
  4910.     }
  4911.   }
  4912.   keys.forEach(function(key) {
  4913.     if (!key.match(/^\d+$/)) {
  4914.       output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
  4915.           key, true));
  4916.     }
  4917.   });
  4918.   return output;
  4919. }
  4920.  
  4921.  
  4922. function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
  4923.   var name, str, desc;
  4924.   desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };
  4925.   if (desc.get) {
  4926.     if (desc.set) {
  4927.       str = ctx.stylize('[Getter/Setter]', 'special');
  4928.     } else {
  4929.       str = ctx.stylize('[Getter]', 'special');
  4930.     }
  4931.   } else {
  4932.     if (desc.set) {
  4933.       str = ctx.stylize('[Setter]', 'special');
  4934.     }
  4935.   }
  4936.   if (!hasOwnProperty(visibleKeys, key)) {
  4937.     name = '[' + key + ']';
  4938.   }
  4939.   if (!str) {
  4940.     if (ctx.seen.indexOf(desc.value) < 0) {
  4941.       if (isNull(recurseTimes)) {
  4942.         str = formatValue(ctx, desc.value, null);
  4943.       } else {
  4944.         str = formatValue(ctx, desc.value, recurseTimes - 1);
  4945.       }
  4946.       if (str.indexOf('\n') > -1) {
  4947.         if (array) {
  4948.           str = str.split('\n').map(function(line) {
  4949.             return '  ' + line;
  4950.           }).join('\n').substr(2);
  4951.         } else {
  4952.           str = '\n' + str.split('\n').map(function(line) {
  4953.             return '   ' + line;
  4954.           }).join('\n');
  4955.         }
  4956.       }
  4957.     } else {
  4958.       str = ctx.stylize('[Circular]', 'special');
  4959.     }
  4960.   }
  4961.   if (isUndefined(name)) {
  4962.     if (array && key.match(/^\d+$/)) {
  4963.       return str;
  4964.     }
  4965.     name = JSON.stringify('' + key);
  4966.     if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
  4967.       name = name.substr(1, name.length - 2);
  4968.       name = ctx.stylize(name, 'name');
  4969.     } else {
  4970.       name = name.replace(/'/g, "\\'")
  4971.                  .replace(/\\"/g, '"')
  4972.                  .replace(/(^"|"$)/g, "'");
  4973.       name = ctx.stylize(name, 'string');
  4974.     }
  4975.   }
  4976.  
  4977.   return name + ': ' + str;
  4978. }
  4979.  
  4980.  
  4981. function reduceToSingleString(output, base, braces) {
  4982.   var numLinesEst = 0;
  4983.   var length = output.reduce(function(prev, cur) {
  4984.     numLinesEst++;
  4985.     if (cur.indexOf('\n') >= 0) numLinesEst++;
  4986.     return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
  4987.   }, 0);
  4988.  
  4989.   if (length > 60) {
  4990.     return braces[0] +
  4991.            (base === '' ? '' : base + '\n ') +
  4992.            ' ' +
  4993.            output.join(',\n  ') +
  4994.            ' ' +
  4995.            braces[1];
  4996.   }
  4997.  
  4998.   return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
  4999. }
  5000.  
  5001.  
  5002. // NOTE: These type checking functions intentionally don't use `instanceof`
  5003. // because it is fragile and can be easily faked with `Object.create()`.
  5004. exports.types = require('./support/types');
  5005.  
  5006. function isArray(ar) {
  5007.   return Array.isArray(ar);
  5008. }
  5009. exports.isArray = isArray;
  5010.  
  5011. function isBoolean(arg) {
  5012.   return typeof arg === 'boolean';
  5013. }
  5014. exports.isBoolean = isBoolean;
  5015.  
  5016. function isNull(arg) {
  5017.   return arg === null;
  5018. }
  5019. exports.isNull = isNull;
  5020.  
  5021. function isNullOrUndefined(arg) {
  5022.   return arg == null;
  5023. }
  5024. exports.isNullOrUndefined = isNullOrUndefined;
  5025.  
  5026. function isNumber(arg) {
  5027.   return typeof arg === 'number';
  5028. }
  5029. exports.isNumber = isNumber;
  5030.  
  5031. function isString(arg) {
  5032.   return typeof arg === 'string';
  5033. }
  5034. exports.isString = isString;
  5035.  
  5036. function isSymbol(arg) {
  5037.   return typeof arg === 'symbol';
  5038. }
  5039. exports.isSymbol = isSymbol;
  5040.  
  5041. function isUndefined(arg) {
  5042.   return arg === void 0;
  5043. }
  5044. exports.isUndefined = isUndefined;
  5045.  
  5046. function isRegExp(re) {
  5047.   return isObject(re) && objectToString(re) === '[object RegExp]';
  5048. }
  5049. exports.isRegExp = isRegExp;
  5050. exports.types.isRegExp = isRegExp;
  5051.  
  5052. function isObject(arg) {
  5053.   return typeof arg === 'object' && arg !== null;
  5054. }
  5055. exports.isObject = isObject;
  5056.  
  5057. function isDate(d) {
  5058.   return isObject(d) && objectToString(d) === '[object Date]';
  5059. }
  5060. exports.isDate = isDate;
  5061. exports.types.isDate = isDate;
  5062.  
  5063. function isError(e) {
  5064.   return isObject(e) &&
  5065.       (objectToString(e) === '[object Error]' || e instanceof Error);
  5066. }
  5067. exports.isError = isError;
  5068. exports.types.isNativeError = isError;
  5069.  
  5070. function isFunction(arg) {
  5071.   return typeof arg === 'function';
  5072. }
  5073. exports.isFunction = isFunction;
  5074.  
  5075. function isPrimitive(arg) {
  5076.   return arg === null ||
  5077.          typeof arg === 'boolean' ||
  5078.          typeof arg === 'number' ||
  5079.          typeof arg === 'string' ||
  5080.          typeof arg === 'symbol' ||  // ES6 symbol
  5081.          typeof arg === 'undefined';
  5082. }
  5083. exports.isPrimitive = isPrimitive;
  5084.  
  5085. exports.isBuffer = require('./support/isBuffer');
  5086.  
  5087. function objectToString(o) {
  5088.   return Object.prototype.toString.call(o);
  5089. }
  5090.  
  5091.  
  5092. function pad(n) {
  5093.   return n < 10 ? '0' + n.toString(10) : n.toString(10);
  5094. }
  5095.  
  5096.  
  5097. var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
  5098.               'Oct', 'Nov', 'Dec'];
  5099.  
  5100. // 26 Feb 16:19:34
  5101. function timestamp() {
  5102.   var d = new Date();
  5103.   var time = [pad(d.getHours()),
  5104.               pad(d.getMinutes()),
  5105.               pad(d.getSeconds())].join(':');
  5106.   return [d.getDate(), months[d.getMonth()], time].join(' ');
  5107. }
  5108.  
  5109.  
  5110. // log is just a thin wrapper to console.log that prepends a timestamp
  5111. exports.log = function() {
  5112.   console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));
  5113. };
  5114.  
  5115.  
  5116. /**
  5117.  * Inherit the prototype methods from one constructor into another.
  5118.  *
  5119.  * The Function.prototype.inherits from lang.js rewritten as a standalone
  5120.  * function (not on Function.prototype). NOTE: If this file is to be loaded
  5121.  * during bootstrapping this function needs to be rewritten using some native
  5122.  * functions as prototype setup using normal JavaScript does not work as
  5123.  * expected during bootstrapping (see mirror.js in r114903).
  5124.  *
  5125.  * @param {function} ctor Constructor function which needs to inherit the
  5126.  *     prototype.
  5127.  * @param {function} superCtor Constructor function to inherit prototype from.
  5128.  */
  5129. exports.inherits = require('inherits');
  5130.  
  5131. exports._extend = function(origin, add) {
  5132.   // Don't do anything if add isn't an object
  5133.   if (!add || !isObject(add)) return origin;
  5134.  
  5135.   var keys = Object.keys(add);
  5136.   var i = keys.length;
  5137.   while (i--) {
  5138.     origin[keys[i]] = add[keys[i]];
  5139.   }
  5140.   return origin;
  5141. };
  5142.  
  5143. function hasOwnProperty(obj, prop) {
  5144.   return Object.prototype.hasOwnProperty.call(obj, prop);
  5145. }
  5146.  
  5147. var kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;
  5148.  
  5149. exports.promisify = function promisify(original) {
  5150.   if (typeof original !== 'function')
  5151.     throw new TypeError('The "original" argument must be of type Function');
  5152.  
  5153.   if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {
  5154.     var fn = original[kCustomPromisifiedSymbol];
  5155.     if (typeof fn !== 'function') {
  5156.       throw new TypeError('The "util.promisify.custom" argument must be of type Function');
  5157.     }
  5158.     Object.defineProperty(fn, kCustomPromisifiedSymbol, {
  5159.       value: fn, enumerable: false, writable: false, configurable: true
  5160.     });
  5161.     return fn;
  5162.   }
  5163.  
  5164.   function fn() {
  5165.     var promiseResolve, promiseReject;
  5166.     var promise = new Promise(function (resolve, reject) {
  5167.       promiseResolve = resolve;
  5168.       promiseReject = reject;
  5169.     });
  5170.  
  5171.     var args = [];
  5172.     for (var i = 0; i < arguments.length; i++) {
  5173.       args.push(arguments[i]);
  5174.     }
  5175.     args.push(function (err, value) {
  5176.       if (err) {
  5177.         promiseReject(err);
  5178.       } else {
  5179.         promiseResolve(value);
  5180.       }
  5181.     });
  5182.  
  5183.     try {
  5184.       original.apply(this, args);
  5185.     } catch (err) {
  5186.       promiseReject(err);
  5187.     }
  5188.  
  5189.     return promise;
  5190.   }
  5191.  
  5192.   Object.setPrototypeOf(fn, Object.getPrototypeOf(original));
  5193.  
  5194.   if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {
  5195.     value: fn, enumerable: false, writable: false, configurable: true
  5196.   });
  5197.   return Object.defineProperties(
  5198.     fn,
  5199.     getOwnPropertyDescriptors(original)
  5200.   );
  5201. }
  5202.  
  5203. exports.promisify.custom = kCustomPromisifiedSymbol
  5204.  
  5205. function callbackifyOnRejected(reason, cb) {
  5206.   // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).
  5207.   // Because `null` is a special error value in callbacks which means "no error
  5208.   // occurred", we error-wrap so the callback consumer can distinguish between
  5209.   // "the promise rejected with null" or "the promise fulfilled with undefined".
  5210.   if (!reason) {
  5211.     var newReason = new Error('Promise was rejected with a falsy value');
  5212.     newReason.reason = reason;
  5213.     reason = newReason;
  5214.   }
  5215.   return cb(reason);
  5216. }
  5217.  
  5218. function callbackify(original) {
  5219.   if (typeof original !== 'function') {
  5220.     throw new TypeError('The "original" argument must be of type Function');
  5221.   }
  5222.  
  5223.   // We DO NOT return the promise as it gives the user a false sense that
  5224.   // the promise is actually somehow related to the callback's execution
  5225.   // and that the callback throwing will reject the promise.
  5226.   function callbackified() {
  5227.     var args = [];
  5228.     for (var i = 0; i < arguments.length; i++) {
  5229.       args.push(arguments[i]);
  5230.     }
  5231.  
  5232.     var maybeCb = args.pop();
  5233.     if (typeof maybeCb !== 'function') {
  5234.       throw new TypeError('The last argument must be of type Function');
  5235.     }
  5236.     var self = this;
  5237.     var cb = function() {
  5238.       return maybeCb.apply(self, arguments);
  5239.     };
  5240.     // In true node style we process the callback on `nextTick` with all the
  5241.     // implications (stack, `uncaughtException`, `async_hooks`)
  5242.     original.apply(this, args)
  5243.       .then(function(ret) { process.nextTick(cb.bind(null, null, ret)) },
  5244.             function(rej) { process.nextTick(callbackifyOnRejected.bind(null, rej, cb)) });
  5245.   }
  5246.  
  5247.   Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));
  5248.   Object.defineProperties(callbackified,
  5249.                           getOwnPropertyDescriptors(original));
  5250.   return callbackified;
  5251. }
  5252. exports.callbackify = callbackify;
  5253.  
  5254. }).call(this)}).call(this,require('_process'))
  5255. },{"./support/isBuffer":55,"./support/types":56,"_process":54,"inherits":49}],58:[function(require,module,exports){
  5256. (function (global){(function (){
  5257. 'use strict';
  5258.  
  5259. var forEach = require('foreach');
  5260. var availableTypedArrays = require('available-typed-arrays');
  5261. var callBound = require('call-bind/callBound');
  5262.  
  5263. var $toString = callBound('Object.prototype.toString');
  5264. var hasToStringTag = require('has-tostringtag/shams')();
  5265.  
  5266. var g = typeof globalThis === 'undefined' ? global : globalThis;
  5267. var typedArrays = availableTypedArrays();
  5268.  
  5269. var $slice = callBound('String.prototype.slice');
  5270. var toStrTags = {};
  5271. var gOPD = require('es-abstract/helpers/getOwnPropertyDescriptor');
  5272. var getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');
  5273. if (hasToStringTag && gOPD && getPrototypeOf) {
  5274.     forEach(typedArrays, function (typedArray) {
  5275.         if (typeof g[typedArray] === 'function') {
  5276.             var arr = new g[typedArray]();
  5277.             if (Symbol.toStringTag in arr) {
  5278.                 var proto = getPrototypeOf(arr);
  5279.                 var descriptor = gOPD(proto, Symbol.toStringTag);
  5280.                 if (!descriptor) {
  5281.                     var superProto = getPrototypeOf(proto);
  5282.                     descriptor = gOPD(superProto, Symbol.toStringTag);
  5283.                 }
  5284.                 toStrTags[typedArray] = descriptor.get;
  5285.             }
  5286.         }
  5287.     });
  5288. }
  5289.  
  5290. var tryTypedArrays = function tryAllTypedArrays(value) {
  5291.     var foundName = false;
  5292.     forEach(toStrTags, function (getter, typedArray) {
  5293.         if (!foundName) {
  5294.             try {
  5295.                 var name = getter.call(value);
  5296.                 if (name === typedArray) {
  5297.                     foundName = name;
  5298.                 }
  5299.             } catch (e) {}
  5300.         }
  5301.     });
  5302.     return foundName;
  5303. };
  5304.  
  5305. var isTypedArray = require('is-typed-array');
  5306.  
  5307. module.exports = function whichTypedArray(value) {
  5308.     if (!isTypedArray(value)) { return false; }
  5309.     if (!hasToStringTag || !(Symbol.toStringTag in value)) { return $slice($toString(value), 8, -1); }
  5310.     return tryTypedArrays(value);
  5311. };
  5312.  
  5313. }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
  5314. },{"available-typed-arrays":36,"call-bind/callBound":37,"es-abstract/helpers/getOwnPropertyDescriptor":40,"foreach":41,"has-tostringtag/shams":47,"is-typed-array":52}]},{},[31]);
  5315.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement