From 228dbc5b3412176ac24f4aa56597643a9b5ecc03 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Thu, 20 Aug 2015 16:46:49 -0700 Subject: [PATCH] v0.33.1 --- CHANGELOG.md | 10 ++++++++++ bower.json | 1 - component.json | 2 +- es6-sham.js | 2 +- es6-sham.min.js | 2 +- es6-shim.js | 2 +- es6-shim.map | 2 +- es6-shim.min.js | 6 +++--- package.json | 2 +- 9 files changed, 19 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f4411998..f06586d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # es6-shim x.x.x (not yet released) +# es6-shim 0.33.1 (20 Aug 2015) +* [New] Add support for binary and octal literals in strings to the `Number` constructor (#358) +* [Docs] Update spec link to final spec +* [Fix] `Reflect.enumerate`: does not necessarily wait until the first `next()` to determine keys. +* [Refactors] split up some tests; name some functions; remove unnecessary code +* {Refactors] make ObjectIterator properties non-enumerable +* [Refactors] Refactor `RegExp` wrapping code so most of it can be reused. +* [Tests] up to `io.js` `v3.1` +* [Dev Deps] update `grunt-contrib-connect`, `jscs` + # es6-shim 0.33.0 (30 Jul 2015) * [Breaking] Avoid CSP errors in Chrome apps by using global var detection (#301) * [Performance] Rearranging some of the Map/Set runtime shim clobberings to be more efficient. diff --git a/bower.json b/bower.json index ffd76cb4..231768de 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,5 @@ { "name": "es6-shim", - "version": "0.33.0", "repo": "paulmillr/es6-shim", "description": "ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines", "keywords": [ diff --git a/component.json b/component.json index 9e21760a..2de16ecb 100644 --- a/component.json +++ b/component.json @@ -1,6 +1,6 @@ { "name": "es6-shim", - "version": "0.33.0", + "version": "0.33.1", "repo": "paulmillr/es6-shim", "description": "ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines", "keywords": [ diff --git a/es6-sham.js b/es6-sham.js index 1c4d658a..61a49e1a 100644 --- a/es6-sham.js +++ b/es6-sham.js @@ -2,7 +2,7 @@ * https://github.com/paulmillr/es6-shim * @license es6-shim Copyright 2013-2015 by Paul Miller (http://paulmillr.com) * and contributors, MIT License - * es6-sham: v0.32.3 + * es6-sham: v0.33.1 * see https://github.com/paulmillr/es6-shim/blob/0.32.3/LICENSE * Details and documentation: * https://github.com/paulmillr/es6-shim/ diff --git a/es6-sham.min.js b/es6-sham.min.js index 33d6024e..28fb155c 100644 --- a/es6-sham.min.js +++ b/es6-sham.min.js @@ -2,7 +2,7 @@ * https://github.com/paulmillr/es6-shim * @license es6-shim Copyright 2013-2015 by Paul Miller (http://paulmillr.com) * and contributors, MIT License - * es6-sham: v0.32.3 + * es6-sham: v0.33.1 * see https://github.com/paulmillr/es6-shim/blob/0.32.3/LICENSE * Details and documentation: * https://github.com/paulmillr/es6-shim/ diff --git a/es6-shim.js b/es6-shim.js index 4a4fba88..322724f4 100644 --- a/es6-shim.js +++ b/es6-shim.js @@ -2,7 +2,7 @@ * https://github.com/paulmillr/es6-shim * @license es6-shim Copyright 2013-2015 by Paul Miller (http://paulmillr.com) * and contributors, MIT License - * es6-shim: v0.32.3 + * es6-shim: v0.33.1 * see https://github.com/paulmillr/es6-shim/blob/0.32.3/LICENSE * Details and documentation: * https://github.com/paulmillr/es6-shim/ diff --git a/es6-shim.map b/es6-shim.map index 2dc57681..b0e3793a 100644 --- a/es6-shim.map +++ b/es6-shim.map @@ -1 +1 @@ -{"version":3,"sources":["es6-shim.js"],"names":["root","factory","define","amd","exports","module","returnExports","this","_apply","Function","call","bind","apply","_call","not","notThunker","func","notThunk","arguments","throwsError","e","valueOrFalseIfThrows","isCallableWithoutNew","arePropertyDescriptorsSupported","Object","defineProperty","supportsDescriptors","functionsHaveNames","foo","name","_forEach","Array","prototype","forEach","_reduce","reduce","_filter","filter","_every","every","createDataProperty","object","value","configurable","enumerable","writable","createDataPropertyOrThrow","ES","SameValue","TypeError","force","defineProperties","map","keys","method","create","properties","Prototype","key","Value","defineByDescriptor","supportsSubclassing","C","f","setPrototypeOf","Sub","Subclass","arg","o","constructor","startsWithRejectsRegex","String","startsWith","startsWithHandlesInfinity","Infinity","getGlobal","self","window","global","Error","globals","globalIsFinite","isFinite","hasStrictMode","startsWithIsCompliant","_indexOf","indexOf","_toString","toString","_concat","concat","_strSlice","slice","_push","push","_pushApply","_shift","shift","_max","Math","max","_min","min","_floor","floor","_abs","abs","_log","log","_sqrt","sqrt","_hasOwnProperty","hasOwnProperty","ArrayIterator","noop","Symbol","symbolSpecies","species","getter","get","proxy","originalObject","targetObject","originalDescriptor","getOwnPropertyDescriptor","getKey","set","setKey","redefine","property","newValue","descriptor","preserveToString","target","source","defaultSpeciesGetter","addDefaultSpecies","Type","x","string","regex","symbol","numberIsNaN","Number","isNaN","numberIsFinite","overrideNative","replacement","original","$iterator$","iterator","Set","addIterator","impl","implementation","isArguments","str","result","length","callee","Call","F","V","args","IsCallable","RequireObjectCoercible","optMessage","TypeIsObject","ToObject","IsConstructor","ToInt32","ToNumber","ToUint32","ToInteger","number","ToLength","len","MAX_SAFE_INTEGER","a","b","SameValueZero","IsIterable","GetIterator","itFn","GetMethod","it","p","IteratorComplete","iterResult","IteratorClose","completionIsThrow","returnMethod","innerResult","innerException","IteratorNext","next","IteratorStep","done","Construct","newTarget","isES6internal","Reflect","construct","proto","obj","SpeciesConstructor","O","defaultConstructor","S","CreateHTML","tag","attribute","p1","escapedV","replace","p2","p3","emulateES6construct","defaultNewTarget","defaultProto","slots","fromCodePoint","originalFromCodePoint","codePoints","StringShims","i","RangeError","fromCharCode","join","raw","callSite","cooked","rawString","literalsegments","stringElements","nextIndex","nextKey","nextSeg","nextSub",1,"stringRepeat","repeat","s","times","half","stringMaxLength","StringPrototypeShims","thisStr","numTimes","searchString","searchStr","startArg","start","endsWith","thisLen","posArg","pos","end","includes","position","codePointAt","first","charCodeAt","isEnd","second","hasStringTrimBug","trim","ws","trimRegexp","RegExp","StringIterator","_s","_i","substr","ArrayShims","from","items","mapFn","mapping","T","usingIterator","nextValue","undefined","arrayLike","of","A","isArray","k","iteratorResult","array","kind","retval","ObjectIterator","getAllKeys","arrayOfSupportsSubclassing","Foo","fooArr","ArrayPrototypeShims","copyWithin","relativeTarget","relativeStart","to","fin","count","direction","fill","relativeEnd","find","predicate","list","thisArg","findIndex","values","entries","unscopables","originalArrayPrototypeValues","getPrototypeOf","arrayFromSwallowsNegativeLengths","arrayFromHandlesIterables","arr","arrayFromHandlesUndefinedMapFunction","origArrayFrom","toLengthsCorrectly","reversed","originalForEach","callbackFn","originalMap","originalFilter","some","originalSome","originalEvery","originalReduce","reduceRight","originalReduceRight","maxSafeInteger","pow","MIN_SAFE_INTEGER","EPSILON","parseInt","parseFloat","isInteger","isSafeInteger","item","idx","isEnumerableOn","propertyIsEnumerable","sliceArgs","initial","desiredArgCount","assignTo","assignToSource","assignReducer","symbols","getOwnPropertySymbols","ObjectShims","assign","is","assignHasPendingExceptions","preventExtensions","thrower","ES5ObjectShims","magic","checkArgs","polyfill","FAKENULL","gpo","spo","objectKeysAcceptsPrimitives","originalObjectKeys","getOwnPropertyNames","objectGOPNAcceptsPrimitives","cachedWindowNames","originalObjectGetOwnPropertyNames","val","objectGOPDAcceptsPrimitives","originalObjectGetOwnPropertyDescriptor","seal","objectSealAcceptsPrimitives","originalObjectSeal","isSealed","objectIsSealedAcceptsPrimitives","originalObjectIsSealed","freeze","objectFreezeAcceptsPrimitives","originalObjectFreeze","isFrozen","objectIsFrozenAcceptsPrimitives","originalObjectIsFrozen","objectPreventExtensionsAcceptsPrimitives","originalObjectPreventExtensions","isExtensible","objectIsExtensibleAcceptsPrimitives","originalObjectIsExtensible","objectGetProtoAcceptsPrimitives","originalGetProto","flags","regExpFlagsGetter","ignoreCase","multiline","unicode","sticky","regExpSupportsFlagsWithRegex","OrigRegExp","RegExpShim","pattern","calledWithNew","regexGlobals","input","lastMatch","lastParen","leftContext","rightContext","prop","inverseEpsilon","roundTiesToEven","n","BINARY_32_EPSILON","BINARY_32_MAX_VALUE","BINARY_32_MIN_VALUE","numberCLZ","clz","MathShims","acosh","NaN","E","asinh","atanh","cbrt","negate","exp","clz32","LOG2E","cosh","expm1","t","sum","hypot","y","largest","log2","log10","LOG10E","log1p","sign","sinh","tanh","trunc","imul","ah","al","bh","bl","fround","v","MAX_VALUE","expm1OfTen","origMathRound","round","roundHandlesBoundaryConditions","smallestPositiveNumberWhereRoundBreaks","largestPositiveNumberWhereRoundBreaks","roundDoesNotIncreaseIntegers","num","ceil","origImul","PromiseShim","IsPromise","promise","_promise","PromiseCapability","capability","resolver","resolve","reject","setTimeout","makeZeroTimeout","postMessage","timeouts","messageName","setZeroTimeout","fn","handleMessage","event","data","stopPropagation","addEventListener","makePromiseAsap","P","Promise","task","then","enqueue","setImmediate","process","nextTick","PROMISE_IDENTITY","PROMISE_THROWER","PROMISE_PENDING","PROMISE_FULFILLED","PROMISE_REJECTED","promiseReactionJob","reaction","argument","promiseCapability","capabilities","handler","handlerResult","handlerException","triggerPromiseReactions","reactions","fulfillPromise","fulfillReactions","rejectReactions","state","rejectPromise","reason","createResolvingFunctions","alreadyResolved","resolution","promiseResolveThenableJob","thenable","resolvingFunctions","getPromiseSpecies","Promise$prototype","_promiseAllResolver","index","remaining","alreadyCalled","performPromiseAll","iteratorRecord","resultCapability","nextPromise","resolveElement","performPromiseRace","all","iterable","ee","race","rejectFunc","resolveFunc","catch","onRejected","onFulfilled","fulfillReaction","rejectReaction","accept","defer","chain","promiseSupportsSubclassing","promiseIgnoresNonFunctionThenCallbacks","promiseRequiresObjectContext","promiseResolveBroken","testOrder","preservesInsertionOrder","preservesNumericInsertionOrder","fastkey","type","emptyObject","addIterableToMap","MapConstructor","entry","iter","adder","nextItem","addIterableToSet","SetConstructor","add","collectionShims","Map","empty","MapEntry","prev","isRemoved","isMap","_es6map","requireMapSlot","MapIterator","head","_head","MapShim","Map$prototype","_storage","_size","fkey","has","delete","clear","callback","context","isSet","_es6set","requireSetSlot","SetShim","Set$prototype","[[SetData]]","ensureMap","m","charAt","size","hasFKey","entireSet","mapAcceptsArguments","OrigMapNoArgs","testMap","mapUsesSameValueZero","mapSupportsChaining","origMapSet","origMapGet","origMapHas","testSet","setUsesSameValueZero","setSupportsChaining","origSetAdd","origSetHas","origSetDel","SetDelete","mapSupportsSubclassing","M","mapFailsToSupportSubclassing","mapRequiresNew","OrigMap","setSupportsSubclassing","setFailsToSupportSubclassing","setRequiresNew","OrigSet","mapIterationThrowsStopIterator","anonymousSetHas","throwUnlessTargetIsObject","ReflectShims","deleteProperty","desc","enumerate","ownKeys","callAndCatchException","ConvertExceptionToBoolean","internalGet","receiver","parent","internalSet","existingDesc","propertyKey","attributes","objectDotGetPrototypeOf","willCreateCircularPrototype","defineOrOverrideReflectProperty","shim","acceptsPrimitives","originalReflectGetProto","Date","dateToString","shimmedDateToString","valueOf","stringHTMLshims","anchor","big","blink","bold","fixed","fontcolor","color","fontsize","italics","link","url","small","strike","sub","sup","shouldOverwrite","output","quotesCount","match","toLowerCase"],"mappings":"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"} \ No newline at end of file +{"version":3,"sources":["es6-shim.js"],"names":["root","factory","define","amd","exports","module","returnExports","this","_apply","Function","call","bind","apply","_call","not","notThunker","func","notThunk","arguments","throwsError","e","valueOrFalseIfThrows","isCallableWithoutNew","arePropertyDescriptorsSupported","Object","defineProperty","supportsDescriptors","functionsHaveNames","foo","name","_forEach","Array","prototype","forEach","_reduce","reduce","_filter","filter","_every","every","createDataProperty","object","value","configurable","enumerable","writable","createDataPropertyOrThrow","ES","SameValue","TypeError","force","defineProperties","map","keys","method","create","properties","Prototype","key","Value","defineByDescriptor","supportsSubclassing","C","f","setPrototypeOf","Sub","Subclass","arg","o","constructor","startsWithRejectsRegex","String","startsWith","startsWithHandlesInfinity","Infinity","getGlobal","self","window","global","Error","globals","globalIsFinite","isFinite","hasStrictMode","startsWithIsCompliant","_indexOf","indexOf","_toString","toString","_concat","concat","_strSlice","slice","_push","push","_pushApply","_shift","shift","_max","Math","max","_min","min","_floor","floor","_abs","abs","_log","log","_sqrt","sqrt","_hasOwnProperty","hasOwnProperty","ArrayIterator","noop","Symbol","symbolSpecies","species","getter","get","proxy","originalObject","targetObject","originalDescriptor","getOwnPropertyDescriptor","getKey","set","setKey","redefine","property","newValue","descriptor","preserveToString","target","source","wrapConstructor","original","replacement","keysToSkip","getOwnPropertyNames","defaultSpeciesGetter","addDefaultSpecies","Type","primitive","x","string","regex","symbol","numberIsNaN","Number","isNaN","numberIsFinite","overrideNative","$iterator$","iterator","Set","addIterator","impl","implementation","isArguments","str","result","length","callee","Call","F","V","args","IsCallable","RequireObjectCoercible","optMessage","TypeIsObject","ToObject","IsConstructor","ToInt32","ToNumber","ToUint32","ToInteger","number","ToLength","len","MAX_SAFE_INTEGER","a","b","SameValueZero","IsIterable","GetIterator","itFn","GetMethod","it","p","IteratorComplete","iterResult","IteratorClose","completionIsThrow","returnMethod","innerResult","innerException","IteratorNext","next","IteratorStep","done","Construct","newTarget","isES6internal","Reflect","construct","proto","obj","SpeciesConstructor","O","defaultConstructor","S","CreateHTML","tag","attribute","p1","escapedV","replace","p2","p3","emulateES6construct","defaultNewTarget","defaultProto","slots","fromCodePoint","originalFromCodePoint","codePoints","StringShims","i","RangeError","fromCharCode","join","raw","callSite","cooked","rawString","literalsegments","stringElements","nextIndex","nextKey","nextSeg","nextSub",1,"stringRepeat","repeat","s","times","half","stringMaxLength","StringPrototypeShims","thisStr","numTimes","searchString","searchStr","startArg","start","endsWith","thisLen","posArg","pos","end","includes","position","codePointAt","first","charCodeAt","isEnd","second","hasStringTrimBug","trim","ws","trimRegexp","RegExp","StringIterator","_s","_i","substr","ArrayShims","from","items","mapFn","mapping","T","usingIterator","nextValue","undefined","arrayLike","of","A","isArray","k","iteratorResult","array","kind","retval","ObjectIterator","getAllKeys","arrayOfSupportsSubclassing","Foo","fooArr","ArrayPrototypeShims","copyWithin","relativeTarget","relativeStart","to","fin","count","direction","fill","relativeEnd","find","predicate","list","thisArg","findIndex","values","entries","unscopables","originalArrayPrototypeValues","getPrototypeOf","arrayFromSwallowsNegativeLengths","arrayFromHandlesIterables","arr","arrayFromHandlesUndefinedMapFunction","origArrayFrom","toLengthsCorrectly","reversed","originalForEach","callbackFn","originalMap","originalFilter","some","originalSome","originalEvery","originalReduce","reduceRight","originalReduceRight","OrigNumber","isBinary","test","isOctal","toPrimitive","valueOf","NumberShim","primValue","parseInt","maxSafeInteger","pow","MIN_SAFE_INTEGER","EPSILON","parseFloat","isInteger","isSafeInteger","item","idx","isEnumerableOn","propertyIsEnumerable","sliceArgs","initial","desiredArgCount","assignTo","assignToSource","assignReducer","symbols","getOwnPropertySymbols","ObjectShims","assign","is","assignHasPendingExceptions","preventExtensions","thrower","ES5ObjectShims","magic","checkArgs","polyfill","FAKENULL","gpo","spo","objectKeysAcceptsPrimitives","originalObjectKeys","objectGOPNAcceptsPrimitives","cachedWindowNames","originalObjectGetOwnPropertyNames","val","objectGOPDAcceptsPrimitives","originalObjectGetOwnPropertyDescriptor","seal","objectSealAcceptsPrimitives","originalObjectSeal","isSealed","objectIsSealedAcceptsPrimitives","originalObjectIsSealed","freeze","objectFreezeAcceptsPrimitives","originalObjectFreeze","isFrozen","objectIsFrozenAcceptsPrimitives","originalObjectIsFrozen","objectPreventExtensionsAcceptsPrimitives","originalObjectPreventExtensions","isExtensible","objectIsExtensibleAcceptsPrimitives","originalObjectIsExtensible","objectGetProtoAcceptsPrimitives","originalGetProto","flags","regExpFlagsGetter","ignoreCase","multiline","unicode","sticky","regExpSupportsFlagsWithRegex","OrigRegExp","RegExpShim","pattern","calledWithNew","$input","regexGlobals","input","lastMatch","lastParen","leftContext","rightContext","prop","inverseEpsilon","roundTiesToEven","n","BINARY_32_EPSILON","BINARY_32_MAX_VALUE","BINARY_32_MIN_VALUE","numberCLZ","clz","MathShims","acosh","NaN","E","asinh","atanh","cbrt","negate","exp","clz32","LOG2E","cosh","expm1","t","sum","hypot","y","largest","log2","log10","LOG10E","log1p","sign","sinh","tanh","trunc","imul","ah","al","bh","bl","fround","v","MAX_VALUE","expm1OfTen","origMathRound","round","roundHandlesBoundaryConditions","smallestPositiveNumberWhereRoundBreaks","largestPositiveNumberWhereRoundBreaks","roundDoesNotIncreaseIntegers","num","ceil","origImul","PromiseShim","IsPromise","promise","_promise","PromiseCapability","capability","resolver","resolve","reject","setTimeout","makeZeroTimeout","postMessage","timeouts","messageName","setZeroTimeout","fn","handleMessage","event","data","stopPropagation","addEventListener","makePromiseAsap","P","Promise","task","then","enqueue","setImmediate","process","nextTick","PROMISE_IDENTITY","PROMISE_THROWER","PROMISE_PENDING","PROMISE_FULFILLED","PROMISE_REJECTED","promiseReactionJob","reaction","argument","promiseCapability","capabilities","handler","handlerResult","handlerException","triggerPromiseReactions","reactions","fulfillPromise","fulfillReactions","rejectReactions","state","rejectPromise","reason","createResolvingFunctions","alreadyResolved","resolution","promiseResolveThenableJob","thenable","resolvingFunctions","getPromiseSpecies","Promise$prototype","_promiseAllResolver","index","remaining","alreadyCalled","performPromiseAll","iteratorRecord","resultCapability","nextPromise","resolveElement","performPromiseRace","all","iterable","ee","race","rejectFunc","resolveFunc","catch","onRejected","onFulfilled","fulfillReaction","rejectReaction","accept","defer","chain","promiseSupportsSubclassing","promiseIgnoresNonFunctionThenCallbacks","promiseRequiresObjectContext","promiseResolveBroken","testOrder","preservesInsertionOrder","preservesNumericInsertionOrder","fastkey","type","emptyObject","addIterableToMap","MapConstructor","entry","iter","adder","nextItem","addIterableToSet","SetConstructor","add","collectionShims","Map","empty","MapEntry","prev","isRemoved","isMap","_es6map","requireMapSlot","MapIterator","head","_head","MapShim","Map$prototype","_storage","_size","fkey","has","delete","clear","callback","context","isSet","_es6set","requireSetSlot","SetShim","Set$prototype","[[SetData]]","ensureMap","m","charAt","size","hasFKey","entireSet","mapAcceptsArguments","OrigMapNoArgs","testMap","mapUsesSameValueZero","mapSupportsChaining","origMapSet","origMapGet","origMapHas","testSet","setUsesSameValueZero","setSupportsChaining","origSetAdd","origSetHas","origSetDel","SetDelete","mapSupportsSubclassing","M","mapFailsToSupportSubclassing","mapRequiresNew","OrigMap","setSupportsSubclassing","setFailsToSupportSubclassing","setRequiresNew","OrigSet","mapIterationThrowsStopIterator","anonymousSetHas","throwUnlessTargetIsObject","ReflectShims","deleteProperty","desc","enumerate","ownKeys","callAndCatchException","ConvertExceptionToBoolean","internalGet","receiver","parent","internalSet","existingDesc","propertyKey","attributes","objectDotGetPrototypeOf","willCreateCircularPrototype","defineOrOverrideReflectProperty","shim","acceptsPrimitives","originalReflectGetProto","Date","dateToString","shimmedDateToString","stringHTMLshims","anchor","big","blink","bold","fixed","fontcolor","color","fontsize","italics","link","url","small","strike","sub","sup","shouldOverwrite","output","quotesCount","match","toLowerCase"],"mappings":"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"} \ No newline at end of file diff --git a/es6-shim.min.js b/es6-shim.min.js index dc0e1747..f27e1c5f 100644 --- a/es6-shim.min.js +++ b/es6-shim.min.js @@ -2,11 +2,11 @@ * https://github.com/paulmillr/es6-shim * @license es6-shim Copyright 2013-2015 by Paul Miller (http://paulmillr.com) * and contributors, MIT License - * es6-shim: v0.32.3 + * es6-shim: v0.33.1 * see https://github.com/paulmillr/es6-shim/blob/0.32.3/LICENSE * Details and documentation: * https://github.com/paulmillr/es6-shim/ */ -(function(e,t){if(typeof define==="function"&&define.amd){define(t)}else if(typeof exports==="object"){module.exports=t()}else{e.returnExports=t()}})(this,function(){"use strict";var e=Function.call.bind(Function.apply);var t=Function.call.bind(Function.call);var r=function Or(t){return function r(){return!e(t,this,arguments)}};var n=function(e){try{e();return false}catch(t){return true}};var o=function wr(e){try{return e()}catch(t){return false}};var i=r(n);var a=function(){return!n(function(){Object.defineProperty({},"x",{})})};var u=!!Object.defineProperty&&a();var f=function jr(){}.name==="foo";var s=Function.call.bind(Array.prototype.forEach);var c=Function.call.bind(Array.prototype.reduce);var l=Function.call.bind(Array.prototype.filter);var p=Function.call.bind(Array.prototype.every);var v=function Sr(e,t,r){if(u){Object.defineProperty(e,t,{configurable:true,enumerable:true,writable:true,value:r})}else{e[t]=r}};var h=function Tr(e,t,r){v(e,t,r);if(!ee.SameValue(e[t],r)){throw new TypeError("property is nonconfigurable")}};var y=function(e,t,r,n){if(!n&&t in e){return}if(u){Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:true,value:r})}else{e[t]=r}};var b=function(e,t){s(Object.keys(t),function(r){var n=t[r];y(e,r,n,false)})};var g=Object.create||function(e,t){var r=function o(){};r.prototype=e;var n=new r;if(typeof t!=="undefined"){Object.keys(t).forEach(function(e){V.defineByDescriptor(n,e,t[e])})}return n};var d=function(e,t){if(!Object.setPrototypeOf){return false}return o(function(){var r=function n(t){var r=new e(t);Object.setPrototypeOf(r,n.prototype);return r};Object.setPrototypeOf(r,e);r.prototype=g(e.prototype,{constructor:{value:r}});return t(r)})};var m=function(){return String.prototype.startsWith&&n(function(){"/a/".startsWith(/a/)})};var O=function(){return String.prototype.startsWith&&"abc".startsWith("a",Infinity)===false}();var w=function(){if(typeof self!=="undefined"){return self}if(typeof window!=="undefined"){return window}if(typeof global!=="undefined"){return global}throw new Error("unable to locate global object")};var j=w();var S=j.isFinite;var T=function(){return this===null}.call(null);var I=m()&&O;var E=Function.call.bind(String.prototype.indexOf);var M=Function.call.bind(Object.prototype.toString);var P=Function.call.bind(Array.prototype.concat);var x=Function.call.bind(String.prototype.slice);var C=Function.call.bind(Array.prototype.push);var A=Function.apply.bind(Array.prototype.push);var N=Function.call.bind(Array.prototype.shift);var _=Math.max;var k=Math.min;var R=Math.floor;var F=Math.abs;var L=Math.log;var D=Math.sqrt;var z=Function.call.bind(Object.prototype.hasOwnProperty);var q;var G=function(){};var H=j.Symbol||{};var W=H.species||"@@species";var V={getter:function(e,t,r){if(!u){throw new TypeError("getters require true ES5 support")}Object.defineProperty(e,t,{configurable:true,enumerable:false,get:r})},proxy:function(e,t,r){if(!u){throw new TypeError("getters require true ES5 support")}var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,{configurable:n.configurable,enumerable:n.enumerable,get:function o(){return e[t]},set:function i(r){e[t]=r}})},redefine:function(e,t,r){if(u){var n=Object.getOwnPropertyDescriptor(e,t);n.value=r;Object.defineProperty(e,t,n)}else{e[t]=r}},defineByDescriptor:function(e,t,r){if(u){Object.defineProperty(e,t,r)}else if("value"in r){e[t]=r.value}},preserveToString:function(e,t){y(e,"toString",t.toString.bind(t),true)}};var B=function(){return this};var $=function(e){if(u&&!z(e,W)){V.getter(e,W,B)}};var U={object:function(e){return e!==null&&typeof e==="object"},string:function(e){return M(e)==="[object String]"},regex:function(e){return M(e)==="[object RegExp]"},symbol:function(e){return typeof j.Symbol==="function"&&typeof e==="symbol"}};var X=Number.isNaN||function Ir(e){return e!==e};var Z=Number.isFinite||function Er(e){return typeof e==="number"&&S(e)};var K=function Mr(e,t,r){var n=e[t];y(e,t,r,true);V.preserveToString(e[t],n)};var J=U.symbol(H.iterator)?H.iterator:"_es6-shim iterator_";if(j.Set&&typeof(new j.Set)["@@iterator"]==="function"){J="@@iterator"}var Q=function(e,t){var r=t||function n(){return this};y(e,J,r);if(!e[J]&&U.symbol(J)){e[J]=r}};var Y=function Pr(e){var t=M(e);var r=t==="[object Arguments]";if(!r){r=t!=="[object Array]"&&e!==null&&typeof e==="object"&&typeof e.length==="number"&&e.length>=0&&M(e.callee)==="[object Function]"}return r};var ee={Call:function xr(t,r){var n=arguments.length>2?arguments[2]:[];if(!ee.IsCallable(t)){throw new TypeError(t+" is not a function")}return e(t,r,n)},RequireObjectCoercible:function(e,t){if(e==null){throw new TypeError(t||"Cannot call method on "+e)}},TypeIsObject:function(e){return e!=null&&Object(e)===e},ToObject:function(e,t){ee.RequireObjectCoercible(e,t);return Object(e)},IsCallable:function(e){return typeof e==="function"&&M(e)==="[object Function]"},IsConstructor:function(e){return ee.IsCallable(e)},ToInt32:function(e){return ee.ToNumber(e)>>0},ToUint32:function(e){return ee.ToNumber(e)>>>0},ToNumber:function(e){if(M(e)==="[object Symbol]"){throw new TypeError("Cannot convert a Symbol value to a number")}return+e},ToInteger:function(e){var t=ee.ToNumber(e);if(X(t)){return 0}if(t===0||!Z(t)){return t}return(t>0?1:-1)*R(F(t))},ToLength:function(e){var t=ee.ToInteger(e);if(t<=0){return 0}if(t>Number.MAX_SAFE_INTEGER){return Number.MAX_SAFE_INTEGER}return t},SameValue:function(e,t){if(e===t){if(e===0){return 1/e===1/t}return true}return X(e)&&X(t)},SameValueZero:function(e,t){return e===t||X(e)&&X(t)},IsIterable:function(e){return ee.TypeIsObject(e)&&(typeof e[J]!=="undefined"||Y(e))},GetIterator:function(e){if(Y(e)){return new q(e,"value")}var r=ee.GetMethod(e,J);if(!ee.IsCallable(r)){throw new TypeError("value is not an iterable")}var n=t(r,e);if(!ee.TypeIsObject(n)){throw new TypeError("bad iterator")}return n},GetMethod:function(e,t){var r=ee.ToObject(e)[t];if(r===void 0||r===null){return void 0}if(!ee.IsCallable(r)){throw new TypeError("Method not callable: "+t)}return r},IteratorComplete:function(e){return!!e.done},IteratorClose:function(e,r){var n=ee.GetMethod(e,"return");if(n===void 0){return}var o,i;try{o=t(n,e)}catch(a){i=a}if(r){return}if(i){throw i}if(!ee.TypeIsObject(o)){throw new TypeError("Iterator's return method returned a non-object.")}},IteratorNext:function(e){var t=arguments.length>1?e.next(arguments[1]):e.next();if(!ee.TypeIsObject(t)){throw new TypeError("bad iterator")}return t},IteratorStep:function(e){var t=ee.IteratorNext(e);var r=ee.IteratorComplete(t);return r?false:t},Construct:function(e,t,r,n){if(r===void 0){r=e}if(!n){return ur.construct(e,t,r)}var o=r.prototype;if(!ee.TypeIsObject(o)){o=Object.prototype}var i=g(o);var a=ee.Call(e,i,t);return ee.TypeIsObject(a)?a:i},SpeciesConstructor:function(e,t){var r=e.constructor;if(r===void 0){return t}if(!ee.TypeIsObject(r)){throw new TypeError("Bad constructor")}var n=r[W];if(n===void 0||n===null){return t}if(!ee.IsConstructor(n)){throw new TypeError("Bad @@species")}return n},CreateHTML:function(e,t,r,n){var o=String(e);var i="<"+t;if(r!==""){var a=String(n);var u=a.replace(/"/g,""");i+=" "+r+'="'+u+'"'}var f=i+">";var s=f+o;return s+""}};var te=function(e,t,r,n){if(!ee.TypeIsObject(e)){throw new TypeError("Constructor requires `new`: "+t.name)}var o=t.prototype;if(!ee.TypeIsObject(o)){o=r}e=g(o);for(var i in n){if(z(n,i)){var a=n[i];y(e,i,a,true)}}return e};if(String.fromCodePoint&&String.fromCodePoint.length!==1){var re=String.fromCodePoint;K(String,"fromCodePoint",function Cr(t){return e(re,this,arguments)})}var ne={fromCodePoint:function Ar(e){var t=[];var r;for(var n=0,o=arguments.length;n1114111){throw new RangeError("Invalid code point "+r)}if(r<65536){C(t,String.fromCharCode(r))}else{r-=65536;C(t,String.fromCharCode((r>>10)+55296));C(t,String.fromCharCode(r%1024+56320))}}return t.join("")},raw:function Nr(e){var t=ee.ToObject(e,"bad callSite");var r=ee.ToObject(t.raw,"bad raw value");var n=r.length;var o=ee.ToLength(n);if(o<=0){return""}var i=[];var a=0;var u,f,s,c;while(a=o){break}f=a+1=ie){throw new RangeError("repeat count must be less than infinity and not overflow maximum string size")}return oe(t,r)},startsWith:function Rr(e){ee.RequireObjectCoercible(this);var t=String(this);if(U.regex(e)){throw new TypeError('Cannot call method "startsWith" with a regex')}var r=String(e);var n=arguments.length>1?arguments[1]:void 0;var o=_(ee.ToInteger(n),0);return x(t,o,o+r.length)===r},endsWith:function Fr(e){ee.RequireObjectCoercible(this);var t=String(this);if(U.regex(e)){throw new TypeError('Cannot call method "endsWith" with a regex')}var r=String(e);var n=t.length;var o=arguments.length>1?arguments[1]:void 0;var i=typeof o==="undefined"?n:ee.ToInteger(o);var a=k(_(i,0),n);return x(t,a-r.length,a)===r},includes:function Lr(e){if(U.regex(e)){throw new TypeError('"includes" does not accept a RegExp')}var t;if(arguments.length>1){t=arguments[1]}return E(this,e,t)!==-1},codePointAt:function Dr(e){ee.RequireObjectCoercible(this);var t=String(this);var r=ee.ToInteger(e);var n=t.length;if(r>=0&&r56319||i){return o}var a=t.charCodeAt(r+1);if(a<56320||a>57343){return o}return(o-55296)*1024+(a-56320)+65536}}};b(String.prototype,ae);if("a".includes("a",Infinity)!==false){K(String.prototype,"includes",ae.includes)}var ue="\x85".trim().length!==1;if(ue){delete String.prototype.trim;var fe=[" \n \f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003","\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028","\u2029\ufeff"].join("");var se=new RegExp("(^["+fe+"]+)|(["+fe+"]+$)","g");b(String.prototype,{trim:function zr(){if(typeof this==="undefined"||this===null){throw new TypeError("can't convert "+this+" to object")}return String(this).replace(se,"")}})}var ce=function(e){ee.RequireObjectCoercible(e);this._s=String(e);this._i=0};ce.prototype.next=function(){var e=this._s,t=this._i;if(typeof e==="undefined"||t>=e.length){this._s=void 0;return{value:void 0,done:true}}var r=e.charCodeAt(t),n,o;if(r<55296||r>56319||t+1===e.length){o=1}else{n=e.charCodeAt(t+1);o=n<56320||n>57343?1:2}this._i=t+o;return{value:e.substr(t,o),done:false}};Q(ce.prototype);Q(String.prototype,function(){return new ce(this)});if(!I){K(String.prototype,"startsWith",ae.startsWith);K(String.prototype,"endsWith",ae.endsWith)}var le={from:function qr(e){var r=this;var n=arguments.length>1?arguments[1]:void 0;var o,i;if(n===void 0){o=false}else{if(!ee.IsCallable(n)){throw new TypeError("Array.from: when provided, the second argument must be a function")}i=arguments.length>2?arguments[2]:void 0;o=true}var a=Y(e)||ee.GetMethod(e,J);var u,f,s;if(a!==void 0){f=ee.IsConstructor(r)?Object(new r):[];var c=ee.GetIterator(e);var l,p;for(s=0;;++s){l=ee.IteratorStep(c);if(l===false){break}p=l.value;try{if(o){p=i!==undefined?t(n,i,p,s):n(p,s)}f[s]=p}catch(v){ee.IteratorClose(c,true);throw v}}u=s}else{var h=ee.ToObject(e);u=ee.ToLength(h.length);f=ee.IsConstructor(r)?Object(new r(u)):new Array(u);var y;for(s=0;s0){e=N(t);if(!(e in this.object)){continue}if(this.kind==="key"){return pe(e)}else if(this.kind==="value"){return pe(this.object[e])}else{return pe([e,this.object[e]])}}return pe()}});Q(ve.prototype);var ye=Array.of===le.of||function(){var e=function r(e){this.length=e};e.prototype=[];var t=Array.of.apply(e,[1,2]);return t instanceof e&&t.length===2}();if(!ye){K(Array,"of",le.of)}var be={copyWithin:function Wr(e,t){var r=arguments[2];var n=ee.ToObject(this);var o=ee.ToLength(n.length);var i=ee.ToInteger(e);var a=ee.ToInteger(t);var u=i<0?_(o+i,0):k(i,o);var f=a<0?_(o+a,0):k(a,o);r=typeof r==="undefined"?o:ee.ToInteger(r);var s=r<0?_(o+r,0):k(r,o);var c=k(s-f,o-u);var l=1;if(f0){if(z(n,f)){n[u]=n[f]}else{delete n[f]}f+=l;u+=l;c-=1}return n},fill:function Vr(e){var t=arguments.length>1?arguments[1]:void 0;var r=arguments.length>2?arguments[2]:void 0;var n=ee.ToObject(this);var o=ee.ToLength(n.length);t=ee.ToInteger(typeof t==="undefined"?0:t);r=ee.ToInteger(typeof r==="undefined"?o:r);var i=t<0?_(o+t,0):k(t,o);var a=r<0?o+r:r;for(var u=i;u1?arguments[1]:null;for(var i=0,a;i1?arguments[1]:null;for(var i=0;i0&&typeof arguments[1]!=="undefined"){return e(we,this,arguments)}else{return t(we,this,r)}})}var je=function(e,r){var n={length:-1};n[r?(-1>>>0)-1:0]=true;return o(function(){t(e,n,function(){throw new RangeError("should not reach here")},[])})};if(!je(Array.prototype.forEach)){var Se=Array.prototype.forEach;K(Array.prototype,"forEach",function Qr(t){return e(Se,this.length>=0?this:[],arguments)},true)}if(!je(Array.prototype.map)){var Te=Array.prototype.map;K(Array.prototype,"map",function Yr(t){return e(Te,this.length>=0?this:[],arguments)},true)}if(!je(Array.prototype.filter)){var Ie=Array.prototype.filter;K(Array.prototype,"filter",function en(t){return e(Ie,this.length>=0?this:[],arguments)},true)}if(!je(Array.prototype.some)){var Ee=Array.prototype.some;K(Array.prototype,"some",function tn(t){return e(Ee,this.length>=0?this:[],arguments)},true)}if(!je(Array.prototype.every)){var Me=Array.prototype.every;K(Array.prototype,"every",function rn(t){return e(Me,this.length>=0?this:[],arguments)},true)}if(!je(Array.prototype.reduce)){var Pe=Array.prototype.reduce;K(Array.prototype,"reduce",function nn(t){return e(Pe,this.length>=0?this:[],arguments)},true)}if(!je(Array.prototype.reduceRight,true)){var xe=Array.prototype.reduceRight;K(Array.prototype,"reduceRight",function on(t){return e(xe,this.length>=0?this:[],arguments)},true)}var Ce=Math.pow(2,53)-1;b(Number,{MAX_SAFE_INTEGER:Ce,MIN_SAFE_INTEGER:-Ce,EPSILON:2.220446049250313e-16,parseInt:j.parseInt,parseFloat:j.parseFloat,isFinite:Z,isInteger:function an(e){return Z(e)&&ee.ToInteger(e)===e},isSafeInteger:function un(e){return Number.isInteger(e)&&F(e)<=Number.MAX_SAFE_INTEGER},isNaN:X});y(Number,"parseInt",j.parseInt,Number.parseInt!==j.parseInt);if(![,1].find(function(e,t){return t===0})){K(Array.prototype,"find",be.find)}if([,1].findIndex(function(e,t){return t===0})!==0){K(Array.prototype,"findIndex",be.findIndex)}var Ae=Function.bind.call(Function.bind,Object.prototype.propertyIsEnumerable);var Ne=function fn(){var e=Number(this);var t=arguments.length;var r=t-e;var n=new Array(r<0?0:r);for(var o=e;o1){return NaN}if(t===-1){return-Infinity}if(t===1){return Infinity}if(t===0){return t}return.5*L((1+t)/(1-t))},cbrt:function Mn(e){var t=Number(e);if(t===0){return t}var r=t<0,n;if(r){t=-t}if(t===Infinity){n=Infinity}else{n=Math.exp(L(t)/3);n=(t/(n*n)+2*n)/3}return r?-n:n},clz32:function Pn(e){var r=Number(e);var n=ee.ToUint32(r);if(n===0){return 32}return yt?t(yt,n):31-R(L(n+.5)*Math.LOG2E)},cosh:function xn(e){var t=Number(e);if(t===0){return 1}if(Number.isNaN(t)){return NaN}if(!S(t)){return Infinity}if(t<0){t=-t}if(t>21){return Math.exp(t)/2}return(Math.exp(t)+Math.exp(-t))/2},expm1:function Cn(e){var t=Number(e);if(t===-Infinity){return-1}if(!S(t)||t===0){return t}if(F(t)>.5){return Math.exp(t)-1}var r=t;var n=0;var o=1;while(n+r!==n){n+=r;o+=1;r*=t/o}return n},hypot:function An(e,t){var r=0;var n=0;for(var o=0;o0?i/n*(i/n):i}}return n===Infinity?Infinity:n*D(r)},log2:function Nn(e){return L(e)*Math.LOG2E},log10:function _n(e){return L(e)*Math.LOG10E},log1p:function kn(e){var t=Number(e);if(t<-1||Number.isNaN(t)){return NaN}if(t===0||t===Infinity){return t}if(t===-1){return-Infinity}return 1+t-1===0?t:t*(L(1+t)/(1+t-1))},sign:function Rn(e){var t=Number(e);if(t===0){return t}if(Number.isNaN(t)){return t}return t<0?-1:1},sinh:function Fn(e){var t=Number(e);if(!S(t)||t===0){return t}if(F(t)<1){return(Math.expm1(t)-Math.expm1(-t))/2}return(Math.exp(t-1)-Math.exp(-t-1))*Math.E/2},tanh:function Ln(e){var t=Number(e);if(Number.isNaN(t)||t===0){return t}if(t===Infinity){return 1}if(t===-Infinity){return-1}var r=Math.expm1(t);var n=Math.expm1(-t);if(r===Infinity){return 1}if(n===Infinity){return-1}return(r-n)/(Math.exp(t)+Math.exp(-t))},trunc:function Dn(e){var t=Number(e);return t<0?-R(-t):R(t)},imul:function zn(e,t){var r=ee.ToUint32(e);var n=ee.ToUint32(t);var o=r>>>16&65535;var i=r&65535;var a=n>>>16&65535;var u=n&65535;return i*u+(o*u+i*a<<16>>>0)|0},fround:function qn(e){var t=Number(e);if(t===0||t===Infinity||t===-Infinity||X(t)){return t}var r=Math.sign(t);var n=F(t);if(nvt||X(i)){return r*Infinity}return r*i}};b(Math,bt);y(Math,"log1p",bt.log1p,Math.log1p(-1e-17)!==-1e-17);y(Math,"asinh",bt.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7));y(Math,"tanh",bt.tanh,Math.tanh(-2e-17)!==-2e-17);y(Math,"acosh",bt.acosh,Math.acosh(Number.MAX_VALUE)===Infinity);y(Math,"cbrt",bt.cbrt,Math.abs(1-Math.cbrt(1e-300)/1e-100)/Number.EPSILON>8);y(Math,"sinh",bt.sinh,Math.sinh(-2e-17)!==-2e-17);var gt=Math.expm1(10);y(Math,"expm1",bt.expm1,gt>22025.465794806718||gt<22025.465794806718);var dt=Math.round;var mt=Math.round(.5-Number.EPSILON/4)===0&&Math.round(-.5+Number.EPSILON/3.99)===1;var Ot=ct+1;var wt=2*ct-1;var jt=[Ot,wt].every(function(e){return Math.round(e)===e});y(Math,"round",function Gn(e){var t=R(e);var r=t===-1?-0:t+1;return e-t<.5?t:r},!mt||!jt);V.preserveToString(Math.round,dt);var St=Math.imul;if(Math.imul(4294967295,5)!==-5){Math.imul=bt.imul;V.preserveToString(Math.imul,St)}if(Math.imul.length!==2){K(Math,"imul",function Hn(t,r){return e(St,Math,arguments)})}var Tt=function(){ee.IsPromise=function(e){if(!ee.TypeIsObject(e)){return false}if(typeof e._promise==="undefined"){return false}return true};var e=function(e){if(!ee.IsConstructor(e)){throw new TypeError("Bad promise constructor")}var t=this;var r=function(e,r){if(t.resolve!==void 0||t.reject!==void 0){throw new TypeError("Bad Promise implementation!")}t.resolve=e;t.reject=r};t.promise=new e(r);if(!(ee.IsCallable(t.resolve)&&ee.IsCallable(t.reject))){throw new TypeError("Bad promise constructor")}};var r=j.setTimeout;var n;if(typeof window!=="undefined"&&ee.IsCallable(window.postMessage)){n=function(){var e=[];var t="zero-timeout-message";var r=function(r){C(e,r);window.postMessage(t,"*")};var n=function(r){if(r.source===window&&r.data===t){r.stopPropagation();if(e.length===0){return}var n=N(e);n()}};window.addEventListener("message",n,true);return r}}var o=function(){var e=j.Promise;return e&&e.resolve&&function(t){return e.resolve().then(t)}};var i=ee.IsCallable(j.setImmediate)?j.setImmediate.bind(j):typeof process==="object"&&process.nextTick?process.nextTick:o()||(ee.IsCallable(n)?n():function(e){r(e,0)});var a=1;var u=2;var f=3;var c=4;var l=5;var p=function(e,t){var r=e.capabilities;var n=e.handler;var o,i=false,f;if(n===a){o=t}else if(n===u){o=t;i=true}else{try{o=n(t)}catch(s){o=s;i=true}}f=i?r.reject:r.resolve;f(o)};var v=function(e,t){s(e,function(e){i(function(){p(e,t)})})};var h=function(e,t){var r=e._promise;var n=r.fulfillReactions;r.result=t;r.fulfillReactions=void 0;r.rejectReactions=void 0;r.state=c;v(n,t)};var y=function(e,t){var r=e._promise;var n=r.rejectReactions;r.result=t;r.fulfillReactions=void 0;r.rejectReactions=void 0;r.state=l;v(n,t)};var g=function(e){var t=false;var r=function(r){var n;if(t){return}t=true;if(r===e){return y(e,new TypeError("Self resolution"))}if(!ee.TypeIsObject(r)){return h(e,r)}try{n=r.then}catch(o){return y(e,o)}if(!ee.IsCallable(n)){return h(e,r)}i(function(){d(e,r,n)})};var n=function(r){if(t){return}t=true;return y(e,r)};return{resolve:r,reject:n}};var d=function(e,r,n){var o=g(e);var i=o.resolve;var a=o.reject;try{t(n,r,i,a)}catch(u){a(u)}};var m=function(e){if(!ee.TypeIsObject(e)){throw new TypeError("Promise is not object")}var t=e[W];if(t!==void 0&&t!==null){return t}return e};var O=function E(e){if(!(this instanceof E)){throw new TypeError('Constructor Promise requires "new"')}if(this&&this._promise){throw new TypeError("Bad construction")}if(!ee.IsCallable(e)){throw new TypeError("not a valid resolver")}var t=te(this,E,w,{_promise:{result:void 0,state:f,fulfillReactions:[],rejectReactions:[]}});var r=g(t);var n=r.reject;try{e(r.resolve,n)}catch(o){n(o)}return t};var w=O.prototype;var S=function(e,t,r,n){var o=false;return function(i){if(o){return}o=true;t[e]=i;if(--n.count===0){var a=r.resolve;a(t)}}};var T=function(e,t,r){var n=e.iterator;var o=[],i={count:1},a,u;for(var f=0;;f++){try{a=ee.IteratorStep(n);if(a===false){e.done=true;break}u=a.value}catch(s){e.done=true;throw s}o[f]=void 0;var c=t.resolve(u);var l=S(f,o,r,i);i.count++;c.then(l,r.reject)}if(--i.count===0){var p=r.resolve;p(o)}return r.promise};var I=function(e,t,r){var n=e.iterator,o,i,a;while(true){try{o=ee.IteratorStep(n);if(o===false){e.done=true;break}i=o.value}catch(u){e.done=true;throw u}a=t.resolve(i);a.then(r.resolve,r.reject)}return r.promise};b(O,{all:function M(t){var r=m(this);var n=new e(r);var o,i;try{o=ee.GetIterator(t);i={iterator:o,done:false};return T(i,r,n)}catch(a){if(i&&!i.done){try{ee.IteratorClose(o,true)}catch(u){a=u}}var f=n.reject;f(a);return n.promise}},race:function P(t){var r=m(this);var n=new e(r);var o,i;try{o=ee.GetIterator(t);i={iterator:o,done:false};return I(i,r,n)}catch(a){if(i&&!i.done){try{ee.IteratorClose(o,true)}catch(u){a=u}}var f=n.reject;f(a);return n.promise}},reject:function x(t){var r=this;var n=new e(r);var o=n.reject;o(t);return n.promise},resolve:function A(t){var r=this;if(ee.IsPromise(t)){var n=t.constructor;if(n===r){return t}}var o=new e(r);var i=o.resolve;i(t);return o.promise}});b(w,{"catch":function(e){return this.then(void 0,e)},then:function _(t,r){var n=this;if(!ee.IsPromise(n)){throw new TypeError("not a promise")}var o=ee.SpeciesConstructor(n,O);var s=new e(o);if(!ee.IsCallable(t)){t=a}if(!ee.IsCallable(r)){r=u}var v={capabilities:s,handler:t};var h={capabilities:s,handler:r};var y=n._promise,b;switch(y.state){case f:C(y.fulfillReactions,v);C(y.rejectReactions,h);break;case c:b=y.result;i(function(){p(v,b)});break;case l:b=y.result;i(function(){p(h,b)});break;default:throw new TypeError("unexpected")}return s.promise}});return O}();if(j.Promise){delete j.Promise.accept;delete j.Promise.defer;delete j.Promise.prototype.chain}b(j,{Promise:Tt});var It=d(j.Promise,function(e){return e.resolve(42).then(function(){})instanceof e});var Et=!n(function(){j.Promise.reject(42).then(null,5).then(null,G)});var Mt=n(function(){j.Promise.call(3,G)});var Pt=function(e){var t=e.resolve(5);t.constructor={};var r=e.resolve(t);return t===r}(j.Promise);if(!It||!Et||!Mt||Pt){Promise=Tt;K(j,"Promise",Tt)}$(Promise);var xt=function(e){var t=Object.keys(c(e,function(e,t){e[t]=true;return e},{}));return e.join(":")===t.join(":")};var Ct=xt(["z","a","bb"]);var At=xt(["z",1,"a","3",2]);if(u){var Nt=function Wn(e){if(!Ct){return null}var t=typeof e;if(t==="undefined"||e===null){return"^"+String(e)}else if(t==="string"){return"$"+e}else if(t==="number"){if(!At){return"n"+e}return e}else if(t==="boolean"){return"b"+e}return null};var _t=function Vn(){return Object.create?Object.create(null):{}};var kt=function Bn(e,r,n){if(Array.isArray(n)||U.string(n)){s(n,function(e){r.set(e[0],e[1])})}else if(n instanceof e){t(e.prototype.forEach,n,function(e,t){r.set(t,e)})}else{var o,i; -if(n!==null&&typeof n!=="undefined"){i=r.set;if(!ee.IsCallable(i)){throw new TypeError("bad map")}o=ee.GetIterator(n)}if(typeof o!=="undefined"){while(true){var a=ee.IteratorStep(o);if(a===false){break}var u=a.value;try{if(!ee.TypeIsObject(u)){throw new TypeError("expected iterable of pairs")}t(i,r,u[0],u[1])}catch(f){ee.IteratorClose(o,true);throw f}}}}};var Rt=function $n(e,r,n){if(Array.isArray(n)||U.string(n)){s(n,function(e){r.add(e)})}else if(n instanceof e){t(e.prototype.forEach,n,function(e){r.add(e)})}else{var o,i;if(n!==null&&typeof n!=="undefined"){i=r.add;if(!ee.IsCallable(i)){throw new TypeError("bad set")}o=ee.GetIterator(n)}if(typeof o!=="undefined"){while(true){var a=ee.IteratorStep(o);if(a===false){break}var u=a.value;try{t(i,r,u)}catch(f){ee.IteratorClose(o,true);throw f}}}}};var Ft={Map:function(){var e={};var r=function f(e,t){this.key=e;this.value=t;this.next=null;this.prev=null};r.prototype.isRemoved=function s(){return this.key===e};var n=function c(e){return!!e._es6map};var o=function l(e,t){if(!ee.TypeIsObject(e)||!n(e)){throw new TypeError("Method Map.prototype."+t+" called on incompatible receiver "+String(e))}};var i=function p(e,t){o(e,"[[MapIterator]]");this.head=e._head;this.i=this.head;this.kind=t};i.prototype={next:function v(){var e=this.i,t=this.kind,r=this.head,n;if(typeof this.i==="undefined"){return{value:void 0,done:true}}while(e.isRemoved()&&e!==r){e=e.prev}while(e.next!==r){e=e.next;if(!e.isRemoved()){if(t==="key"){n=e.key}else if(t==="value"){n=e.value}else{n=[e.key,e.value]}this.i=e;return{value:n,done:false}}}this.i=void 0;return{value:void 0,done:true}}};Q(i.prototype);var a=function h(){if(!(this instanceof h)){throw new TypeError('Constructor Map requires "new"')}if(this&&this._es6map){throw new TypeError("Bad construction")}var e=te(this,h,u,{_es6map:true,_head:null,_storage:_t(),_size:0});var t=new r(null,null);t.next=t.prev=t;e._head=t;if(arguments.length>0){kt(h,e,arguments[0])}return e};var u=a.prototype;V.getter(u,"size",function(){if(typeof this._size==="undefined"){throw new TypeError("size method called on incompatible Map")}return this._size});b(u,{get:function y(e){o(this,"get");var t=Nt(e);if(t!==null){var r=this._storage[t];if(r){return r.value}else{return}}var n=this._head,i=n;while((i=i.next)!==n){if(ee.SameValueZero(i.key,e)){return i.value}}},has:function g(e){o(this,"has");var t=Nt(e);if(t!==null){return typeof this._storage[t]!=="undefined"}var r=this._head,n=r;while((n=n.next)!==r){if(ee.SameValueZero(n.key,e)){return true}}return false},set:function d(e,t){o(this,"set");var n=this._head,i=n,a;var u=Nt(e);if(u!==null){if(typeof this._storage[u]!=="undefined"){this._storage[u].value=t;return this}else{a=this._storage[u]=new r(e,t);i=n.prev}}while((i=i.next)!==n){if(ee.SameValueZero(i.key,e)){i.value=t;return this}}a=a||new r(e,t);if(ee.SameValue(-0,e)){a.key=+0}a.next=this._head;a.prev=this._head.prev;a.prev.next=a;a.next.prev=a;this._size+=1;return this},"delete":function(t){o(this,"delete");var r=this._head,n=r;var i=Nt(t);if(i!==null){if(typeof this._storage[i]==="undefined"){return false}n=this._storage[i].prev;delete this._storage[i]}while((n=n.next)!==r){if(ee.SameValueZero(n.key,t)){n.key=n.value=e;n.prev.next=n.next;n.next.prev=n.prev;this._size-=1;return true}}return false},clear:function m(){o(this,"clear");this._size=0;this._storage=_t();var t=this._head,r=t,n=r.next;while((r=n)!==t){r.key=r.value=e;n=r.next;r.next=r.prev=t}t.next=t.prev=t},keys:function O(){o(this,"keys");return new i(this,"key")},values:function w(){o(this,"values");return new i(this,"value")},entries:function j(){o(this,"entries");return new i(this,"key+value")},forEach:function S(e){o(this,"forEach");var r=arguments.length>1?arguments[1]:null;var n=this.entries();for(var i=n.next();!i.done;i=n.next()){if(r){t(e,r,i.value[1],i.value[0],this)}else{e(i.value[1],i.value[0],this)}}}});Q(u,u.entries);return a}(),Set:function(){var e=function a(e){return e._es6set&&typeof e._storage!=="undefined"};var r=function u(t,r){if(!ee.TypeIsObject(t)||!e(t)){throw new TypeError("Set.prototype."+r+" called on incompatible receiver "+String(t))}};var n=function f(){if(!(this instanceof f)){throw new TypeError('Constructor Set requires "new"')}if(this&&this._es6set){throw new TypeError("Bad construction")}var e=te(this,f,o,{_es6set:true,"[[SetData]]":null,_storage:_t()});if(!e._es6set){throw new TypeError("bad set")}if(arguments.length>0){Rt(f,e,arguments[0])}return e};var o=n.prototype;var i=function c(e){if(!e["[[SetData]]"]){var t=e["[[SetData]]"]=new Ft.Map;s(Object.keys(e._storage),function(e){if(e==="^null"){e=null}else if(e==="^undefined"){e=void 0}else{var r=e.charAt(0);if(r==="$"){e=x(e,1)}else if(r==="n"){e=+x(e,1)}else if(r==="b"){e=e==="btrue"}else{e=+e}}t.set(e,e)});e._storage=null}};V.getter(n.prototype,"size",function(){r(this,"size");i(this);return this["[[SetData]]"].size});b(n.prototype,{has:function l(e){r(this,"has");var t;if(this._storage&&(t=Nt(e))!==null){return!!this._storage[t]}i(this);return this["[[SetData]]"].has(e)},add:function p(e){r(this,"add");var t;if(this._storage&&(t=Nt(e))!==null){this._storage[t]=true;return this}i(this);this["[[SetData]]"].set(e,e);return this},"delete":function(e){r(this,"delete");var t;if(this._storage&&(t=Nt(e))!==null){var n=z(this._storage,t);return delete this._storage[t]&&n}i(this);return this["[[SetData]]"]["delete"](e)},clear:function v(){r(this,"clear");if(this._storage){this._storage=_t()}else{this["[[SetData]]"].clear()}},values:function h(){r(this,"values");i(this);return this["[[SetData]]"].values()},entries:function g(){r(this,"entries");i(this);return this["[[SetData]]"].entries()},forEach:function d(e){r(this,"forEach");var n=arguments.length>1?arguments[1]:null;var o=this;i(o);this["[[SetData]]"].forEach(function(r,i){if(n){t(e,n,i,i,o)}else{e(i,i,o)}})}});y(n.prototype,"keys",n.prototype.values,true);Q(n.prototype,n.prototype.values);return n}()};if(j.Map||j.Set){var Lt=o(function(){return new Map([[1,2]]).get(1)===2});if(!Lt){var Dt=j.Map;j.Map=function Un(){if(!(this instanceof Un)){throw new TypeError('Constructor Map requires "new"')}var e=new Dt;if(arguments.length>0){kt(Un,e,arguments[0])}Object.setPrototypeOf(e,j.Map.prototype);y(e,"constructor",Un,true);return e};j.Map.prototype=g(Dt.prototype);V.preserveToString(j.Map,Dt)}var zt=new Map;var qt=function(e){e["delete"](0);e["delete"](-0);e.set(0,3);e.get(-0,4);return e.get(0)===3&&e.get(-0)===4}(zt);var Gt=zt.set(1,2)===zt;if(!qt||!Gt){var Ht=Map.prototype.set;K(Map.prototype,"set",function Xn(e,r){t(Ht,this,e===0?0:e,r);return this})}if(!qt){var Wt=Map.prototype.get;var Vt=Map.prototype.has;b(Map.prototype,{get:function Zn(e){return t(Wt,this,e===0?0:e)},has:function Kn(e){return t(Vt,this,e===0?0:e)}},true);V.preserveToString(Map.prototype.get,Wt);V.preserveToString(Map.prototype.has,Vt)}var Bt=new Set;var $t=function(e){e["delete"](0);e.add(-0);return!e.has(0)}(Bt);var Ut=Bt.add(1)===Bt;if(!$t||!Ut){var Xt=Set.prototype.add;Set.prototype.add=function Jn(e){t(Xt,this,e===0?0:e);return this};V.preserveToString(Set.prototype.add,Xt)}if(!$t){var Zt=Set.prototype.has;Set.prototype.has=function Qn(e){return t(Zt,this,e===0?0:e)};V.preserveToString(Set.prototype.has,Zt);var Kt=Set.prototype["delete"];Set.prototype["delete"]=function Yn(e){return t(Kt,this,e===0?0:e)};V.preserveToString(Set.prototype["delete"],Kt)}var Jt=d(j.Map,function(e){var t=new e([]);t.set(42,42);return t instanceof e});var Qt=Object.setPrototypeOf&&!Jt;var Yt=function(){try{return!(j.Map()instanceof j.Map)}catch(e){return e instanceof TypeError}}();if(j.Map.length!==0||Qt||!Yt){var er=j.Map;j.Map=function eo(){if(!(this instanceof eo)){throw new TypeError('Constructor Map requires "new"')}var e=new er;if(arguments.length>0){kt(eo,e,arguments[0])}Object.setPrototypeOf(e,eo.prototype);y(e,"constructor",eo,true);return e};j.Map.prototype=er.prototype;V.preserveToString(j.Map,er)}var tr=d(j.Set,function(e){var t=new e([]);t.add(42,42);return t instanceof e});var rr=Object.setPrototypeOf&&!tr;var nr=function(){try{return!(j.Set()instanceof j.Set)}catch(e){return e instanceof TypeError}}();if(j.Set.length!==0||rr||!nr){var or=j.Set;j.Set=function to(){if(!(this instanceof to)){throw new TypeError('Constructor Set requires "new"')}var e=new or;if(arguments.length>0){Rt(to,e,arguments[0])}Object.setPrototypeOf(e,to.prototype);y(e,"constructor",to,true);return e};j.Set.prototype=or.prototype;V.preserveToString(j.Set,or)}var ir=!o(function(){return(new Map).keys().next().done});if(typeof j.Map.prototype.clear!=="function"||(new j.Set).size!==0||(new j.Map).size!==0||typeof j.Map.prototype.keys!=="function"||typeof j.Set.prototype.keys!=="function"||typeof j.Map.prototype.forEach!=="function"||typeof j.Set.prototype.forEach!=="function"||i(j.Map)||i(j.Set)||typeof(new j.Map).keys().next!=="function"||ir||!Jt){delete j.Map;delete j.Set;b(j,{Map:Ft.Map,Set:Ft.Set},true)}if(j.Set.prototype.keys!==j.Set.prototype.values){y(j.Set.prototype,"keys",j.Set.prototype.values,true)}Q(Object.getPrototypeOf((new j.Map).keys()));Q(Object.getPrototypeOf((new j.Set).keys()));if(f&&j.Set.prototype.has.name!=="has"){var ar=j.Set.prototype.has;K(j.Set.prototype,"has",function ro(e){return t(ar,this,e)})}}b(j,Ft);$(j.Map);$(j.Set)}if(!j.Reflect){y(j,"Reflect",{})}var ur=j.Reflect;var fr=function no(e){if(!ee.TypeIsObject(e)){throw new TypeError("target must be an object")}};var sr={apply:function oo(){return e(ee.Call,null,arguments)},construct:function io(e,t){if(!ee.IsConstructor(e)){throw new TypeError("First argument must be a constructor.")}var r=arguments.length<3?e:arguments[2];if(!ee.IsConstructor(r)){throw new TypeError("new.target must be a constructor.")}return ee.Construct(e,t,r,"internal")},deleteProperty:function ao(e,t){fr(e);if(u){var r=Object.getOwnPropertyDescriptor(e,t);if(r&&!r.configurable){return false}}return delete e[t]},enumerate:function uo(e){fr(e);return new ve(e,"key")},has:function fo(e,t){fr(e);return t in e}};if(Object.getOwnPropertyNames){Object.assign(sr,{ownKeys:function so(e){fr(e);var t=Object.getOwnPropertyNames(e);if(ee.IsCallable(Object.getOwnPropertySymbols)){A(t,Object.getOwnPropertySymbols(e))}return t}})}var cr=function co(e){return!n(e)};if(Object.preventExtensions){Object.assign(sr,{isExtensible:function lo(e){fr(e);return Object.isExtensible(e)},preventExtensions:function po(e){fr(e);return cr(function(){Object.preventExtensions(e)})}})}if(u){var lr=function vo(e,r,n){var o=Object.getOwnPropertyDescriptor(e,r);if(!o){var i=Object.getPrototypeOf(e);if(i===null){return undefined}return lr(i,r,n)}if("value"in o){return o.value}if(o.get){return t(o.get,n)}return undefined};var pr=function ho(e,r,n,o){var i=Object.getOwnPropertyDescriptor(e,r);if(!i){var a=Object.getPrototypeOf(e);if(a!==null){return pr(a,r,n,o)}i={value:void 0,writable:true,enumerable:true,configurable:true}}if("value"in i){if(!i.writable){return false}if(!ee.TypeIsObject(o)){return false}var u=Object.getOwnPropertyDescriptor(o,r);if(u){return ur.defineProperty(o,r,{value:n})}else{return ur.defineProperty(o,r,{value:n,writable:true,enumerable:true,configurable:true})}}if(i.set){t(i.set,o,n);return true}return false};Object.assign(sr,{defineProperty:function yo(e,t,r){fr(e);return cr(function(){Object.defineProperty(e,t,r)})},getOwnPropertyDescriptor:function bo(e,t){fr(e);return Object.getOwnPropertyDescriptor(e,t)},get:function go(e,t){fr(e);var r=arguments.length>2?arguments[2]:e;return lr(e,t,r)},set:function mo(e,t,r){fr(e);var n=arguments.length>3?arguments[3]:e;return pr(e,t,r,n)}})}if(Object.getPrototypeOf){var vr=Object.getPrototypeOf;sr.getPrototypeOf=function Oo(e){fr(e);return vr(e)}}if(Object.setPrototypeOf&&sr.getPrototypeOf){var hr=function(e,t){while(t){if(e===t){return true}t=sr.getPrototypeOf(t)}return false};Object.assign(sr,{setPrototypeOf:function wo(e,t){fr(e);if(t!==null&&!ee.TypeIsObject(t)){throw new TypeError("proto must be an object or null")}if(t===ur.getPrototypeOf(e)){return true}if(ur.isExtensible&&!ur.isExtensible(e)){return false}if(hr(e,t)){return false}Object.setPrototypeOf(e,t);return true}})}var yr=function(e,t){if(!ee.IsCallable(j.Reflect[e])){y(j.Reflect,e,t)}else{var r=o(function(){j.Reflect[e](1);j.Reflect[e](NaN);j.Reflect[e](true);return true});if(r){K(j.Reflect,e,t)}}};Object.keys(sr).forEach(function(e){yr(e,sr[e])});if(f&&j.Reflect.getPrototypeOf.name!=="getPrototypeOf"){var br=j.Reflect.getPrototypeOf;K(j.Reflect,"getPrototypeOf",function jo(e){return t(br,j.Reflect,e)})}if(j.Reflect.setPrototypeOf){if(o(function(){j.Reflect.setPrototypeOf(1,{});return true})){K(j.Reflect,"setPrototypeOf",sr.setPrototypeOf)}}if(j.Reflect.defineProperty){if(o(function(){j.Reflect.defineProperty(1,"test",{value:1});return true})){K(j.Reflect,"defineProperty",sr.defineProperty)}}if(String(new Date(NaN))!=="Invalid Date"){var gr=Date.prototype.toString;var dr=function So(){var e=+this;if(e!==e){return"Invalid Date"}return t(gr,this)};K(Date.prototype,"toString",dr)}var mr={anchor:function To(e){return ee.CreateHTML(this,"a","name",e)},big:function Io(){return ee.CreateHTML(this,"big","","")},blink:function Eo(){return ee.CreateHTML(this,"blink","","")},bold:function Mo(){return ee.CreateHTML(this,"b","","")},fixed:function Po(){return ee.CreateHTML(this,"tt","","")},fontcolor:function xo(e){return ee.CreateHTML(this,"font","color",e)},fontsize:function Co(e){return ee.CreateHTML(this,"font","size",e)},italics:function Ao(){return ee.CreateHTML(this,"i","","")},link:function No(e){return ee.CreateHTML(this,"a","href",e)},small:function _o(){return ee.CreateHTML(this,"small","","")},strike:function ko(){return ee.CreateHTML(this,"strike","","")},sub:function Ro(){return ee.CreateHTML(this,"sub","","")},sup:function Fo(){return ee.CreateHTML(this,"sup","","")}};s(Object.keys(mr),function(e){var r=String.prototype[e];var n=false;if(ee.IsCallable(r)){var o=t(r,"",' " ');var i=P([],o.match(/"/g)).length;n=o!==o.toLowerCase()||i>2}else{n=true}if(n){y(String.prototype,e,mr[e],true)}});return j}); +(function(e,t){if(typeof define==="function"&&define.amd){define(t)}else if(typeof exports==="object"){module.exports=t()}else{e.returnExports=t()}})(this,function(){"use strict";var e=Function.call.bind(Function.apply);var t=Function.call.bind(Function.call);var r=function Er(t){return function r(){return!e(t,this,arguments)}};var n=function(e){try{e();return false}catch(t){return true}};var o=function Mr(e){try{return e()}catch(t){return false}};var i=r(n);var a=function(){return!n(function(){Object.defineProperty({},"x",{})})};var u=!!Object.defineProperty&&a();var f=function Pr(){}.name==="foo";var s=Function.call.bind(Array.prototype.forEach);var c=Function.call.bind(Array.prototype.reduce);var l=Function.call.bind(Array.prototype.filter);var p=Function.call.bind(Array.prototype.every);var v=function xr(e,t,r){if(u){Object.defineProperty(e,t,{configurable:true,enumerable:true,writable:true,value:r})}else{e[t]=r}};var h=function Cr(e,t,r){v(e,t,r);if(!te.SameValue(e[t],r)){throw new TypeError("property is nonconfigurable")}};var y=function(e,t,r,n){if(!n&&t in e){return}if(u){Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:true,value:r})}else{e[t]=r}};var b=function(e,t){s(Object.keys(t),function(r){var n=t[r];y(e,r,n,false)})};var g=Object.create||function(e,t){var r=function o(){};r.prototype=e;var n=new r;if(typeof t!=="undefined"){Object.keys(t).forEach(function(e){V.defineByDescriptor(n,e,t[e])})}return n};var d=function(e,t){if(!Object.setPrototypeOf){return false}return o(function(){var r=function n(t){var r=new e(t);Object.setPrototypeOf(r,n.prototype);return r};Object.setPrototypeOf(r,e);r.prototype=g(e.prototype,{constructor:{value:r}});return t(r)})};var m=function(){return String.prototype.startsWith&&n(function(){"/a/".startsWith(/a/)})};var w=function(){return String.prototype.startsWith&&"abc".startsWith("a",Infinity)===false}();var O=function(){if(typeof self!=="undefined"){return self}if(typeof window!=="undefined"){return window}if(typeof global!=="undefined"){return global}throw new Error("unable to locate global object")};var j=O();var S=j.isFinite;var T=function(){return this===null}.call(null);var I=m()&&w;var E=Function.call.bind(String.prototype.indexOf);var M=Function.call.bind(Object.prototype.toString);var P=Function.call.bind(Array.prototype.concat);var x=Function.call.bind(String.prototype.slice);var C=Function.call.bind(Array.prototype.push);var N=Function.apply.bind(Array.prototype.push);var A=Function.call.bind(Array.prototype.shift);var _=Math.max;var k=Math.min;var R=Math.floor;var F=Math.abs;var L=Math.log;var D=Math.sqrt;var z=Function.call.bind(Object.prototype.hasOwnProperty);var q;var G=function(){};var H=j.Symbol||{};var W=H.species||"@@species";var V={getter:function(e,t,r){if(!u){throw new TypeError("getters require true ES5 support")}Object.defineProperty(e,t,{configurable:true,enumerable:false,get:r})},proxy:function(e,t,r){if(!u){throw new TypeError("getters require true ES5 support")}var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,{configurable:n.configurable,enumerable:n.enumerable,get:function o(){return e[t]},set:function i(r){e[t]=r}})},redefine:function(e,t,r){if(u){var n=Object.getOwnPropertyDescriptor(e,t);n.value=r;Object.defineProperty(e,t,n)}else{e[t]=r}},defineByDescriptor:function(e,t,r){if(u){Object.defineProperty(e,t,r)}else if("value"in r){e[t]=r.value}},preserveToString:function(e,t){y(e,"toString",t.toString.bind(t),true)}};var B=function Nr(e,t,r){V.preserveToString(t,e);if(Object.setPrototypeOf){Object.setPrototypeOf(e,t)}s(Object.getOwnPropertyNames(e),function(n){if(n in G||r[n]){return}V.proxy(e,n,t)});t.prototype=e.prototype;V.redefine(e.prototype,"constructor",t)};var $=function(){return this};var U=function(e){if(u&&!z(e,W)){V.getter(e,W,$)}};var X={primitive:function(e){return e===null||typeof e!=="function"&&typeof e!=="object"},object:function(e){return e!==null&&typeof e==="object"},string:function(e){return M(e)==="[object String]"},regex:function(e){return M(e)==="[object RegExp]"},symbol:function(e){return typeof j.Symbol==="function"&&typeof e==="symbol"}};var Z=Number.isNaN||function Ar(e){return e!==e};var K=Number.isFinite||function _r(e){return typeof e==="number"&&S(e)};var J=function kr(e,t,r){var n=e[t];y(e,t,r,true);V.preserveToString(e[t],n)};var Q=X.symbol(H.iterator)?H.iterator:"_es6-shim iterator_";if(j.Set&&typeof(new j.Set)["@@iterator"]==="function"){Q="@@iterator"}var Y=function(e,t){var r=t||function n(){return this};y(e,Q,r);if(!e[Q]&&X.symbol(Q)){e[Q]=r}};var ee=function Rr(e){var t=M(e);var r=t==="[object Arguments]";if(!r){r=t!=="[object Array]"&&e!==null&&typeof e==="object"&&typeof e.length==="number"&&e.length>=0&&M(e.callee)==="[object Function]"}return r};var te={Call:function Fr(t,r){var n=arguments.length>2?arguments[2]:[];if(!te.IsCallable(t)){throw new TypeError(t+" is not a function")}return e(t,r,n)},RequireObjectCoercible:function(e,t){if(e==null){throw new TypeError(t||"Cannot call method on "+e)}},TypeIsObject:function(e){return e!=null&&Object(e)===e},ToObject:function(e,t){te.RequireObjectCoercible(e,t);return Object(e)},IsCallable:function(e){return typeof e==="function"&&M(e)==="[object Function]"},IsConstructor:function(e){return te.IsCallable(e)},ToInt32:function(e){return te.ToNumber(e)>>0},ToUint32:function(e){return te.ToNumber(e)>>>0},ToNumber:function(e){if(M(e)==="[object Symbol]"){throw new TypeError("Cannot convert a Symbol value to a number")}return+e},ToInteger:function(e){var t=te.ToNumber(e);if(Z(t)){return 0}if(t===0||!K(t)){return t}return(t>0?1:-1)*R(F(t))},ToLength:function(e){var t=te.ToInteger(e);if(t<=0){return 0}if(t>Number.MAX_SAFE_INTEGER){return Number.MAX_SAFE_INTEGER}return t},SameValue:function(e,t){if(e===t){if(e===0){return 1/e===1/t}return true}return Z(e)&&Z(t)},SameValueZero:function(e,t){return e===t||Z(e)&&Z(t)},IsIterable:function(e){return te.TypeIsObject(e)&&(typeof e[Q]!=="undefined"||ee(e))},GetIterator:function(e){if(ee(e)){return new q(e,"value")}var r=te.GetMethod(e,Q);if(!te.IsCallable(r)){throw new TypeError("value is not an iterable")}var n=t(r,e);if(!te.TypeIsObject(n)){throw new TypeError("bad iterator")}return n},GetMethod:function(e,t){var r=te.ToObject(e)[t];if(r===void 0||r===null){return void 0}if(!te.IsCallable(r)){throw new TypeError("Method not callable: "+t)}return r},IteratorComplete:function(e){return!!e.done},IteratorClose:function(e,r){var n=te.GetMethod(e,"return");if(n===void 0){return}var o,i;try{o=t(n,e)}catch(a){i=a}if(r){return}if(i){throw i}if(!te.TypeIsObject(o)){throw new TypeError("Iterator's return method returned a non-object.")}},IteratorNext:function(e){var t=arguments.length>1?e.next(arguments[1]):e.next();if(!te.TypeIsObject(t)){throw new TypeError("bad iterator")}return t},IteratorStep:function(e){var t=te.IteratorNext(e);var r=te.IteratorComplete(t);return r?false:t},Construct:function(e,t,r,n){if(r===void 0){r=e}if(!n){return vr.construct(e,t,r)}var o=r.prototype;if(!te.TypeIsObject(o)){o=Object.prototype}var i=g(o);var a=te.Call(e,i,t);return te.TypeIsObject(a)?a:i},SpeciesConstructor:function(e,t){var r=e.constructor;if(r===void 0){return t}if(!te.TypeIsObject(r)){throw new TypeError("Bad constructor")}var n=r[W];if(n===void 0||n===null){return t}if(!te.IsConstructor(n)){throw new TypeError("Bad @@species")}return n},CreateHTML:function(e,t,r,n){var o=String(e);var i="<"+t;if(r!==""){var a=String(n);var u=a.replace(/"/g,""");i+=" "+r+'="'+u+'"'}var f=i+">";var s=f+o;return s+""}};var re=function(e,t,r,n){if(!te.TypeIsObject(e)){throw new TypeError("Constructor requires `new`: "+t.name)}var o=t.prototype;if(!te.TypeIsObject(o)){o=r}e=g(o);for(var i in n){if(z(n,i)){var a=n[i];y(e,i,a,true)}}return e};if(String.fromCodePoint&&String.fromCodePoint.length!==1){var ne=String.fromCodePoint;J(String,"fromCodePoint",function Lr(t){return e(ne,this,arguments)})}var oe={fromCodePoint:function Dr(e){var t=[];var r;for(var n=0,o=arguments.length;n1114111){throw new RangeError("Invalid code point "+r)}if(r<65536){C(t,String.fromCharCode(r))}else{r-=65536;C(t,String.fromCharCode((r>>10)+55296));C(t,String.fromCharCode(r%1024+56320))}}return t.join("")},raw:function zr(e){var t=te.ToObject(e,"bad callSite");var r=te.ToObject(t.raw,"bad raw value");var n=r.length;var o=te.ToLength(n);if(o<=0){return""}var i=[];var a=0;var u,f,s,c;while(a=o){break}f=a+1=ae){throw new RangeError("repeat count must be less than infinity and not overflow maximum string size")}return ie(t,r)},startsWith:function Hr(e){te.RequireObjectCoercible(this);var t=String(this);if(X.regex(e)){throw new TypeError('Cannot call method "startsWith" with a regex')}var r=String(e);var n=arguments.length>1?arguments[1]:void 0;var o=_(te.ToInteger(n),0);return x(t,o,o+r.length)===r},endsWith:function Wr(e){te.RequireObjectCoercible(this);var t=String(this);if(X.regex(e)){throw new TypeError('Cannot call method "endsWith" with a regex')}var r=String(e);var n=t.length;var o=arguments.length>1?arguments[1]:void 0;var i=typeof o==="undefined"?n:te.ToInteger(o);var a=k(_(i,0),n);return x(t,a-r.length,a)===r},includes:function Vr(e){if(X.regex(e)){throw new TypeError('"includes" does not accept a RegExp')}var t;if(arguments.length>1){t=arguments[1]}return E(this,e,t)!==-1},codePointAt:function Br(e){te.RequireObjectCoercible(this);var t=String(this);var r=te.ToInteger(e);var n=t.length;if(r>=0&&r56319||i){return o}var a=t.charCodeAt(r+1);if(a<56320||a>57343){return o}return(o-55296)*1024+(a-56320)+65536}}};b(String.prototype,ue);if("a".includes("a",Infinity)!==false){J(String.prototype,"includes",ue.includes)}var fe="\x85".trim().length!==1;if(fe){delete String.prototype.trim;var se=[" \n \f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003","\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028","\u2029\ufeff"].join("");var ce=new RegExp("(^["+se+"]+)|(["+se+"]+$)","g");b(String.prototype,{trim:function $r(){if(typeof this==="undefined"||this===null){throw new TypeError("can't convert "+this+" to object")}return String(this).replace(ce,"")}})}var le=function(e){te.RequireObjectCoercible(e);this._s=String(e);this._i=0};le.prototype.next=function(){var e=this._s,t=this._i;if(typeof e==="undefined"||t>=e.length){this._s=void 0;return{value:void 0,done:true}}var r=e.charCodeAt(t),n,o;if(r<55296||r>56319||t+1===e.length){o=1}else{n=e.charCodeAt(t+1);o=n<56320||n>57343?1:2}this._i=t+o;return{value:e.substr(t,o),done:false}};Y(le.prototype);Y(String.prototype,function(){return new le(this)});if(!I){J(String.prototype,"startsWith",ue.startsWith);J(String.prototype,"endsWith",ue.endsWith)}var pe={from:function Ur(e){var r=this;var n=arguments.length>1?arguments[1]:void 0;var o,i;if(n===void 0){o=false}else{if(!te.IsCallable(n)){throw new TypeError("Array.from: when provided, the second argument must be a function")}i=arguments.length>2?arguments[2]:void 0;o=true}var a=ee(e)||te.GetMethod(e,Q);var u,f,s;if(a!==void 0){f=te.IsConstructor(r)?Object(new r):[];var c=te.GetIterator(e);var l,p;s=0;while(true){l=te.IteratorStep(c);if(l===false){break}p=l.value;try{if(o){p=i!==undefined?t(n,i,p,s):n(p,s)}f[s]=p}catch(v){te.IteratorClose(c,true);throw v}s+=1}u=s}else{var h=te.ToObject(e);u=te.ToLength(h.length);f=te.IsConstructor(r)?Object(new r(u)):new Array(u);var y;for(s=0;s0){e=A(t);if(!(e in this.object)){continue}if(this.kind==="key"){return ve(e)}else if(this.kind==="value"){return ve(this.object[e])}else{return ve([e,this.object[e]])}}return ve()}});Y(he.prototype);var be=Array.of===pe.of||function(){var e=function r(e){this.length=e};e.prototype=[];var t=Array.of.apply(e,[1,2]);return t instanceof e&&t.length===2}();if(!be){J(Array,"of",pe.of)}var ge={copyWithin:function Jr(e,t){var r=arguments[2];var n=te.ToObject(this);var o=te.ToLength(n.length);var i=te.ToInteger(e);var a=te.ToInteger(t);var u=i<0?_(o+i,0):k(i,o);var f=a<0?_(o+a,0):k(a,o);r=typeof r==="undefined"?o:te.ToInteger(r);var s=r<0?_(o+r,0):k(r,o);var c=k(s-f,o-u);var l=1;if(f0){if(z(n,f)){n[u]=n[f]}else{delete n[f]}f+=l;u+=l;c-=1}return n},fill:function Qr(e){var t=arguments.length>1?arguments[1]:void 0;var r=arguments.length>2?arguments[2]:void 0;var n=te.ToObject(this);var o=te.ToLength(n.length);t=te.ToInteger(typeof t==="undefined"?0:t);r=te.ToInteger(typeof r==="undefined"?o:r);var i=t<0?_(o+t,0):k(t,o);var a=r<0?o+r:r;for(var u=i;u1?arguments[1]:null;for(var i=0,a;i1?arguments[1]:null;for(var i=0;i0&&typeof arguments[1]!=="undefined"){return e(je,this,arguments)}else{return t(je,this,r)}})}var Se=function(e,r){var n={length:-1};n[r?(-1>>>0)-1:0]=true;return o(function(){t(e,n,function(){throw new RangeError("should not reach here")},[])})};if(!Se(Array.prototype.forEach)){var Te=Array.prototype.forEach;J(Array.prototype,"forEach",function un(t){return e(Te,this.length>=0?this:[],arguments)},true)}if(!Se(Array.prototype.map)){var Ie=Array.prototype.map;J(Array.prototype,"map",function fn(t){return e(Ie,this.length>=0?this:[],arguments)},true)}if(!Se(Array.prototype.filter)){var Ee=Array.prototype.filter;J(Array.prototype,"filter",function sn(t){return e(Ee,this.length>=0?this:[],arguments)},true)}if(!Se(Array.prototype.some)){var Me=Array.prototype.some;J(Array.prototype,"some",function cn(t){return e(Me,this.length>=0?this:[],arguments)},true)}if(!Se(Array.prototype.every)){var Pe=Array.prototype.every;J(Array.prototype,"every",function ln(t){return e(Pe,this.length>=0?this:[],arguments)},true)}if(!Se(Array.prototype.reduce)){var xe=Array.prototype.reduce;J(Array.prototype,"reduce",function pn(t){return e(xe,this.length>=0?this:[],arguments)},true)}if(!Se(Array.prototype.reduceRight,true)){var Ce=Array.prototype.reduceRight;J(Array.prototype,"reduceRight",function vn(t){return e(Ce,this.length>=0?this:[],arguments)},true)}if(Number("0o10")!==8||Number("0b10")!==2){var Ne=Number;var Ae=Function.bind.call(Function.call,RegExp.prototype.test,/^0b/i);var _e=Function.bind.call(Function.call,RegExp.prototype.test,/^0o/i);var ke=function(e){var t;if(typeof e.valueOf==="function"){t=e.valueOf();if(X.primitive(t)){return t}}if(typeof e.toString==="function"){t=e.toString();if(X.primitive(t)){return t}}throw new TypeError("No default value")};var Re=function hn(e){var t=X.primitive(e)?e:ke(e,"number");if(typeof t==="string"){if(Ae(t)){t=parseInt(x(t,2),2)}else if(_e(t)){t=parseInt(x(t,2),8)}}if(this instanceof hn){return new Ne(t)}return Ne(t)};B(Ne,Re,{});Number=Re;V.redefine(j,"Number",Re)}var Fe=Math.pow(2,53)-1;b(Number,{MAX_SAFE_INTEGER:Fe,MIN_SAFE_INTEGER:-Fe,EPSILON:2.220446049250313e-16,parseInt:j.parseInt,parseFloat:j.parseFloat,isFinite:K,isInteger:function yn(e){return K(e)&&te.ToInteger(e)===e},isSafeInteger:function bn(e){return Number.isInteger(e)&&F(e)<=Number.MAX_SAFE_INTEGER},isNaN:Z});y(Number,"parseInt",j.parseInt,Number.parseInt!==j.parseInt);if(![,1].find(function(e,t){return t===0})){J(Array.prototype,"find",ge.find)}if([,1].findIndex(function(e,t){return t===0})!==0){J(Array.prototype,"findIndex",ge.findIndex)}var Le=Function.bind.call(Function.bind,Object.prototype.propertyIsEnumerable);var De=function gn(){var e=Number(this);var t=arguments.length;var r=t-e;var n=new Array(r<0?0:r);for(var o=e;o1){return NaN}if(t===-1){return-Infinity}if(t===1){return Infinity}if(t===0){return t}return.5*L((1+t)/(1-t))},cbrt:function Fn(e){var t=Number(e);if(t===0){return t}var r=t<0,n;if(r){t=-t}if(t===Infinity){n=Infinity}else{n=Math.exp(L(t)/3);n=(t/(n*n)+2*n)/3}return r?-n:n},clz32:function Ln(e){var r=Number(e);var n=te.ToUint32(r);if(n===0){return 32}return Ot?t(Ot,n):31-R(L(n+.5)*Math.LOG2E)},cosh:function Dn(e){var t=Number(e);if(t===0){return 1}if(Number.isNaN(t)){return NaN}if(!S(t)){return Infinity}if(t<0){t=-t}if(t>21){return Math.exp(t)/2}return(Math.exp(t)+Math.exp(-t))/2},expm1:function zn(e){var t=Number(e);if(t===-Infinity){return-1}if(!S(t)||t===0){return t}if(F(t)>.5){return Math.exp(t)-1}var r=t;var n=0;var o=1;while(n+r!==n){n+=r;o+=1;r*=t/o}return n},hypot:function qn(e,t){var r=0;var n=0;for(var o=0;o0?i/n*(i/n):i}}return n===Infinity?Infinity:n*D(r)},log2:function Gn(e){return L(e)*Math.LOG2E},log10:function Hn(e){return L(e)*Math.LOG10E},log1p:function Wn(e){var t=Number(e);if(t<-1||Number.isNaN(t)){return NaN}if(t===0||t===Infinity){return t}if(t===-1){return-Infinity}return 1+t-1===0?t:t*(L(1+t)/(1+t-1))},sign:function Vn(e){var t=Number(e);if(t===0){return t}if(Number.isNaN(t)){return t}return t<0?-1:1},sinh:function Bn(e){var t=Number(e);if(!S(t)||t===0){return t}if(F(t)<1){return(Math.expm1(t)-Math.expm1(-t))/2}return(Math.exp(t-1)-Math.exp(-t-1))*Math.E/2},tanh:function $n(e){var t=Number(e);if(Number.isNaN(t)||t===0){return t}if(t===Infinity){return 1}if(t===-Infinity){return-1}var r=Math.expm1(t);var n=Math.expm1(-t);if(r===Infinity){return 1}if(n===Infinity){return-1}return(r-n)/(Math.exp(t)+Math.exp(-t))},trunc:function Un(e){var t=Number(e);return t<0?-R(-t):R(t)},imul:function Xn(e,t){var r=te.ToUint32(e);var n=te.ToUint32(t);var o=r>>>16&65535;var i=r&65535;var a=n>>>16&65535;var u=n&65535;return i*u+(o*u+i*a<<16>>>0)|0},fround:function Zn(e){var t=Number(e);if(t===0||t===Infinity||t===-Infinity||Z(t)){return t}var r=Math.sign(t);var n=F(t);if(nmt||Z(i)){return r*Infinity}return r*i}};b(Math,jt);y(Math,"log1p",jt.log1p,Math.log1p(-1e-17)!==-1e-17);y(Math,"asinh",jt.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7));y(Math,"tanh",jt.tanh,Math.tanh(-2e-17)!==-2e-17);y(Math,"acosh",jt.acosh,Math.acosh(Number.MAX_VALUE)===Infinity);y(Math,"cbrt",jt.cbrt,Math.abs(1-Math.cbrt(1e-300)/1e-100)/Number.EPSILON>8);y(Math,"sinh",jt.sinh,Math.sinh(-2e-17)!==-2e-17);var St=Math.expm1(10);y(Math,"expm1",jt.expm1,St>22025.465794806718||St<22025.465794806718);var Tt=Math.round;var It=Math.round(.5-Number.EPSILON/4)===0&&Math.round(-.5+Number.EPSILON/3.99)===1;var Et=bt+1;var Mt=2*bt-1;var Pt=[Et,Mt].every(function(e){return Math.round(e)===e});y(Math,"round",function Kn(e){var t=R(e);var r=t===-1?-0:t+1;return e-t<.5?t:r},!It||!Pt);V.preserveToString(Math.round,Tt);var xt=Math.imul;if(Math.imul(4294967295,5)!==-5){Math.imul=jt.imul;V.preserveToString(Math.imul,xt)}if(Math.imul.length!==2){J(Math,"imul",function Jn(t,r){return e(xt,Math,arguments)})}var Ct=function(){te.IsPromise=function(e){if(!te.TypeIsObject(e)){return false}if(typeof e._promise==="undefined"){return false}return true};var e=function(e){if(!te.IsConstructor(e)){throw new TypeError("Bad promise constructor")}var t=this;var r=function(e,r){if(t.resolve!==void 0||t.reject!==void 0){throw new TypeError("Bad Promise implementation!")}t.resolve=e;t.reject=r};t.promise=new e(r);if(!(te.IsCallable(t.resolve)&&te.IsCallable(t.reject))){throw new TypeError("Bad promise constructor")}};var r=j.setTimeout;var n;if(typeof window!=="undefined"&&te.IsCallable(window.postMessage)){n=function(){var e=[];var t="zero-timeout-message";var r=function(r){C(e,r);window.postMessage(t,"*")};var n=function(r){if(r.source===window&&r.data===t){r.stopPropagation();if(e.length===0){return}var n=A(e);n()}};window.addEventListener("message",n,true);return r}}var o=function(){var e=j.Promise;return e&&e.resolve&&function(t){return e.resolve().then(t)}};var i=te.IsCallable(j.setImmediate)?j.setImmediate.bind(j):typeof process==="object"&&process.nextTick?process.nextTick:o()||(te.IsCallable(n)?n():function(e){r(e,0)});var a=1;var u=2;var f=3;var c=4;var l=5;var p=function(e,t){var r=e.capabilities;var n=e.handler;var o,i=false,f;if(n===a){o=t}else if(n===u){o=t;i=true}else{try{o=n(t)}catch(s){o=s;i=true}}f=i?r.reject:r.resolve;f(o)};var v=function(e,t){s(e,function(e){i(function(){p(e,t)})})};var h=function(e,t){var r=e._promise;var n=r.fulfillReactions;r.result=t;r.fulfillReactions=void 0;r.rejectReactions=void 0;r.state=c;v(n,t)};var y=function(e,t){var r=e._promise;var n=r.rejectReactions;r.result=t;r.fulfillReactions=void 0;r.rejectReactions=void 0;r.state=l;v(n,t)};var g=function(e){var t=false;var r=function(r){var n;if(t){return}t=true;if(r===e){return y(e,new TypeError("Self resolution"))}if(!te.TypeIsObject(r)){return h(e,r)}try{n=r.then}catch(o){return y(e,o)}if(!te.IsCallable(n)){return h(e,r)}i(function(){d(e,r,n)})};var n=function(r){if(t){return}t=true;return y(e,r)};return{resolve:r,reject:n}};var d=function(e,r,n){var o=g(e);var i=o.resolve;var a=o.reject;try{t(n,r,i,a)}catch(u){a(u)}};var m=function(e){if(!te.TypeIsObject(e)){throw new TypeError("Promise is not object")}var t=e[W];if(t!==void 0&&t!==null){return t}return e};var w=function E(e){if(!(this instanceof E)){throw new TypeError('Constructor Promise requires "new"')}if(this&&this._promise){throw new TypeError("Bad construction")}if(!te.IsCallable(e)){throw new TypeError("not a valid resolver")}var t=re(this,E,O,{_promise:{result:void 0,state:f,fulfillReactions:[],rejectReactions:[]}});var r=g(t);var n=r.reject;try{e(r.resolve,n)}catch(o){n(o)}return t};var O=w.prototype;var S=function(e,t,r,n){var o=false;return function(i){if(o){return}o=true;t[e]=i;if(--n.count===0){var a=r.resolve;a(t)}}};var T=function(e,t,r){var n=e.iterator;var o=[],i={count:1},a,u;var f=0;while(true){try{a=te.IteratorStep(n);if(a===false){e.done=true;break}u=a.value}catch(s){e.done=true;throw s}o[f]=void 0;var c=t.resolve(u);var l=S(f,o,r,i);i.count++;c.then(l,r.reject);f+=1}if(--i.count===0){var p=r.resolve;p(o)}return r.promise};var I=function(e,t,r){var n=e.iterator,o,i,a;while(true){try{o=te.IteratorStep(n);if(o===false){e.done=true;break}i=o.value}catch(u){e.done=true;throw u}a=t.resolve(i);a.then(r.resolve,r.reject)}return r.promise};b(w,{all:function M(t){var r=m(this);var n=new e(r);var o,i;try{o=te.GetIterator(t);i={iterator:o,done:false};return T(i,r,n)}catch(a){if(i&&!i.done){try{te.IteratorClose(o,true)}catch(u){a=u}}var f=n.reject;f(a);return n.promise}},race:function P(t){var r=m(this);var n=new e(r);var o,i;try{o=te.GetIterator(t);i={iterator:o,done:false};return I(i,r,n)}catch(a){if(i&&!i.done){try{te.IteratorClose(o,true)}catch(u){a=u}}var f=n.reject;f(a);return n.promise}},reject:function x(t){var r=this;var n=new e(r);var o=n.reject;o(t);return n.promise},resolve:function N(t){var r=this;if(te.IsPromise(t)){var n=t.constructor;if(n===r){return t}}var o=new e(r);var i=o.resolve;i(t);return o.promise}});b(O,{"catch":function(e){return this.then(void 0,e)},then:function _(t,r){var n=this;if(!te.IsPromise(n)){throw new TypeError("not a promise")}var o=te.SpeciesConstructor(n,w);var s=new e(o);if(!te.IsCallable(t)){t=a}if(!te.IsCallable(r)){r=u}var v={capabilities:s,handler:t};var h={capabilities:s,handler:r};var y=n._promise,b;if(y.state===f){C(y.fulfillReactions,v);C(y.rejectReactions,h)}else if(y.state===c){b=y.result;i(function(){p(v,b)})}else if(y.state===l){b=y.result;i(function(){p(h,b)})}else{throw new TypeError("unexpected Promise state")}return s.promise}});return w}();if(j.Promise){delete j.Promise.accept;delete j.Promise.defer;delete j.Promise.prototype.chain}b(j,{Promise:Ct});var Nt=d(j.Promise,function(e){return e.resolve(42).then(function(){})instanceof e});var At=!n(function(){j.Promise.reject(42).then(null,5).then(null,G)});var _t=n(function(){j.Promise.call(3,G)});var kt=function(e){var t=e.resolve(5);t.constructor={};var r=e.resolve(t); +return t===r}(j.Promise);if(!Nt||!At||!_t||kt){Promise=Ct;J(j,"Promise",Ct)}U(Promise);var Rt=function(e){var t=Object.keys(c(e,function(e,t){e[t]=true;return e},{}));return e.join(":")===t.join(":")};var Ft=Rt(["z","a","bb"]);var Lt=Rt(["z",1,"a","3",2]);if(u){var Dt=function Qn(e){if(!Ft){return null}var t=typeof e;if(t==="undefined"||e===null){return"^"+String(e)}else if(t==="string"){return"$"+e}else if(t==="number"){if(!Lt){return"n"+e}return e}else if(t==="boolean"){return"b"+e}return null};var zt=function Yn(){return Object.create?Object.create(null):{}};var qt=function eo(e,r,n){if(Array.isArray(n)||X.string(n)){s(n,function(e){r.set(e[0],e[1])})}else if(n instanceof e){t(e.prototype.forEach,n,function(e,t){r.set(t,e)})}else{var o,i;if(n!==null&&typeof n!=="undefined"){i=r.set;if(!te.IsCallable(i)){throw new TypeError("bad map")}o=te.GetIterator(n)}if(typeof o!=="undefined"){while(true){var a=te.IteratorStep(o);if(a===false){break}var u=a.value;try{if(!te.TypeIsObject(u)){throw new TypeError("expected iterable of pairs")}t(i,r,u[0],u[1])}catch(f){te.IteratorClose(o,true);throw f}}}}};var Gt=function to(e,r,n){if(Array.isArray(n)||X.string(n)){s(n,function(e){r.add(e)})}else if(n instanceof e){t(e.prototype.forEach,n,function(e){r.add(e)})}else{var o,i;if(n!==null&&typeof n!=="undefined"){i=r.add;if(!te.IsCallable(i)){throw new TypeError("bad set")}o=te.GetIterator(n)}if(typeof o!=="undefined"){while(true){var a=te.IteratorStep(o);if(a===false){break}var u=a.value;try{t(i,r,u)}catch(f){te.IteratorClose(o,true);throw f}}}}};var Ht={Map:function(){var e={};var r=function f(e,t){this.key=e;this.value=t;this.next=null;this.prev=null};r.prototype.isRemoved=function s(){return this.key===e};var n=function c(e){return!!e._es6map};var o=function l(e,t){if(!te.TypeIsObject(e)||!n(e)){throw new TypeError("Method Map.prototype."+t+" called on incompatible receiver "+String(e))}};var i=function p(e,t){o(e,"[[MapIterator]]");this.head=e._head;this.i=this.head;this.kind=t};i.prototype={next:function v(){var e=this.i,t=this.kind,r=this.head,n;if(typeof this.i==="undefined"){return{value:void 0,done:true}}while(e.isRemoved()&&e!==r){e=e.prev}while(e.next!==r){e=e.next;if(!e.isRemoved()){if(t==="key"){n=e.key}else if(t==="value"){n=e.value}else{n=[e.key,e.value]}this.i=e;return{value:n,done:false}}}this.i=void 0;return{value:void 0,done:true}}};Y(i.prototype);var a=function h(){if(!(this instanceof h)){throw new TypeError('Constructor Map requires "new"')}if(this&&this._es6map){throw new TypeError("Bad construction")}var e=re(this,h,u,{_es6map:true,_head:null,_storage:zt(),_size:0});var t=new r(null,null);t.next=t.prev=t;e._head=t;if(arguments.length>0){qt(h,e,arguments[0])}return e};var u=a.prototype;V.getter(u,"size",function(){if(typeof this._size==="undefined"){throw new TypeError("size method called on incompatible Map")}return this._size});b(u,{get:function y(e){o(this,"get");var t=Dt(e);if(t!==null){var r=this._storage[t];if(r){return r.value}else{return}}var n=this._head,i=n;while((i=i.next)!==n){if(te.SameValueZero(i.key,e)){return i.value}}},has:function g(e){o(this,"has");var t=Dt(e);if(t!==null){return typeof this._storage[t]!=="undefined"}var r=this._head,n=r;while((n=n.next)!==r){if(te.SameValueZero(n.key,e)){return true}}return false},set:function d(e,t){o(this,"set");var n=this._head,i=n,a;var u=Dt(e);if(u!==null){if(typeof this._storage[u]!=="undefined"){this._storage[u].value=t;return this}else{a=this._storage[u]=new r(e,t);i=n.prev}}while((i=i.next)!==n){if(te.SameValueZero(i.key,e)){i.value=t;return this}}a=a||new r(e,t);if(te.SameValue(-0,e)){a.key=+0}a.next=this._head;a.prev=this._head.prev;a.prev.next=a;a.next.prev=a;this._size+=1;return this},"delete":function(t){o(this,"delete");var r=this._head,n=r;var i=Dt(t);if(i!==null){if(typeof this._storage[i]==="undefined"){return false}n=this._storage[i].prev;delete this._storage[i]}while((n=n.next)!==r){if(te.SameValueZero(n.key,t)){n.key=n.value=e;n.prev.next=n.next;n.next.prev=n.prev;this._size-=1;return true}}return false},clear:function m(){o(this,"clear");this._size=0;this._storage=zt();var t=this._head,r=t,n=r.next;while((r=n)!==t){r.key=r.value=e;n=r.next;r.next=r.prev=t}t.next=t.prev=t},keys:function w(){o(this,"keys");return new i(this,"key")},values:function O(){o(this,"values");return new i(this,"value")},entries:function j(){o(this,"entries");return new i(this,"key+value")},forEach:function S(e){o(this,"forEach");var r=arguments.length>1?arguments[1]:null;var n=this.entries();for(var i=n.next();!i.done;i=n.next()){if(r){t(e,r,i.value[1],i.value[0],this)}else{e(i.value[1],i.value[0],this)}}}});Y(u,u.entries);return a}(),Set:function(){var e=function a(e){return e._es6set&&typeof e._storage!=="undefined"};var r=function u(t,r){if(!te.TypeIsObject(t)||!e(t)){throw new TypeError("Set.prototype."+r+" called on incompatible receiver "+String(t))}};var n=function f(){if(!(this instanceof f)){throw new TypeError('Constructor Set requires "new"')}if(this&&this._es6set){throw new TypeError("Bad construction")}var e=re(this,f,o,{_es6set:true,"[[SetData]]":null,_storage:zt()});if(!e._es6set){throw new TypeError("bad set")}if(arguments.length>0){Gt(f,e,arguments[0])}return e};var o=n.prototype;var i=function c(e){if(!e["[[SetData]]"]){var t=e["[[SetData]]"]=new Ht.Map;s(Object.keys(e._storage),function(e){if(e==="^null"){e=null}else if(e==="^undefined"){e=void 0}else{var r=e.charAt(0);if(r==="$"){e=x(e,1)}else if(r==="n"){e=+x(e,1)}else if(r==="b"){e=e==="btrue"}else{e=+e}}t.set(e,e)});e._storage=null}};V.getter(n.prototype,"size",function(){r(this,"size");i(this);return this["[[SetData]]"].size});b(n.prototype,{has:function l(e){r(this,"has");var t;if(this._storage&&(t=Dt(e))!==null){return!!this._storage[t]}i(this);return this["[[SetData]]"].has(e)},add:function p(e){r(this,"add");var t;if(this._storage&&(t=Dt(e))!==null){this._storage[t]=true;return this}i(this);this["[[SetData]]"].set(e,e);return this},"delete":function(e){r(this,"delete");var t;if(this._storage&&(t=Dt(e))!==null){var n=z(this._storage,t);return delete this._storage[t]&&n}i(this);return this["[[SetData]]"]["delete"](e)},clear:function v(){r(this,"clear");if(this._storage){this._storage=zt()}else{this["[[SetData]]"].clear()}},values:function h(){r(this,"values");i(this);return this["[[SetData]]"].values()},entries:function g(){r(this,"entries");i(this);return this["[[SetData]]"].entries()},forEach:function d(e){r(this,"forEach");var n=arguments.length>1?arguments[1]:null;var o=this;i(o);this["[[SetData]]"].forEach(function(r,i){if(n){t(e,n,i,i,o)}else{e(i,i,o)}})}});y(n.prototype,"keys",n.prototype.values,true);Y(n.prototype,n.prototype.values);return n}()};if(j.Map||j.Set){var Wt=o(function(){return new Map([[1,2]]).get(1)===2});if(!Wt){var Vt=j.Map;j.Map=function ro(){if(!(this instanceof ro)){throw new TypeError('Constructor Map requires "new"')}var e=new Vt;if(arguments.length>0){qt(ro,e,arguments[0])}Object.setPrototypeOf(e,j.Map.prototype);y(e,"constructor",ro,true);return e};j.Map.prototype=g(Vt.prototype);V.preserveToString(j.Map,Vt)}var Bt=new Map;var $t=function(e){e["delete"](0);e["delete"](-0);e.set(0,3);e.get(-0,4);return e.get(0)===3&&e.get(-0)===4}(Bt);var Ut=Bt.set(1,2)===Bt;if(!$t||!Ut){var Xt=Map.prototype.set;J(Map.prototype,"set",function no(e,r){t(Xt,this,e===0?0:e,r);return this})}if(!$t){var Zt=Map.prototype.get;var Kt=Map.prototype.has;b(Map.prototype,{get:function oo(e){return t(Zt,this,e===0?0:e)},has:function io(e){return t(Kt,this,e===0?0:e)}},true);V.preserveToString(Map.prototype.get,Zt);V.preserveToString(Map.prototype.has,Kt)}var Jt=new Set;var Qt=function(e){e["delete"](0);e.add(-0);return!e.has(0)}(Jt);var Yt=Jt.add(1)===Jt;if(!Qt||!Yt){var er=Set.prototype.add;Set.prototype.add=function ao(e){t(er,this,e===0?0:e);return this};V.preserveToString(Set.prototype.add,er)}if(!Qt){var tr=Set.prototype.has;Set.prototype.has=function uo(e){return t(tr,this,e===0?0:e)};V.preserveToString(Set.prototype.has,tr);var rr=Set.prototype["delete"];Set.prototype["delete"]=function fo(e){return t(rr,this,e===0?0:e)};V.preserveToString(Set.prototype["delete"],rr)}var nr=d(j.Map,function(e){var t=new e([]);t.set(42,42);return t instanceof e});var or=Object.setPrototypeOf&&!nr;var ir=function(){try{return!(j.Map()instanceof j.Map)}catch(e){return e instanceof TypeError}}();if(j.Map.length!==0||or||!ir){var ar=j.Map;j.Map=function so(){if(!(this instanceof so)){throw new TypeError('Constructor Map requires "new"')}var e=new ar;if(arguments.length>0){qt(so,e,arguments[0])}Object.setPrototypeOf(e,so.prototype);y(e,"constructor",so,true);return e};j.Map.prototype=ar.prototype;V.preserveToString(j.Map,ar)}var ur=d(j.Set,function(e){var t=new e([]);t.add(42,42);return t instanceof e});var fr=Object.setPrototypeOf&&!ur;var sr=function(){try{return!(j.Set()instanceof j.Set)}catch(e){return e instanceof TypeError}}();if(j.Set.length!==0||fr||!sr){var cr=j.Set;j.Set=function co(){if(!(this instanceof co)){throw new TypeError('Constructor Set requires "new"')}var e=new cr;if(arguments.length>0){Gt(co,e,arguments[0])}Object.setPrototypeOf(e,co.prototype);y(e,"constructor",co,true);return e};j.Set.prototype=cr.prototype;V.preserveToString(j.Set,cr)}var lr=!o(function(){return(new Map).keys().next().done});if(typeof j.Map.prototype.clear!=="function"||(new j.Set).size!==0||(new j.Map).size!==0||typeof j.Map.prototype.keys!=="function"||typeof j.Set.prototype.keys!=="function"||typeof j.Map.prototype.forEach!=="function"||typeof j.Set.prototype.forEach!=="function"||i(j.Map)||i(j.Set)||typeof(new j.Map).keys().next!=="function"||lr||!nr){delete j.Map;delete j.Set;b(j,{Map:Ht.Map,Set:Ht.Set},true)}if(j.Set.prototype.keys!==j.Set.prototype.values){y(j.Set.prototype,"keys",j.Set.prototype.values,true)}Y(Object.getPrototypeOf((new j.Map).keys()));Y(Object.getPrototypeOf((new j.Set).keys()));if(f&&j.Set.prototype.has.name!=="has"){var pr=j.Set.prototype.has;J(j.Set.prototype,"has",function lo(e){return t(pr,this,e)})}}b(j,Ht);U(j.Map);U(j.Set)}if(!j.Reflect){y(j,"Reflect",{})}var vr=j.Reflect;var hr=function po(e){if(!te.TypeIsObject(e)){throw new TypeError("target must be an object")}};var yr={apply:function vo(){return e(te.Call,null,arguments)},construct:function ho(e,t){if(!te.IsConstructor(e)){throw new TypeError("First argument must be a constructor.")}var r=arguments.length<3?e:arguments[2];if(!te.IsConstructor(r)){throw new TypeError("new.target must be a constructor.")}return te.Construct(e,t,r,"internal")},deleteProperty:function yo(e,t){hr(e);if(u){var r=Object.getOwnPropertyDescriptor(e,t);if(r&&!r.configurable){return false}}return delete e[t]},enumerate:function bo(e){hr(e);return new he(e,"key")},has:function go(e,t){hr(e);return t in e}};if(Object.getOwnPropertyNames){Object.assign(yr,{ownKeys:function mo(e){hr(e);var t=Object.getOwnPropertyNames(e);if(te.IsCallable(Object.getOwnPropertySymbols)){N(t,Object.getOwnPropertySymbols(e))}return t}})}var br=function wo(e){return!n(e)};if(Object.preventExtensions){Object.assign(yr,{isExtensible:function Oo(e){hr(e);return Object.isExtensible(e)},preventExtensions:function jo(e){hr(e);return br(function(){Object.preventExtensions(e)})}})}if(u){var gr=function So(e,r,n){var o=Object.getOwnPropertyDescriptor(e,r);if(!o){var i=Object.getPrototypeOf(e);if(i===null){return undefined}return gr(i,r,n)}if("value"in o){return o.value}if(o.get){return t(o.get,n)}return undefined};var dr=function To(e,r,n,o){var i=Object.getOwnPropertyDescriptor(e,r);if(!i){var a=Object.getPrototypeOf(e);if(a!==null){return dr(a,r,n,o)}i={value:void 0,writable:true,enumerable:true,configurable:true}}if("value"in i){if(!i.writable){return false}if(!te.TypeIsObject(o)){return false}var u=Object.getOwnPropertyDescriptor(o,r);if(u){return vr.defineProperty(o,r,{value:n})}else{return vr.defineProperty(o,r,{value:n,writable:true,enumerable:true,configurable:true})}}if(i.set){t(i.set,o,n);return true}return false};Object.assign(yr,{defineProperty:function Io(e,t,r){hr(e);return br(function(){Object.defineProperty(e,t,r)})},getOwnPropertyDescriptor:function Eo(e,t){hr(e);return Object.getOwnPropertyDescriptor(e,t)},get:function Mo(e,t){hr(e);var r=arguments.length>2?arguments[2]:e;return gr(e,t,r)},set:function Po(e,t,r){hr(e);var n=arguments.length>3?arguments[3]:e;return dr(e,t,r,n)}})}if(Object.getPrototypeOf){var mr=Object.getPrototypeOf;yr.getPrototypeOf=function xo(e){hr(e);return mr(e)}}if(Object.setPrototypeOf&&yr.getPrototypeOf){var wr=function(e,t){while(t){if(e===t){return true}t=yr.getPrototypeOf(t)}return false};Object.assign(yr,{setPrototypeOf:function Co(e,t){hr(e);if(t!==null&&!te.TypeIsObject(t)){throw new TypeError("proto must be an object or null")}if(t===vr.getPrototypeOf(e)){return true}if(vr.isExtensible&&!vr.isExtensible(e)){return false}if(wr(e,t)){return false}Object.setPrototypeOf(e,t);return true}})}var Or=function(e,t){if(!te.IsCallable(j.Reflect[e])){y(j.Reflect,e,t)}else{var r=o(function(){j.Reflect[e](1);j.Reflect[e](NaN);j.Reflect[e](true);return true});if(r){J(j.Reflect,e,t)}}};Object.keys(yr).forEach(function(e){Or(e,yr[e])});if(f&&j.Reflect.getPrototypeOf.name!=="getPrototypeOf"){var jr=j.Reflect.getPrototypeOf;J(j.Reflect,"getPrototypeOf",function No(e){return t(jr,j.Reflect,e)})}if(j.Reflect.setPrototypeOf){if(o(function(){j.Reflect.setPrototypeOf(1,{});return true})){J(j.Reflect,"setPrototypeOf",yr.setPrototypeOf)}}if(j.Reflect.defineProperty){if(o(function(){j.Reflect.defineProperty(1,"test",{value:1});return true})){J(j.Reflect,"defineProperty",yr.defineProperty)}}if(String(new Date(NaN))!=="Invalid Date"){var Sr=Date.prototype.toString;var Tr=function Ao(){var e=+this;if(e!==e){return"Invalid Date"}return t(Sr,this)};J(Date.prototype,"toString",Tr)}var Ir={anchor:function _o(e){return te.CreateHTML(this,"a","name",e)},big:function ko(){return te.CreateHTML(this,"big","","")},blink:function Ro(){return te.CreateHTML(this,"blink","","")},bold:function Fo(){return te.CreateHTML(this,"b","","")},fixed:function Lo(){return te.CreateHTML(this,"tt","","")},fontcolor:function Do(e){return te.CreateHTML(this,"font","color",e)},fontsize:function zo(e){return te.CreateHTML(this,"font","size",e)},italics:function qo(){return te.CreateHTML(this,"i","","")},link:function Go(e){return te.CreateHTML(this,"a","href",e)},small:function Ho(){return te.CreateHTML(this,"small","","")},strike:function Wo(){return te.CreateHTML(this,"strike","","")},sub:function Vo(){return te.CreateHTML(this,"sub","","")},sup:function Bo(){return te.CreateHTML(this,"sup","","")}};s(Object.keys(Ir),function(e){var r=String.prototype[e];var n=false;if(te.IsCallable(r)){var o=t(r,"",' " ');var i=P([],o.match(/"/g)).length;n=o!==o.toLowerCase()||i>2}else{n=true}if(n){y(String.prototype,e,Ir[e],true)}});return j}); //# sourceMappingURL=es6-shim.map diff --git a/package.json b/package.json index 41d30a84..925f7faf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "es6-shim", - "version": "0.33.0", + "version": "0.33.1", "author": "Paul Miller (http://paulmillr.com)", "description": "ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines", "keywords": [