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)

307 lines (306 loc) 29.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: Object.getOwnPropertyDescriptor(all, name).get }); } _export(exports, { get AsyncGeneratorFunction () { return AsyncGeneratorFunction; }, get GeneratorFunction () { return GeneratorFunction; }, get ReactorFunction () { return ReactorFunction; }, get Type () { return Type; }, get instanceOf () { return instanceOf; }, get isAny () { return isAny; }, get isArray () { return isArray; }, get isArrayBuffer () { return isArrayBuffer; }, get isAsyncFunction () { return isAsyncFunction; }, get isAsyncGeneratorFunction () { return isAsyncGeneratorFunction; }, get isAsyncIterable () { return isAsyncIterable; }, get isAsyncIterator () { return isAsyncIterator; }, get isBigInt () { return isBigInt; }, get isBoolean () { return isBoolean; }, get isBuffer () { return isBuffer; }, get isDataView () { return isDataView; }, get isDate () { return isDate; }, get isDefined () { return isDefined; }, get isDerivedFrom () { return isDerivedFrom; }, get isError () { return isError; }, get isFinite () { return isFinite; }, get isFunction () { return isFunction; }, get isGeneratorFunction () { return isGeneratorFunction; }, get isInteger () { return isInteger; }, get isIterable () { return isIterable; }, get isIterator () { return isIterator; }, get isKind () { return isKind; }, get isMap () { return isMap; }, get isNaN () { return isNaN; }, get isNotNull () { return isNotNull; }, get isNotNullish () { return isNotNullish; }, get isNull () { return isNull; }, get isNullish () { return isNullish; }, get isNumber () { return isNumber; }, get isObject () { return isObject; }, get isPromise () { return isPromise; }, get isPrototype () { return isPrototype; }, get isReactive () { return isReactive; }, get isReactor () { return isReactor; }, get isReactorFunction () { return isReactorFunction; }, get isReagent () { return isReagent; }, get isRegExp () { return isRegExp; }, get isRegularFunction () { return isRegularFunction; }, get isSet () { return isSet; }, get isString () { return isString; }, get isSymbol () { return isSymbol; }, get isSynonymousKind () { return isSynonymousKind; }, get isSynonymousType () { return isSynonymousType; }, get isThenable () { return isThenable; }, get isType () { return isType; }, get isTypedArray () { return isTypedArray; }, get isURL () { return isURL; }, get isUndefined () { return isUndefined; }, get isWeakMap () { return isWeakMap; }, get prototype () { return prototype; } }); const _function = require("./function"); const _predicate = require("./predicate"); 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; prototype = function(value) { if (value != null) { return Object.getPrototypeOf(value); } }; isPrototype = (0, _function.curry)(function(p, value) { return p != null && p === prototype(value); }); isType = (0, _function.curry)(function(type, value) { return isPrototype(type != null ? type.prototype : void 0, value); }); isSynonymousType = (0, _function.curry)(function(type, value) { return (type != null ? type.name : void 0) === value.constructor.name; }); isKind = (0, _function.curry)(function(type, value) { return isType(type, value) || function() { try { return value instanceof type; } catch (error) { return false; } }(); }); isSynonymousKind = (0, _function.curry)(function(type, value) { return value != null && (isSynonymousType(type, value) || isSynonymousKind(type, prototype(value))); }); isDerivedFrom = (0, _function.curry)(function(K, T) { return isKind(K, T.prototype); }); isAny = (0, _function.wrap)(true); isNumber = (0, _predicate.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 = (0, _function.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; //# 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+IFxuICBpc0Z1bmN0aW9uIHZhbHVlWyBTeW1ib2wuYXN5bmNJdGVyYXRvciBdXG5cbmlzUmVhZ2VudCA9IGlzUmVhY3RpdmVcbmlzQXN5bmNJdGVyYWJsZSA9IGlzUmVhY3RpdmVcbmlzUmVhY3RvciA9IGlzUmVhY3RpdmVcbmlzQXN5bmNJdGVyYXRvciA9IGlzUmVhY3RpdmVcblxuZXhwb3J0IHtcbiAgcHJvdG90eXBlXG4gIGlzUHJvdG90eXBlXG4gIGlzVHlwZVxuICBpc0tpbmRcbiAgaXNTeW5vbnltb3VzVHlwZVxuICBpc1N5bm9ueW1vdXNLaW5kXG4gIGlzRGVyaXZlZEZyb21cbiAgVHlwZVxuICBpbnN0YW5jZU9mXG4gIGlzTnVsbFxuICBpc05vdE51bGxcbiAgaXNEZWZpbmVkXG4gIGlzVW5kZWZpbmVkXG4gIGlzTnVsbGlzaFxuICBpc05vdE51bGxpc2hcbiAgaXNBbnlcbiAgaXNCb29sZWFuXG4gIGlzU3RyaW5nXG4gIGlzU3ltYm9sXG4gIGlzTnVtYmVyXG4gIGlzTmFOXG4gIGlzRmluaXRlXG4gIGlzSW50ZWdlclxuICBpc0JpZ0ludFxuICBpc0RhdGVcbiAgaXNFcnJvclxuICBpc1JlZ0V4cFxuICBpc1Byb21pc2VcbiAgaXNUaGVuYWJsZVxuICBpc09iamVjdFxuICBpc0FycmF5XG4gIGlzTWFwXG4gIGlzV2Vha01hcFxuICBpc1NldFxuICBpc1VSTFxuICBpc1JlZ3VsYXJGdW5jdGlvblxuICBHZW5lcmF0b3JGdW5jdGlvblxuICBpc0dlbmVyYXRvckZ1bmN0aW9uXG4gIEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25cbiAgaXNBc3luY0dlbmVyYXRvckZ1bmN0aW9uXG4gIFJlYWN0b3JGdW5jdGlvblxuICBpc1JlYWN0b3JGdW5jdGlvblxuICBpc0FzeW5jRnVuY3Rpb25cbiAgaXNGdW5jdGlvblxuICBpc0J1ZmZlclxuICBpc0FycmF5QnVmZmVyXG4gIGlzRGF0YVZpZXdcbiAgaXNUeXBlZEFycmF5XG4gIGlzSXRlcmFibGVcbiAgaXNJdGVyYXRvclxuICBpc1JlYWN0aXZlXG4gIGlzUmVhZ2VudFxuICBpc0FzeW5jSXRlcmFibGVcbiAgaXNSZWFjdG9yXG4gIGlzQXN5bmNJdGVyYXRvclxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztlQXVLRSxzQkF2Q0Y7OztlQXFDRSxpQkFyQ0Y7OztlQXlDRSxlQXpD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