UNPKG

@dashkite/joy

Version:

[![Hippocratic License HL3-CORE](https://img.shields.io/static/v1?label=Hippocratic%20License&message=HL3-CORE&labelColor=5e2751&color=bc8c3d)](https://firstdonoharm.dev/version/3/0/core.html)

130 lines (129 loc) 26.3 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, isReactive, 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)); isIterator = function(value) { return value.next != null && isIterable(value); }; isIterable = function(value) { return isFunction(value[Symbol.iterator]); }; isReactive = function(value) { return isFunction(value[Symbol.asyncIterator]); }; isReagent = isReactive; isAsyncIterable = isReactive; isReactor = isReactive; isAsyncIterator = isReactive; 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, isReactive, isReagent, isAsyncIterable, isReactor, isAsyncIterator }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL0BkYXNoa2l0ZS9qb3kvc3JjL3R5cGUuY29mZmVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLElBQUEsc0JBQUEsRUFBQSxpQkFBQSxFQUFBLGVBQUEsRUFBQSxJQUFBLEVBQUEsVUFBQSxFQUFBLEtBQUEsRUFBQSxPQUFBLEVBQUEsYUFBQSxFQUFBLGVBQUEsRUFBQSx3QkFBQSxFQUFBLGVBQUEsRUFBQSxlQUFBLEVBQUEsUUFBQSxFQUFBLFNBQUEsRUFBQSxRQUFBLEVBQUEsVUFBQSxFQUFBLE1BQUEsRUFBQSxTQUFBLEVBQUEsYUFBQSxFQUFBLE9BQUEsRUFBQSxRQUFBLEVBQUEsVUFBQSxFQUFBLG1CQUFBLEVBQUEsU0FBQSxFQUFBLFVBQUEsRUFBQSxVQUFBLEVBQUEsTUFBQSxFQUFBLEtBQUEsRUFBQSxLQUFBLEVBQUEsU0FBQSxFQUFBLFlBQUEsRUFBQSxNQUFBLEVBQUEsU0FBQSxFQUFBLFFBQUEsRUFBQSxRQUFBLEVBQUEsU0FBQSxFQUFBLFdBQUEsRUFBQSxVQUFBLEVBQUEsU0FBQSxFQUFBLGlCQUFBLEVBQUEsU0FBQSxFQUFBLFFBQUEsRUFBQSxpQkFBQSxFQUFBLEtBQUEsRUFBQSxRQUFBLEVBQUEsUUFBQSxFQUFBLGdCQUFBLEVBQUEsZ0JBQUEsRUFBQSxVQUFBLEVBQUEsTUFBQSxFQUFBLFlBQUEsRUFBQSxLQUFBLEVBQUEsV0FBQSxFQUFBLFNBQUEsRUFBQTs7QUFBQSxPQUFBO0VBQVMsS0FBVDtFQUFnQixJQUFoQjtDQUFBLE1BQUE7O0FBQ0EsT0FBQTtFQUFTLEdBQVQ7Q0FBQSxNQUFBOztBQUVBLFNBQUEsR0FBWSxRQUFBLENBQUMsS0FBRCxDQUFBO0VBQVcsSUFBRyxhQUFIO1dBQWUsTUFBTSxDQUFDLGNBQVAsQ0FBc0IsS0FBdEIsRUFBZjs7QUFBWDs7QUFFWixXQUFBLEdBQWMsS0FBQSxDQUFNLFFBQUEsQ0FBQyxDQUFELEVBQUksS0FBSixDQUFBO1NBQWMsV0FBQSxJ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RSxTQXBERjtFQXFERSxlQXJERjtFQXNERSxTQXRERjtFQXVERSxlQXZERiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGN1cnJ5LCB3cmFwIH0gZnJvbSBcIi4vZnVuY3Rpb25cIlxuaW1wb3J0IHsgYW55IH0gZnJvbSBcIi4vcHJlZGljYXRlXCJcblxucHJvdG90eXBlID0gKHZhbHVlKSAtPiBpZiB2YWx1ZT8gdGhlbiBPYmplY3QuZ2V0UHJvdG90eXBlT2YgdmFsdWVcblxuaXNQcm90b3R5cGUgPSBjdXJyeSAocCwgdmFsdWUpIC0+IHA/ICYmIHAgPT0gcHJvdG90eXBlIHZhbHVlXG5cbmlzVHlwZSA9IGN1cnJ5ICh0eXBlLCB2YWx1ZSkgLT4gaXNQcm90b3R5cGUgdHlwZT8ucHJvdG90eXBlLCB2YWx1ZVxuXG5pc1N5bm9ueW1vdXNUeXBlID0gY3VycnkgKHR5cGUsIHZhbHVlKSAtPlxuICB0eXBlPy5uYW1lID09IHZhbHVlLmNvbnN0cnVjdG9yLm5hbWVcblxuaXNLaW5kID0gY3VycnkgKHR5cGUsIHZhbHVlKSAtPlxuICAoIGlzVHlwZSB0eXBlLCB2YWx1ZSApIHx8IGRvIC0+XG4gICAgdHJ5XG4gICAgICB2YWx1ZSBpbnN0YW5jZW9mIHR5cGVcbiAgICBjYXRjaFxuICAgICAgZmFsc2VcblxuaXNTeW5vbnltb3VzS2luZCA9IGN1cnJ5ICh0eXBlLCB2YWx1ZSkgLT5cbiAgdmFsdWU/ICYmICgoaXNTeW5vbnltb3VzVHlwZSB0eXBlLCB2YWx1ZSkgfHxcbiAgICAoaXNTeW5vbnltb3VzS2luZCB0eXBlLCAocHJvdG90eXBlIHZhbHVlKSkpXG5cbmlzRGVyaXZlZEZyb20gPSBjdXJyeSAoIEssIFQgKSAtPiBpc0tpbmQgSywgVDo6XG5cbmlzQW55ID0gd3JhcCB0cnVlXG5cbmlzTnVtYmVyID0gYW55IFtcbiAgaXNUeXBlIE51bWJlclxuICBpc1R5cGUgQmlnSW50XG5dXG5cbmlzTmFOID0gTnVtYmVyLmlzTmFOXG5cbmlzRmluaXRlID0gTnVtYmVyLmlzRmluaXRlXG5cbmlzSW50ZWdlciA9IE51bWJlci5pc0ludGVnZXJcblxuaXNCaWdJbnQgPSBpc1R5cGUgQmlnSW50XG5cbmlzQm9vbGVhbiA9IGlzVHlwZSBCb29sZWFuXG5cbmlzU3ltYm9sID0gaXNUeXBlIFN5bWJvbFxuXG5pc0RhdGUgPSBpc1R5cGUgRGF0ZVxuXG5pc1JlZ0V4cCA9IGlzVHlwZSBSZWdFeHBcblxuaXNTdHJpbmcgPSBpc1R5cGUgU3RyaW5nXG5cbmlzUmVndWxhckZ1bmN0aW9uID0gaXNUeXBlIEZ1bmN0aW9uXG5cbmlzT2JqZWN0ID0gaXNUeXBlIE9iamVjdFxuXG5pc0FycmF5ID0gQXJyYXkuaXNBcnJheVxuXG5pc01hcCA9IGlzVHlwZSBNYXBcblxuaXNXZWFrTWFwID0gaXNUeXBlIFdlYWtNYXBcblxuaXNTZXQgPSBpc1R5cGUgU2V0XG5cbmlzRXJyb3IgPSBpc0tpbmQgRXJyb3JcblxuaXNVUkwgPSBpc1R5cGUgVVJMXG5cbmlzTm90TnVsbGlzaCA9ICh4KSAtPiB4P1xuXG5pc051bGxpc2ggPSAoeCkgLT4gIXg/XG5cbmlzTnVsbCA9ICggeCApIC0+IHggPT0gbnVsbFxuXG5pc05vdE51bGwgPSAoIHggKSAtPiB4ICE9IG51bGxcblxuaXNEZWZpbmVkID0gKCB4ICkgLT4geCAhPSB1bmRlZmluZWRcblxuaXNVbmRlZmluZWQgPSAoIHggKSAtPiB4ID09IHVuZGVmaW5lZFxuXG4jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuR2VuZXJhdG9yRnVuY3Rpb24gPSAoLT4geWllbGQgbnVsbCkuY29uc3RydWN0b3JcblxuaXNHZW5lcmF0b3JGdW5jdGlvbiA9IGlzVHlwZSBHZW5lcmF0b3JGdW5jdGlvblxuXG5Bc3luY0dlbmVyYXRvckZ1bmN0aW9uID0gKC0+IHlpZWxkIGF3YWl0IG51bGwpLmNvbnN0cnVjdG9yXG5cbmlzQXN5bmNHZW5lcmF0b3JGdW5jdGlvbiA9IGlzVHlwZSBBc3luY0dlbmVyYXRvckZ1bmN0aW9uXG5cblJlYWN0b3JGdW5jdGlvbiA9IEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25cblxuaXNSZWFjdG9yRnVuY3Rpb24gPSBpc0FzeW5jR2VuZXJhdG9yRnVuY3Rpb25cblxuaXNQcm9taXNlID0gaXNLaW5kIFByb21pc2VcblxuaXNUaGVuYWJsZSA9ICggeCApIC0+IHgudGhlbj9cblxuaXNBc3luY0Z1bmN0aW9uID0gaXNUeXBlICgtPiBhd2FpdCBudWxsKS5jb25zdHJ1Y3RvclxuXG5pc0Z1bmN0aW9uID0gaXNLaW5kIEZ1bmN0aW9uXG5cbmluc3RhbmNlT2YgPSBjdXJyeSAodCwgeCkgLT4geCBpbnN0YW5jZW9mIHRcblxuVHlwZSA9XG4gIGNyZWF0ZTogKHR5cGUpIC0+IG5ldyB0eXBlXG4gIGRlZmluZTogKHBhcmVudCA9IE9iamVjdCkgLT4gY2xhc3MgZXh0ZW5kcyBwYXJlbnRcblxuaWYgQnVmZmVyP1xuICBpc0J1ZmZlciA9IGlzVHlwZSBCdWZmZXJcbmVsc2VcbiAgaXNCdWZmZXIgPSAoeCkgLT4gZmFsc2VcblxuaXNBcnJheUJ1ZmZlciA9IGlzVHlwZSBBcnJheUJ1ZmZlclxuaXNEYXRhVmlldyA9IGlzVHlwZSBEYXRhVmlld1xuaXNUeXBlZEFycmF5ID0gaXNLaW5kIHByb3RvdHlwZSBVaW50OEFycmF5XG5cbmlzSXRlcmF0b3IgPSAoIHZhbHVlICkgLT4gdmFsdWUubmV4dD8gJiYgaXNJdGVyYWJsZSB2YWx1ZVxuXG5pc0l0ZXJhYmxlID0gKCB2YWx1ZSApIC0+IFxuICBpc0Z1bmN0aW9uIHZhbHVlWyBTeW1ib2wuaXRlcmF0b3IgXVxuXG5pc1JlYWN0aXZlID0gKCB2YWx1ZSApIC0+IFxuICBpc0Z1bmN0aW9uIHZhbHVlWyBTeW1ib2wuYXN5bmNJdGVyYXRvciBdXG5cbmlzUmVhZ2VudCA9IGlzUmVhY3RpdmVcbmlzQXN5bmNJdGVyYWJsZSA9IGlzUmVhY3RpdmVcbmlzUmVhY3RvciA9IGlzUmVhY3RpdmVcbmlzQXN5bmNJdGVyYXRvciA9IGlzUmVhY3RpdmVcblxuZXhwb3J0IHtcbiAgcHJvdG90eXBlXG4gIGlzUHJvdG90eXBlXG4gIGlzVHlwZVxuICBpc0tpbmRcbiAgaXNTeW5vbnltb3VzVHlwZVxuICBpc1N5bm9ueW1vdXNLaW5kXG4gIGlzRGVyaXZlZEZyb21cbiAgVHlwZVxuICBpbnN0YW5jZU9mXG4gIGlzTnVsbFxuICBpc05vdE51bGxcbiAgaXNEZWZpbmVkXG4gIGlzVW5kZWZpbmVkXG4gIGlzTnVsbGlzaFxuICBpc05vdE51bGxpc2hcbiAgaXNBbnlcbiAgaXNCb29sZWFuXG4gIGlzU3RyaW5nXG4gIGlzU3ltYm9sXG4gIGlzTnVtYmVyXG4gIGlzTmFOXG4gIGlzRmluaXRlXG4gIGlzSW50ZWdlclxuICBpc0JpZ0ludFxuICBpc0RhdGVcbiAgaXNFcnJvclxuICBpc1JlZ0V4cFxuICBpc1Byb21pc2VcbiAgaXNUaGVuYWJsZVxuICBpc09iamVjdFxuICBpc0FycmF5XG4gIGlzTWFwXG4gIGlzV2Vha01hcFxuICBpc1NldFxuICBpc1VSTFxuICBpc1JlZ3VsYXJGdW5jdGlvblxuICBHZW5lcmF0b3JGdW5jdGlvblxuICBpc0dlbmVyYXRvckZ1bmN0aW9uXG4gIEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25cbiAgaXNBc3luY0dlbmVyYXRvckZ1bmN0aW9uXG4gIFJlYWN0b3JGdW5jdGlvblxuICBpc1JlYWN0b3JGdW5jdGlvblxuICBpc0FzeW5jRnVuY3Rpb25cbiAgaXNGdW5jdGlvblxuICBpc0J1ZmZlclxuICBpc0FycmF5QnVmZmVyXG4gIGlzRGF0YVZpZXdcbiAgaXNUeXBlZEFycmF5XG4gIGlzSXRlcmFibGVcbiAgaXNJdGVyYXRvclxuICBpc1JlYWN0aXZlXG4gIGlzUmVhZ2VudFxuICBpc0FzeW5jSXRlcmFibGVcbiAgaXNSZWFjdG9yXG4gIGlzQXN5bmNJdGVyYXRvclxufVxuIl19 //# sourceURL=/@dashkite/joy/src/type.coffee //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlcyI6WyIvQGRhc2hraXRlL2pveS9zcmMvdHlwZS5jb2ZmZWUiXSwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGN1cnJ5LCB3cmFwIH0gZnJvbSBcIi4vZnVuY3Rpb25cIlxuaW1wb3J0IHsgYW55IH0gZnJvbSBcIi4vcHJlZGljYXRlXCJcblxucHJvdG90eXBlID0gKHZhbHVlKSAtPiBpZiB2YWx1ZT8gdGhlbiBPYmplY3QuZ2V0UHJvdG90eXBlT2YgdmFsdWVcblxuaXNQcm90b3R5cGUgPSBjdXJyeSAocCwgdmFsdWUpIC0+IHA/ICYmIHAgPT0gcHJvdG90eXBlIHZhbHVlXG5cbmlzVHlwZSA9IGN1cnJ5ICh0eXBlLCB2YWx1ZSkgLT4gaXNQcm90b3R5cGUgdHlwZT8ucHJvdG90eXBlLCB2YWx1ZVxuXG5pc1N5bm9ueW1vdXNUeXBlID0gY3VycnkgKHR5cGUsIHZhbHVlKSAtPlxuICB0eXBlPy5uYW1lID09IHZhbHVlLmNvbnN0cnVjdG9yLm5hbWVcblxuaXNLaW5kID0gY3VycnkgKHR5cGUsIHZhbHVlKSAtPlxuICAoIGlzVHlwZSB0eXBlLCB2YWx1ZSApIHx8IGRvIC0+XG4gICAgdHJ5XG4gICAgICB2YWx1ZSBpbnN0YW5jZW9mIHR5cGVcbiAgICBjYXRjaFxuICAgICAgZmFsc2VcblxuaXNTeW5vbnltb3VzS2luZCA9IGN1cnJ5ICh0eXBlLCB2YWx1ZSkgLT5cbiAgdmFsdWU/ICYmICgoaXNTeW5vbnltb3VzVHlwZSB0eXBlLCB2YWx1ZSkgfHxcbiAgICAoaXNTeW5vbnltb3VzS2luZCB0eXBlLCAocHJvdG90eXBlIHZhbHVlKSkpXG5cbmlzRGVyaXZlZEZyb20gPSBjdXJyeSAoIEssIFQgKSAtPiBpc0tpbmQgSywgVDo6XG5cbmlzQW55ID0gd3JhcCB0cnVlXG5cbmlzTnVtYmVyID0gYW55IFtcbiAgaXNUeXBlIE51bWJlclxuICBpc1R5cGUgQmlnSW50XG5dXG5cbmlzTmFOID0gTnVtYmVyLmlzTmFOXG5cbmlzRmluaXRlID0gTnVtYmVyLmlzRmluaXRlXG5cbmlzSW50ZWdlciA9IE51bWJlci5pc0ludGVnZXJcblxuaXNCaWdJbnQgPSBpc1R5cGUgQmlnSW50XG5cbmlzQm9vbGVhbiA9IGlzVHlwZSBCb29sZWFuXG5cbmlzU3ltYm9sID0gaXNUeXBlIFN5bWJvbFxuXG5pc0RhdGUgPSBpc1R5cGUgRGF0ZVxuXG5pc1JlZ0V4cCA9IGlzVHlwZSBSZWdFeHBcblxuaXNTdHJpbmcgPSBpc1R5cGUgU3RyaW5nXG5cbmlzUmVndWxhckZ1bmN0aW9uID0gaXNUeXBlIEZ1bmN0aW9uXG5cbmlzT2JqZWN0ID0gaXNUeXBlIE9iamVjdFxuXG5pc0FycmF5ID0gQXJyYXkuaXNBcnJheVxuXG5pc01hcCA9IGlzVHlwZSBNYXBcblxuaXNXZWFrTWFwID0gaXNUeXBlIFdlYWtNYXBcblxuaXNTZXQgPSBpc1R5cGUgU2V0XG5cbmlzRXJyb3IgPSBpc0tpbmQgRXJyb3JcblxuaXNVUkwgPSBpc1R5cGUgVVJMXG5cbmlzTm90TnVsbGlzaCA9ICh4KSAtPiB4P1xuXG5pc051bGxpc2ggPSAoeCkgLT4gIXg/XG5cbmlzTnVsbCA9ICggeCApIC0+IHggPT0gbnVsbFxuXG5pc05vdE51bGwgPSAoIHggKSAtPiB4ICE9IG51bGxcblxuaXNEZWZpbmVkID0gKCB4ICkgLT4geCAhPSB1bmRlZmluZWRcblxuaXNVbmRlZmluZWQgPSAoIHggKSAtPiB4ID09IHVuZGVmaW5lZFxuXG4jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuR2VuZXJhdG9yRnVuY3Rpb24gPSAoLT4geWllbGQgbnVsbCkuY29uc3RydWN0b3JcblxuaXNHZW5lcmF0b3JGdW5jdGlvbiA9IGlzVHlwZSBHZW5lcmF0b3JGdW5jdGlvblxuXG5Bc3luY0dlbmVyYXRvckZ1bmN0aW9uID0gKC0+IHlpZWxkIGF3YWl0IG51bGwpLmNvbnN0cnVjdG9yXG5cbmlzQXN5bmNHZW5lcmF0b3JGdW5jdGlvbiA9IGlzVHlwZSBBc3luY0dlbmVyYXRvckZ1bmN0aW9uXG5cblJlYWN0b3JGdW5jdGlvbiA9IEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25cblxuaXNSZWFjdG9yRnVuY3Rpb24gPSBpc0FzeW5jR2VuZXJhdG9yRnVuY3Rpb25cblxuaXNQcm9taXNlID0gaXNLaW5kIFByb21pc2VcblxuaXNUaGVuYWJsZSA9ICggeCApIC0+IHgudGhlbj9cblxuaXNBc3luY0Z1bmN0aW9uID0gaXNUeXBlICgtPiBhd2FpdCBudWxsKS5jb25zdHJ1Y3RvclxuXG5pc0Z1bmN0aW9uID0gaXNLaW5kIEZ1bmN0aW9uXG5cbmluc3RhbmNlT2YgPSBjdXJyeSAodCwgeCkgLT4geCBpbnN0YW5jZW9mIHRcblxuVHlwZSA9XG4gIGNyZWF0ZTogKHR5cGUpIC0+IG5ldyB0eXBlXG4gIGRlZmluZTogKHBhcmVudCA9IE9iamVjdCkgLT4gY2xhc3MgZXh0ZW5kcyBwYXJlbnRcblxuaWYgQnVmZmVyP1xuICBpc0J1ZmZlciA9IGlzVHlwZSBCdWZmZXJcbmVsc2VcbiAgaXNCdWZmZXIgPSAoeCkgLT4gZmFsc2VcblxuaXNBcnJheUJ1ZmZlciA9IGlzVHlwZSBBcnJheUJ1ZmZlclxuaXNEYXRhVmlldyA9IGlzVHlwZSBEYXRhVmlld1xuaXNUeXBlZEFycmF5ID0gaXNLaW5kIHByb3RvdHlwZSBVaW50OEFycmF5XG5cbmlzSXRlcmF0b3IgPSAoIHZhbHVlICkgLT4gdmFsdWUubmV4dD8gJiYgaXNJdGVyYWJsZSB2YWx1ZVxuXG5pc0l0ZXJhYmxlID0gKCB2YWx1ZSApIC0+IFxuICBpc0Z1bmN0aW9uIHZhbHVlWyBTeW1ib2wuaXRlcmF0b3IgXVxuXG5pc1JlYWN0aXZlID0gKCB2YWx1ZSApIC0+IFxuICBpc0Z1bmN0aW9uIHZhbHVlWyBTeW1ib2wuYXN5bmNJdGVyYXRvciBdXG5cbmlzUmVhZ2VudCA9IGlzUmVhY3RpdmVcbmlzQXN5bmNJdGVyYWJsZSA9IGlzUmVhY3RpdmVcbmlzUmVhY3RvciA9IGlzUmVhY3RpdmVcbmlzQXN5bmNJdGVyYXRvciA9IGlzUmVhY3RpdmVcblxuZXhwb3J0IHtcbiAgcHJvdG90eXBlXG4gIGlzUHJvdG90eXBlXG4gIGlzVHlwZVxuICBpc0tpbmRcbiAgaXNTeW5vbnltb3VzVHlwZVxuICBpc1N5bm9ueW1vdXNLaW5kXG4gIGlzRGVyaXZlZEZyb21cbiAgVHlwZVxuICBpbnN0YW5jZU9mXG4gIGlzTnVsbFxuICBpc05vdE51bGxcbiAgaXNEZWZpbmVkXG4gIGlzVW5kZWZpbmVkXG4gIGlzTnVsbGlzaFxuICBpc05vdE51bGxpc2hcbiAgaXNBbnlcbiAgaXNCb29sZWFuXG4gIGlzU3RyaW5nXG4gIGlzU3ltYm9sXG4gIGlzTnVtYmVyXG4gIGlzTmFOXG4gIGlzRmluaXRlXG4gIGlzSW50ZWdlclxuICBpc0JpZ0ludFxuICBpc0RhdGVcbiAgaXNFcnJvclxuICBpc1JlZ0V4cFxuICBpc1Byb21pc2VcbiAgaXNUaGVuYWJsZVxuICBpc09iamVjdFxuICBpc0FycmF5XG4gIGlzTWFwXG4gIGlzV2Vha01hcFxuICBpc1NldFxuICBpc1VSTFxuICBpc1JlZ3VsYXJGdW5jdGlvblxuICBHZW5lcmF0b3JGdW5jdGlvblxuICBpc0dlbmVyYXRvckZ1bmN0aW9uXG4gIEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25cbiAgaXNBc3luY0dlbmVyYXRvckZ1bmN0aW9uXG4gIFJlYWN0b3JGdW5jdGlvblxuICBpc1JlYWN0b3JGdW5jdGlvblxuICBpc0FzeW5jRnVuY3Rpb25cbiAgaXNGdW5jdGlvblxuICBpc0J1ZmZlclxuICBpc0FycmF5QnVmZmVyXG4gIGlzRGF0YVZpZXdcbiAgaXNUeXBlZEFycmF5XG4gIGlzSXRlcmFibGVcbiAgaXNJdGVyYXRvclxuICBpc1JlYWN0aXZlXG4gIGlzUmVhZ2VudFxuICBpc0FzeW5jSXRlcmFibGVcbiAgaXNSZWFjdG9yXG4gIGlzQXN5bmNJdGVyYXRvclxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLElBQUEsc0JBQUEsRUFBQSxpQkFBQSxFQUFBLGVBQUEsRUFBQSxJQUFBLEVBQUEsVUFBQSxFQUFBLEtBQUEsRUFBQSxPQUFBLEVBQUEsYUFBQSxFQUFBLGVBQUEsRUFBQSx3QkFBQSxFQUFBLGVBQUEsRUFBQSxlQUFBLEVBQUEsUUFBQSxFQUFBLFNBQUEsRUFBQSxRQUFBLEVBQUEsVUFBQSxFQUFBLE1BQUEsRUFBQSxTQUFBLEVBQUEsYUFBQSxFQUFBLE9BQUEsRUFBQSxRQUFBLEVBQUEsVUFBQSxFQUFBLG1CQUFBLEVBQUEsU0FBQSxFQUFBLFVBQUEsRUFBQSxVQUFBLEVBQUEsTUFBQSxFQUFBLEtBQUEsRUFBQSxLQUFBLEVBQUEsU0FBQSxFQUFBLFlBQUEsRUFBQSxNQUFBLEVBQUEsU0FBQSxFQUFBLFFBQUEsRUFBQSxRQUFBLEVBQUEsU0FBQSxFQUFBLFdBQUEsRUFBQSxVQUFBLEVBQUEsU0FBQSxFQUFBLGlCQUFBLEVBQUEsU0FBQSxFQUFBLFFBQUEsRUFBQSxpQkFBQSxFQUFBLEtBQUEsRUFBQSxRQUFBLEVBQUEsUUFBQSxFQUFBLGdCQUFBLEVBQUEsZ0JBQUEsRUFBQSxVQUFBLEVBQUEsTUFBQSxFQUFBLFlBQUEsRUFBQSxLQUFBLEVBQUEsV0FBQSxFQUFBLFNBQUEsRUFBQTtBQUFBLE9BQUEsRUFBUyxLQUFULEVBQWdCLElBQWhCLFFBQUEsYUFBQTtBQUNBLE9BQUEsRUFBUyxHQUFULFFBQUEsY0FBQTtBQUVBLFNBQUEsR0FBWSxRQUFBLENBQUMsS0FBRCxDQUFBO0lBQVcsSUFBRyxTQUFBLElBQUgsRUFBQTtlQUFlLE1BQU0sQ0FBQyxjQUFQLENBQXNCLEtBQXRCLEVBQWY7O0FBQVg7QUFFWixXQUFBLEdBQWMsS0FBQSxDQUFNLFFBQUEsQ0FBQyxDQUFELEVBQUksS0FBSixDQUFBO1dBQWMsS0FBQSxLQUFBLEdBQU0sQ0FBQSxLQUFLLFNBQUEsQ0FBVSxLQUFWO0FBQXpCLENBQU47QUFFZCxNQUFBLEdBQVMsS0FBQSxDQUFNLFFBQUEsQ0FBQyxJQUFELEVBQU8sS0FBUCxDQUFBO1dBQWlCLFdBQUEsQ0FBQSxRQUFBLE9BQVksSUFBSSxDQUFFLFNBQUEsR0FBQSxLQUFBLENBQWxCLEVBQTZCLEtBQTdCO0FBQWpCLENBQU47QUFFVCxnQkFBQSxHQUFtQixLQUFBLENBQU0sUUFBQSxDQUFDLElBQUQsRUFBTyxLQUFQLENBQUE7MkJBQ3ZCLElBQUksQ0FBRSxJQUFBLEdBQUEsS0FBQSxDQUFBLEVBQU4sSUFBYyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUE7QUFEVCxDQUFOO0FBR25CLE1BQUEsR0FBUyxLQUFBLENBQU0sUUFBQSxDQUFDLElBQUQsRUFBTyxLQUFQLENBQUE7V0FDYixBQUFFLE1BQUEsQ0FBTyxJQUFQLEVBQWEsS0FBYixDQUFGLENBQUEsR0FBNkIsUUFBQSxDQUFBLENBQUE7UUFDM0IsSUFBQTttQkFDRSxLQUFBLFlBQWlCLEtBRG5CO1NBRUEsQ0FBQSxPQUFBLEtBQUEsRUFBQTttQkFDRSxNQURGOztJQUgyQixDQUFBO0FBRGhCLENBQU47QUFPVCxnQkFBQSxHQUFtQixLQUFBLENBQU0sUUFBQSxDQUFDLElBQUQsRUFBTyxLQUFQLENBQUE7V0FDdkIsU0FBQSxLQUFBLElBQVUsQUFBRSxBQUFELGdCQUFDLENBQWlCLElBQWpCLEVBQXVCLEtBQXZCLENBQUQsQ0FBQSxHQUNSLENBQUQsZUFBQyxDQUFpQixJQUFqQixFQUF3QixTQUFBLENBQVUsS0FBVixDQUF4QixDQUFELENBRFE7QUFEYSxDQUFOO0FBSW5CLGFBQUEsR0FBZ0IsS0FBQSxDQUFNLFFBQUEsQ0FBRSxDQUFGLEVBQUssQ0FBTCxDQUFBO1dBQVksTUFBQSxDQUFPLENBQVAsRUFBVSxDQUFDLENBQUEsU0FBWDtBQUFaLENBQU47QUFFaEIsS0FBQSxHQUFRLElBQUEsQ0FBSyxJQUFMO0FBRVIsUUFBQSxHQUFXLEdBQUEsQ0FBSTtJQUNiLE1BQUEsQ0FBTyxNQUFQLENBRGE7SUFFYixNQUFBLENBQU8sTUFBUCxDQUZhO0NBQUo7QUFLWCxLQUFBLEdBQVEsTUFBTSxDQUFDLEtBQUE7QUFFZixRQUFBLEdBQVcsTUFBTSxDQUFDLFFBQUE7QUFFbEIsU0FBQSxHQUFZLE1BQU0sQ0FBQyxTQUFBO0FBRW5CLFFBQUEsR0FBVyxNQUFBLENBQU8sTUFBUDtBQUVYLFNBQUEsR0FBWSxNQUFBLENBQU8sT0FBUDtBQUVaLFFBQUEsR0FBVyxNQUFBLENBQU8sTUFBUDtBQUVYLE1BQUEsR0FBUyxNQUFBLENBQU8sSUFBUDtBQUVULFFBQUEsR0FBVyxNQUFBLENBQU8sTUFBUDtBQUVYLFFBQUEsR0FBVyxNQUFBLENBQU8sTUFBUDtBQUVYLGlCQUFBLEdBQW9CLE1BQUEsQ0FBTyxRQUFQO0FBRXBCLFFBQUEsR0FBVyxNQUFBLENBQU8sTUFBUDtBQUVYLE9BQUEsR0FBVSxLQUFLLENBQUMsT0FBQTtBQUVoQixLQUFBLEdBQVEsTUFBQSxDQUFPLEdBQVA7QUFFUixTQUFBLEdBQVksTUFBQSxDQUFPLE9BQVA7QUFFWixLQUFBLEdBQVEsTUFBQSxDQUFPLEdBQVA7QUFFUixPQUFBLEdBQVUsTUFBQSxDQUFPLEtBQVA7QUFFVixLQUFBLEdBQVEsTUFBQSxDQUFPLEdBQVA7QUFFUixZQUFBLEdBQWUsUUFBQSxDQUFDLENBQUQsQ0FBQTtXQUFPLEtBQUE7QUFBUDtBQUVmLFNBQUEsR0FBWSxRQUFBLENBQUMsQ0FBRCxDQUFBO1dBQVEsS0FBQTtBQUFSO0FBRVosTUFBQSxHQUFTLFFBQUEsQ0FBRSxDQUFGLENBQUE7V0FBUyxDQUFBLEtBQUs7QUFBZDtBQUVULFNBQUEsR0FBWSxRQUFBLENBQUUsQ0FBRixDQUFBO1dBQVMsQ0FBQSxLQUFLO0FBQWQ7QUFFWixTQUFBLEdBQVksUUFBQSxDQUFFLENBQUYsQ0FBQTtXQUFTLENBQUEsS0FBSyxLQUFBO0FBQWQ7QUFFWixXQUFBLEdBQWMsUUFBQSxDQUFFLENBQUYsQ0FBQTtXQUFTLENBQUEsS0FBSyxLQUFBO0FBQWQsRUE1RWQ7O0FBZ0ZBLGlCQUFBLEdBQW9CLENBQUMsU0FBQSxDQUFBLENBQUE7V0FBRyxNQUFNLElBQU47Q0FBSCxDQUFELENBQWUsQUFBQyxXQUFBO0FBRXBDLG1CQUFBLEdBQXNCLE1BQUEsQ0FBTyxpQkFBUDtBQUV0QixzQkFBQSxHQUF5QixDQUFDLE1BQUEsU0FBQSxDQUFBLENBQUE7V0FBRyxNQUFNLE1BQU0sSUFBTixDQUFOO0NBQUgsQ0FBRCxDQUFxQixBQUFDLFdBQUE7QUFFL0Msd0JBQUEsR0FBMkIsTUFBQSxDQUFPLHNCQUFQO0FBRTNCLGVBQUEsR0FBa0I7QUFFbEIsaUJBQUEsR0FBb0I7QUFFcEIsU0FBQSxHQUFZLE1BQUEsQ0FBTyxPQUFQO0FBRVosVUFBQSxHQUFhLFFBQUEsQ0FBRSxDQUFGLENBQUE7V0FBUyxFQUFBLElBQUEsSUFBQTtBQUFUO0FBRWIsZUFBQSxHQUFrQixNQUFBLENBQU8sQ0FBQyxNQUFBLFFBQUEsQ0FBQSxDQUFBO1dBQUcsTUFBTSxJQUFOO0NBQUgsQ0FBRCxDQUFlLEFBQUMsV0FBdkI7QUFFbEIsVUFBQSxHQUFhLE1BQUEsQ0FBTyxRQUFQO0FBRWIsVUFBQSxHQUFhLEtBQUEsQ0FBTSxRQUFBLENBQUMsQ0FBRCxFQUFJLENBQUosQ0FBQTtXQUFVLENBQUEsWUFBYTtBQUF2QixDQUFOO0FBRWIsSUFBQSxHQUNFO0lBQUEsTUFBQSxFQUFRLFFBQUEsQ0FBQyxJQUFELENBQUE7ZUFBVSxJQUFJLElBQUosQ0FBQTtJQUFWLENBQVI7SUFDQSxNQUFBLEVBQVEsUUFBQSxDQUFDLFNBQVMsTUFBVixDQUFBO2VBQXFCLE1BQUEsUUFBYyxPQUFkO1FBQUE7SUFBckI7QUFEUjtBQUdGLElBQUcsT0FBQSxXQUFBLGVBQUEsV0FBQSxJQUFILEVBQUE7SUFDRSxRQUFBLEdBQVcsTUFBQSxDQUFPLE1BQVAsRUFEYjtDQUFBLE1BQUE7SUFHRSxRQUFBLEdBQVcsUUFBQSxDQUFDLENBQUQsQ0FBQTtlQUFPO0lBQVAsRUFIYjs7QUFLQSxhQUFBLEdBQWdCLE1BQUEsQ0FBTyxXQUFQO0FBQ2hCLFVBQUEsR0FBYSxNQUFBLENBQU8sUUFBUDtBQUNiLFlBQUEsR0FBZSxNQUFBLENBQU8sU0FBQSxDQUFVLFVBQVYsQ0FBUDtBQUVmLFVBQUEsR0FBYSxRQUFBLENBQUUsS0FBRixDQUFBO1dBQWEsTUFBQSxJQUFBLElBQUEsS0FBQSxHQUFlLFVBQUEsQ0FBVyxLQUFYO0FBQTVCO0FBRWIsVUFBQSxHQUFhLFFBQUEsQ0FBRSxLQUFGLENBQUE7V0FDWCxVQUFBLENBQVcsS0FBSyxDQUFFLE1BQU0sQ0FBQyxRQUFULENBQWhCO0FBRFc7QUFHYixVQUFBLEdBQWEsUUFBQSxDQUFFLEtBQUYsQ0FBQTtXQUNYLFVBQUEsQ0FBVyxLQUFLLENBQUUsTUFBTSxDQUFDLGFBQVQsQ0FBaEI7QUFEVztBQUdiLFNBQUEsR0FBWTtBQUNaLGVBQUEsR0FBa0I7QUFDbEIsU0FBQSxHQUFZO0FBQ1osZUFBQSxHQUFrQjtBQUVsQixPQUFBLEVBQ0UsU0FERixFQUVFLFdBRkYsRUFHRSxNQUhGLEVBSUUsTUFKRixFQUtFLGdCQUxGLEVBTUUsZ0JBTkYsRUFPRSxhQVBGLEVBUUUsSUFSRixFQVNFLFVBVEYsRUFVRSxNQVZGLEVBV0UsU0FYRixFQVlFLFNBWkYsRUFhRSxXQWJGLEVBY0UsU0FkRixFQWVFLFlBZkYsRUFnQkUsS0FoQkYsRUFpQkUsU0FqQkYsRUFrQkUsUUFsQkYsRUFtQkUsUUFuQkYsRUFvQkUsUUFwQkYsRUFxQkUsS0FyQkYsRUFzQkUsUUF0QkYsRUF1QkUsU0F2QkYsRUF3QkUsUUF4QkYsRUF5QkUsTUF6QkYsRUEwQkUsT0ExQkYsRUEyQkUsUUEzQkYsRUE0QkUsU0E1QkYsRUE2QkUsVUE3QkYsRUE4QkUsUUE5QkYsRUErQkUsT0EvQkYsRUFnQ0UsS0FoQ0YsRUFpQ0UsU0FqQ0YsRUFrQ0UsS0FsQ0YsRUFtQ0UsS0FuQ0YsRUFvQ0UsaUJBcENGLEVBcUNFLGlCQXJDRixFQXNDRSxtQkF0Q0YsRUF1Q0Usc0JBdkNGLEVBd0NFLHdCQXhDRixFQXlDRSxlQXpDRixFQTBDRSxpQkExQ0YsRUEyQ0UsZUEzQ0YsRUE0Q0UsVUE1Q0YsRUE2Q0UsUUE3Q0YsRUE4Q0UsYUE5Q0YsRUErQ0UsVUEvQ0YsRUFnREUsWUFoREYsRUFpREUsVUFqREYsRUFrREUsVUFsREYsRUFtREUsVUFuREYsRUFvREUsU0FwREYsRUFxREUsZUFyREYsRUFzREUsU0F0REYsRUF1REUsZUF2REYifQ==