UNPKG

@dashkite/joy

Version:

*The simplicity of Lodash with the functional flair of Rambda.*

129 lines (128 loc) 26.5 kB
var AsyncGeneratorFunction, GeneratorFunction, ReactorFunction, Type, instanceOf, isAny, isArray, isArrayBuffer, isAsyncFunction, isAsyncGeneratorFunction, isAsyncIterable, isAsyncIterator, isBigInt, isBoolean, isBuffer, isDataView, isDate, isDefined, isDerivedFrom, isError, isFinite, isFunction, isGeneratorFunction, isInteger, isIterable, isIterator, isKind, isMap, isNaN, isNotNull, isNotNullish, isNull, isNullish, isNumber, isObject, isPromise, isPrototype, isReactor, isReactorFunction, isReagent, isRegExp, isRegularFunction, isSet, isString, isSymbol, isSynonymousKind, isSynonymousType, isThenable, isType, isTypedArray, isURL, isUndefined, isWeakMap, prototype; import { curry, wrap } from "./function"; import { any } from "./predicate"; prototype = function(value) { if (value != null) { return Object.getPrototypeOf(value); } }; isPrototype = curry(function(p, value) { return p != null && p === prototype(value); }); isType = curry(function(type, value) { return isPrototype(type != null ? type.prototype : void 0, value); }); isSynonymousType = curry(function(type, value) { return (type != null ? type.name : void 0) === value.constructor.name; }); isKind = curry(function(type, value) { return isType(type, value) || function() { try { return value instanceof type; } catch (error) { return false; } }(); }); isSynonymousKind = curry(function(type, value) { return value != null && (isSynonymousType(type, value) || isSynonymousKind(type, prototype(value))); }); isDerivedFrom = curry(function(K, T) { return isKind(K, T.prototype); }); isAny = wrap(true); isNumber = any([ isType(Number), isType(BigInt) ]); isNaN = Number.isNaN; isFinite = Number.isFinite; isInteger = Number.isInteger; isBigInt = isType(BigInt); isBoolean = isType(Boolean); isSymbol = isType(Symbol); isDate = isType(Date); isRegExp = isType(RegExp); isString = isType(String); isRegularFunction = isType(Function); isObject = isType(Object); isArray = Array.isArray; isMap = isType(Map); isWeakMap = isType(WeakMap); isSet = isType(Set); isError = isKind(Error); isURL = isType(URL); isNotNullish = function(x) { return x != null; }; isNullish = function(x) { return x == null; }; isNull = function(x) { return x === null; }; isNotNull = function(x) { return x !== null; }; isDefined = function(x) { return x !== void 0; }; isUndefined = function(x) { return x === void 0; }; //-------------------------------------------------------------- GeneratorFunction = (function*() { return yield null; }).constructor; isGeneratorFunction = isType(GeneratorFunction); AsyncGeneratorFunction = (async function*() { return yield await null; }).constructor; isAsyncGeneratorFunction = isType(AsyncGeneratorFunction); ReactorFunction = AsyncGeneratorFunction; isReactorFunction = isAsyncGeneratorFunction; isPromise = isKind(Promise); isThenable = function(x) { return x.then != null; }; isAsyncFunction = isType((async function() { return await null; }).constructor); isFunction = isKind(Function); instanceOf = curry(function(t, x) { return x instanceof t; }); Type = { create: function(type) { return new type(); }, define: function(parent = Object) { return class extends parent { }; } }; if (typeof Buffer !== "undefined" && Buffer !== null) { isBuffer = isType(Buffer); } else { isBuffer = function(x) { return false; }; } isArrayBuffer = isType(ArrayBuffer); isDataView = isType(DataView); isTypedArray = isKind(prototype(Uint8Array)); isIterable = function(x) { return isFunction(x != null ? x[Symbol.iterator] : void 0); }; isIterator = function(x) { return isFunction(x != null ? x.next : void 0) && isIterable(x); }; isReagent = isAsyncIterable = function(x) { return isFunction(x != null ? x[Symbol.asyncIterator] : void 0); }; isReactor = isAsyncIterator = function(x) { return isFunction(x != null ? x.next : void 0) && isReagent(x); }; export { prototype, isPrototype, isType, isKind, isSynonymousType, isSynonymousKind, isDerivedFrom, Type, instanceOf, isNull, isNotNull, isDefined, isUndefined, isNullish, isNotNullish, isAny, isBoolean, isString, isSymbol, isNumber, isNaN, isFinite, isInteger, isBigInt, isDate, isError, isRegExp, isPromise, isThenable, isObject, isArray, isMap, isWeakMap, isSet, isURL, isRegularFunction, GeneratorFunction, isGeneratorFunction, AsyncGeneratorFunction, isAsyncGeneratorFunction, ReactorFunction, isReactorFunction, isAsyncFunction, isFunction, isBuffer, isArrayBuffer, isDataView, isTypedArray, isIterable, isIterator, isReagent, isAsyncIterable, isReactor, isAsyncIterator }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL0BkYXNoa2l0ZS9qb3kvc3JjL3R5cGUuY29mZmVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLElBQUEsc0JBQUEsRUFBQSxpQkFBQSxFQUFBLGVBQUEsRUFBQSxJQUFBLEVBQUEsVUFBQSxFQUFBLEtBQUEsRUFBQSxPQUFBLEVBQUEsYUFBQSxFQUFBLGVBQUEsRUFBQSx3QkFBQSxFQUFBLGVBQUEsRUFBQSxlQUFBLEVBQUEsUUFBQSxFQUFBLFNBQUEsRUFBQSxRQUFBLEVBQUEsVUFBQSxFQUFBLE1BQUEsRUFBQSxTQUFBLEVBQUEsYUFBQSxFQUFBLE9BQUEsRUFBQSxRQUFBLEVBQUEsVUFBQSxFQUFBLG1CQUFBLEVBQUEsU0FBQSxFQUFBLFVBQUEsRUFBQSxVQUFBLEVBQUEsTUFBQSxFQUFBLEtBQUEsRUFBQSxLQUFBLEVBQUEsU0FBQSxFQUFBLFlBQUEsRUFBQSxNQUFBLEVBQUEsU0FBQSxFQUFBLFFBQUEsRUFBQSxRQUFBLEVBQUEsU0FBQSxFQUFBLFdBQUEsRUFBQSxTQUFBLEVBQUEsaUJBQUEsRUFBQSxTQUFBLEVBQUEsUUFBQSxFQUFBLGlCQUFBLEVBQUEsS0FBQSxFQUFBLFFBQUEsRUFBQSxRQUFBLEVBQUEsZ0JBQUEsRUFBQSxnQkFBQSxFQUFBLFVBQUEsRUFBQSxNQUFBLEVBQUEsWUFBQSxFQUFBLEtBQUEsRUFBQSxXQUFBLEVBQUEsU0FBQSxFQUFBOztBQUFBLE9BQUE7RUFBUyxLQUFUO0VBQWdCLElBQWhCO0NBQUEsTUFBQTs7QUFDQSxPQUFBO0VBQVMsR0FBVDtDQUFBLE1BQUE7O0FBRUEsU0FBQSxHQUFZLFFBQUEsQ0FBQyxLQUFELENBQUE7RUFBVyxJQUFHLGFBQUg7V0FBZSxNQUFNLENBQUMsY0FBUCxDQUFzQixLQUF0QixFQUFmOztBQUFYOztBQUVaLFdBQUEsR0FBYyxLQUFBLENBQU0sUUFBQSxDQUFDLENBQUQsRUFBSSxLQUFKLENBQUE7U0FBYyxXQUFBLElBQU0sQ0FBQSxL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LGVBM0NGO0VBNENFLFVBNUNGO0VBNkNFLFFBN0NGO0VBOENFLGFBOUNGO0VBK0NFLFVBL0NGO0VBZ0RFLFlBaERGO0VBaURFLFVBakRGO0VBa0RFLFVBbERGO0VBbURFLFNBbkRGO0VBb0RFLGVBcERGO0VBcURFLFNBckRGO0VBc0RFLGVBdERGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3VycnksIHdyYXAgfSBmcm9tIFwiLi9mdW5jdGlvblwiXG5pbXBvcnQgeyBhbnkgfSBmcm9tIFwiLi9wcmVkaWNhdGVcIlxuXG5wcm90b3R5cGUgPSAodmFsdWUpIC0+IGlmIHZhbHVlPyB0aGVuIE9iamVjdC5nZXRQcm90b3R5cGVPZiB2YWx1ZVxuXG5pc1Byb3RvdHlwZSA9IGN1cnJ5IChwLCB2YWx1ZSkgLT4gcD8gJiYgcCA9PSBwcm90b3R5cGUgdmFsdWVcblxuaXNUeXBlID0gY3VycnkgKHR5cGUsIHZhbHVlKSAtPiBpc1Byb3RvdHlwZSB0eXBlPy5wcm90b3R5cGUsIHZhbHVlXG5cbmlzU3lub255bW91c1R5cGUgPSBjdXJyeSAodHlwZSwgdmFsdWUpIC0+XG4gIHR5cGU/Lm5hbWUgPT0gdmFsdWUuY29uc3RydWN0b3IubmFtZVxuXG5pc0tpbmQgPSBjdXJyeSAodHlwZSwgdmFsdWUpIC0+XG4gICggaXNUeXBlIHR5cGUsIHZhbHVlICkgfHwgZG8gLT5cbiAgICB0cnlcbiAgICAgIHZhbHVlIGluc3RhbmNlb2YgdHlwZVxuICAgIGNhdGNoXG4gICAgICBmYWxzZVxuXG5pc1N5bm9ueW1vdXNLaW5kID0gY3VycnkgKHR5cGUsIHZhbHVlKSAtPlxuICB2YWx1ZT8gJiYgKChpc1N5bm9ueW1vdXNUeXBlIHR5cGUsIHZhbHVlKSB8fFxuICAgIChpc1N5bm9ueW1vdXNLaW5kIHR5cGUsIChwcm90b3R5cGUgdmFsdWUpKSlcblxuaXNEZXJpdmVkRnJvbSA9IGN1cnJ5ICggSywgVCApIC0+IGlzS2luZCBLLCBUOjpcblxuaXNBbnkgPSB3cmFwIHRydWVcblxuaXNOdW1iZXIgPSBhbnkgW1xuICBpc1R5cGUgTnVtYmVyXG4gIGlzVHlwZSBCaWdJbnRcbl1cblxuaXNOYU4gPSBOdW1iZXIuaXNOYU5cblxuaXNGaW5pdGUgPSBOdW1iZXIuaXNGaW5pdGVcblxuaXNJbnRlZ2VyID0gTnVtYmVyLmlzSW50ZWdlclxuXG5pc0JpZ0ludCA9IGlzVHlwZSBCaWdJbnRcblxuaXNCb29sZWFuID0gaXNUeXBlIEJvb2xlYW5cblxuaXNTeW1ib2wgPSBpc1R5cGUgU3ltYm9sXG5cbmlzRGF0ZSA9IGlzVHlwZSBEYXRlXG5cbmlzUmVnRXhwID0gaXNUeXBlIFJlZ0V4cFxuXG5pc1N0cmluZyA9IGlzVHlwZSBTdHJpbmdcblxuaXNSZWd1bGFyRnVuY3Rpb24gPSBpc1R5cGUgRnVuY3Rpb25cblxuaXNPYmplY3QgPSBpc1R5cGUgT2JqZWN0XG5cbmlzQXJyYXkgPSBBcnJheS5pc0FycmF5XG5cbmlzTWFwID0gaXNUeXBlIE1hcFxuXG5pc1dlYWtNYXAgPSBpc1R5cGUgV2Vha01hcFxuXG5pc1NldCA9IGlzVHlwZSBTZXRcblxuaXNFcnJvciA9IGlzS2luZCBFcnJvclxuXG5pc1VSTCA9IGlzVHlwZSBVUkxcblxuaXNOb3ROdWxsaXNoID0gKHgpIC0+IHg/XG5cbmlzTnVsbGlzaCA9ICh4KSAtPiAheD9cblxuaXNOdWxsID0gKCB4ICkgLT4geCA9PSBudWxsXG5cbmlzTm90TnVsbCA9ICggeCApIC0+IHggIT0gbnVsbFxuXG5pc0RlZmluZWQgPSAoIHggKSAtPiB4ICE9IHVuZGVmaW5lZFxuXG5pc1VuZGVmaW5lZCA9ICggeCApIC0+IHggPT0gdW5kZWZpbmVkXG5cbiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5HZW5lcmF0b3JGdW5jdGlvbiA9ICgtPiB5aWVsZCBudWxsKS5jb25zdHJ1Y3RvclxuXG5pc0dlbmVyYXRvckZ1bmN0aW9uID0gaXNUeXBlIEdlbmVyYXRvckZ1bmN0aW9uXG5cbkFzeW5jR2VuZXJhdG9yRnVuY3Rpb24gPSAoLT4geWllbGQgYXdhaXQgbnVsbCkuY29uc3RydWN0b3JcblxuaXNBc3luY0dlbmVyYXRvckZ1bmN0aW9uID0gaXNUeXBlIEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25cblxuUmVhY3RvckZ1bmN0aW9uID0gQXN5bmNHZW5lcmF0b3JGdW5jdGlvblxuXG5pc1JlYWN0b3JGdW5jdGlvbiA9IGlzQXN5bmNHZW5lcmF0b3JGdW5jdGlvblxuXG5pc1Byb21pc2UgPSBpc0tpbmQgUHJvbWlzZVxuXG5pc1RoZW5hYmxlID0gKCB4ICkgLT4geC50aGVuP1xuXG5pc0FzeW5jRnVuY3Rpb24gPSBpc1R5cGUgKC0+IGF3YWl0IG51bGwpLmNvbnN0cnVjdG9yXG5cbmlzRnVuY3Rpb24gPSBpc0tpbmQgRnVuY3Rpb25cblxuaW5zdGFuY2VPZiA9IGN1cnJ5ICh0LCB4KSAtPiB4IGluc3RhbmNlb2YgdFxuXG5UeXBlID1cbiAgY3JlYXRlOiAodHlwZSkgLT4gbmV3IHR5cGVcbiAgZGVmaW5lOiAocGFyZW50ID0gT2JqZWN0KSAtPiBjbGFzcyBleHRlbmRzIHBhcmVudFxuXG5pZiBCdWZmZXI/XG4gIGlzQnVmZmVyID0gaXNUeXBlIEJ1ZmZlclxuZWxzZVxuICBpc0J1ZmZlciA9ICh4KSAtPiBmYWxzZVxuXG5pc0FycmF5QnVmZmVyID0gaXNUeXBlIEFycmF5QnVmZmVyXG5pc0RhdGFWaWV3ID0gaXNUeXBlIERhdGFWaWV3XG5pc1R5cGVkQXJyYXkgPSBpc0tpbmQgcHJvdG90eXBlIFVpbnQ4QXJyYXlcblxuaXNJdGVyYWJsZSA9ICh4KSAtPiBpc0Z1bmN0aW9uIHg/W1N5bWJvbC5pdGVyYXRvcl1cblxuaXNJdGVyYXRvciA9ICh4KSAtPiAoaXNGdW5jdGlvbiB4Py5uZXh0KSAmJiAoaXNJdGVyYWJsZSB4KVxuXG5pc1JlYWdlbnQgPSBpc0FzeW5jSXRlcmFibGUgPSAoeCkgLT4gaXNGdW5jdGlvbiB4P1tTeW1ib2wuYXN5bmNJdGVyYXRvcl1cblxuaXNSZWFjdG9yID0gaXNBc3luY0l0ZXJhdG9yID0gKHgpIC0+IChpc0Z1bmN0aW9uIHg/Lm5leHQpICYmIChpc1JlYWdlbnQgeClcblxuZXhwb3J0IHtcbiAgcHJvdG90eXBlXG4gIGlzUHJvdG90eXBlXG4gIGlzVHlwZVxuICBpc0tpbmRcbiAgaXNTeW5vbnltb3VzVHlwZVxuICBpc1N5bm9ueW1vdXNLaW5kXG4gIGlzRGVyaXZlZEZyb21cbiAgVHlwZVxuICBpbnN0YW5jZU9mXG4gIGlzTnVsbFxuICBpc05vdE51bGxcbiAgaXNEZWZpbmVkXG4gIGlzVW5kZWZpbmVkXG4gIGlzTnVsbGlzaFxuICBpc05vdE51bGxpc2hcbiAgaXNBbnlcbiAgaXNCb29sZWFuXG4gIGlzU3RyaW5nXG4gIGlzU3ltYm9sXG4gIGlzTnVtYmVyXG4gIGlzTmFOXG4gIGlzRmluaXRlXG4gIGlzSW50ZWdlclxuICBpc0JpZ0ludFxuICBpc0RhdGVcbiAgaXNFcnJvclxuICBpc1JlZ0V4cFxuICBpc1Byb21pc2VcbiAgaXNUaGVuYWJsZVxuICBpc09iamVjdFxuICBpc0FycmF5XG4gIGlzTWFwXG4gIGlzV2Vha01hcFxuICBpc1NldFxuICBpc1VSTFxuICBpc1JlZ3VsYXJGdW5jdGlvblxuICBHZW5lcmF0b3JGdW5jdGlvblxuICBpc0dlbmVyYXRvckZ1bmN0aW9uXG4gIEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25cbiAgaXNBc3luY0dlbmVyYXRvckZ1bmN0aW9uXG4gIFJlYWN0b3JGdW5jdGlvblxuICBpc1JlYWN0b3JGdW5jdGlvblxuICBpc0FzeW5jRnVuY3Rpb25cbiAgaXNGdW5jdGlvblxuICBpc0J1ZmZlclxuICBpc0FycmF5QnVmZmVyXG4gIGlzRGF0YVZpZXdcbiAgaXNUeXBlZEFycmF5XG4gIGlzSXRlcmFibGVcbiAgaXNJdGVyYXRvclxuICBpc1JlYWdlbnRcbiAgaXNBc3luY0l0ZXJhYmxlXG4gIGlzUmVhY3RvclxuICBpc0FzeW5jSXRlcmF0b3Jcbn1cbiJdfQ== //# sourceURL=/@dashkite/joy/src/type.coffee //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlcyI6WyIvQGRhc2hraXRlL2pveS9zcmMvdHlwZS5jb2ZmZWUiXSwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGN1cnJ5LCB3cmFwIH0gZnJvbSBcIi4vZnVuY3Rpb25cIlxuaW1wb3J0IHsgYW55IH0gZnJvbSBcIi4vcHJlZGljYXRlXCJcblxucHJvdG90eXBlID0gKHZhbHVlKSAtPiBpZiB2YWx1ZT8gdGhlbiBPYmplY3QuZ2V0UHJvdG90eXBlT2YgdmFsdWVcblxuaXNQcm90b3R5cGUgPSBjdXJyeSAocCwgdmFsdWUpIC0+IHA/ICYmIHAgPT0gcHJvdG90eXBlIHZhbHVlXG5cbmlzVHlwZSA9IGN1cnJ5ICh0eXBlLCB2YWx1ZSkgLT4gaXNQcm90b3R5cGUgdHlwZT8ucHJvdG90eXBlLCB2YWx1ZVxuXG5pc1N5bm9ueW1vdXNUeXBlID0gY3VycnkgKHR5cGUsIHZhbHVlKSAtPlxuICB0eXBlPy5uYW1lID09IHZhbHVlLmNvbnN0cnVjdG9yLm5hbWVcblxuaXNLaW5kID0gY3VycnkgKHR5cGUsIHZhbHVlKSAtPlxuICAoIGlzVHlwZSB0eXBlLCB2YWx1ZSApIHx8IGRvIC0+XG4gICAgdHJ5XG4gICAgICB2YWx1ZSBpbnN0YW5jZW9mIHR5cGVcbiAgICBjYXRjaFxuICAgICAgZmFsc2VcblxuaXNTeW5vbnltb3VzS2luZCA9IGN1cnJ5ICh0eXBlLCB2YWx1ZSkgLT5cbiAgdmFsdWU/ICYmICgoaXNTeW5vbnltb3VzVHlwZSB0eXBlLCB2YWx1ZSkgfHxcbiAgICAoaXNTeW5vbnltb3VzS2luZCB0eXBlLCAocHJvdG90eXBlIHZhbHVlKSkpXG5cbmlzRGVyaXZlZEZyb20gPSBjdXJyeSAoIEssIFQgKSAtPiBpc0tpbmQgSywgVDo6XG5cbmlzQW55ID0gd3JhcCB0cnVlXG5cbmlzTnVtYmVyID0gYW55IFtcbiAgaXNUeXBlIE51bWJlclxuICBpc1R5cGUgQmlnSW50XG5dXG5cbmlzTmFOID0gTnVtYmVyLmlzTmFOXG5cbmlzRmluaXRlID0gTnVtYmVyLmlzRmluaXRlXG5cbmlzSW50ZWdlciA9IE51bWJlci5pc0ludGVnZXJcblxuaXNCaWdJbnQgPSBpc1R5cGUgQmlnSW50XG5cbmlzQm9vbGVhbiA9IGlzVHlwZSBCb29sZWFuXG5cbmlzU3ltYm9sID0gaXNUeXBlIFN5bWJvbFxuXG5pc0RhdGUgPSBpc1R5cGUgRGF0ZVxuXG5pc1JlZ0V4cCA9IGlzVHlwZSBSZWdFeHBcblxuaXNTdHJpbmcgPSBpc1R5cGUgU3RyaW5nXG5cbmlzUmVndWxhckZ1bmN0aW9uID0gaXNUeXBlIEZ1bmN0aW9uXG5cbmlzT2JqZWN0ID0gaXNUeXBlIE9iamVjdFxuXG5pc0FycmF5ID0gQXJyYXkuaXNBcnJheVxuXG5pc01hcCA9IGlzVHlwZSBNYXBcblxuaXNXZWFrTWFwID0gaXNUeXBlIFdlYWtNYXBcblxuaXNTZXQgPSBpc1R5cGUgU2V0XG5cbmlzRXJyb3IgPSBpc0tpbmQgRXJyb3JcblxuaXNVUkwgPSBpc1R5cGUgVVJMXG5cbmlzTm90TnVsbGlzaCA9ICh4KSAtPiB4P1xuXG5pc051bGxpc2ggPSAoeCkgLT4gIXg/XG5cbmlzTnVsbCA9ICggeCApIC0+IHggPT0gbnVsbFxuXG5pc05vdE51bGwgPSAoIHggKSAtPiB4ICE9IG51bGxcblxuaXNEZWZpbmVkID0gKCB4ICkgLT4geCAhPSB1bmRlZmluZWRcblxuaXNVbmRlZmluZWQgPSAoIHggKSAtPiB4ID09IHVuZGVmaW5lZFxuXG4jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuR2VuZXJhdG9yRnVuY3Rpb24gPSAoLT4geWllbGQgbnVsbCkuY29uc3RydWN0b3JcblxuaXNHZW5lcmF0b3JGdW5jdGlvbiA9IGlzVHlwZSBHZW5lcmF0b3JGdW5jdGlvblxuXG5Bc3luY0dlbmVyYXRvckZ1bmN0aW9uID0gKC0+IHlpZWxkIGF3YWl0IG51bGwpLmNvbnN0cnVjdG9yXG5cbmlzQXN5bmNHZW5lcmF0b3JGdW5jdGlvbiA9IGlzVHlwZSBBc3luY0dlbmVyYXRvckZ1bmN0aW9uXG5cblJlYWN0b3JGdW5jdGlvbiA9IEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25cblxuaXNSZWFjdG9yRnVuY3Rpb24gPSBpc0FzeW5jR2VuZXJhdG9yRnVuY3Rpb25cblxuaXNQcm9taXNlID0gaXNLaW5kIFByb21pc2VcblxuaXNUaGVuYWJsZSA9ICggeCApIC0+IHgudGhlbj9cblxuaXNBc3luY0Z1bmN0aW9uID0gaXNUeXBlICgtPiBhd2FpdCBudWxsKS5jb25zdHJ1Y3RvclxuXG5pc0Z1bmN0aW9uID0gaXNLaW5kIEZ1bmN0aW9uXG5cbmluc3RhbmNlT2YgPSBjdXJyeSAodCwgeCkgLT4geCBpbnN0YW5jZW9mIHRcblxuVHlwZSA9XG4gIGNyZWF0ZTogKHR5cGUpIC0+IG5ldyB0eXBlXG4gIGRlZmluZTogKHBhcmVudCA9IE9iamVjdCkgLT4gY2xhc3MgZXh0ZW5kcyBwYXJlbnRcblxuaWYgQnVmZmVyP1xuICBpc0J1ZmZlciA9IGlzVHlwZSBCdWZmZXJcbmVsc2VcbiAgaXNCdWZmZXIgPSAoeCkgLT4gZmFsc2VcblxuaXNBcnJheUJ1ZmZlciA9IGlzVHlwZSBBcnJheUJ1ZmZlclxuaXNEYXRhVmlldyA9IGlzVHlwZSBEYXRhVmlld1xuaXNUeXBlZEFycmF5ID0gaXNLaW5kIHByb3RvdHlwZSBVaW50OEFycmF5XG5cbmlzSXRlcmFibGUgPSAoeCkgLT4gaXNGdW5jdGlvbiB4P1tTeW1ib2wuaXRlcmF0b3JdXG5cbmlzSXRlcmF0b3IgPSAoeCkgLT4gKGlzRnVuY3Rpb24geD8ubmV4dCkgJiYgKGlzSXRlcmFibGUgeClcblxuaXNSZWFnZW50ID0gaXNBc3luY0l0ZXJhYmxlID0gKHgpIC0+IGlzRnVuY3Rpb24geD9bU3ltYm9sLmFzeW5jSXRlcmF0b3JdXG5cbmlzUmVhY3RvciA9IGlzQXN5bmNJdGVyYXRvciA9ICh4KSAtPiAoaXNGdW5jdGlvbiB4Py5uZXh0KSAmJiAoaXNSZWFnZW50IHgpXG5cbmV4cG9ydCB7XG4gIHByb3RvdHlwZVxuICBpc1Byb3RvdHlwZVxuICBpc1R5cGVcbiAgaXNLaW5kXG4gIGlzU3lub255bW91c1R5cGVcbiAgaXNTeW5vbnltb3VzS2luZFxuICBpc0Rlcml2ZWRGcm9tXG4gIFR5cGVcbiAgaW5zdGFuY2VPZlxuICBpc051bGxcbiAgaXNOb3ROdWxsXG4gIGlzRGVmaW5lZFxuICBpc1VuZGVmaW5lZFxuICBpc051bGxpc2hcbiAgaXNOb3ROdWxsaXNoXG4gIGlzQW55XG4gIGlzQm9vbGVhblxuICBpc1N0cmluZ1xuICBpc1N5bWJvbFxuICBpc051bWJlclxuICBpc05hTlxuICBpc0Zpbml0ZVxuICBpc0ludGVnZXJcbiAgaXNCaWdJbnRcbiAgaXNEYXRlXG4gIGlzRXJyb3JcbiAgaXNSZWdFeHBcbiAgaXNQcm9taXNlXG4gIGlzVGhlbmFibGVcbiAgaXNPYmplY3RcbiAgaXNBcnJheVxuICBpc01hcFxuICBpc1dlYWtNYXBcbiAgaXNTZXRcbiAgaXNVUkxcbiAgaXNSZWd1bGFyRnVuY3Rpb25cbiAgR2VuZXJhdG9yRnVuY3Rpb25cbiAgaXNHZW5lcmF0b3JGdW5jdGlvblxuICBBc3luY0dlbmVyYXRvckZ1bmN0aW9uXG4gIGlzQXN5bmNHZW5lcmF0b3JGdW5jdGlvblxuICBSZWFjdG9yRnVuY3Rpb25cbiAgaXNSZWFjdG9yRnVuY3Rpb25cbiAgaXNBc3luY0Z1bmN0aW9uXG4gIGlzRnVuY3Rpb25cbiAgaXNCdWZmZXJcbiAgaXNBcnJheUJ1ZmZlclxuICBpc0RhdGFWaWV3XG4gIGlzVHlwZWRBcnJheVxuICBpc0l0ZXJhYmxlXG4gIGlzSXRlcmF0b3JcbiAgaXNSZWFnZW50XG4gIGlzQXN5bmNJdGVyYWJsZVxuICBpc1JlYWN0b3JcbiAgaXNBc3luY0l0ZXJhdG9yXG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBQSxzQkFBQSxFQUFBLGlCQUFBLEVBQUEsZUFBQSxFQUFBLElBQUEsRUFBQSxVQUFBLEVBQUEsS0FBQSxFQUFBLE9BQUEsRUFBQSxhQUFBLEVBQUEsZUFBQSxFQUFBLHdCQUFBLEVB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