@dashkite/joy
Version:
[](https://firstdonoharm.dev/version/3/0/core.html)
381 lines (380 loc) • 35.7 kB
JavaScript
"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 _ () {
return _;
},
get apply () {
return apply;
},
get arity () {
return arity;
},
get bcompose () {
return bcompose;
},
get bflow () {
return bflow;
},
get binary () {
return binary;
},
get bind () {
return bind;
},
get bpipe () {
return bpipe;
},
get chain () {
return chain;
},
get compose () {
return compose;
},
get curry () {
return curry;
},
get default () {
return _default //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL0BkYXNoa2l0ZS9qb3kvc3JjL2Z1bmN0aW9uLmNvZmZlZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxJQUFBLENBQUEsRUFBQSxLQUFBLEVBQUEsS0FBQSxFQUFBLFFBQUEsRUFBQSxLQUFBLEVBQUEsTUFBQSxFQUFBLElBQUEsRUFBQSxLQUFBLEVBQUEsS0FBQSxFQUFBLE9BQUEsRUFBQSxLQUFBLEVBQUEsTUFBQSxFQUFBLElBQUEsRUFBQSxJQUFBLEVBQUEsUUFBQSxFQUFBLFNBQUEsRUFBQSxHQUFBLEVBQUEsT0FBQSxFQUFBLElBQUEsRUFBQSxPQUFBLEVBQUEsSUFBQSxFQUFBLEtBQUEsRUFBQSxJQUFBLEVBQUEsSUFBQSxFQUFBLE1BQUEsRUFBQSxLQUFBLEVBQUEsVUFBQSxFQUFBLEdBQUEsRUFBQSxPQUFBLEVBQUEsS0FBQSxFQUFBLElBQUEsRUFBQSxJQUFBO0VBQUE7O0FBQUEsUUFBQSxHQUFXLFFBQUEsQ0FBQyxDQUFELENBQUE7U0FBTztBQUFQOztBQUVYLElBQUEsR0FBTyxRQUFBLENBQUMsQ0FBRCxDQUFBO1NBQU8sUUFBQSxDQUFBLENBQUE7V0FBRztFQUFIO0FBQVA7O0FBRVAsS0FBQSxHQUFTLFFBQUEsQ0FBRSxDQUFGLEVBQUssQ0FBTCxDQUFBO0VBQ1AsTUFBTSxDQUFDLGNBQVAsQ0FBc0IsQ0FBdEIsRUFBeUIsUUFBekIsRUFBbUM7SUFBQSxLQUFBLEVBQU8sQ0FBUDtJQUFVLFlBQUEsRUFBYztFQUF4QixDQUFuQztTQUNBO0FBRk87O0FBSVQsS0FBQSxHQUFRLFFBQUEsQ0FBQyxDQUFELENBQUE7U0FBTyxLQUFBLENBQU0sQ0FBTixFQUFTLENBQVQ7QUFBUDs7QUFFUixNQUFBLEdBQVMsUUFBQSxDQUFDLENBQUQsQ0FBQTtTQUFPLEtBQUEsQ0FBTSxDQUFOLEVBQVMsQ0FBVDtBQUFQOztBQUVULE9BQUEsR0FBVSxRQUFBLENBQUMsQ0FBRCxDQUFBO1NBQU8sS0FBQSxD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QUdiLEtBSGEsRUFJYixLQUphLEVBS2IsTUFMYSxFQU1iLE9BTmEsRUFPYixJQVBhLEVBUWIsS0FSYSxFQVNiLENBVGEsRUFVYixVQVZhLEVBV2IsT0FYYSxFQVliLE1BWmEsRUFhYixLQWJhLEVBY2IsSUFkYSxFQWViLE9BZmEsRUFnQmIsSUFoQmEsRUFpQmIsSUFqQmEsRUFrQmIsS0FsQmEsRUFtQmIsUUFuQmEsRUFvQmIsS0FwQmEsRUFxQmIsR0FyQmEsRUFzQmIsSUF0QmEsRUF1QmIsSUF2QmEsRUF3QmIsT0F4QmEsRUF5QmIsS0F6QmEsRUEwQmIsSUExQmEsRUEyQmIsTUEzQmEsRUE0QmIsSUE1QmEsRUE2QmIsS0E3QmEsRUE4QmIsR0E5QmEsRUErQmIsS0EvQmEiLCJzb3VyY2VzQ29udGVudCI6WyJpZGVudGl0eSA9ICh4KSAtPiB4XG5cbndyYXAgPSAoeCkgLT4gLT4geFxuXG5hcml0eSAgPSAoIG4sIGYgKSAtPlxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkgZiwgXCJsZW5ndGhcIiwgdmFsdWU6IG4sIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICBmXG5cbnVuYXJ5ID0gKGYpIC0+IGFyaXR5IDEsIGZcblxuYmluYXJ5ID0gKGYpIC0+IGFyaXR5IDIsIGZcblxudGVybmFyeSA9IChmKSAtPiBhcml0eSAzLCBmXG5cbmZsaXAgPSAoZikgLT5cbiAgYXJpdHkgZi5sZW5ndGgsICggYXJncy4uLiApIC0+IFxuICAgIGYuYXBwbHkgQCwgYXJncy5yZXZlcnNlKClcblxuY3VycnkgPSAoIGYgKSAtPlxuICBrID0gZi5sZW5ndGhcbiAgaWYgayA+IDFcbiAgICBhcml0eSBrLCAoIGF4Li4uICkgLT5cbiAgICAgIGlmIGF4Lmxlbmd0aCA+PSBrXG4gICAgICAgIGYuYXBwbHkgQCwgYXhcbiAgICAgIGVsc2VcbiAgICAgICAgY3VycnkgYXJpdHkgKCBrIC0gYXgubGVuZ3RoICksICggYnguLi4gKSAtPlxuICAgICAgICAgIGYuYXBwbHkgQCwgWyBheC4uLiwgYnguLi4gXVxuICBlbHNlIGZcblxuXyA9IHt9XG5cbnN1YnN0aXR1dGUgPSBjdXJyeSAoYXgsIGJ4KSAtPlxuICBpID0gMFxuICBmb3IgYSBpbiBheFxuICAgIGlmIGEgPT0gX1xuICAgICAgYnhbaSsrXVxuICAgIGVsc2VcbiAgICAgIGFcblxucGFydGlhbCA9IChmLCBheCkgLT5cbiAgbiA9IDBcbiAgZm9yIGEgaW4gYXggd2hlbiBhID09IF9cbiAgICBuKytcbiAgYXJpdHkgbiwgKGJ4Li4uKSAtPiBmIChzdWJzdGl0dXRlIGF4LCBieCkuLi5cblxuc3ByZWFkID0gKGYpIC0+IChheCkgLT4gZiBheC4uLlxuXG5zdGFjayA9IChmKSAtPiAoYXguLi4pIC0+IGYgYXhcblxucGlwZSA9IChbIGYsIGd4Li4uIF0pIC0+XG4gIGlmIGd4Lmxlbmd0aCA9PSAwXG4gICAgZiA/IGlkZW50aXR5XG4gIGVsc2VcbiAgICBkbyAoeyBnIH0gPSB7fSkgLT5cbiAgICAgIGcgPSBwaXBlIGd4XG4gICAgICBhcml0eSAoIGYubGVuZ3RoID8gMCApLCAoIGFyZ3MuLi4gKSAtPlxuICAgICAgICBkbyAoeyBzZWxmLCB4IH0gPSB7IHNlbGY6IEAgfSkgLT5cbiAgICAgICAgICB4ID0gZi5hcHBseSBzZWxmLCBhcmdzXG4gICAgICAgICAgaWYgeD8udGhlbj9cbiAgICAgICAgICAgIHgudGhlbiAoIHggKSAtPlxuICAgICAgICAgICAgICBnLmFwcGx5IHNlbGYsIFsgeCBdXG4gICAgICAgICAgZWxzZVxuICAgICAgICAgICAgZy5hcHBseSBzZWxmLCBbIHggXVxuXG5mbG93ID0gcGlwZVxuXG5jb21wb3NlID0gKGZ4KSAtPiBwaXBlIGZ4LnJldmVyc2UoKVxuXG5icGlwZSA9IHBpcGVcblxuYmZsb3cgPSBwaXBlXG5cbmJjb21wb3NlID0gKGZ4KSAtPiBicGlwZSBmeC5yZXZlcnNlKClcblxud2FpdCA9IChmKSAtPlxuICBhcml0eSBmLmxlbmd0aCwgKGF4Li4uKSAtPlxuICAgIFByb21pc2UuYWxsIGF4XG4gICAgICAudGhlbiAoYXgpIC0+IGYgYXguLi5cblxudGVlID0gKGYpIC0+XG4gIGFyaXR5IChNYXRoLm1heCBmLmxlbmd0aCwgMSksIChhLCBieC4uLikgLT5cbiAgICBpZiAoayA9IChmLmFwcGx5IEAsIFsgYSwgYnguLi4gXSkpPy50aGVuP1xuICAgICAgay50aGVuIC0+IGFcbiAgICBlbHNlXG4gICAgICBhXG5cbnJ0ZWUgPSAoZikgLT5cbiAgYXJpdHkgKE1hdGgubWF4IGYubGVuZ3RoLCAxKSwgKGF4Li4uLCBiKSAtPlxuICAgIGlmIChrID0gKGYuYXBwbHkgQCwgWyBheC4uLiwgYiBdKSk/LnRoZW4/XG4gICAgICBrLnRoZW4gLT4gYlxuICAgIGVsc2VcbiAgICAgIGJcblxub25jZSA9IChmKSAtPlxuICBkbyAoaz11bmRlZmluZWQpIC0+XG4gICAgYXJpdHkgZi5sZW5ndGgsXG4gICAgICAoYXguLi4pIC0+IGlmIGs/IHRoZW4gayBlbHNlIChrID0gZi5hcHBseSBALCBheClcblxubWVtb2l6ZSA9IChmKSAtPlxuICBkbyAoY2FjaGUgPSB7fSkgLT5cbiAgICBhcml0eSBmLmxlbmd0aCwgKGF4Li4uKSAtPlxuICAgICAgY2FjaGVbIEpTT04uc3RyaW5naWZ5IGF4IF0gPz0gZi5hcHBseSBALCBheFxuXG5hcHBseSA9IGN1cnJ5IChmLCBheCkgLT4gZi5hcHBseSBudWxsLCBheFxuXG5iaW5kID0gY3VycnkgKGYsIHgpIC0+IGYuYmluZCB4XG5cbmRldGFjaCA9IChmKSAtPlxuICBjdXJyeSBhcml0eSAoZi5sZW5ndGggKyAxKSwgXG4gICAgKHgsIGFyZ3MuLi4pIC0+IGYuYXBwbHkgeCwgYXJnc1xuXG5zZW5kID0gY3VycnkgKG5hbWUsIGF4LCBvYmplY3QpIC0+IG9iamVjdFtuYW1lXS5hcHBseSBvYmplY3QsIGF4XG5cbmlzUHJvbWlzZSA9IChrKSAtPiBrIGluc3RhbmNlb2YgUHJvbWlzZVxuXG5jaGFpbiA9IChmKSAtPlxuICBhcml0eSAoTWF0aC5tYXggZi5sZW5ndGgsIDEpLCAoYXguLi4pIC0+XG4gICAgaWYgKGlzUHJvbWlzZSAoayA9IChmLmFwcGx5IEAsIGF4KSkpXG4gICAgICBrLnRoZW4gPT4gQFxuICAgIGVsc2VcbiAgICAgIEBcblxubWFwID0gKCBmeCApIC0+XG4gIGRvICh7IGxlbmd0aHMsIGxlbmd0aCB9ID0ge30pIC0+XG4gICAgbGVuZ3RocyA9IGZ4Lm1hcCAoIGYgKSAtPiBmLmxlbmd0aFxuICAgIGxlbmd0aCA9IE1hdGgubWF4IGxlbmd0aHMuLi5cbiAgICBhcml0eSBsZW5ndGgsICggYXJncy4uLiApIC0+XG4gICAgICAoIGYuYXBwbHkgQCwgYXJncyApIGZvciBmIGluIGZ4XG5cbnByb3h5ID0gY3VycnkgKG5hbWUsIGF4KSAtPlxuICAoYnguLi4pIC0+IEBbbmFtZV0uYXBwbHkgQCwgWyBheC4uLiwgYnguLi4gXVxuXG5leHBvcnQge1xuICBpZGVudGl0eVxuICB3cmFwXG4gIGFyaXR5XG4gIHVuYXJ5XG4gIGJpbmFyeVxuICB0ZXJuYXJ5XG4gIGZsaXBcbiAgY3VycnlcbiAgX1xuICBzdWJzdGl0dXRlXG4gIHBhcnRpYWxcbiAgc3ByZWFkXG4gIHN0YWNrXG4gIHBpcGVcbiAgY29tcG9zZVxuICB3YWl0XG4gIGZsb3dcbiAgYnBpcGVcbiAgYmNvbXBvc2VcbiAgYmZsb3dcbiAgdGVlXG4gIHJ0ZWVcbiAgb25jZVxuICBtZW1vaXplXG4gIGFwcGx5XG4gIGJpbmRcbiAgZGV0YWNoXG4gIHNlbmRcbiAgY2hhaW5cbiAgbWFwXG4gIHByb3h5XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgaWRlbnRpdHlcbiAgd3JhcFxuICBhcml0eVxuICB1bmFyeVxuICBiaW5hcnlcbiAgdGVybmFyeVxuICBmbGlwXG4gIGN1cnJ5XG4gIF9cbiAgc3Vic3RpdHV0ZVxuICBwYXJ0aWFsXG4gIHNwcmVhZFxuICBzdGFja1xuICBwaXBlXG4gIGNvbXBvc2VcbiAgd2FpdFxuICBmbG93XG4gIGJwaXBlXG4gIGJjb21wb3NlXG4gIGJmbG93XG4gIHRlZVxuICBydGVlXG4gIG9uY2VcbiAgbWVtb2l6ZVxuICBhcHBseVxuICBiaW5kXG4gIGRldGFjaFxuICBzZW5kXG4gIGNoYWluXG4gIG1hcFxuICBwcm94eVxufVxuIl19
//# sourceURL=/@dashkite/joy/src/function.coffee
;
},
get detach () {
return detach;
},
get flip () {
return flip;
},
get flow () {
return flow;
},
get identity () {
return identity;
},
get map () {
return map;
},
get memoize () {
return memoize;
},
get once () {
return once;
},
get partial () {
return partial;
},
get pipe () {
return pipe;
},
get proxy () {
return proxy;
},
get rtee () {
return rtee;
},
get send () {
return send;
},
get spread () {
return spread;
},
get stack () {
return stack;
},
get substitute () {
return substitute;
},
get tee () {
return tee;
},
get ternary () {
return ternary;
},
get unary () {
return unary;
},
get wait () {
return wait;
},
get wrap () {
return wrap;
}
});
var _, apply, arity, bcompose, bflow, binary, bind, bpipe, chain, compose, curry, detach, flip, flow, identity, isPromise, map, memoize, once, partial, pipe, proxy, rtee, send, spread, stack, substitute, tee, ternary, unary, wait, wrap, splice = [].splice;
identity = function(x) {
return x;
};
wrap = function(x) {
return function() {
return x;
};
};
arity = function(n, f) {
Object.defineProperty(f, "length", {
value: n,
configurable: true
});
return f;
};
unary = function(f) {
return arity(1, f);
};
binary = function(f) {
return arity(2, f);
};
ternary = function(f) {
return arity(3, f);
};
flip = function(f) {
return arity(f.length, function(...args) {
return f.apply(this, args.reverse());
});
};
curry = function(f) {
var k;
k = f.length;
if (k > 1) {
return arity(k, function(...ax) {
if (ax.length >= k) {
return f.apply(this, ax);
} else {
return curry(arity(k - ax.length, function(...bx) {
return f.apply(this, [
...ax,
...bx
]);
}));
}
});
} else {
return f;
}
};
_ = {};
substitute = curry(function(ax, bx) {
var a, i, j, len, results;
i = 0;
results = [];
for(j = 0, len = ax.length; j < len; j++){
a = ax[j];
if (a === _) {
results.push(bx[i++]);
} else {
results.push(a);
}
}
return results;
});
partial = function(f, ax) {
var a, j, len, n;
n = 0;
for(j = 0, len = ax.length; j < len; j++){
a = ax[j];
if (a === _) {
n++;
}
}
return arity(n, function(...bx) {
return f(...substitute(ax, bx));
});
};
spread = function(f) {
return function(ax) {
return f(...ax);
};
};
stack = function(f) {
return function(...ax) {
return f(ax);
};
};
pipe = function([f, ...gx]) {
if (gx.length === 0) {
return f != null ? f : identity;
} else {
return function({ g }) {
var ref;
g = pipe(gx);
return arity((ref = f.length) != null ? ref : 0, function(...args) {
return function({ self, x }) {
x = f.apply(self, args);
if ((x != null ? x.then : void 0) != null) {
return x.then(function(x) {
return g.apply(self, [
x
]);
});
} else {
return g.apply(self, [
x
]);
}
}({
self: this
});
});
}({});
}
};
flow = pipe;
compose = function(fx) {
return pipe(fx.reverse());
};
bpipe = pipe;
bflow = pipe;
bcompose = function(fx) {
return bpipe(fx.reverse());
};
wait = function(f) {
return arity(f.length, function(...ax) {
return Promise.all(ax).then(function(ax) {
return f(...ax);
});
});
};
tee = function(f) {
return arity(Math.max(f.length, 1), function(a, ...bx) {
var k, ref;
if (((ref = k = f.apply(this, [
a,
...bx
])) != null ? ref.then : void 0) != null) {
return k.then(function() {
return a;
});
} else {
return a;
}
});
};
rtee = function(f) {
return arity(Math.max(f.length, 1), function(...ax) {
var b, k, ref, ref1;
ref = ax, [...ax] = ref, [b] = splice.call(ax, -1);
if (((ref1 = k = f.apply(this, [
...ax,
b
])) != null ? ref1.then : void 0) != null) {
return k.then(function() {
return b;
});
} else {
return b;
}
});
};
once = function(f) {
return function(k) {
return arity(f.length, function(...ax) {
if (k != null) {
return k;
} else {
return k = f.apply(this, ax);
}
});
}(void 0);
};
memoize = function(f) {
return function(cache) {
return arity(f.length, function(...ax) {
var name1;
return cache[name1 = JSON.stringify(ax)] != null ? cache[name1] : cache[name1] = f.apply(this, ax);
});
}({});
};
apply = curry(function(f, ax) {
return f.apply(null, ax);
});
bind = curry(function(f, x) {
return f.bind(x);
});
detach = function(f) {
return curry(arity(f.length + 1, function(x, ...args) {
return f.apply(x, args);
}));
};
send = curry(function(name, ax, object) {
return object[name].apply(object, ax);
});
isPromise = function(k) {
return k instanceof Promise;
};
chain = function(f) {
return arity(Math.max(f.length, 1), function(...ax) {
var k;
if (isPromise(k = f.apply(this, ax))) {
return k.then(()=>{
return this;
});
} else {
return this;
}
});
};
map = function(fx) {
return function({ lengths, length }) {
lengths = fx.map(function(f) {
return f.length;
});
length = Math.max(...lengths);
return arity(length, function(...args) {
var f, j, len, results;
results = [];
for(j = 0, len = fx.length; j < len; j++){
f = fx[j];
results.push(f.apply(this, args));
}
return results;
});
}({});
};
proxy = curry(function(name, ax) {
return function(...bx) {
return this[name].apply(this, [
...ax,
...bx
]);
};
});
const _default = {
identity,
wrap,
arity,
unary,
binary,
ternary,
flip,
curry,
_,
substitute,
partial,
spread,
stack,
pipe,
compose,
wait,
flow,
bpipe,
bcompose,
bflow,
tee,
rtee,
once,
memoize,
apply,
bind,
detach,
send,
chain,
map,
proxy
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlcyI6WyIvQGRhc2hraXRlL2pveS9zcmMvZnVuY3Rpb24uY29mZmVlIl0sInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpZGVudGl0eSA9ICh4KSAtPiB4XG5cbndyYXAgPSAoeCkgLT4gLT4geFxuXG5hcml0eSAgPSAoIG4sIGYgKSAtPlxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkgZiwgXCJsZW5ndGhcIiwgdmFsdWU6IG4sIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICBmXG5cbnVuYXJ5ID0gKGYpIC0+IGFyaXR5IDEsIGZcblxuYmluYXJ5ID0gKGYpIC0+IGFyaXR5IDIsIGZcblxudGVybmFyeSA9IChmKSAtPiBhcml0eSAzLCBmXG5cbmZsaXAgPSAoZikgLT5cbiAgYXJpdHkgZi5sZW5ndGgsICggYXJncy4uLiApIC0+IFxuICAgIGYuYXBwbHkgQCwgYXJncy5yZXZlcnNlKClcblxuY3VycnkgPSAoIGYgKSAtPlxuICBrID0gZi5sZW5ndGhcbiAgaWYgayA+IDFcbiAgICBhcml0eSBrLCAoIGF4Li4uICkgLT5cbiAgICAgIGlmIGF4Lmxlbmd0aCA+PSBrXG4gICAgICAgIGYuYXBwbHkgQCwgYXhcbiAgICAgIGVsc2VcbiAgICAgICAgY3VycnkgYXJpdHkgKCBrIC0gYXgubGVuZ3RoICksICggYnguLi4gKSAtPlxuICAgICAgICAgIGYuYXBwbHkgQCwgWyBheC4uLiwgYnguLi4gXVxuICBlbHNlIGZcblxuXyA9IHt9XG5cbnN1YnN0aXR1dGUgPSBjdXJyeSAoYXgsIGJ4KSAtPlxuICBpID0gMFxuICBmb3IgYSBpbiBheFxuICAgIGlmIGEgPT0gX1xuICAgICAgYnhbaSsrXVxuICAgIGVsc2VcbiAgICAgIGFcblxucGFydGlhbCA9IChmLCBheCkgLT5cbiAgbiA9IDBcbiAgZm9yIGEgaW4gYXggd2hlbiBhID09IF9cbiAgICBuKytcbiAgYXJpdHkgbiwgKGJ4Li4uKSAtPiBmIChzdWJzdGl0dXRlIGF4LCBieCkuLi5cblxuc3ByZWFkID0gKGYpIC0+IChheCkgLT4gZiBheC4uLlxuXG5zdGFjayA9IChmKSAtPiAoYXguLi4pIC0+IGYgYXhcblxucGlwZSA9IChbIGYsIGd4Li4uIF0pIC0+XG4gIGlmIGd4Lmxlbmd0aCA9PSAwXG4gICAgZiA/IGlkZW50aXR5XG4gIGVsc2VcbiAgICBkbyAoeyBnIH0gPSB7fSkgLT5cbiAgICAgIGcgPSBwaXBlIGd4XG4gICAgICBhcml0eSAoIGYubGVuZ3RoID8gMCApLCAoIGFyZ3MuLi4gKSAtPlxuICAgICAgICBkbyAoeyBzZWxmLCB4IH0gPSB7IHNlbGY6IEAgfSkgLT5cbiAgICAgICAgICB4ID0gZi5hcHBseSBzZWxmLCBhcmdzXG4gICAgICAgICAgaWYgeD8udGhlbj9cbiAgICAgICAgICAgIHgudGhlbiAoIHggKSAtPlxuICAgICAgICAgICAgICBnLmFwcGx5IHNlbGYsIFsgeCBdXG4gICAgICAgICAgZWxzZVxuICAgICAgICAgICAgZy5hcHBseSBzZWxmLCBbIHggXVxuXG5mbG93ID0gcGlwZVxuXG5jb21wb3NlID0gKGZ4KSAtPiBwaXBlIGZ4LnJldmVyc2UoKVxuXG5icGlwZSA9IHBpcGVcblxuYmZsb3cgPSBwaXBlXG5cbmJjb21wb3NlID0gKGZ4KSAtPiBicGlwZSBmeC5yZXZlcnNlKClcblxud2FpdCA9IChmKSAtPlxuICBhcml0eSBmLmxlbmd0aCwgKGF4Li4uKSAtPlxuICAgIFByb21pc2UuYWxsIGF4XG4gICAgICAudGhlbiAoYXgpIC0+IGYgYXguLi5cblxudGVlID0gKGYpIC0+XG4gIGFyaXR5IChNYXRoLm1heCBmLmxlbmd0aCwgMSksIChhLCBieC4uLikgLT5cbiAgICBpZiAoayA9IChmLmFwcGx5IEAsIFsgYSwgYnguLi4gXSkpPy50aGVuP1xuICAgICAgay50aGVuIC0+IGFcbiAgICBlbHNlXG4gICAgICBhXG5cbnJ0ZWUgPSAoZikgLT5cbiAgYXJpdHkgKE1hdGgubWF4IGYubGVuZ3RoLCAxKSwgKGF4Li4uLCBiKSAtPlxuICAgIGlmIChrID0gKGYuYXBwbHkgQCwgWyBheC4uLiwgYiBdKSk/LnRoZW4/XG4gICAgICBrLnRoZW4gLT4gYlxuICAgIGVsc2VcbiAgICAgIGJcblxub25jZSA9IChmKSAtPlxuICBkbyAoaz11bmRlZmluZWQpIC0+XG4gICAgYXJpdHkgZi5sZW5ndGgsXG4gICAgICAoYXguLi4pIC0+IGlmIGs/IHRoZW4gayBlbHNlIChrID0gZi5hcHBseSBALCBheClcblxubWVtb2l6ZSA9IChmKSAtPlxuICBkbyAoY2FjaGUgPSB7fSkgLT5cbiAgICBhcml0eSBmLmxlbmd0aCwgKGF4Li4uKSAtPlxuICAgICAgY2FjaGVbIEpTT04uc3RyaW5naWZ5IGF4IF0gPz0gZi5hcHBseSBALCBheFxuXG5hcHBseSA9IGN1cnJ5IChmLCBheCkgLT4gZi5hcHBseSBudWxsLCBheFxuXG5iaW5kID0gY3VycnkgKGYsIHgpIC0+IGYuYmluZCB4XG5cbmRldGFjaCA9IChmKSAtPlxuICBjdXJyeSBhcml0eSAoZi5sZW5ndGggKyAxKSwgXG4gICAgKHgsIGFyZ3MuLi4pIC0+IGYuYXBwbHkgeCwgYXJnc1xuXG5zZW5kID0gY3VycnkgKG5hbWUsIGF4LCBvYmplY3QpIC0+IG9iamVjdFtuYW1lXS5hcHBseSBvYmplY3QsIGF4XG5cbmlzUHJvbWlzZSA9IChrKSAtPiBrIGluc3RhbmNlb2YgUHJvbWlzZVxuXG5jaGFpbiA9IChmKSAtPlxuICBhcml0eSAoTWF0aC5tYXggZi5sZW5ndGgsIDEpLCAoYXguLi4pIC0+XG4gICAgaWYgKGlzUHJvbWlzZSAoayA9IChmLmFwcGx5IEAsIGF4KSkpXG4gICAgICBrLnRoZW4gPT4gQFxuICAgIGVsc2VcbiAgICAgIEBcblxubWFwID0gKCBmeCApIC0+XG4gIGRvICh7IGxlbmd0aHMsIGxlbmd0aCB9ID0ge30pIC0+XG4gICAgbGVuZ3RocyA9IGZ4Lm1hcCAoIGYgKSAtPiBmLmxlbmd0aFxuICAgIGxlbmd0aCA9IE1hdGgubWF4IGxlbmd0aHMuLi5cbiAgICBhcml0eSBsZW5ndGgsICggYXJncy4uLiApIC0+XG4gICAgICAoIGYuYXBwbHkgQCwgYXJncyApIGZvciBmIGluIGZ4XG5cbnByb3h5ID0gY3VycnkgKG5hbWUsIGF4KSAtPlxuICAoYnguLi4pIC0+IEBbbmFtZV0uYXBwbHkgQCwgWyBheC4uLiwgYnguLi4gXVxuXG5leHBvcnQge1xuICBpZGVudGl0eVxuICB3cmFwXG4gIGFyaXR5XG4gIHVuYXJ5XG4gIGJpbmFyeVxuICB0ZXJuYXJ5XG4gIGZsaXBcbiAgY3VycnlcbiAgX1xuICBzdWJzdGl0dXRlXG4gIHBhcnRpYWxcbiAgc3ByZWFkXG4gIHN0YWNrXG4gIHBpcGVcbiAgY29tcG9zZVxuICB3YWl0XG4gIGZsb3dcbiAgYnBpcGVcbiAgYmNvbXBvc2VcbiAgYmZsb3dcbiAgdGVlXG4gIHJ0ZWVcbiAgb25jZVxuICBtZW1vaXplXG4gIGFwcGx5XG4gIGJpbmRcbiAgZGV0YWNoXG4gIHNlbmRcbiAgY2hhaW5cbiAgbWFwXG4gIHByb3h5XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgaWRlbnRpdHlcbiAgd3JhcFxuICBhcml0eVxuICB1bmFyeVxuICBiaW5hcnlcbiAgdGVybmFyeVxuICBmbGlwXG4gIGN1cnJ5XG4gIF9cbiAgc3Vic3RpdHV0ZVxuICBwYXJ0aWFsXG4gIHNwcmVhZFxuICBzdGFja1xuICBwaXBlXG4gIGNvbXBvc2VcbiAgd2FpdFxuICBmbG93XG4gIGJwaXBlXG4gIGJjb21wb3NlXG4gIGJmbG93XG4gIHRlZVxuICBydGVlXG4gIG9uY2VcbiAgbWVtb2l6ZVxuICBhcHBseVxuICBiaW5kXG4gIGRldGFjaFxuICBzZW5kXG4gIGNoYWluXG4gIG1hcFxuICBwcm94eVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztlQTZJRSxDQVRGOzs7ZUF5QkUsS0F6QkY7OztlQUdFLEtBSEY7OztlQW1CRSxRQW5CRjs7UUFvQkUsS0FwQkY7Ozs7ZUFLRSxNQUxGOztRQTBCRSxJQTFCRjs7OztlQWtCRSxLQWxCRjs7UUE2QkUsS0E3QkY7Ozs7ZUFlRSxPQWZGOzs7ZUFRRSxLQVJGOzs7Ozs7OztlQTJC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