!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.ES6Promise=e()}(this,function(){function t(t){return"function"==typeof t}function e(){return function(){return process.nextTick(s)}}function n(){return"undefined"!=typeof P?function(){P(s)}:i()}function r(){var t=0,e=new k(s),n=document.createTextNode("");return e.observe(n,{characterData:!0}),function(){n.data=t=++t%2}}function o(){var t=new MessageChannel;return t.port1.onmessage=s,function(){return t.port2.postMessage(0)}}function i(){var t=setTimeout;return function(){return t(s,1)}}function s(){for(var t=0;M>t;t+=2)(0,Y[t])(Y[t+1]),Y[t]=void 0,Y[t+1]=void 0;M=0}function u(){try{var t=Function("return this")().require("vertx");return P=t.runOnLoop||t.runOnContext,n()}catch(e){return i()}}function c(t,e){var n=this,r=new this.constructor(f);void 0===r[D]&&j(r);var o=n._state;if(o){var i=arguments[o-1];C(function(){return A(o,r,i,n._result)})}else g(n,r,t,e);return r}function a(t){if(t&&"object"==typeof t&&t.constructor===this)return t;var e=new this(f);return _(e,t),e}function f(){}function l(t){try{return t.then}catch(e){return U.error=e,U}}function h(t,e,n,r){try{t.call(e,n,r)}catch(o){return o}}function p(t,e,n){C(function(t){var r=!1,o=h(n,e,function(n){r||(r=!0,e!==n?_(t,n):m(t,n))},function(e){r||(r=!0,b(t,e))},"Settle: "+(t._label||" unknown promise"));!r&&o&&(r=!0,b(t,o))},t)}function d(t,e){e._state===L?m(t,e._result):e._state===N?b(t,e._result):g(e,void 0,function(e){return _(t,e)},function(e){return b(t,e)})}function v(e,n,r){n.constructor===e.constructor&&r===c&&n.constructor.resolve===a?d(e,n):r===U?(b(e,U.error),U.error=null):void 0===r?m(e,n):t(r)?p(e,n,r):m(e,n)}function _(t,e){if(t===e)b(t,new TypeError("You cannot resolve a promise with itself"));else{var n=typeof e;null===e||"object"!==n&&"function"!==n?m(t,e):v(t,e,l(e))}}function y(t){t._onerror&&t._onerror(t._result),w(t)}function m(t,e){t._state===K&&(t._result=e,t._state=L,0!==t._subscribers.length&&C(w,t))}function b(t,e){t._state===K&&(t._state=N,t._result=e,C(y,t))}function g(t,e,n,r){var o=t._subscribers,i=o.length;t._onerror=null,o[i]=e,o[i+L]=n,o[i+N]=r,0===i&&t._state&&C(w,t)}function w(t){var e=t._subscribers,n=t._state;if(0!==e.length){for(var r=void 0,o=void 0,i=t._result,s=0;si;i++)e.resolve(t[i]).then(n,r)}:function(t,e){return e(new TypeError("You must pass an array to race."))})},B.resolve=a,B.reject=function(t){var e=new this(f);return b(e,t),e},B._setScheduler=function(t){x=t},B._setAsap=function(t){C=t},B._asap=C,B.polyfill=function(){var t=void 0;if("undefined"!=typeof global)t=global;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(e){throw Error("polyfill failed because global object is unavailable in this environment")}var n=t.Promise;if(n){var r=null;try{r=Object.prototype.toString.call(n.resolve())}catch(o){}if("[object Promise]"===r&&!n.cast)return}t.Promise=B},B.Promise=B});