diff --git a/CHANGELOG.md b/CHANGELOG.md index 48e3f094..66ed5790 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ +# es6-shim 0.35.6 (14 October 2020) +* [Fix] `Math.hypot`: fix a bug in node v12.11 - v12.15 +* [Fix] internal `ToString` operation should throw on Symbols +* [Robustness] call-bind `Array.prototype.join` +* [Refactor] `String.raw`: match latest spec +* [Refactor] address unused function args +* [readme] updating standalone shim links +* [Meta] Make LICENSE parseable by GitHub. +* [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `es5-shim`, `safe-publish-latest`, `evalmd` +* [Tests] use shared travis-ci configs +* [Tests] only run prepublish when in publish +* [Tests] add `aud` in `npm run posttest` +* [Tests] add failing tests from https://github.com/tc39/test262/pull/2443 +* [Tests] fix error message tests for Safari 12 +* [Tests] fix sham function name tests + # es6-shim 0.35.5 (7 March 2019) * [Fix] `es6-sham`: `Function.prototype.name`: don’t poison the getter when the receiver is `Function.prototype` (#454) * [Dev Deps] update `eslint`, `@ljharb/eslint-config` diff --git a/es6-shim.map b/es6-shim.map index 310db97f..633a3e8a 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","isArray","Array","keys","Object","not","notThunker","func","notThunk","arguments","throwsError","e","valueOrFalseIfThrows","isCallableWithoutNew","arePropertyDescriptorsSupported","defineProperty","get","supportsDescriptors","functionsHaveNames","foo","name","_forEach","prototype","forEach","_reduce","reduce","_filter","filter","_some","some","object","value","force","configurable","enumerable","writable","defineProperties","map","forceOverride","method","_toString","toString","isCallable","IsCallableSlow","x","IsCallableFast","Value","getter","TypeError","proxy","originalObject","key","targetObject","originalDescriptor","getOwnPropertyDescriptor","getKey","set","setKey","redefine","property","newValue","descriptor","defineByDescriptor","preserveToString","target","source","create","properties","Prototype","supportsSubclassing","C","f","setPrototypeOf","Sub","Subclass","arg","o","constructor","getGlobal","self","window","global","Error","globals","globalIsFinite","isFinite","_indexOf","String","indexOf","_arrayIndexOfApply","_concat","concat","_strSlice","slice","_push","push","_pushApply","_shift","shift","_max","Math","max","_min","min","_floor","floor","_abs","abs","_exp","exp","_log","log","_sqrt","sqrt","_hasOwnProperty","hasOwnProperty","ArrayIterator","noop","OrigMap","Map","origMapDelete","origMapGet","origMapHas","has","origMapSet","Symbol","symbolSpecies","species","numberIsNaN","Number","isNaN","numberIsFinite","_sign","sign","number","_log1p","log1p","NaN","Infinity","isStandardArguments","isArguments","isLegacyArguments","length","callee","Type","primitive","string","regex","symbol","overrideNative","replacement","original","hasSymbols","$iterator$","iterator","Set","Reflect","$String","domAll","document","all","isNullOrUndefined","isNullOrUndefinedAndNotDocumentAll","ES","Call","F","V","args","IsCallable","RequireObjectCoercible","optMessage","TypeIsObject","ToObject","IsConstructor","ToInt32","ToNumber","ToUint32","ToInteger","ToLength","len","MAX_SAFE_INTEGER","SameValue","a","b","SameValueZero","IsIterable","GetIterator","itFn","GetMethod","it","p","IteratorComplete","iterResult","done","IteratorClose","completionIsThrow","returnMethod","innerResult","innerException","IteratorNext","result","next","IteratorStep","Construct","newTarget","isES6internal","construct","proto","obj","SpeciesConstructor","O","defaultConstructor","S","CreateHTML","tag","attribute","ToString","p1","escapedV","replace","p2","p3","IsRegExp","argument","isRegExp","match","defineWellKnownSymbol","sym","search","symbolSearch","originalSearch","RegExp","searchShim","regexp","searcher","symbolReplace","originalReplace","replaceValue","replaceShim","searchValue","replacer","split","symbolSplit","originalSplit","limit","splitShim","separator","splitter","symbolMatchExists","stringMatchIgnoresSymbolMatch","symbolMatch","originalMatch","matchShim","matcher","wrapConstructor","keysToSkip","getOwnPropertyNames","defaultSpeciesGetter","addDefaultSpecies","addIterator","impl","implementation","createDataProperty","createDataPropertyOrThrow","emulateES6construct","defaultNewTarget","defaultProto","slots","fromCodePoint","originalFromCodePoint","codePoints","StringShims","i","RangeError","fromCharCode","join","raw","callSite","cooked","rawString","literalsegments","stringElements","nextIndex","nextKey","nextSeg","nextSub","0","1","stringRepeat","repeat","s","times","half","stringMaxLength","StringPrototypeShims","thisStr","numTimes","startsWith","searchString","searchStr","position","start","endsWith","endPosition","pos","end","includes","codePointAt","first","charCodeAt","isEnd","second","startsWithRejectsRegex","startsWithHandlesInfinity","startsWithSupportsSymbolMatch","re","endsWithSupportsSymbolMatch","includesSupportsSymbolMatch","ws","trimRegexp","trimShim","trim","nonWS","nonWSregex","isBadHexRegex","hasStringTrimBug","iteratorResult","StringIterator","_s","_i","substr","ArrayShims","from","items","mapFn","mapping","T","usingIterator","nextValue","arrayLike","of","A","k","array","kind","retval","arrayOfSupportsSubclassing","Foo","fooArr","ArrayPrototypeShims","copyWithin","relativeTarget","relativeStart","to","relativeEnd","finalItem","count","direction","fill","find","predicate","list","thisArg","findIndex","values","entries","unscopables","originalArrayPrototypeValues","searchElement","getPrototypeOf","arrayFromSwallowsNegativeLengths","arrayFromHandlesIterables","arr","arrayFromHandlesUndefinedMapFunction","origArrayFrom","int32sAsOne","pow","toLengthsCorrectly","reversed","originalForEach","callbackFn","originalMap","originalFilter","originalSome","every","originalEvery","originalReduce","reduceRight","originalReduceRight","lacksOctalSupport","lacksBinarySupport","trimsNonWhitespace","c","OrigNumber","binaryRegex","octalRegex","isBinary","test","isOctal","toPrimitive","valueOf","hasNonWS","isBadHex","NumberShim","primValue","parseInt","receiver","valueOfSucceeds","MAX_VALUE","MIN_VALUE","NEGATIVE_INFINITY","POSITIVE_INFINITY","maxSafeInteger","MIN_SAFE_INTEGER","EPSILON","parseFloat","isInteger","isSafeInteger","isEnumerableOn","propertyIsEnumerable","ensureEnumerable","prop","sliceArgs","initial","desiredArgCount","assignTo","assignToSource","assignReducer","sourceKeys","symbols","getOwnPropertySymbols","ObjectShims","assign","is","assignHasPendingExceptions","preventExtensions","thrower","ES5ObjectShims","magic","checkArgs","polyfill","FAKENULL","gpo","spo","objectKeysAcceptsPrimitives","originalObjectKeys","objectKeysRejectsRegex","regexRejectingObjectKeys","regexKeys","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","hasFlags","desc","regExpFlagsGetter","flags","ignoreCase","multiline","unicode","sticky","regExpSupportsFlagsWithRegex","regExpNeedsToSupportSymbolMatch","regexToStringIsGeneric","regexToStringSupportsGenericFlags","origRegExpToString","R","pattern","flagsGetter","sourceDesc","legacySourceGetter","sourceGetter","OrigRegExp","RegExpShim","patternIsRegExp","calledWithNew","P","$input","regexGlobals","input","lastMatch","lastParen","leftContext","rightContext","inverseEpsilon","roundTiesToEven","n","BINARY_32_EPSILON","BINARY_32_MAX_VALUE","BINARY_32_MIN_VALUE","E","LOG2E","LOG10E","numberCLZ","clz","MathShims","acosh","xInvSquared","halfX","asinh","aSquared","atanh","cbrt","negate","clz32","cosh","t","expm1","sum","hypot","y","largest","log2","log10","sinh","u","tanh","trunc","imul","ah","al","bh","bl","fround","v","withinULPDistance","expected","distance","expm1OfTen","origMathRound","round","roundHandlesBoundaryConditions","smallestPositiveNumberWhereRoundBreaks","largestPositiveNumberWhereRoundBreaks","roundDoesNotIncreaseIntegers","num","ceil","origImul","PromiseShim","setTimeout","IsPromise","promise","_promise","PromiseCapability","capability","resolver","resolve","reject","makeZeroTimeout","postMessage","timeouts","messageName","setZeroTimeout","fn","handleMessage","event","data","stopPropagation","addEventListener","makePromiseAsap","Promise","pr","task","then","enqueue","setImmediate","process","nextTick","PROMISE_IDENTITY","PROMISE_THROWER","PROMISE_PENDING","PROMISE_FULFILLED","PROMISE_REJECTED","PROMISE_FULFILL_OFFSET","PROMISE_REJECT_OFFSET","PROMISE_CAPABILITY_OFFSET","PROMISE_FAKE_CAPABILITY","enqueuePromiseReactionJob","handler","promiseReactionJob","promiseCapability","handlerResult","fulfillPromise","reactionLength","fulfillReactionHandler0","reactionCapability0","rejectReactions0","idx","state","rejectPromise","reason","rejectReactionHandler0","createResolvingFunctions","alreadyResolved","resolution","promiseResolveThenableJob","optimizedThen","thenable","Promise$prototype$then","resolvingFunctions","Promise$prototype","_promiseAllResolver","index","remaining","alreadyCalled","performPromiseAll","iteratorRecord","resultCapability","nextPromise","resolveElement","performPromiseRace","iterable","exception","ee","race","rejectFunc","resolveFunc","catch","onRejected","onFulfilled","returnValueIsIgnored","fulfillReactionHandler","rejectReactionHandler","accept","defer","chain","promiseSupportsSubclassing","promiseIgnoresNonFunctionThenCallbacks","promiseRequiresObjectContext","promiseResolveBroken","getsThenSynchronously","BadResolverPromise","executor","hasBadResolverPromise","origAll","origRace","origResolve","origReject","r","testOrder","preservesInsertionOrder","preservesNumericInsertionOrder","fastkey","skipInsertionOrderCheck","emptyObject","addIterableToMap","MapConstructor","entry","iter","adder","nextItem","addIterableToSet","SetConstructor","add","collectionShims","empty","MapEntry","prev","isRemoved","isMap","_es6map","requireMapSlot","MapIterator","head","_head","isMapIterator","Map$prototype","MapShim","_map","_size","_storage","fkey","delete","clear","callback","context","isSet","_es6set","requireSetSlot","Set$prototype","SetShim","[[SetData]]","decodeKey","charAt","ensureMap","m","size","hasFKey","SetIterator","entireSet","isSetIterator","isGoogleTranslate","remove","mapAcceptsArguments","testMap","mapUsesSameValueZero","mapSupportsChaining","testSet","setUsesSameValueZero","setSupportsChaining","origSetAdd","origSetHas","origSetDel","SetDelete","mapSupportsSubclassing","M","mapFailsToSupportSubclassing","mapRequiresNew","setSupportsSubclassing","setFailsToSupportSubclassing","setRequiresNew","OrigSet","newMap","mapIterationThrowsStopIterator","anonymousSetHas","throwUnlessTargetIsObject","ReflectShims","deleteProperty","ownKeys","callAndCatchException","ConvertExceptionToBoolean","internalGet","parent","internalSet","existingDesc","propertyKey","attributes","objectDotGetPrototypeOf","willCreateCircularPrototype","lastProto","defineOrOverrideReflectProperty","shim","acceptsPrimitives","originalReflectGetProto","basic","extensible","Date","dateToString","shimmedDateToString","stringHTMLshims","anchor","big","blink","bold","fixed","fontcolor","color","fontsize","italics","link","url","small","strike","sub","sup","shouldOverwrite","output","quotesCount","toLowerCase","JSONstringifiesSymbols","stringify","JSON","JSONstringifyAcceptsObjectSymbol","origStringify","replaceFn","wrappedReplacer","parsedValue"],"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","isArray","Array","keys","Object","not","notThunker","func","notThunk","arguments","throwsError","e","valueOrFalseIfThrows","isCallableWithoutNew","arePropertyDescriptorsSupported","defineProperty","get","supportsDescriptors","functionsHaveNames","foo","name","_forEach","prototype","forEach","_reduce","reduce","_filter","filter","_some","some","object","value","force","configurable","enumerable","writable","defineProperties","map","forceOverride","method","_toString","toString","isCallable","IsCallableSlow","x","IsCallableFast","Value","getter","TypeError","proxy","originalObject","key","targetObject","originalDescriptor","getOwnPropertyDescriptor","getKey","set","setKey","redefine","property","newValue","descriptor","defineByDescriptor","preserveToString","target","source","create","properties","Prototype","supportsSubclassing","C","f","setPrototypeOf","Sub","Subclass","arg","o","constructor","getGlobal","self","window","global","Error","globals","globalIsFinite","isFinite","_indexOf","String","indexOf","_arrayIndexOfApply","_concat","concat","_strSlice","slice","_push","push","_pushApply","_join","join","_shift","shift","_max","Math","max","_min","min","_floor","floor","_abs","abs","_exp","exp","_log","log","_sqrt","sqrt","_hasOwnProperty","hasOwnProperty","ArrayIterator","noop","OrigMap","Map","origMapDelete","origMapGet","origMapHas","has","origMapSet","Symbol","symbolSpecies","species","numberIsNaN","Number","isNaN","numberIsFinite","_sign","sign","number","_log1p","log1p","NaN","Infinity","isStandardArguments","isArguments","isLegacyArguments","length","callee","Type","primitive","string","regex","symbol","overrideNative","replacement","original","hasSymbols","$iterator$","iterator","Set","Reflect","$String","domAll","document","all","isNullOrUndefined","isNullOrUndefinedAndNotDocumentAll","ES","Call","F","V","args","IsCallable","RequireObjectCoercible","optMessage","TypeIsObject","ToObject","IsConstructor","ToInt32","ToNumber","ToUint32","ToInteger","ToLength","len","MAX_SAFE_INTEGER","SameValue","a","b","SameValueZero","IsIterable","GetIterator","itFn","GetMethod","it","p","IteratorComplete","iterResult","done","IteratorClose","completionIsThrow","returnMethod","innerResult","innerException","IteratorNext","result","next","IteratorStep","Construct","newTarget","isES6internal","construct","proto","obj","SpeciesConstructor","O","defaultConstructor","S","CreateHTML","tag","attribute","ToString","p1","escapedV","replace","p2","p3","IsRegExp","argument","isRegExp","match","defineWellKnownSymbol","sym","search","symbolSearch","originalSearch","RegExp","searchShim","regexp","searcher","symbolReplace","originalReplace","replaceValue","replaceShim","searchValue","replacer","split","symbolSplit","originalSplit","limit","splitShim","separator","splitter","symbolMatchExists","stringMatchIgnoresSymbolMatch","symbolMatch","originalMatch","matchShim","matcher","wrapConstructor","keysToSkip","getOwnPropertyNames","defaultSpeciesGetter","addDefaultSpecies","addIterator","impl","implementation","createDataProperty","createDataPropertyOrThrow","emulateES6construct","defaultNewTarget","defaultProto","slots","fromCodePoint","originalFromCodePoint","codePoints","StringShims","i","RangeError","fromCharCode","raw","template","numberOfSubstitutions","cooked","literalSegments","stringElements","nextIndex","nextKey","nextSeg","nextSub","0","1","stringRepeat","repeat","s","times","half","stringMaxLength","StringPrototypeShims","thisStr","numTimes","startsWith","searchString","searchStr","position","start","endsWith","endPosition","pos","end","includes","codePointAt","first","charCodeAt","isEnd","second","startsWithRejectsRegex","startsWithHandlesInfinity","startsWithSupportsSymbolMatch","re","endsWithSupportsSymbolMatch","includesSupportsSymbolMatch","ws","trimRegexp","trimShim","trim","nonWS","nonWSregex","isBadHexRegex","hasStringTrimBug","iteratorResult","StringIterator","_s","_i","substr","ArrayShims","from","items","mapFn","mapping","T","usingIterator","nextValue","arrayLike","of","A","k","array","kind","retval","arrayOfSupportsSubclassing","Foo","fooArr","ArrayPrototypeShims","copyWithin","relativeTarget","relativeStart","to","relativeEnd","finalItem","count","direction","fill","find","predicate","list","thisArg","findIndex","values","entries","unscopables","originalArrayPrototypeValues","searchElement","getPrototypeOf","arrayFromSwallowsNegativeLengths","arrayFromHandlesIterables","arr","arrayFromHandlesUndefinedMapFunction","origArrayFrom","int32sAsOne","pow","toLengthsCorrectly","reversed","originalForEach","callbackFn","originalMap","originalFilter","originalSome","every","originalEvery","originalReduce","reduceRight","originalReduceRight","lacksOctalSupport","lacksBinarySupport","trimsNonWhitespace","c","OrigNumber","binaryRegex","octalRegex","isBinary","test","isOctal","toPrimitive","hint","valueOf","hasNonWS","isBadHex","NumberShim","primValue","parseInt","receiver","valueOfSucceeds","MAX_VALUE","MIN_VALUE","NEGATIVE_INFINITY","POSITIVE_INFINITY","maxSafeInteger","MIN_SAFE_INTEGER","EPSILON","parseFloat","isInteger","isSafeInteger","isEnumerableOn","propertyIsEnumerable","ensureEnumerable","prop","sliceArgs","initial","desiredArgCount","assignTo","assignToSource","assignReducer","sourceKeys","symbols","getOwnPropertySymbols","ObjectShims","assign","is","assignHasPendingExceptions","preventExtensions","thrower","ES5ObjectShims","magic","checkArgs","polyfill","FAKENULL","gpo","spo","objectKeysAcceptsPrimitives","originalObjectKeys","objectKeysRejectsRegex","regexRejectingObjectKeys","regexKeys","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","hasFlags","desc","regExpFlagsGetter","flags","ignoreCase","multiline","unicode","sticky","regExpSupportsFlagsWithRegex","regExpNeedsToSupportSymbolMatch","regexToStringIsGeneric","regexToStringSupportsGenericFlags","origRegExpToString","R","pattern","flagsGetter","sourceDesc","legacySourceGetter","sourceGetter","OrigRegExp","RegExpShim","patternIsRegExp","calledWithNew","P","$input","regexGlobals","input","lastMatch","lastParen","leftContext","rightContext","inverseEpsilon","roundTiesToEven","n","BINARY_32_EPSILON","BINARY_32_MAX_VALUE","BINARY_32_MIN_VALUE","E","LOG2E","LOG10E","numberCLZ","clz","MathShims","acosh","xInvSquared","halfX","asinh","aSquared","atanh","cbrt","negate","clz32","cosh","t","expm1","sum","hypot","y","largest","log2","log10","sinh","u","tanh","trunc","imul","ah","al","bh","bl","fround","v","withinULPDistance","expected","distance","expm1OfTen","origMathRound","round","roundHandlesBoundaryConditions","smallestPositiveNumberWhereRoundBreaks","largestPositiveNumberWhereRoundBreaks","roundDoesNotIncreaseIntegers","num","ceil","origImul","PromiseShim","setTimeout","IsPromise","promise","_promise","PromiseCapability","capability","resolver","resolve","reject","makeZeroTimeout","postMessage","timeouts","messageName","setZeroTimeout","fn","handleMessage","event","data","stopPropagation","addEventListener","makePromiseAsap","Promise","pr","task","then","enqueue","setImmediate","process","nextTick","PROMISE_IDENTITY","PROMISE_THROWER","PROMISE_PENDING","PROMISE_FULFILLED","PROMISE_REJECTED","PROMISE_FULFILL_OFFSET","PROMISE_REJECT_OFFSET","PROMISE_CAPABILITY_OFFSET","PROMISE_FAKE_CAPABILITY","enqueuePromiseReactionJob","handler","promiseReactionJob","promiseCapability","handlerResult","fulfillPromise","reactionLength","fulfillReactionHandler0","reactionCapability0","rejectReactions0","idx","state","rejectPromise","reason","rejectReactionHandler0","createResolvingFunctions","alreadyResolved","resolution","promiseResolveThenableJob","optimizedThen","thenable","Promise$prototype$then","resolvingFunctions","Promise$prototype","_promiseAllResolver","index","remaining","alreadyCalled","performPromiseAll","iteratorRecord","resultCapability","nextPromise","resolveElement","performPromiseRace","iterable","exception","ee","race","rejectFunc","resolveFunc","catch","onRejected","onFulfilled","returnValueIsIgnored","fulfillReactionHandler","rejectReactionHandler","accept","defer","chain","promiseSupportsSubclassing","promiseIgnoresNonFunctionThenCallbacks","promiseRequiresObjectContext","promiseResolveBroken","getsThenSynchronously","BadResolverPromise","executor","hasBadResolverPromise","origAll","origRace","origResolve","origReject","r","testOrder","preservesInsertionOrder","preservesNumericInsertionOrder","fastkey","skipInsertionOrderCheck","emptyObject","addIterableToMap","MapConstructor","entry","iter","adder","nextItem","addIterableToSet","SetConstructor","add","collectionShims","empty","MapEntry","prev","isRemoved","isMap","_es6map","requireMapSlot","MapIterator","head","_head","isMapIterator","Map$prototype","MapShim","_map","_size","_storage","fkey","delete","clear","callback","context","isSet","_es6set","requireSetSlot","Set$prototype","SetShim","[[SetData]]","decodeKey","charAt","ensureMap","m","size","hasFKey","SetIterator","entireSet","isSetIterator","isGoogleTranslate","remove","mapAcceptsArguments","testMap","mapUsesSameValueZero","mapSupportsChaining","testSet","setUsesSameValueZero","setSupportsChaining","origSetAdd","origSetHas","origSetDel","SetDelete","mapSupportsSubclassing","M","mapFailsToSupportSubclassing","mapRequiresNew","setSupportsSubclassing","setFailsToSupportSubclassing","setRequiresNew","OrigSet","newMap","mapIterationThrowsStopIterator","anonymousSetHas","throwUnlessTargetIsObject","ReflectShims","deleteProperty","ownKeys","callAndCatchException","ConvertExceptionToBoolean","internalGet","parent","internalSet","existingDesc","propertyKey","attributes","objectDotGetPrototypeOf","willCreateCircularPrototype","lastProto","defineOrOverrideReflectProperty","shim","acceptsPrimitives","originalReflectGetProto","basic","extensible","Date","dateToString","shimmedDateToString","stringHTMLshims","anchor","big","blink","bold","fixed","fontcolor","color","fontsize","italics","link","url","small","strike","sub","sup","shouldOverwrite","output","quotesCount","toLowerCase","JSONstringifiesSymbols","stringify","JSON","JSONstringifyAcceptsObjectSymbol","origStringify","replaceFn","wrappedReplacer","parsedValue"],"mappings":"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"} \ No newline at end of file diff --git a/es6-shim.min.js b/es6-shim.min.js index aac1e6e3..dc59b602 100644 --- a/es6-shim.min.js +++ b/es6-shim.min.js @@ -7,6 +7,6 @@ * 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=Array.isArray;var n=Object.keys;var o=function notThunker(t){return function notThunk(){return!e(t,this,arguments)}};var i=function(e){try{e();return false}catch(t){return true}};var a=function valueOrFalseIfThrows(e){try{return e()}catch(t){return false}};var u=o(i);var f=function(){return!i(function(){return Object.defineProperty({},"x",{get:function(){}})})};var s=!!Object.defineProperty&&f();var c=function foo(){}.name==="foo";var l=Function.call.bind(Array.prototype.forEach);var p=Function.call.bind(Array.prototype.reduce);var v=Function.call.bind(Array.prototype.filter);var y=Function.call.bind(Array.prototype.some);var h=function(e,t,r,n){if(!n&&t in e){return}if(s){Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:true,value:r})}else{e[t]=r}};var b=function(e,t,r){l(n(t),function(n){var o=t[n];h(e,n,o,!!r)})};var g=Function.call.bind(Object.prototype.toString);var d=typeof/abc/==="function"?function IsCallableSlow(e){return typeof e==="function"&&g(e)==="[object Function]"}:function IsCallableFast(e){return typeof e==="function"};var m={getter:function(e,t,r){if(!s){throw new TypeError("getters require true ES5 support")}Object.defineProperty(e,t,{configurable:true,enumerable:false,get:r})},proxy:function(e,t,r){if(!s){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 getKey(){return e[t]},set:function setKey(r){e[t]=r}})},redefine:function(e,t,r){if(s){var n=Object.getOwnPropertyDescriptor(e,t);n.value=r;Object.defineProperty(e,t,n)}else{e[t]=r}},defineByDescriptor:function(e,t,r){if(s){Object.defineProperty(e,t,r)}else if("value"in r){e[t]=r.value}},preserveToString:function(e,t){if(t&&d(t.toString)){h(e,"toString",t.toString.bind(t),true)}}};var O=Object.create||function(e,t){var r=function Prototype(){};r.prototype=e;var o=new r;if(typeof t!=="undefined"){n(t).forEach(function(e){m.defineByDescriptor(o,e,t[e])})}return o};var w=function(e,t){if(!Object.setPrototypeOf){return false}return a(function(){var r=function Subclass(t){var r=new e(t);Object.setPrototypeOf(r,Subclass.prototype);return r};Object.setPrototypeOf(r,e);r.prototype=O(e.prototype,{constructor:{value:r}});return t(r)})};var j=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 S=j();var T=S.isFinite;var I=Function.call.bind(String.prototype.indexOf);var E=Function.apply.bind(Array.prototype.indexOf);var P=Function.call.bind(Array.prototype.concat);var C=Function.call.bind(String.prototype.slice);var M=Function.call.bind(Array.prototype.push);var x=Function.apply.bind(Array.prototype.push);var N=Function.call.bind(Array.prototype.shift);var A=Math.max;var R=Math.min;var _=Math.floor;var k=Math.abs;var L=Math.exp;var F=Math.log;var D=Math.sqrt;var z=Function.call.bind(Object.prototype.hasOwnProperty);var q;var W=function(){};var G=S.Map;var H=G&&G.prototype["delete"];var V=G&&G.prototype.get;var B=G&&G.prototype.has;var U=G&&G.prototype.set;var $=S.Symbol||{};var J=$.species||"@@species";var X=Number.isNaN||function isNaN(e){return e!==e};var K=Number.isFinite||function isFinite(e){return typeof e==="number"&&T(e)};var Z=d(Math.sign)?Math.sign:function sign(e){var t=Number(e);if(t===0){return t}if(X(t)){return t}return t<0?-1:1};var Y=function log1p(e){var t=Number(e);if(t<-1||X(t)){return NaN}if(t===0||t===Infinity){return t}if(t===-1){return-Infinity}return 1+t-1===0?t:t*(F(1+t)/(1+t-1))};var Q=function isArguments(e){return g(e)==="[object Arguments]"};var ee=function isArguments(e){return e!==null&&typeof e==="object"&&typeof e.length==="number"&&e.length>=0&&g(e)!=="[object Array]"&&g(e.callee)==="[object Function]"};var te=Q(arguments)?Q:ee;var re={primitive:function(e){return e===null||typeof e!=="function"&&typeof e!=="object"},string:function(e){return g(e)==="[object String]"},regex:function(e){return g(e)==="[object RegExp]"},symbol:function(e){return typeof S.Symbol==="function"&&typeof e==="symbol"}};var ne=function overrideNative(e,t,r){var n=e[t];h(e,t,r,true);m.preserveToString(e[t],n)};var oe=typeof $==="function"&&typeof $["for"]==="function"&&re.symbol($());var ie=re.symbol($.iterator)?$.iterator:"_es6-shim iterator_";if(S.Set&&typeof(new S.Set)["@@iterator"]==="function"){ie="@@iterator"}if(!S.Reflect){h(S,"Reflect",{},true)}var ae=S.Reflect;var ue=String;var fe=typeof document==="undefined"||!document?null:document.all;var se=fe==null?function isNullOrUndefined(e){return e==null}:function isNullOrUndefinedAndNotDocumentAll(e){return e==null&&e!==fe};var ce={Call:function Call(t,r){var n=arguments.length>2?arguments[2]:[];if(!ce.IsCallable(t)){throw new TypeError(t+" is not a function")}return e(t,r,n)},RequireObjectCoercible:function(e,t){if(se(e)){throw new TypeError(t||"Cannot call method on "+e)}return e},TypeIsObject:function(e){if(e===void 0||e===null||e===true||e===false){return false}return typeof e==="function"||typeof e==="object"||e===fe},ToObject:function(e,t){return Object(ce.RequireObjectCoercible(e,t))},IsCallable:d,IsConstructor:function(e){return ce.IsCallable(e)},ToInt32:function(e){return ce.ToNumber(e)>>0},ToUint32:function(e){return ce.ToNumber(e)>>>0},ToNumber:function(e){if(g(e)==="[object Symbol]"){throw new TypeError("Cannot convert a Symbol value to a number")}return+e},ToInteger:function(e){var t=ce.ToNumber(e);if(X(t)){return 0}if(t===0||!K(t)){return t}return(t>0?1:-1)*_(k(t))},ToLength:function(e){var t=ce.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 ce.TypeIsObject(e)&&(typeof e[ie]!=="undefined"||te(e))},GetIterator:function(e){if(te(e)){return new q(e,"value")}var t=ce.GetMethod(e,ie);if(!ce.IsCallable(t)){throw new TypeError("value is not an iterable")}var r=ce.Call(t,e);if(!ce.TypeIsObject(r)){throw new TypeError("bad iterator")}return r},GetMethod:function(e,t){var r=ce.ToObject(e)[t];if(se(r)){return void 0}if(!ce.IsCallable(r)){throw new TypeError("Method not callable: "+t)}return r},IteratorComplete:function(e){return!!e.done},IteratorClose:function(e,t){var r=ce.GetMethod(e,"return");if(r===void 0){return}var n,o;try{n=ce.Call(r,e)}catch(i){o=i}if(t){return}if(o){throw o}if(!ce.TypeIsObject(n)){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(!ce.TypeIsObject(t)){throw new TypeError("bad iterator")}return t},IteratorStep:function(e){var t=ce.IteratorNext(e);var r=ce.IteratorComplete(t);return r?false:t},Construct:function(e,t,r,n){var o=typeof r==="undefined"?e:r;if(!n&&ae.construct){return ae.construct(e,t,o)}var i=o.prototype;if(!ce.TypeIsObject(i)){i=Object.prototype}var a=O(i);var u=ce.Call(e,a,t);return ce.TypeIsObject(u)?u:a},SpeciesConstructor:function(e,t){var r=e.constructor;if(r===void 0){return t}if(!ce.TypeIsObject(r)){throw new TypeError("Bad constructor")}var n=r[J];if(se(n)){return t}if(!ce.IsConstructor(n)){throw new TypeError("Bad @@species")}return n},CreateHTML:function(e,t,r,n){var o=ce.ToString(e);var i="<"+t;if(r!==""){var a=ce.ToString(n);var u=a.replace(/"/g,""");i+=" "+r+'="'+u+'"'}var f=i+">";var s=f+o;return s+""},IsRegExp:function IsRegExp(e){if(!ce.TypeIsObject(e)){return false}var t=e[$.match];if(typeof t!=="undefined"){return!!t}return re.regex(e)},ToString:function ToString(e){return ue(e)}};if(s&&oe){var le=function defineWellKnownSymbol(e){if(re.symbol($[e])){return $[e]}var t=$["for"]("Symbol."+e);Object.defineProperty($,e,{configurable:false,enumerable:false,writable:false,value:t});return t};if(!re.symbol($.search)){var pe=le("search");var ve=String.prototype.search;h(RegExp.prototype,pe,function search(e){return ce.Call(ve,e,[this])});var ye=function search(e){var t=ce.RequireObjectCoercible(this);if(!se(e)){var r=ce.GetMethod(e,pe);if(typeof r!=="undefined"){return ce.Call(r,e,[t])}}return ce.Call(ve,t,[ce.ToString(e)])};ne(String.prototype,"search",ye)}if(!re.symbol($.replace)){var he=le("replace");var be=String.prototype.replace;h(RegExp.prototype,he,function replace(e,t){return ce.Call(be,e,[this,t])});var ge=function replace(e,t){var r=ce.RequireObjectCoercible(this);if(!se(e)){var n=ce.GetMethod(e,he);if(typeof n!=="undefined"){return ce.Call(n,e,[r,t])}}return ce.Call(be,r,[ce.ToString(e),t])};ne(String.prototype,"replace",ge)}if(!re.symbol($.split)){var de=le("split");var me=String.prototype.split;h(RegExp.prototype,de,function split(e,t){return ce.Call(me,e,[this,t])});var Oe=function split(e,t){var r=ce.RequireObjectCoercible(this);if(!se(e)){var n=ce.GetMethod(e,de);if(typeof n!=="undefined"){return ce.Call(n,e,[r,t])}}return ce.Call(me,r,[ce.ToString(e),t])};ne(String.prototype,"split",Oe)}var we=re.symbol($.match);var je=we&&function(){var e={};e[$.match]=function(){return 42};return"a".match(e)!==42}();if(!we||je){var Se=le("match");var Te=String.prototype.match;h(RegExp.prototype,Se,function match(e){return ce.Call(Te,e,[this])});var Ie=function match(e){var t=ce.RequireObjectCoercible(this);if(!se(e)){var r=ce.GetMethod(e,Se);if(typeof r!=="undefined"){return ce.Call(r,e,[t])}}return ce.Call(Te,t,[ce.ToString(e)])};ne(String.prototype,"match",Ie)}}var Ee=function wrapConstructor(e,t,r){m.preserveToString(t,e);if(Object.setPrototypeOf){Object.setPrototypeOf(e,t)}if(s){l(Object.getOwnPropertyNames(e),function(n){if(n in W||r[n]){return}m.proxy(e,n,t)})}else{l(Object.keys(e),function(n){if(n in W||r[n]){return}t[n]=e[n]})}t.prototype=e.prototype;m.redefine(e.prototype,"constructor",t)};var Pe=function(){return this};var Ce=function(e){if(s&&!z(e,J)){m.getter(e,J,Pe)}};var Me=function(e,t){var r=t||function iterator(){return this};h(e,ie,r);if(!e[ie]&&re.symbol(ie)){e[ie]=r}};var xe=function createDataProperty(e,t,r){if(s){Object.defineProperty(e,t,{configurable:true,enumerable:true,writable:true,value:r})}else{e[t]=r}};var Ne=function createDataPropertyOrThrow(e,t,r){xe(e,t,r);if(!ce.SameValue(e[t],r)){throw new TypeError("property is nonconfigurable")}};var Ae=function(e,t,r,n){if(!ce.TypeIsObject(e)){throw new TypeError("Constructor requires `new`: "+t.name)}var o=t.prototype;if(!ce.TypeIsObject(o)){o=r}var i=O(o);for(var a in n){if(z(n,a)){var u=n[a];h(i,a,u,true)}}return i};if(String.fromCodePoint&&String.fromCodePoint.length!==1){var Re=String.fromCodePoint;ne(String,"fromCodePoint",function fromCodePoint(e){return ce.Call(Re,this,arguments)})}var _e={fromCodePoint:function fromCodePoint(e){var t=[];var r;for(var n=0,o=arguments.length;n1114111){throw new RangeError("Invalid code point "+r)}if(r<65536){M(t,String.fromCharCode(r))}else{r-=65536;M(t,String.fromCharCode((r>>10)+55296));M(t,String.fromCharCode(r%1024+56320))}}return t.join("")},raw:function raw(e){var t=ce.ToObject(e,"bad callSite");var r=ce.ToObject(t.raw,"bad raw value");var n=r.length;var o=ce.ToLength(n);if(o<=0){return""}var i=[];var a=0;var u,f,s,c;while(a=o){break}f=a+1=Le){throw new RangeError("repeat count must be less than infinity and not overflow maximum string size")}return ke(t,r)},startsWith:function startsWith(e){var t=ce.ToString(ce.RequireObjectCoercible(this));if(ce.IsRegExp(e)){throw new TypeError('Cannot call method "startsWith" with a regex')}var r=ce.ToString(e);var n;if(arguments.length>1){n=arguments[1]}var o=A(ce.ToInteger(n),0);return C(t,o,o+r.length)===r},endsWith:function endsWith(e){var t=ce.ToString(ce.RequireObjectCoercible(this));if(ce.IsRegExp(e)){throw new TypeError('Cannot call method "endsWith" with a regex')}var r=ce.ToString(e);var n=t.length;var o;if(arguments.length>1){o=arguments[1]}var i=typeof o==="undefined"?n:ce.ToInteger(o);var a=R(A(i,0),n);return C(t,a-r.length,a)===r},includes:function includes(e){if(ce.IsRegExp(e)){throw new TypeError('"includes" does not accept a RegExp')}var t=ce.ToString(e);var r;if(arguments.length>1){r=arguments[1]}return I(this,t,r)!==-1},codePointAt:function codePointAt(e){var t=ce.ToString(ce.RequireObjectCoercible(this));var r=ce.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}}};if(String.prototype.includes&&"a".includes("a",Infinity)!==false){ne(String.prototype,"includes",Fe.includes)}if(String.prototype.startsWith&&String.prototype.endsWith){var De=i(function(){return"/a/".startsWith(/a/)});var ze=a(function(){return"abc".startsWith("a",Infinity)===false});if(!De||!ze){ne(String.prototype,"startsWith",Fe.startsWith);ne(String.prototype,"endsWith",Fe.endsWith)}}if(oe){var qe=a(function(){var e=/a/;e[$.match]=false;return"/a/".startsWith(e)});if(!qe){ne(String.prototype,"startsWith",Fe.startsWith)}var We=a(function(){var e=/a/;e[$.match]=false;return"/a/".endsWith(e)});if(!We){ne(String.prototype,"endsWith",Fe.endsWith)}var Ge=a(function(){var e=/a/;e[$.match]=false;return"/a/".includes(e)});if(!Ge){ne(String.prototype,"includes",Fe.includes)}}b(String.prototype,Fe);var He=["\t\n\x0B\f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003","\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028","\u2029\ufeff"].join("");var Ve=new RegExp("(^["+He+"]+)|(["+He+"]+$)","g");var Be=function trim(){return ce.ToString(ce.RequireObjectCoercible(this)).replace(Ve,"")};var Ue=["\x85","\u200b","\ufffe"].join("");var $e=new RegExp("["+Ue+"]","g");var Je=/^[-+]0x[0-9a-f]+$/i;var Xe=Ue.trim().length!==Ue.length;h(String.prototype,"trim",Be,Xe);var Ke=function(e){return{value:e,done:arguments.length===0}};var Ze=function(e){ce.RequireObjectCoercible(e);this._s=ce.ToString(e);this._i=0};Ze.prototype.next=function(){var e=this._s;var t=this._i;if(typeof e==="undefined"||t>=e.length){this._s=void 0;return Ke()}var r=e.charCodeAt(t);var 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 Ke(e.substr(t,o))};Me(Ze.prototype);Me(String.prototype,function(){return new Ze(this)});var Ye={from:function from(e){var r=this;var n;if(arguments.length>1){n=arguments[1]}var o,i;if(typeof n==="undefined"){o=false}else{if(!ce.IsCallable(n)){throw new TypeError("Array.from: when provided, the second argument must be a function")}if(arguments.length>2){i=arguments[2]}o=true}var a=typeof(te(e)||ce.GetMethod(e,ie))!=="undefined";var u,f,s;if(a){f=ce.IsConstructor(r)?Object(new r):[];var c=ce.GetIterator(e);var l,p;s=0;while(true){l=ce.IteratorStep(c);if(l===false){break}p=l.value;try{if(o){p=typeof i==="undefined"?n(p,s):t(n,i,p,s)}f[s]=p}catch(v){ce.IteratorClose(c,true);throw v}s+=1}u=s}else{var y=ce.ToObject(e);u=ce.ToLength(y.length);f=ce.IsConstructor(r)?Object(new r(u)):new Array(u);var h;for(s=0;s2){f=arguments[2]}var s=typeof f==="undefined"?n:ce.ToInteger(f);var c=s<0?A(n+s,0):R(s,n);var l=R(c-u,n-a);var p=1;if(u0){if(u in r){r[a]=r[u]}else{delete r[a]}u+=p;a+=p;l-=1}return r},fill:function fill(e){var t;if(arguments.length>1){t=arguments[1]}var r;if(arguments.length>2){r=arguments[2]}var n=ce.ToObject(this);var o=ce.ToLength(n.length);t=ce.ToInteger(typeof t==="undefined"?0:t);r=ce.ToInteger(typeof r==="undefined"?o:r);var i=t<0?A(o+t,0):R(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;i1&&typeof arguments[1]!=="undefined"){return ce.Call(it,this,arguments)}else{return t(it,this,e)}})}var at=-(Math.pow(2,32)-1);var ut=function(e,r){var n={length:at};n[r?(n.length>>>0)-1:0]=true;return a(function(){t(e,n,function(){throw new RangeError("should not reach here")},[]);return true})};if(!ut(Array.prototype.forEach)){var ft=Array.prototype.forEach;ne(Array.prototype,"forEach",function forEach(e){return ce.Call(ft,this.length>=0?this:[],arguments)},true)}if(!ut(Array.prototype.map)){var st=Array.prototype.map;ne(Array.prototype,"map",function map(e){return ce.Call(st,this.length>=0?this:[],arguments)},true)}if(!ut(Array.prototype.filter)){var ct=Array.prototype.filter;ne(Array.prototype,"filter",function filter(e){return ce.Call(ct,this.length>=0?this:[],arguments)},true)}if(!ut(Array.prototype.some)){var lt=Array.prototype.some;ne(Array.prototype,"some",function some(e){return ce.Call(lt,this.length>=0?this:[],arguments)},true)}if(!ut(Array.prototype.every)){var pt=Array.prototype.every;ne(Array.prototype,"every",function every(e){return ce.Call(pt,this.length>=0?this:[],arguments)},true)}if(!ut(Array.prototype.reduce)){var vt=Array.prototype.reduce;ne(Array.prototype,"reduce",function reduce(e){return ce.Call(vt,this.length>=0?this:[],arguments)},true)}if(!ut(Array.prototype.reduceRight,true)){var yt=Array.prototype.reduceRight;ne(Array.prototype,"reduceRight",function reduceRight(e){return ce.Call(yt,this.length>=0?this:[],arguments)},true)}var ht=Number("0o10")!==8;var bt=Number("0b10")!==2;var gt=y(Ue,function(e){return Number(e+0+e)===0});if(ht||bt||gt){var dt=Number;var mt=/^0b[01]+$/i;var Ot=/^0o[0-7]+$/i;var wt=mt.test.bind(mt);var jt=Ot.test.bind(Ot);var St=function(e){var t;if(typeof e.valueOf==="function"){t=e.valueOf();if(re.primitive(t)){return t}}if(typeof e.toString==="function"){t=e.toString();if(re.primitive(t)){return t}}throw new TypeError("No default value")};var Tt=$e.test.bind($e);var It=Je.test.bind(Je);var Et=function(){var e=function Number(t){var r;if(arguments.length>0){r=re.primitive(t)?t:St(t,"number")}else{r=0}if(typeof r==="string"){r=ce.Call(Be,r);if(wt(r)){r=parseInt(C(r,2),2)}else if(jt(r)){r=parseInt(C(r,2),8)}else if(Tt(r)||It(r)){r=NaN}}var n=this;var o=a(function(){dt.prototype.valueOf.call(n);return true});if(n instanceof e&&!o){return new dt(r)}return dt(r)};return e}();Ee(dt,Et,{});b(Et,{NaN:dt.NaN,MAX_VALUE:dt.MAX_VALUE,MIN_VALUE:dt.MIN_VALUE,NEGATIVE_INFINITY:dt.NEGATIVE_INFINITY,POSITIVE_INFINITY:dt.POSITIVE_INFINITY});Number=Et;m.redefine(S,"Number",Et)}var Pt=Math.pow(2,53)-1;b(Number,{MAX_SAFE_INTEGER:Pt,MIN_SAFE_INTEGER:-Pt,EPSILON:2.220446049250313e-16,parseInt:S.parseInt,parseFloat:S.parseFloat,isFinite:K,isInteger:function isInteger(e){return K(e)&&ce.ToInteger(e)===e},isSafeInteger:function isSafeInteger(e){return Number.isInteger(e)&&k(e)<=Number.MAX_SAFE_INTEGER},isNaN:X});h(Number,"parseInt",S.parseInt,Number.parseInt!==S.parseInt);if([,1].find(function(){return true})===1){ne(Array.prototype,"find",et.find)}if([,1].findIndex(function(){return true})!==0){ne(Array.prototype,"findIndex",et.findIndex)}var Ct=Function.bind.call(Function.bind,Object.prototype.propertyIsEnumerable);var Mt=function ensureEnumerable(e,t){if(s&&Ct(e,t)){Object.defineProperty(e,t,{enumerable:false})}};var xt=function sliceArgs(){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}var r=k(t);return Z(t)*Y(2*r/(1-r))/2},cbrt:function cbrt(e){var t=Number(e);if(t===0){return t}var r=t<0;var n;if(r){t=-t}if(t===Infinity){n=Infinity}else{n=L(F(t)/3);n=(t/(n*n)+2*n)/3}return r?-n:n},clz32:function clz32(e){var t=Number(e);var r=ce.ToUint32(t);if(r===0){return 32}return Pr?ce.Call(Pr,r):31-_(F(r+.5)*Ir)},cosh:function cosh(e){var t=Number(e);if(t===0){return 1}if(X(t)){return NaN}if(!T(t)){return Infinity}var r=L(k(t)-1);return(r+1/(r*Tr*Tr))*(Tr/2)},expm1:function expm1(e){var t=Number(e);if(t===-Infinity){return-1}if(!T(t)||t===0){return t}if(k(t)>.5){return L(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 hypot(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 log2(e){return F(e)*Ir},log10:function log10(e){return F(e)*Er},log1p:Y,sign:Z,sinh:function sinh(e){var t=Number(e);if(!T(t)||t===0){return t}var r=k(t);if(r<1){var n=Math.expm1(r);return Z(t)*n*(1+1/(n+1))/2}var o=L(r-1);return Z(t)*(o-1/(o*Tr*Tr))*(Tr/2)},tanh:function tanh(e){var t=Number(e);if(X(t)||t===0){return t}if(t>=20){return 1}if(t<=-20){return-1}return(Math.expm1(t)-Math.expm1(-t))/(L(t)+L(-t))},trunc:function trunc(e){var t=Number(e);return t<0?-_(-t):_(t)},imul:function imul(e,t){var r=ce.ToUint32(e);var n=ce.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 fround(e){var t=Number(e);if(t===0||t===Infinity||t===-Infinity||X(t)){return t}var r=Z(t);var n=k(t);if(njr||X(i)){return r*Infinity}return r*i}};var Mr=function withinULPDistance(e,t,r){return k(1-e/t)/Number.EPSILON<(r||8)};b(Math,Cr);h(Math,"sinh",Cr.sinh,Math.sinh(710)===Infinity);h(Math,"cosh",Cr.cosh,Math.cosh(710)===Infinity);h(Math,"log1p",Cr.log1p,Math.log1p(-1e-17)!==-1e-17);h(Math,"asinh",Cr.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7));h(Math,"asinh",Cr.asinh,Math.asinh(1e300)===Infinity);h(Math,"atanh",Cr.atanh,Math.atanh(1e-300)===0);h(Math,"tanh",Cr.tanh,Math.tanh(-2e-17)!==-2e-17); -h(Math,"acosh",Cr.acosh,Math.acosh(Number.MAX_VALUE)===Infinity);h(Math,"acosh",Cr.acosh,!Mr(Math.acosh(1+Number.EPSILON),Math.sqrt(2*Number.EPSILON)));h(Math,"cbrt",Cr.cbrt,!Mr(Math.cbrt(1e-300),1e-100));h(Math,"sinh",Cr.sinh,Math.sinh(-2e-17)!==-2e-17);var xr=Math.expm1(10);h(Math,"expm1",Cr.expm1,xr>22025.465794806718||xr<22025.465794806718);var Nr=Math.round;var Ar=Math.round(.5-Number.EPSILON/4)===0&&Math.round(-.5+Number.EPSILON/3.99)===1;var Rr=mr+1;var _r=2*mr-1;var kr=[Rr,_r].every(function(e){return Math.round(e)===e});h(Math,"round",function round(e){var t=_(e);var r=t===-1?-0:t+1;return e-t<.5?t:r},!Ar||!kr);m.preserveToString(Math.round,Nr);var Lr=Math.imul;if(Math.imul(4294967295,5)!==-5){Math.imul=Cr.imul;m.preserveToString(Math.imul,Lr)}if(Math.imul.length!==2){ne(Math,"imul",function imul(e,t){return ce.Call(Lr,Math,arguments)})}var Fr=function(){var e=S.setTimeout;if(typeof e!=="function"&&typeof e!=="object"){return}ce.IsPromise=function(e){if(!ce.TypeIsObject(e)){return false}if(typeof e._promise==="undefined"){return false}return true};var r=function(e){if(!ce.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.resolve=void 0;t.reject=void 0;t.promise=new e(r);if(!(ce.IsCallable(t.resolve)&&ce.IsCallable(t.reject))){throw new TypeError("Bad promise constructor")}};var n;if(typeof window!=="undefined"&&ce.IsCallable(window.postMessage)){n=function(){var e=[];var t="zero-timeout-message";var r=function(r){M(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=S.Promise;var t=e&&e.resolve&&e.resolve();return t&&function(e){return t.then(e)}};var i=ce.IsCallable(S.setImmediate)?S.setImmediate:typeof process==="object"&&process.nextTick?process.nextTick:o()||(ce.IsCallable(n)?n():function(t){e(t,0)});var a=function(e){return e};var u=function(e){throw e};var f=0;var s=1;var c=2;var l=0;var p=1;var v=2;var y={};var h=function(e,t,r){i(function(){g(e,t,r)})};var g=function(e,t,r){var n,o;if(t===y){return e(r)}try{n=e(r);o=t.resolve}catch(i){n=i;o=t.reject}o(n)};var d=function(e,t){var r=e._promise;var n=r.reactionLength;if(n>0){h(r.fulfillReactionHandler0,r.reactionCapability0,t);r.fulfillReactionHandler0=void 0;r.rejectReactions0=void 0;r.reactionCapability0=void 0;if(n>1){for(var o=1,i=0;o0){h(r.rejectReactionHandler0,r.reactionCapability0,t);r.fulfillReactionHandler0=void 0;r.rejectReactions0=void 0;r.reactionCapability0=void 0;if(n>1){for(var o=1,i=0;o2&&arguments[2]===y;if(b&&o===E){i=y}else{i=new r(o)}var g=ce.IsCallable(e)?e:a;var d=ce.IsCallable(t)?t:u;var m=n._promise;var O;if(m.state===f){if(m.reactionLength===0){m.fulfillReactionHandler0=g;m.rejectReactionHandler0=d;m.reactionCapability0=i}else{var w=3*(m.reactionLength-1);m[w+l]=g;m[w+p]=d;m[w+v]=i}m.reactionLength+=1}else if(m.state===s){O=m.result;h(g,i,O)}else if(m.state===c){O=m.result;h(d,i,O)}else{throw new TypeError("unexpected Promise state")}return i.promise}});y=new r(E);I=T.then;return E}();if(S.Promise){delete S.Promise.accept;delete S.Promise.defer;delete S.Promise.prototype.chain}if(typeof Fr==="function"){b(S,{Promise:Fr});var Dr=w(S.Promise,function(e){return e.resolve(42).then(function(){})instanceof e});var zr=!i(function(){return S.Promise.reject(42).then(null,5).then(null,W)});var qr=i(function(){return S.Promise.call(3,W)});var Wr=function(e){var t=e.resolve(5);t.constructor={};var r=e.resolve(t);try{r.then(null,W).then(null,W)}catch(n){return true}return t===r}(S.Promise);var Gr=s&&function(){var e=0;var t=Object.defineProperty({},"then",{get:function(){e+=1}});Promise.resolve(t);return e===1}();var Hr=function BadResolverPromise(e){var t=new Promise(e);e(3,function(){});this.then=t.then;this.constructor=BadResolverPromise};Hr.prototype=Promise.prototype;Hr.all=Promise.all;var Vr=a(function(){return!!Hr.all([1,2])});if(!Dr||!zr||!qr||Wr||!Gr||Vr){Promise=Fr;ne(S,"Promise",Fr)}if(Promise.all.length!==1){var Br=Promise.all;ne(Promise,"all",function all(e){return ce.Call(Br,this,arguments)})}if(Promise.race.length!==1){var Ur=Promise.race;ne(Promise,"race",function race(e){return ce.Call(Ur,this,arguments)})}if(Promise.resolve.length!==1){var $r=Promise.resolve;ne(Promise,"resolve",function resolve(e){return ce.Call($r,this,arguments)})}if(Promise.reject.length!==1){var Jr=Promise.reject;ne(Promise,"reject",function reject(e){return ce.Call(Jr,this,arguments)})}Mt(Promise,"all");Mt(Promise,"race");Mt(Promise,"resolve");Mt(Promise,"reject");Ce(Promise)}var Xr=function(e){var t=n(p(e,function(e,t){e[t]=true;return e},{}));return e.join(":")===t.join(":")};var Kr=Xr(["z","a","bb"]);var Zr=Xr(["z",1,"a","3",2]);if(s){var Yr=function fastkey(e,t){if(!t&&!Kr){return null}if(se(e)){return"^"+ce.ToString(e)}else if(typeof e==="string"){return"$"+e}else if(typeof e==="number"){if(!Zr){return"n"+e}return e}else if(typeof e==="boolean"){return"b"+e}return null};var Qr=function emptyObject(){return Object.create?Object.create(null):{}};var en=function addIterableToMap(e,n,o){if(r(o)||re.string(o)){l(o,function(e){if(!ce.TypeIsObject(e)){throw new TypeError("Iterator value "+e+" is not an entry object")}n.set(e[0],e[1])})}else if(o instanceof e){t(e.prototype.forEach,o,function(e,t){n.set(t,e)})}else{var i,a;if(!se(o)){a=n.set;if(!ce.IsCallable(a)){throw new TypeError("bad map")}i=ce.GetIterator(o)}if(typeof i!=="undefined"){while(true){var u=ce.IteratorStep(i);if(u===false){break}var f=u.value;try{if(!ce.TypeIsObject(f)){throw new TypeError("Iterator value "+f+" is not an entry object")}t(a,n,f[0],f[1])}catch(s){ce.IteratorClose(i,true);throw s}}}}};var tn=function addIterableToSet(e,n,o){if(r(o)||re.string(o)){l(o,function(e){n.add(e)})}else if(o instanceof e){t(e.prototype.forEach,o,function(e){n.add(e)})}else{var i,a;if(!se(o)){a=n.add;if(!ce.IsCallable(a)){throw new TypeError("bad set")}i=ce.GetIterator(o)}if(typeof i!=="undefined"){while(true){var u=ce.IteratorStep(i);if(u===false){break}var f=u.value;try{t(a,n,f)}catch(s){ce.IteratorClose(i,true);throw s}}}}};var rn={Map:function(){var e={};var r=function MapEntry(e,t){this.key=e;this.value=t;this.next=null;this.prev=null};r.prototype.isRemoved=function isRemoved(){return this.key===e};var n=function isMap(e){return!!e._es6map};var o=function requireMapSlot(e,t){if(!ce.TypeIsObject(e)||!n(e)){throw new TypeError("Method Map.prototype."+t+" called on incompatible receiver "+ce.ToString(e))}};var i=function MapIterator(e,t){o(e,"[[MapIterator]]");this.head=e._head;this.i=this.head;this.kind=t};i.prototype={isMapIterator:true,next:function next(){if(!this.isMapIterator){throw new TypeError("Not a MapIterator")}var e=this.i;var t=this.kind;var r=this.head;if(typeof this.i==="undefined"){return Ke()}while(e.isRemoved()&&e!==r){e=e.prev}var n;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 Ke(n)}}this.i=void 0;return Ke()}};Me(i.prototype);var a;var u=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}if(this&&this._es6map){throw new TypeError("Bad construction")}var e=Ae(this,Map,a,{_es6map:true,_head:null,_map:G?new G:null,_size:0,_storage:Qr()});var t=new r(null,null);t.next=t.prev=t;e._head=t;if(arguments.length>0){en(Map,e,arguments[0])}return e};a=u.prototype;m.getter(a,"size",function(){if(typeof this._size==="undefined"){throw new TypeError("size method called on incompatible Map")}return this._size});b(a,{get:function get(e){o(this,"get");var t;var r=Yr(e,true);if(r!==null){t=this._storage[r];if(t){return t.value}else{return}}if(this._map){t=V.call(this._map,e);if(t){return t.value}else{return}}var n=this._head;var i=n;while((i=i.next)!==n){if(ce.SameValueZero(i.key,e)){return i.value}}},has:function has(e){o(this,"has");var t=Yr(e,true);if(t!==null){return typeof this._storage[t]!=="undefined"}if(this._map){return B.call(this._map,e)}var r=this._head;var n=r;while((n=n.next)!==r){if(ce.SameValueZero(n.key,e)){return true}}return false},set:function set(e,t){o(this,"set");var n=this._head;var i=n;var a;var u=Yr(e,true);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}}else if(this._map){if(B.call(this._map,e)){V.call(this._map,e).value=t}else{a=new r(e,t);U.call(this._map,e,a);i=n.prev}}while((i=i.next)!==n){if(ce.SameValueZero(i.key,e)){i.value=t;return this}}a=a||new r(e,t);if(ce.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;var n=r;var i=Yr(t,true);if(i!==null){if(typeof this._storage[i]==="undefined"){return false}n=this._storage[i].prev;delete this._storage[i]}else if(this._map){if(!B.call(this._map,t)){return false}n=V.call(this._map,t).prev;H.call(this._map,t)}while((n=n.next)!==r){if(ce.SameValueZero(n.key,t)){n.key=e;n.value=e;n.prev.next=n.next;n.next.prev=n.prev;this._size-=1;return true}}return false},clear:function clear(){o(this,"clear");this._map=G?new G:null;this._size=0;this._storage=Qr();var t=this._head;var r=t;var n=r.next;while((r=n)!==t){r.key=e;r.value=e;n=r.next;r.next=r.prev=t}t.next=t.prev=t},keys:function keys(){o(this,"keys");return new i(this,"key")},values:function values(){o(this,"values");return new i(this,"value")},entries:function entries(){o(this,"entries");return new i(this,"key+value")},forEach:function forEach(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)}}}});Me(a,a.entries);return u}(),Set:function(){var e=function isSet(e){return e._es6set&&typeof e._storage!=="undefined"};var r=function requireSetSlot(t,r){if(!ce.TypeIsObject(t)||!e(t)){throw new TypeError("Set.prototype."+r+" called on incompatible receiver "+ce.ToString(t))}};var o;var i=function Set(){if(!(this instanceof Set)){throw new TypeError('Constructor Set requires "new"')}if(this&&this._es6set){throw new TypeError("Bad construction")}var e=Ae(this,Set,o,{_es6set:true,"[[SetData]]":null,_storage:Qr()});if(!e._es6set){throw new TypeError("bad set")}if(arguments.length>0){tn(Set,e,arguments[0])}return e};o=i.prototype;var a=function(e){var t=e;if(t==="^null"){return null}else if(t==="^undefined"){return void 0}else{var r=t.charAt(0);if(r==="$"){return C(t,1)}else if(r==="n"){return+C(t,1)}else if(r==="b"){return t==="btrue"}}return+t};var u=function ensureMap(e){if(!e["[[SetData]]"]){var t=new rn.Map;e["[[SetData]]"]=t;l(n(e._storage),function(e){var r=a(e);t.set(r,r)});e["[[SetData]]"]=t}e._storage=null};m.getter(i.prototype,"size",function(){r(this,"size");if(this._storage){return n(this._storage).length}u(this);return this["[[SetData]]"].size});b(i.prototype,{has:function has(e){r(this,"has");var t;if(this._storage&&(t=Yr(e))!==null){return!!this._storage[t]}u(this);return this["[[SetData]]"].has(e)},add:function add(e){r(this,"add");var t;if(this._storage&&(t=Yr(e))!==null){this._storage[t]=true;return this}u(this);this["[[SetData]]"].set(e,e);return this},"delete":function(e){r(this,"delete");var t;if(this._storage&&(t=Yr(e))!==null){var n=z(this._storage,t);return delete this._storage[t]&&n}u(this);return this["[[SetData]]"]["delete"](e)},clear:function clear(){r(this,"clear");if(this._storage){this._storage=Qr()}if(this["[[SetData]]"]){this["[[SetData]]"].clear()}},values:function values(){r(this,"values");u(this);return new f(this["[[SetData]]"].values())},entries:function entries(){r(this,"entries");u(this);return new f(this["[[SetData]]"].entries())},forEach:function forEach(e){r(this,"forEach");var n=arguments.length>1?arguments[1]:null;var o=this;u(o);this["[[SetData]]"].forEach(function(r,i){if(n){t(e,n,i,i,o)}else{e(i,i,o)}})}});h(i.prototype,"keys",i.prototype.values,true);Me(i.prototype,i.prototype.values);var f=function SetIterator(e){this.it=e};f.prototype={isSetIterator:true,next:function next(){if(!this.isSetIterator){throw new TypeError("Not a SetIterator")}return this.it.next()}};Me(f.prototype);return i}()};var nn=S.Set&&!Set.prototype["delete"]&&Set.prototype.remove&&Set.prototype.items&&Set.prototype.map&&Array.isArray((new Set).keys);if(nn){S.Set=rn.Set}if(S.Map||S.Set){var on=a(function(){return new Map([[1,2]]).get(1)===2});if(!on){S.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new G;if(arguments.length>0){en(Map,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,S.Map.prototype);return e};S.Map.prototype=O(G.prototype);h(S.Map.prototype,"constructor",S.Map,true);m.preserveToString(S.Map,G)}var an=new Map;var un=function(){var e=new Map([[1,0],[2,0],[3,0],[4,0]]);e.set(-0,e);return e.get(0)===e&&e.get(-0)===e&&e.has(0)&&e.has(-0)}();var fn=an.set(1,2)===an;if(!un||!fn){ne(Map.prototype,"set",function set(e,r){t(U,this,e===0?0:e,r);return this})}if(!un){b(Map.prototype,{get:function get(e){return t(V,this,e===0?0:e)},has:function has(e){return t(B,this,e===0?0:e)}},true);m.preserveToString(Map.prototype.get,V);m.preserveToString(Map.prototype.has,B)}var sn=new Set;var cn=Set.prototype["delete"]&&Set.prototype.add&&Set.prototype.has&&function(e){e["delete"](0);e.add(-0);return!e.has(0)}(sn);var ln=sn.add(1)===sn;if(!cn||!ln){var pn=Set.prototype.add;Set.prototype.add=function add(e){t(pn,this,e===0?0:e);return this};m.preserveToString(Set.prototype.add,pn)}if(!cn){var vn=Set.prototype.has;Set.prototype.has=function has(e){return t(vn,this,e===0?0:e)};m.preserveToString(Set.prototype.has,vn);var yn=Set.prototype["delete"];Set.prototype["delete"]=function SetDelete(e){return t(yn,this,e===0?0:e)};m.preserveToString(Set.prototype["delete"],yn)}var hn=w(S.Map,function(e){var t=new e([]);t.set(42,42);return t instanceof e});var bn=Object.setPrototypeOf&&!hn;var gn=function(){try{return!(S.Map()instanceof S.Map)}catch(e){return e instanceof TypeError}}();if(S.Map.length!==0||bn||!gn){S.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new G;if(arguments.length>0){en(Map,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,Map.prototype);return e};S.Map.prototype=G.prototype;h(S.Map.prototype,"constructor",S.Map,true);m.preserveToString(S.Map,G)}var dn=w(S.Set,function(e){var t=new e([]);t.add(42,42);return t instanceof e});var mn=Object.setPrototypeOf&&!dn;var On=function(){try{return!(S.Set()instanceof S.Set)}catch(e){return e instanceof TypeError}}();if(S.Set.length!==0||mn||!On){var wn=S.Set;S.Set=function Set(){if(!(this instanceof Set)){throw new TypeError('Constructor Set requires "new"')}var e=new wn;if(arguments.length>0){tn(Set,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,Set.prototype);return e};S.Set.prototype=wn.prototype;h(S.Set.prototype,"constructor",S.Set,true);m.preserveToString(S.Set,wn)}var jn=new S.Map;var Sn=!a(function(){return jn.keys().next().done});if(typeof S.Map.prototype.clear!=="function"||(new S.Set).size!==0||jn.size!==0||typeof S.Map.prototype.keys!=="function"||typeof S.Set.prototype.keys!=="function"||typeof S.Map.prototype.forEach!=="function"||typeof S.Set.prototype.forEach!=="function"||u(S.Map)||u(S.Set)||typeof jn.keys().next!=="function"||Sn||!hn){b(S,{Map:rn.Map,Set:rn.Set},true)}if(S.Set.prototype.keys!==S.Set.prototype.values){h(S.Set.prototype,"keys",S.Set.prototype.values,true)}Me(Object.getPrototypeOf((new S.Map).keys()));Me(Object.getPrototypeOf((new S.Set).keys()));if(c&&S.Set.prototype.has.name!=="has"){var Tn=S.Set.prototype.has;ne(S.Set.prototype,"has",function has(e){return t(Tn,this,e)})}}b(S,rn);Ce(S.Map);Ce(S.Set)}var In=function throwUnlessTargetIsObject(e){if(!ce.TypeIsObject(e)){throw new TypeError("target must be an object")}};var En={apply:function apply(){return ce.Call(ce.Call,null,arguments)},construct:function construct(e,t){if(!ce.IsConstructor(e)){throw new TypeError("First argument must be a constructor.")}var r=arguments.length>2?arguments[2]:e;if(!ce.IsConstructor(r)){throw new TypeError("new.target must be a constructor.")}return ce.Construct(e,t,r,"internal")},deleteProperty:function deleteProperty(e,t){In(e);if(s){var r=Object.getOwnPropertyDescriptor(e,t);if(r&&!r.configurable){return false}}return delete e[t]},has:function has(e,t){In(e);return t in e}};if(Object.getOwnPropertyNames){Object.assign(En,{ownKeys:function ownKeys(e){In(e);var t=Object.getOwnPropertyNames(e);if(ce.IsCallable(Object.getOwnPropertySymbols)){x(t,Object.getOwnPropertySymbols(e))}return t}})}var Pn=function ConvertExceptionToBoolean(e){return!i(e)};if(Object.preventExtensions){Object.assign(En,{isExtensible:function isExtensible(e){In(e);return Object.isExtensible(e)},preventExtensions:function preventExtensions(e){In(e);return Pn(function(){return Object.preventExtensions(e)})}})}if(s){var Cn=function get(e,t,r){var n=Object.getOwnPropertyDescriptor(e,t);if(!n){var o=Object.getPrototypeOf(e);if(o===null){return void 0}return Cn(o,t,r)}if("value"in n){return n.value}if(n.get){return ce.Call(n.get,r)}return void 0};var Mn=function set(e,r,n,o){var i=Object.getOwnPropertyDescriptor(e,r);if(!i){var a=Object.getPrototypeOf(e);if(a!==null){return Mn(a,r,n,o)}i={value:void 0,writable:true,enumerable:true,configurable:true}}if("value"in i){if(!i.writable){return false}if(!ce.TypeIsObject(o)){return false}var u=Object.getOwnPropertyDescriptor(o,r);if(u){return ae.defineProperty(o,r,{value:n})}else{return ae.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(En,{defineProperty:function defineProperty(e,t,r){In(e);return Pn(function(){return Object.defineProperty(e,t,r)})},getOwnPropertyDescriptor:function getOwnPropertyDescriptor(e,t){In(e);return Object.getOwnPropertyDescriptor(e,t)},get:function get(e,t){In(e);var r=arguments.length>2?arguments[2]:e;return Cn(e,t,r)},set:function set(e,t,r){In(e);var n=arguments.length>3?arguments[3]:e;return Mn(e,t,r,n)}})}if(Object.getPrototypeOf){var xn=Object.getPrototypeOf;En.getPrototypeOf=function getPrototypeOf(e){In(e);return xn(e)}}if(Object.setPrototypeOf&&En.getPrototypeOf){var Nn=function(e,t){var r=t;while(r){if(e===r){return true}r=En.getPrototypeOf(r)}return false};Object.assign(En,{setPrototypeOf:function setPrototypeOf(e,t){In(e);if(t!==null&&!ce.TypeIsObject(t)){throw new TypeError("proto must be an object or null")}if(t===ae.getPrototypeOf(e)){return true}if(ae.isExtensible&&!ae.isExtensible(e)){return false}if(Nn(e,t)){return false}Object.setPrototypeOf(e,t);return true}})}var An=function(e,t){if(!ce.IsCallable(S.Reflect[e])){h(S.Reflect,e,t)}else{var r=a(function(){S.Reflect[e](1);S.Reflect[e](NaN);S.Reflect[e](true);return true});if(r){ne(S.Reflect,e,t)}}};Object.keys(En).forEach(function(e){An(e,En[e])});var Rn=S.Reflect.getPrototypeOf;if(c&&Rn&&Rn.name!=="getPrototypeOf"){ne(S.Reflect,"getPrototypeOf",function getPrototypeOf(e){return t(Rn,S.Reflect,e)})}if(S.Reflect.setPrototypeOf){if(a(function(){S.Reflect.setPrototypeOf(1,{});return true})){ne(S.Reflect,"setPrototypeOf",En.setPrototypeOf)}}if(S.Reflect.defineProperty){if(!a(function(){var e=!S.Reflect.defineProperty(1,"test",{value:1});var t=typeof Object.preventExtensions!=="function"||!S.Reflect.defineProperty(Object.preventExtensions({}),"test",{});return e&&t})){ne(S.Reflect,"defineProperty",En.defineProperty)}}if(S.Reflect.construct){if(!a(function(){var e=function F(){};return S.Reflect.construct(function(){},[],e)instanceof e})){ne(S.Reflect,"construct",En.construct)}}if(String(new Date(NaN))!=="Invalid Date"){var _n=Date.prototype.toString;var kn=function toString(){var e=+this;if(e!==e){return"Invalid Date"}return ce.Call(_n,this)};ne(Date.prototype,"toString",kn)}var Ln={anchor:function anchor(e){return ce.CreateHTML(this,"a","name",e)},big:function big(){return ce.CreateHTML(this,"big","","")},blink:function blink(){return ce.CreateHTML(this,"blink","","")},bold:function bold(){return ce.CreateHTML(this,"b","","")},fixed:function fixed(){return ce.CreateHTML(this,"tt","","")},fontcolor:function fontcolor(e){return ce.CreateHTML(this,"font","color",e)},fontsize:function fontsize(e){return ce.CreateHTML(this,"font","size",e)},italics:function italics(){return ce.CreateHTML(this,"i","","")},link:function link(e){return ce.CreateHTML(this,"a","href",e)},small:function small(){return ce.CreateHTML(this,"small","","")},strike:function strike(){return ce.CreateHTML(this,"strike","","")},sub:function sub(){return ce.CreateHTML(this,"sub","","")},sup:function sub(){return ce.CreateHTML(this,"sup","","")}};l(Object.keys(Ln),function(e){var r=String.prototype[e];var n=false;if(ce.IsCallable(r)){var o=t(r,"",' " ');var i=P([],o.match(/"/g)).length;n=o!==o.toLowerCase()||i>2}else{n=true}if(n){ne(String.prototype,e,Ln[e])}});var Fn=function(){if(!oe){return false}var e=typeof JSON==="object"&&typeof JSON.stringify==="function"?JSON.stringify:null;if(!e){return false}if(typeof e($())!=="undefined"){return true}if(e([$()])!=="[null]"){return true}var t={a:$()};t[$()]=true;if(e(t)!=="{}"){return true}return false}();var Dn=a(function(){if(!oe){return true}return JSON.stringify(Object($()))==="{}"&&JSON.stringify([Object($())])==="[{}]"});if(Fn||!Dn){var zn=JSON.stringify;ne(JSON,"stringify",function stringify(e){if(typeof e==="symbol"){return}var n;if(arguments.length>1){n=arguments[1]}var o=[e];if(!r(n)){var i=ce.IsCallable(n)?n:null;var a=function(e,r){var n=i?t(i,this,e,r):r;if(typeof n!=="symbol"){if(re.symbol(n)){return Nt({})(n)}else{return n}}};o.push(a)}else{o.push(n)}if(arguments.length>2){o.push(arguments[2])}return zn.apply(this,o)})}return S}); +(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=Array.isArray;var n=Object.keys;var o=function notThunker(t){return function notThunk(){return!e(t,this,arguments)}};var i=function(e){try{e();return false}catch(t){return true}};var a=function valueOrFalseIfThrows(e){try{return e()}catch(t){return false}};var u=o(i);var f=function(){return!i(function(){return Object.defineProperty({},"x",{get:function(){}})})};var s=!!Object.defineProperty&&f();var c=function foo(){}.name==="foo";var l=Function.call.bind(Array.prototype.forEach);var p=Function.call.bind(Array.prototype.reduce);var v=Function.call.bind(Array.prototype.filter);var y=Function.call.bind(Array.prototype.some);var h=function(e,t,r,n){if(!n&&t in e){return}if(s){Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:true,value:r})}else{e[t]=r}};var b=function(e,t,r){l(n(t),function(n){var o=t[n];h(e,n,o,!!r)})};var g=Function.call.bind(Object.prototype.toString);var d=typeof/abc/==="function"?function IsCallableSlow(e){return typeof e==="function"&&g(e)==="[object Function]"}:function IsCallableFast(e){return typeof e==="function"};var m={getter:function(e,t,r){if(!s){throw new TypeError("getters require true ES5 support")}Object.defineProperty(e,t,{configurable:true,enumerable:false,get:r})},proxy:function(e,t,r){if(!s){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 getKey(){return e[t]},set:function setKey(r){e[t]=r}})},redefine:function(e,t,r){if(s){var n=Object.getOwnPropertyDescriptor(e,t);n.value=r;Object.defineProperty(e,t,n)}else{e[t]=r}},defineByDescriptor:function(e,t,r){if(s){Object.defineProperty(e,t,r)}else if("value"in r){e[t]=r.value}},preserveToString:function(e,t){if(t&&d(t.toString)){h(e,"toString",t.toString.bind(t),true)}}};var O=Object.create||function(e,t){var r=function Prototype(){};r.prototype=e;var o=new r;if(typeof t!=="undefined"){n(t).forEach(function(e){m.defineByDescriptor(o,e,t[e])})}return o};var w=function(e,t){if(!Object.setPrototypeOf){return false}return a(function(){var r=function Subclass(t){var r=new e(t);Object.setPrototypeOf(r,Subclass.prototype);return r};Object.setPrototypeOf(r,e);r.prototype=O(e.prototype,{constructor:{value:r}});return t(r)})};var j=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 S=j();var T=S.isFinite;var I=Function.call.bind(String.prototype.indexOf);var E=Function.apply.bind(Array.prototype.indexOf);var P=Function.call.bind(Array.prototype.concat);var C=Function.call.bind(String.prototype.slice);var M=Function.call.bind(Array.prototype.push);var x=Function.apply.bind(Array.prototype.push);var N=Function.call.bind(Array.prototype.join);var A=Function.call.bind(Array.prototype.shift);var R=Math.max;var _=Math.min;var k=Math.floor;var L=Math.abs;var F=Math.exp;var D=Math.log;var z=Math.sqrt;var q=Function.call.bind(Object.prototype.hasOwnProperty);var W;var G=function(){};var H=S.Map;var V=H&&H.prototype["delete"];var B=H&&H.prototype.get;var U=H&&H.prototype.has;var $=H&&H.prototype.set;var J=S.Symbol||{};var X=J.species||"@@species";var K=Number.isNaN||function isNaN(e){return e!==e};var Z=Number.isFinite||function isFinite(e){return typeof e==="number"&&T(e)};var Y=d(Math.sign)?Math.sign:function sign(e){var t=Number(e);if(t===0){return t}if(K(t)){return t}return t<0?-1:1};var Q=function log1p(e){var t=Number(e);if(t<-1||K(t)){return NaN}if(t===0||t===Infinity){return t}if(t===-1){return-Infinity}return 1+t-1===0?t:t*(D(1+t)/(1+t-1))};var ee=function isArguments(e){return g(e)==="[object Arguments]"};var te=function isArguments(e){return e!==null&&typeof e==="object"&&typeof e.length==="number"&&e.length>=0&&g(e)!=="[object Array]"&&g(e.callee)==="[object Function]"};var re=ee(arguments)?ee:te;var ne={primitive:function(e){return e===null||typeof e!=="function"&&typeof e!=="object"},string:function(e){return g(e)==="[object String]"},regex:function(e){return g(e)==="[object RegExp]"},symbol:function(e){return typeof S.Symbol==="function"&&typeof e==="symbol"}};var oe=function overrideNative(e,t,r){var n=e[t];h(e,t,r,true);m.preserveToString(e[t],n)};var ie=typeof J==="function"&&typeof J["for"]==="function"&&ne.symbol(J());var ae=ne.symbol(J.iterator)?J.iterator:"_es6-shim iterator_";if(S.Set&&typeof(new S.Set)["@@iterator"]==="function"){ae="@@iterator"}if(!S.Reflect){h(S,"Reflect",{},true)}var ue=S.Reflect;var fe=String;var se=typeof document==="undefined"||!document?null:document.all;var ce=se==null?function isNullOrUndefined(e){return e==null}:function isNullOrUndefinedAndNotDocumentAll(e){return e==null&&e!==se};var le={Call:function Call(t,r){var n=arguments.length>2?arguments[2]:[];if(!le.IsCallable(t)){throw new TypeError(t+" is not a function")}return e(t,r,n)},RequireObjectCoercible:function(e,t){if(ce(e)){throw new TypeError(t||"Cannot call method on "+e)}return e},TypeIsObject:function(e){if(e===void 0||e===null||e===true||e===false){return false}return typeof e==="function"||typeof e==="object"||e===se},ToObject:function(e,t){return Object(le.RequireObjectCoercible(e,t))},IsCallable:d,IsConstructor:function(e){return le.IsCallable(e)},ToInt32:function(e){return le.ToNumber(e)>>0},ToUint32:function(e){return le.ToNumber(e)>>>0},ToNumber:function(e){if(ie&&g(e)==="[object Symbol]"){throw new TypeError("Cannot convert a Symbol value to a number")}return+e},ToInteger:function(e){var t=le.ToNumber(e);if(K(t)){return 0}if(t===0||!Z(t)){return t}return(t>0?1:-1)*k(L(t))},ToLength:function(e){var t=le.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 K(e)&&K(t)},SameValueZero:function(e,t){return e===t||K(e)&&K(t)},IsIterable:function(e){return le.TypeIsObject(e)&&(typeof e[ae]!=="undefined"||re(e))},GetIterator:function(e){if(re(e)){return new W(e,"value")}var t=le.GetMethod(e,ae);if(!le.IsCallable(t)){throw new TypeError("value is not an iterable")}var r=le.Call(t,e);if(!le.TypeIsObject(r)){throw new TypeError("bad iterator")}return r},GetMethod:function(e,t){var r=le.ToObject(e)[t];if(ce(r)){return void 0}if(!le.IsCallable(r)){throw new TypeError("Method not callable: "+t)}return r},IteratorComplete:function(e){return!!e.done},IteratorClose:function(e,t){var r=le.GetMethod(e,"return");if(r===void 0){return}var n,o;try{n=le.Call(r,e)}catch(i){o=i}if(t){return}if(o){throw o}if(!le.TypeIsObject(n)){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(!le.TypeIsObject(t)){throw new TypeError("bad iterator")}return t},IteratorStep:function(e){var t=le.IteratorNext(e);var r=le.IteratorComplete(t);return r?false:t},Construct:function(e,t,r,n){var o=typeof r==="undefined"?e:r;if(!n&&ue.construct){return ue.construct(e,t,o)}var i=o.prototype;if(!le.TypeIsObject(i)){i=Object.prototype}var a=O(i);var u=le.Call(e,a,t);return le.TypeIsObject(u)?u:a},SpeciesConstructor:function(e,t){var r=e.constructor;if(r===void 0){return t}if(!le.TypeIsObject(r)){throw new TypeError("Bad constructor")}var n=r[X];if(ce(n)){return t}if(!le.IsConstructor(n)){throw new TypeError("Bad @@species")}return n},CreateHTML:function(e,t,r,n){var o=le.ToString(e);var i="<"+t;if(r!==""){var a=le.ToString(n);var u=a.replace(/"/g,""");i+=" "+r+'="'+u+'"'}var f=i+">";var s=f+o;return s+""},IsRegExp:function IsRegExp(e){if(!le.TypeIsObject(e)){return false}var t=e[J.match];if(typeof t!=="undefined"){return!!t}return ne.regex(e)},ToString:function ToString(e){if(ie&&g(e)==="[object Symbol]"){throw new TypeError("Cannot convert a Symbol value to a number")}return fe(e)}};if(s&&ie){var pe=function defineWellKnownSymbol(e){if(ne.symbol(J[e])){return J[e]}var t=J["for"]("Symbol."+e);Object.defineProperty(J,e,{configurable:false,enumerable:false,writable:false,value:t});return t};if(!ne.symbol(J.search)){var ve=pe("search");var ye=String.prototype.search;h(RegExp.prototype,ve,function search(e){return le.Call(ye,e,[this])});var he=function search(e){var t=le.RequireObjectCoercible(this);if(!ce(e)){var r=le.GetMethod(e,ve);if(typeof r!=="undefined"){return le.Call(r,e,[t])}}return le.Call(ye,t,[le.ToString(e)])};oe(String.prototype,"search",he)}if(!ne.symbol(J.replace)){var be=pe("replace");var ge=String.prototype.replace;h(RegExp.prototype,be,function replace(e,t){return le.Call(ge,e,[this,t])});var de=function replace(e,t){var r=le.RequireObjectCoercible(this);if(!ce(e)){var n=le.GetMethod(e,be);if(typeof n!=="undefined"){return le.Call(n,e,[r,t])}}return le.Call(ge,r,[le.ToString(e),t])};oe(String.prototype,"replace",de)}if(!ne.symbol(J.split)){var me=pe("split");var Oe=String.prototype.split;h(RegExp.prototype,me,function split(e,t){return le.Call(Oe,e,[this,t])});var we=function split(e,t){var r=le.RequireObjectCoercible(this);if(!ce(e)){var n=le.GetMethod(e,me);if(typeof n!=="undefined"){return le.Call(n,e,[r,t])}}return le.Call(Oe,r,[le.ToString(e),t])};oe(String.prototype,"split",we)}var je=ne.symbol(J.match);var Se=je&&function(){var e={};e[J.match]=function(){return 42};return"a".match(e)!==42}();if(!je||Se){var Te=pe("match");var Ie=String.prototype.match;h(RegExp.prototype,Te,function match(e){return le.Call(Ie,e,[this])});var Ee=function match(e){var t=le.RequireObjectCoercible(this);if(!ce(e)){var r=le.GetMethod(e,Te);if(typeof r!=="undefined"){return le.Call(r,e,[t])}}return le.Call(Ie,t,[le.ToString(e)])};oe(String.prototype,"match",Ee)}}var Pe=function wrapConstructor(e,t,r){m.preserveToString(t,e);if(Object.setPrototypeOf){Object.setPrototypeOf(e,t)}if(s){l(Object.getOwnPropertyNames(e),function(n){if(n in G||r[n]){return}m.proxy(e,n,t)})}else{l(Object.keys(e),function(n){if(n in G||r[n]){return}t[n]=e[n]})}t.prototype=e.prototype;m.redefine(e.prototype,"constructor",t)};var Ce=function(){return this};var Me=function(e){if(s&&!q(e,X)){m.getter(e,X,Ce)}};var xe=function(e,t){var r=t||function iterator(){return this};h(e,ae,r);if(!e[ae]&&ne.symbol(ae)){e[ae]=r}};var Ne=function createDataProperty(e,t,r){if(s){Object.defineProperty(e,t,{configurable:true,enumerable:true,writable:true,value:r})}else{e[t]=r}};var Ae=function createDataPropertyOrThrow(e,t,r){Ne(e,t,r);if(!le.SameValue(e[t],r)){throw new TypeError("property is nonconfigurable")}};var Re=function(e,t,r,n){if(!le.TypeIsObject(e)){throw new TypeError("Constructor requires `new`: "+t.name)}var o=t.prototype;if(!le.TypeIsObject(o)){o=r}var i=O(o);for(var a in n){if(q(n,a)){var u=n[a];h(i,a,u,true)}}return i};if(String.fromCodePoint&&String.fromCodePoint.length!==1){var _e=String.fromCodePoint;oe(String,"fromCodePoint",function fromCodePoint(e){return le.Call(_e,this,arguments)})}var ke={fromCodePoint:function fromCodePoint(e){var t=[];var r;for(var n=0,o=arguments.length;n1114111){throw new RangeError("Invalid code point "+r)}if(r<65536){M(t,String.fromCharCode(r))}else{r-=65536;M(t,String.fromCharCode((r>>10)+55296));M(t,String.fromCharCode(r%1024+56320))}}return N(t,"")},raw:function raw(e){var t=arguments.length-1;var r=le.ToObject(e,"bad template");var raw=le.ToObject(r.raw,"bad raw value");var n=raw.length;var o=le.ToLength(n);if(o<=0){return""}var i=[];var a=0;var u,f,s,c;while(a=o){break}f=a+1=Fe){throw new RangeError("repeat count must be less than infinity and not overflow maximum string size")}return Le(t,r)},startsWith:function startsWith(e){var t=le.ToString(le.RequireObjectCoercible(this));if(le.IsRegExp(e)){throw new TypeError('Cannot call method "startsWith" with a regex')}var r=le.ToString(e);var n;if(arguments.length>1){n=arguments[1]}var o=R(le.ToInteger(n),0);return C(t,o,o+r.length)===r},endsWith:function endsWith(e){var t=le.ToString(le.RequireObjectCoercible(this));if(le.IsRegExp(e)){throw new TypeError('Cannot call method "endsWith" with a regex')}var r=le.ToString(e);var n=t.length;var o;if(arguments.length>1){o=arguments[1]}var i=typeof o==="undefined"?n:le.ToInteger(o);var a=_(R(i,0),n);return C(t,a-r.length,a)===r},includes:function includes(e){if(le.IsRegExp(e)){throw new TypeError('"includes" does not accept a RegExp')}var t=le.ToString(e);var r;if(arguments.length>1){r=arguments[1]}return I(this,t,r)!==-1},codePointAt:function codePointAt(e){var t=le.ToString(le.RequireObjectCoercible(this));var r=le.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}}};if(String.prototype.includes&&"a".includes("a",Infinity)!==false){oe(String.prototype,"includes",De.includes)}if(String.prototype.startsWith&&String.prototype.endsWith){var ze=i(function(){return"/a/".startsWith(/a/)});var qe=a(function(){return"abc".startsWith("a",Infinity)===false});if(!ze||!qe){oe(String.prototype,"startsWith",De.startsWith);oe(String.prototype,"endsWith",De.endsWith)}}if(ie){var We=a(function(){var e=/a/;e[J.match]=false;return"/a/".startsWith(e)});if(!We){oe(String.prototype,"startsWith",De.startsWith)}var Ge=a(function(){var e=/a/;e[J.match]=false;return"/a/".endsWith(e)});if(!Ge){oe(String.prototype,"endsWith",De.endsWith)}var He=a(function(){var e=/a/;e[J.match]=false;return"/a/".includes(e)});if(!He){oe(String.prototype,"includes",De.includes)}}b(String.prototype,De);var Ve=["\t\n\x0B\f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003","\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028","\u2029\ufeff"].join("");var Be=new RegExp("(^["+Ve+"]+)|(["+Ve+"]+$)","g");var Ue=function trim(){return le.ToString(le.RequireObjectCoercible(this)).replace(Be,"")};var $e=["\x85","\u200b","\ufffe"].join("");var Je=new RegExp("["+$e+"]","g");var Xe=/^[-+]0x[0-9a-f]+$/i;var Ke=$e.trim().length!==$e.length;h(String.prototype,"trim",Ue,Ke);var Ze=function(e){return{value:e,done:arguments.length===0}};var Ye=function(e){le.RequireObjectCoercible(e);this._s=le.ToString(e);this._i=0};Ye.prototype.next=function(){var e=this._s;var t=this._i;if(typeof e==="undefined"||t>=e.length){this._s=void 0;return Ze()}var r=e.charCodeAt(t);var 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 Ze(e.substr(t,o))};xe(Ye.prototype);xe(String.prototype,function(){return new Ye(this)});var Qe={from:function from(e){var r=this;var n;if(arguments.length>1){n=arguments[1]}var o,i;if(typeof n==="undefined"){o=false}else{if(!le.IsCallable(n)){throw new TypeError("Array.from: when provided, the second argument must be a function")}if(arguments.length>2){i=arguments[2]}o=true}var a=typeof(re(e)||le.GetMethod(e,ae))!=="undefined";var u,f,s;if(a){f=le.IsConstructor(r)?Object(new r):[];var c=le.GetIterator(e);var l,p;s=0;while(true){l=le.IteratorStep(c);if(l===false){break}p=l.value;try{if(o){p=typeof i==="undefined"?n(p,s):t(n,i,p,s)}f[s]=p}catch(v){le.IteratorClose(c,true);throw v}s+=1}u=s}else{var y=le.ToObject(e);u=le.ToLength(y.length);f=le.IsConstructor(r)?Object(new r(u)):new Array(u);var h;for(s=0;s2){f=arguments[2]}var s=typeof f==="undefined"?n:le.ToInteger(f);var c=s<0?R(n+s,0):_(s,n);var l=_(c-u,n-a);var p=1;if(u0){if(u in r){r[a]=r[u]}else{delete r[a]}u+=p;a+=p;l-=1}return r},fill:function fill(e){var t;if(arguments.length>1){t=arguments[1]}var r;if(arguments.length>2){r=arguments[2]}var n=le.ToObject(this);var o=le.ToLength(n.length);t=le.ToInteger(typeof t==="undefined"?0:t);r=le.ToInteger(typeof r==="undefined"?o:r);var i=t<0?R(o+t,0):_(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;i1&&typeof arguments[1]!=="undefined"){return le.Call(at,this,arguments)}else{return t(at,this,e)}})}var ut=-(Math.pow(2,32)-1);var ft=function(e,r){var n={length:ut};n[r?(n.length>>>0)-1:0]=true;return a(function(){t(e,n,function(){throw new RangeError("should not reach here")},[]);return true})};if(!ft(Array.prototype.forEach)){var st=Array.prototype.forEach;oe(Array.prototype,"forEach",function forEach(e){return le.Call(st,this.length>=0?this:[],arguments)})}if(!ft(Array.prototype.map)){var ct=Array.prototype.map;oe(Array.prototype,"map",function map(e){return le.Call(ct,this.length>=0?this:[],arguments)})}if(!ft(Array.prototype.filter)){var lt=Array.prototype.filter;oe(Array.prototype,"filter",function filter(e){return le.Call(lt,this.length>=0?this:[],arguments)})}if(!ft(Array.prototype.some)){var pt=Array.prototype.some;oe(Array.prototype,"some",function some(e){return le.Call(pt,this.length>=0?this:[],arguments)})}if(!ft(Array.prototype.every)){var vt=Array.prototype.every;oe(Array.prototype,"every",function every(e){return le.Call(vt,this.length>=0?this:[],arguments)})}if(!ft(Array.prototype.reduce)){var yt=Array.prototype.reduce;oe(Array.prototype,"reduce",function reduce(e){return le.Call(yt,this.length>=0?this:[],arguments)})}if(!ft(Array.prototype.reduceRight,true)){var ht=Array.prototype.reduceRight;oe(Array.prototype,"reduceRight",function reduceRight(e){return le.Call(ht,this.length>=0?this:[],arguments)})}var bt=Number("0o10")!==8;var gt=Number("0b10")!==2;var dt=y($e,function(e){return Number(e+0+e)===0});if(bt||gt||dt){var mt=Number;var Ot=/^0b[01]+$/i;var wt=/^0o[0-7]+$/i;var jt=Ot.test.bind(Ot);var St=wt.test.bind(wt);var Tt=function(e,t){var r;if(typeof e.valueOf==="function"){r=e.valueOf();if(ne.primitive(r)){return r}}if(typeof e.toString==="function"){r=e.toString();if(ne.primitive(r)){return r}}throw new TypeError("No default value")};var It=Je.test.bind(Je);var Et=Xe.test.bind(Xe);var Pt=function(){var e=function Number(t){var r;if(arguments.length>0){r=ne.primitive(t)?t:Tt(t,"number")}else{r=0}if(typeof r==="string"){r=le.Call(Ue,r);if(jt(r)){r=parseInt(C(r,2),2)}else if(St(r)){r=parseInt(C(r,2),8)}else if(It(r)||Et(r)){r=NaN}}var n=this;var o=a(function(){mt.prototype.valueOf.call(n);return true});if(n instanceof e&&!o){return new mt(r)}return mt(r)};return e}();Pe(mt,Pt,{});b(Pt,{NaN:mt.NaN,MAX_VALUE:mt.MAX_VALUE,MIN_VALUE:mt.MIN_VALUE,NEGATIVE_INFINITY:mt.NEGATIVE_INFINITY,POSITIVE_INFINITY:mt.POSITIVE_INFINITY});Number=Pt;m.redefine(S,"Number",Pt)}var Ct=Math.pow(2,53)-1;b(Number,{MAX_SAFE_INTEGER:Ct,MIN_SAFE_INTEGER:-Ct,EPSILON:2.220446049250313e-16,parseInt:S.parseInt,parseFloat:S.parseFloat,isFinite:Z,isInteger:function isInteger(e){return Z(e)&&le.ToInteger(e)===e},isSafeInteger:function isSafeInteger(e){return Number.isInteger(e)&&L(e)<=Number.MAX_SAFE_INTEGER},isNaN:K});h(Number,"parseInt",S.parseInt,Number.parseInt!==S.parseInt);if([,1].find(function(){return true})===1){oe(Array.prototype,"find",tt.find)}if([,1].findIndex(function(){return true})!==0){oe(Array.prototype,"findIndex",tt.findIndex)}var Mt=Function.bind.call(Function.bind,Object.prototype.propertyIsEnumerable);var xt=function ensureEnumerable(e,t){if(s&&Mt(e,t)){Object.defineProperty(e,t,{enumerable:false})}};var Nt=function sliceArgs(){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}var r=L(t);return Y(t)*Q(2*r/(1-r))/2},cbrt:function cbrt(e){var t=Number(e);if(t===0){return t}var r=t<0;var n;if(r){t=-t}if(t===Infinity){n=Infinity}else{n=F(D(t)/3);n=(t/(n*n)+2*n)/3}return r?-n:n},clz32:function clz32(e){var t=Number(e);var r=le.ToUint32(t);if(r===0){return 32}return Cr?le.Call(Cr,r):31-k(D(r+.5)*Er)},cosh:function cosh(e){var t=Number(e);if(t===0){return 1}if(K(t)){return NaN}if(!T(t)){return Infinity}var r=F(L(t)-1);return(r+1/(r*Ir*Ir))*(Ir/2)},expm1:function expm1(e){var t=Number(e);if(t===-Infinity){return-1}if(!T(t)||t===0){return t}if(L(t)>.5){return F(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 hypot(e,t){var r=0;var n=0;for(var o=0;o0?i/n*(i/n):i}}return n===Infinity?Infinity:n*z(r)},log2:function log2(e){return D(e)*Er},log10:function log10(e){return D(e)*Pr},log1p:Q,sign:Y,sinh:function sinh(e){var t=Number(e);if(!T(t)||t===0){return t}var r=L(t);if(r<1){var n=Math.expm1(r);return Y(t)*n*(1+1/(n+1))/2}var o=F(r-1);return Y(t)*(o-1/(o*Ir*Ir))*(Ir/2)},tanh:function tanh(e){var t=Number(e);if(K(t)||t===0){return t}if(t>=20){return 1}if(t<=-20){return-1}return(Math.expm1(t)-Math.expm1(-t))/(F(t)+F(-t))},trunc:function trunc(e){var t=Number(e);return t<0?-k(-t):k(t)},imul:function imul(e,t){var r=le.ToUint32(e);var n=le.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 fround(e){var t=Number(e);if(t===0||t===Infinity||t===-Infinity||K(t)){return t}var r=Y(t);var n=L(t);if(nSr||K(i)){return r*Infinity}return r*i}};var xr=function withinULPDistance(e,t,r){return L(1-e/t)/Number.EPSILON<(r||8)};b(Math,Mr);h(Math,"sinh",Mr.sinh,Math.sinh(710)===Infinity);h(Math,"cosh",Mr.cosh,Math.cosh(710)===Infinity);h(Math,"log1p",Mr.log1p,Math.log1p(-1e-17)!==-1e-17);h(Math,"asinh",Mr.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7)); +h(Math,"asinh",Mr.asinh,Math.asinh(1e300)===Infinity);h(Math,"atanh",Mr.atanh,Math.atanh(1e-300)===0);h(Math,"tanh",Mr.tanh,Math.tanh(-2e-17)!==-2e-17);h(Math,"acosh",Mr.acosh,Math.acosh(Number.MAX_VALUE)===Infinity);h(Math,"acosh",Mr.acosh,!xr(Math.acosh(1+Number.EPSILON),Math.sqrt(2*Number.EPSILON)));h(Math,"cbrt",Mr.cbrt,!xr(Math.cbrt(1e-300),1e-100));h(Math,"sinh",Mr.sinh,Math.sinh(-2e-17)!==-2e-17);var Nr=Math.expm1(10);h(Math,"expm1",Mr.expm1,Nr>22025.465794806718||Nr<22025.465794806718);h(Math,"hypot",Mr.hypot,Math.hypot(Infinity,NaN)!==Infinity);var Ar=Math.round;var Rr=Math.round(.5-Number.EPSILON/4)===0&&Math.round(-.5+Number.EPSILON/3.99)===1;var _r=Or+1;var kr=2*Or-1;var Lr=[_r,kr].every(function(e){return Math.round(e)===e});h(Math,"round",function round(e){var t=k(e);var r=t===-1?-0:t+1;return e-t<.5?t:r},!Rr||!Lr);m.preserveToString(Math.round,Ar);var Fr=Math.imul;if(Math.imul(4294967295,5)!==-5){Math.imul=Mr.imul;m.preserveToString(Math.imul,Fr)}if(Math.imul.length!==2){oe(Math,"imul",function imul(e,t){return le.Call(Fr,Math,arguments)})}var Dr=function(){var e=S.setTimeout;if(typeof e!=="function"&&typeof e!=="object"){return}le.IsPromise=function(e){if(!le.TypeIsObject(e)){return false}if(typeof e._promise==="undefined"){return false}return true};var r=function(e){if(!le.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.resolve=void 0;t.reject=void 0;t.promise=new e(r);if(!(le.IsCallable(t.resolve)&&le.IsCallable(t.reject))){throw new TypeError("Bad promise constructor")}};var n;if(typeof window!=="undefined"&&le.IsCallable(window.postMessage)){n=function(){var e=[];var t="zero-timeout-message";var r=function(r){M(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=S.Promise;var t=e&&e.resolve&&e.resolve();return t&&function(e){return t.then(e)}};var i=le.IsCallable(S.setImmediate)?S.setImmediate:typeof process==="object"&&process.nextTick?process.nextTick:o()||(le.IsCallable(n)?n():function(t){e(t,0)});var a=function(e){return e};var u=function(e){throw e};var f=0;var s=1;var c=2;var l=0;var p=1;var v=2;var y={};var h=function(e,t,r){i(function(){g(e,t,r)})};var g=function(e,t,r){var n,o;if(t===y){return e(r)}try{n=e(r);o=t.resolve}catch(i){n=i;o=t.reject}o(n)};var d=function(e,t){var r=e._promise;var n=r.reactionLength;if(n>0){h(r.fulfillReactionHandler0,r.reactionCapability0,t);r.fulfillReactionHandler0=void 0;r.rejectReactions0=void 0;r.reactionCapability0=void 0;if(n>1){for(var o=1,i=0;o0){h(r.rejectReactionHandler0,r.reactionCapability0,t);r.fulfillReactionHandler0=void 0;r.rejectReactions0=void 0;r.reactionCapability0=void 0;if(n>1){for(var o=1,i=0;o2&&arguments[2]===y;if(b&&o===E){i=y}else{i=new r(o)}var g=le.IsCallable(e)?e:a;var d=le.IsCallable(t)?t:u;var m=n._promise;var O;if(m.state===f){if(m.reactionLength===0){m.fulfillReactionHandler0=g;m.rejectReactionHandler0=d;m.reactionCapability0=i}else{var w=3*(m.reactionLength-1);m[w+l]=g;m[w+p]=d;m[w+v]=i}m.reactionLength+=1}else if(m.state===s){O=m.result;h(g,i,O)}else if(m.state===c){O=m.result;h(d,i,O)}else{throw new TypeError("unexpected Promise state")}return i.promise}});y=new r(E);I=T.then;return E}();if(S.Promise){delete S.Promise.accept;delete S.Promise.defer;delete S.Promise.prototype.chain}if(typeof Dr==="function"){b(S,{Promise:Dr});var zr=w(S.Promise,function(e){return e.resolve(42).then(function(){})instanceof e});var qr=!i(function(){return S.Promise.reject(42).then(null,5).then(null,G)});var Wr=i(function(){return S.Promise.call(3,G)});var Gr=function(e){var t=e.resolve(5);t.constructor={};var r=e.resolve(t);try{r.then(null,G).then(null,G)}catch(n){return true}return t===r}(S.Promise);var Hr=s&&function(){var e=0;var t=Object.defineProperty({},"then",{get:function(){e+=1}});Promise.resolve(t);return e===1}();var Vr=function BadResolverPromise(e){var t=new Promise(e);e(3,function(){});this.then=t.then;this.constructor=BadResolverPromise};Vr.prototype=Promise.prototype;Vr.all=Promise.all;var Br=a(function(){return!!Vr.all([1,2])});if(!zr||!qr||!Wr||Gr||!Hr||Br){Promise=Dr;oe(S,"Promise",Dr)}if(Promise.all.length!==1){var Ur=Promise.all;oe(Promise,"all",function all(e){return le.Call(Ur,this,arguments)})}if(Promise.race.length!==1){var $r=Promise.race;oe(Promise,"race",function race(e){return le.Call($r,this,arguments)})}if(Promise.resolve.length!==1){var Jr=Promise.resolve;oe(Promise,"resolve",function resolve(e){return le.Call(Jr,this,arguments)})}if(Promise.reject.length!==1){var Xr=Promise.reject;oe(Promise,"reject",function reject(e){return le.Call(Xr,this,arguments)})}xt(Promise,"all");xt(Promise,"race");xt(Promise,"resolve");xt(Promise,"reject");Me(Promise)}var Kr=function(e){var t=n(p(e,function(e,t){e[t]=true;return e},{}));return e.join(":")===t.join(":")};var Zr=Kr(["z","a","bb"]);var Yr=Kr(["z",1,"a","3",2]);if(s){var Qr=function fastkey(e,t){if(!t&&!Zr){return null}if(ce(e)){return"^"+le.ToString(e)}else if(typeof e==="string"){return"$"+e}else if(typeof e==="number"){if(!Yr){return"n"+e}return e}else if(typeof e==="boolean"){return"b"+e}return null};var en=function emptyObject(){return Object.create?Object.create(null):{}};var tn=function addIterableToMap(e,n,o){if(r(o)||ne.string(o)){l(o,function(e){if(!le.TypeIsObject(e)){throw new TypeError("Iterator value "+e+" is not an entry object")}n.set(e[0],e[1])})}else if(o instanceof e){t(e.prototype.forEach,o,function(e,t){n.set(t,e)})}else{var i,a;if(!ce(o)){a=n.set;if(!le.IsCallable(a)){throw new TypeError("bad map")}i=le.GetIterator(o)}if(typeof i!=="undefined"){while(true){var u=le.IteratorStep(i);if(u===false){break}var f=u.value;try{if(!le.TypeIsObject(f)){throw new TypeError("Iterator value "+f+" is not an entry object")}t(a,n,f[0],f[1])}catch(s){le.IteratorClose(i,true);throw s}}}}};var rn=function addIterableToSet(e,n,o){if(r(o)||ne.string(o)){l(o,function(e){n.add(e)})}else if(o instanceof e){t(e.prototype.forEach,o,function(e){n.add(e)})}else{var i,a;if(!ce(o)){a=n.add;if(!le.IsCallable(a)){throw new TypeError("bad set")}i=le.GetIterator(o)}if(typeof i!=="undefined"){while(true){var u=le.IteratorStep(i);if(u===false){break}var f=u.value;try{t(a,n,f)}catch(s){le.IteratorClose(i,true);throw s}}}}};var nn={Map:function(){var e={};var r=function MapEntry(e,t){this.key=e;this.value=t;this.next=null;this.prev=null};r.prototype.isRemoved=function isRemoved(){return this.key===e};var n=function isMap(e){return!!e._es6map};var o=function requireMapSlot(e,t){if(!le.TypeIsObject(e)||!n(e)){throw new TypeError("Method Map.prototype."+t+" called on incompatible receiver "+le.ToString(e))}};var i=function MapIterator(e,t){o(e,"[[MapIterator]]");this.head=e._head;this.i=this.head;this.kind=t};i.prototype={isMapIterator:true,next:function next(){if(!this.isMapIterator){throw new TypeError("Not a MapIterator")}var e=this.i;var t=this.kind;var r=this.head;if(typeof this.i==="undefined"){return Ze()}while(e.isRemoved()&&e!==r){e=e.prev}var n;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 Ze(n)}}this.i=void 0;return Ze()}};xe(i.prototype);var a;var u=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}if(this&&this._es6map){throw new TypeError("Bad construction")}var e=Re(this,Map,a,{_es6map:true,_head:null,_map:H?new H:null,_size:0,_storage:en()});var t=new r(null,null);t.next=t.prev=t;e._head=t;if(arguments.length>0){tn(Map,e,arguments[0])}return e};a=u.prototype;m.getter(a,"size",function(){if(typeof this._size==="undefined"){throw new TypeError("size method called on incompatible Map")}return this._size});b(a,{get:function get(e){o(this,"get");var t;var r=Qr(e,true);if(r!==null){t=this._storage[r];if(t){return t.value}else{return}}if(this._map){t=B.call(this._map,e);if(t){return t.value}else{return}}var n=this._head;var i=n;while((i=i.next)!==n){if(le.SameValueZero(i.key,e)){return i.value}}},has:function has(e){o(this,"has");var t=Qr(e,true);if(t!==null){return typeof this._storage[t]!=="undefined"}if(this._map){return U.call(this._map,e)}var r=this._head;var n=r;while((n=n.next)!==r){if(le.SameValueZero(n.key,e)){return true}}return false},set:function set(e,t){o(this,"set");var n=this._head;var i=n;var a;var u=Qr(e,true);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}}else if(this._map){if(U.call(this._map,e)){B.call(this._map,e).value=t}else{a=new r(e,t);$.call(this._map,e,a);i=n.prev}}while((i=i.next)!==n){if(le.SameValueZero(i.key,e)){i.value=t;return this}}a=a||new r(e,t);if(le.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;var n=r;var i=Qr(t,true);if(i!==null){if(typeof this._storage[i]==="undefined"){return false}n=this._storage[i].prev;delete this._storage[i]}else if(this._map){if(!U.call(this._map,t)){return false}n=B.call(this._map,t).prev;V.call(this._map,t)}while((n=n.next)!==r){if(le.SameValueZero(n.key,t)){n.key=e;n.value=e;n.prev.next=n.next;n.next.prev=n.prev;this._size-=1;return true}}return false},clear:function clear(){o(this,"clear");this._map=H?new H:null;this._size=0;this._storage=en();var t=this._head;var r=t;var n=r.next;while((r=n)!==t){r.key=e;r.value=e;n=r.next;r.next=r.prev=t}t.next=t.prev=t},keys:function keys(){o(this,"keys");return new i(this,"key")},values:function values(){o(this,"values");return new i(this,"value")},entries:function entries(){o(this,"entries");return new i(this,"key+value")},forEach:function forEach(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)}}}});xe(a,a.entries);return u}(),Set:function(){var e=function isSet(e){return e._es6set&&typeof e._storage!=="undefined"};var r=function requireSetSlot(t,r){if(!le.TypeIsObject(t)||!e(t)){throw new TypeError("Set.prototype."+r+" called on incompatible receiver "+le.ToString(t))}};var o;var i=function Set(){if(!(this instanceof Set)){throw new TypeError('Constructor Set requires "new"')}if(this&&this._es6set){throw new TypeError("Bad construction")}var e=Re(this,Set,o,{_es6set:true,"[[SetData]]":null,_storage:en()});if(!e._es6set){throw new TypeError("bad set")}if(arguments.length>0){rn(Set,e,arguments[0])}return e};o=i.prototype;var a=function(e){var t=e;if(t==="^null"){return null}else if(t==="^undefined"){return void 0}else{var r=t.charAt(0);if(r==="$"){return C(t,1)}else if(r==="n"){return+C(t,1)}else if(r==="b"){return t==="btrue"}}return+t};var u=function ensureMap(e){if(!e["[[SetData]]"]){var t=new nn.Map;e["[[SetData]]"]=t;l(n(e._storage),function(e){var r=a(e);t.set(r,r)});e["[[SetData]]"]=t}e._storage=null};m.getter(i.prototype,"size",function(){r(this,"size");if(this._storage){return n(this._storage).length}u(this);return this["[[SetData]]"].size});b(i.prototype,{has:function has(e){r(this,"has");var t;if(this._storage&&(t=Qr(e))!==null){return!!this._storage[t]}u(this);return this["[[SetData]]"].has(e)},add:function add(e){r(this,"add");var t;if(this._storage&&(t=Qr(e))!==null){this._storage[t]=true;return this}u(this);this["[[SetData]]"].set(e,e);return this},"delete":function(e){r(this,"delete");var t;if(this._storage&&(t=Qr(e))!==null){var n=q(this._storage,t);return delete this._storage[t]&&n}u(this);return this["[[SetData]]"]["delete"](e)},clear:function clear(){r(this,"clear");if(this._storage){this._storage=en()}if(this["[[SetData]]"]){this["[[SetData]]"].clear()}},values:function values(){r(this,"values");u(this);return new f(this["[[SetData]]"].values())},entries:function entries(){r(this,"entries");u(this);return new f(this["[[SetData]]"].entries())},forEach:function forEach(e){r(this,"forEach");var n=arguments.length>1?arguments[1]:null;var o=this;u(o);this["[[SetData]]"].forEach(function(r,i){if(n){t(e,n,i,i,o)}else{e(i,i,o)}})}});h(i.prototype,"keys",i.prototype.values,true);xe(i.prototype,i.prototype.values);var f=function SetIterator(e){this.it=e};f.prototype={isSetIterator:true,next:function next(){if(!this.isSetIterator){throw new TypeError("Not a SetIterator")}return this.it.next()}};xe(f.prototype);return i}()};var on=S.Set&&!Set.prototype["delete"]&&Set.prototype.remove&&Set.prototype.items&&Set.prototype.map&&Array.isArray((new Set).keys);if(on){S.Set=nn.Set}if(S.Map||S.Set){var an=a(function(){return new Map([[1,2]]).get(1)===2});if(!an){S.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new H;if(arguments.length>0){tn(Map,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,S.Map.prototype);return e};S.Map.prototype=O(H.prototype);h(S.Map.prototype,"constructor",S.Map,true);m.preserveToString(S.Map,H)}var un=new Map;var fn=function(){var e=new Map([[1,0],[2,0],[3,0],[4,0]]);e.set(-0,e);return e.get(0)===e&&e.get(-0)===e&&e.has(0)&&e.has(-0)}();var sn=un.set(1,2)===un;if(!fn||!sn){oe(Map.prototype,"set",function set(e,r){t($,this,e===0?0:e,r);return this})}if(!fn){b(Map.prototype,{get:function get(e){return t(B,this,e===0?0:e)},has:function has(e){return t(U,this,e===0?0:e)}},true);m.preserveToString(Map.prototype.get,B);m.preserveToString(Map.prototype.has,U)}var cn=new Set;var ln=Set.prototype["delete"]&&Set.prototype.add&&Set.prototype.has&&function(e){e["delete"](0);e.add(-0);return!e.has(0)}(cn);var pn=cn.add(1)===cn;if(!ln||!pn){var vn=Set.prototype.add;Set.prototype.add=function add(e){t(vn,this,e===0?0:e);return this};m.preserveToString(Set.prototype.add,vn)}if(!ln){var yn=Set.prototype.has;Set.prototype.has=function has(e){return t(yn,this,e===0?0:e)};m.preserveToString(Set.prototype.has,yn);var hn=Set.prototype["delete"];Set.prototype["delete"]=function SetDelete(e){return t(hn,this,e===0?0:e)};m.preserveToString(Set.prototype["delete"],hn)}var bn=w(S.Map,function(e){var t=new e([]);t.set(42,42);return t instanceof e});var gn=Object.setPrototypeOf&&!bn;var dn=function(){try{return!(S.Map()instanceof S.Map)}catch(e){return e instanceof TypeError}}();if(S.Map.length!==0||gn||!dn){S.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new H;if(arguments.length>0){tn(Map,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,Map.prototype);return e};S.Map.prototype=H.prototype;h(S.Map.prototype,"constructor",S.Map,true);m.preserveToString(S.Map,H)}var mn=w(S.Set,function(e){var t=new e([]);t.add(42,42);return t instanceof e});var On=Object.setPrototypeOf&&!mn;var wn=function(){try{return!(S.Set()instanceof S.Set)}catch(e){return e instanceof TypeError}}();if(S.Set.length!==0||On||!wn){var jn=S.Set;S.Set=function Set(){if(!(this instanceof Set)){throw new TypeError('Constructor Set requires "new"')}var e=new jn;if(arguments.length>0){rn(Set,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,Set.prototype);return e};S.Set.prototype=jn.prototype;h(S.Set.prototype,"constructor",S.Set,true);m.preserveToString(S.Set,jn)}var Sn=new S.Map;var Tn=!a(function(){return Sn.keys().next().done});if(typeof S.Map.prototype.clear!=="function"||(new S.Set).size!==0||Sn.size!==0||typeof S.Map.prototype.keys!=="function"||typeof S.Set.prototype.keys!=="function"||typeof S.Map.prototype.forEach!=="function"||typeof S.Set.prototype.forEach!=="function"||u(S.Map)||u(S.Set)||typeof Sn.keys().next!=="function"||Tn||!bn){b(S,{Map:nn.Map,Set:nn.Set},true)}if(S.Set.prototype.keys!==S.Set.prototype.values){h(S.Set.prototype,"keys",S.Set.prototype.values,true)}xe(Object.getPrototypeOf((new S.Map).keys()));xe(Object.getPrototypeOf((new S.Set).keys()));if(c&&S.Set.prototype.has.name!=="has"){var In=S.Set.prototype.has;oe(S.Set.prototype,"has",function has(e){return t(In,this,e)})}}b(S,nn);Me(S.Map);Me(S.Set)}var En=function throwUnlessTargetIsObject(e){if(!le.TypeIsObject(e)){throw new TypeError("target must be an object")}};var Pn={apply:function apply(){return le.Call(le.Call,null,arguments)},construct:function construct(e,t){if(!le.IsConstructor(e)){throw new TypeError("First argument must be a constructor.")}var r=arguments.length>2?arguments[2]:e;if(!le.IsConstructor(r)){throw new TypeError("new.target must be a constructor.")}return le.Construct(e,t,r,"internal")},deleteProperty:function deleteProperty(e,t){En(e);if(s){var r=Object.getOwnPropertyDescriptor(e,t);if(r&&!r.configurable){return false}}return delete e[t]},has:function has(e,t){En(e);return t in e}};if(Object.getOwnPropertyNames){Object.assign(Pn,{ownKeys:function ownKeys(e){En(e);var t=Object.getOwnPropertyNames(e);if(le.IsCallable(Object.getOwnPropertySymbols)){x(t,Object.getOwnPropertySymbols(e))}return t}})}var Cn=function ConvertExceptionToBoolean(e){return!i(e)};if(Object.preventExtensions){Object.assign(Pn,{isExtensible:function isExtensible(e){En(e);return Object.isExtensible(e)},preventExtensions:function preventExtensions(e){En(e);return Cn(function(){return Object.preventExtensions(e)})}})}if(s){var Mn=function get(e,t,r){var n=Object.getOwnPropertyDescriptor(e,t);if(!n){var o=Object.getPrototypeOf(e);if(o===null){return void 0}return Mn(o,t,r)}if("value"in n){return n.value}if(n.get){return le.Call(n.get,r)}return void 0};var xn=function set(e,r,n,o){var i=Object.getOwnPropertyDescriptor(e,r);if(!i){var a=Object.getPrototypeOf(e);if(a!==null){return xn(a,r,n,o)}i={value:void 0,writable:true,enumerable:true,configurable:true}}if("value"in i){if(!i.writable){return false}if(!le.TypeIsObject(o)){return false}var u=Object.getOwnPropertyDescriptor(o,r);if(u){return ue.defineProperty(o,r,{value:n})}else{return ue.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(Pn,{defineProperty:function defineProperty(e,t,r){En(e);return Cn(function(){return Object.defineProperty(e,t,r)})},getOwnPropertyDescriptor:function getOwnPropertyDescriptor(e,t){En(e);return Object.getOwnPropertyDescriptor(e,t)},get:function get(e,t){En(e);var r=arguments.length>2?arguments[2]:e;return Mn(e,t,r)},set:function set(e,t,r){En(e);var n=arguments.length>3?arguments[3]:e;return xn(e,t,r,n)}})}if(Object.getPrototypeOf){var Nn=Object.getPrototypeOf;Pn.getPrototypeOf=function getPrototypeOf(e){En(e);return Nn(e)}}if(Object.setPrototypeOf&&Pn.getPrototypeOf){var An=function(e,t){var r=t;while(r){if(e===r){return true}r=Pn.getPrototypeOf(r)}return false};Object.assign(Pn,{setPrototypeOf:function setPrototypeOf(e,t){En(e);if(t!==null&&!le.TypeIsObject(t)){throw new TypeError("proto must be an object or null")}if(t===ue.getPrototypeOf(e)){return true}if(ue.isExtensible&&!ue.isExtensible(e)){return false}if(An(e,t)){return false}Object.setPrototypeOf(e,t);return true}})}var Rn=function(e,t){if(!le.IsCallable(S.Reflect[e])){h(S.Reflect,e,t)}else{var r=a(function(){S.Reflect[e](1);S.Reflect[e](NaN);S.Reflect[e](true);return true});if(r){oe(S.Reflect,e,t)}}};Object.keys(Pn).forEach(function(e){Rn(e,Pn[e])});var _n=S.Reflect.getPrototypeOf;if(c&&_n&&_n.name!=="getPrototypeOf"){oe(S.Reflect,"getPrototypeOf",function getPrototypeOf(e){return t(_n,S.Reflect,e)})}if(S.Reflect.setPrototypeOf){if(a(function(){S.Reflect.setPrototypeOf(1,{});return true})){oe(S.Reflect,"setPrototypeOf",Pn.setPrototypeOf)}}if(S.Reflect.defineProperty){if(!a(function(){var e=!S.Reflect.defineProperty(1,"test",{value:1});var t=typeof Object.preventExtensions!=="function"||!S.Reflect.defineProperty(Object.preventExtensions({}),"test",{});return e&&t})){oe(S.Reflect,"defineProperty",Pn.defineProperty)}}if(S.Reflect.construct){if(!a(function(){var e=function F(){};return S.Reflect.construct(function(){},[],e)instanceof e})){oe(S.Reflect,"construct",Pn.construct)}}if(String(new Date(NaN))!=="Invalid Date"){var kn=Date.prototype.toString;var Ln=function toString(){var e=+this;if(e!==e){return"Invalid Date"}return le.Call(kn,this)};oe(Date.prototype,"toString",Ln)}var Fn={anchor:function anchor(e){return le.CreateHTML(this,"a","name",e)},big:function big(){return le.CreateHTML(this,"big","","")},blink:function blink(){return le.CreateHTML(this,"blink","","")},bold:function bold(){return le.CreateHTML(this,"b","","")},fixed:function fixed(){return le.CreateHTML(this,"tt","","")},fontcolor:function fontcolor(e){return le.CreateHTML(this,"font","color",e)},fontsize:function fontsize(e){return le.CreateHTML(this,"font","size",e)},italics:function italics(){return le.CreateHTML(this,"i","","")},link:function link(e){return le.CreateHTML(this,"a","href",e)},small:function small(){return le.CreateHTML(this,"small","","")},strike:function strike(){return le.CreateHTML(this,"strike","","")},sub:function sub(){return le.CreateHTML(this,"sub","","")},sup:function sub(){return le.CreateHTML(this,"sup","","")}};l(Object.keys(Fn),function(e){var r=String.prototype[e];var n=false;if(le.IsCallable(r)){var o=t(r,"",' " ');var i=P([],o.match(/"/g)).length;n=o!==o.toLowerCase()||i>2}else{n=true}if(n){oe(String.prototype,e,Fn[e])}});var Dn=function(){if(!ie){return false}var e=typeof JSON==="object"&&typeof JSON.stringify==="function"?JSON.stringify:null;if(!e){return false}if(typeof e(J())!=="undefined"){return true}if(e([J()])!=="[null]"){return true}var t={a:J()};t[J()]=true;if(e(t)!=="{}"){return true}return false}();var zn=a(function(){if(!ie){return true}return JSON.stringify(Object(J()))==="{}"&&JSON.stringify([Object(J())])==="[{}]"});if(Dn||!zn){var qn=JSON.stringify;oe(JSON,"stringify",function stringify(e){if(typeof e==="symbol"){return}var n;if(arguments.length>1){n=arguments[1]}var o=[e];if(!r(n)){var i=le.IsCallable(n)?n:null;var a=function(e,r){var n=i?t(i,this,e,r):r;if(typeof n!=="symbol"){if(ne.symbol(n)){return At({})(n)}else{return n}}};o.push(a)}else{o.push(n)}if(arguments.length>2){o.push(arguments[2])}return qn.apply(this,o)})}return S}); //# sourceMappingURL=es6-shim.map diff --git a/package.json b/package.json index 886e5f54..14fa00ec 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "es6-shim", - "version": "0.35.5", + "version": "0.35.6", "author": "Paul Miller (http://paulmillr.com)", "description": "ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines", "keywords": [