Files
nothoughts/public/js/cljs-runtime/cljs.core.async.js
2025-02-06 19:47:55 +01:00

8781 lines
276 KiB
JavaScript

goog.provide('cljs.core.async');
goog.scope(function(){
cljs.core.async.goog$module$goog$array = goog.module.get('goog.array');
});
/**
* @constructor
* @implements {cljs.core.async.impl.protocols.Handler}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async23449 = (function (f,blockable,meta23450){
this.f = f;
this.blockable = blockable;
this.meta23450 = meta23450;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async23449.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_23451,meta23450__$1){
var self__ = this;
var _23451__$1 = this;
return (new cljs.core.async.t_cljs$core$async23449(self__.f,self__.blockable,meta23450__$1));
}));
(cljs.core.async.t_cljs$core$async23449.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_23451){
var self__ = this;
var _23451__$1 = this;
return self__.meta23450;
}));
(cljs.core.async.t_cljs$core$async23449.prototype.cljs$core$async$impl$protocols$Handler$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async23449.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return true;
}));
(cljs.core.async.t_cljs$core$async23449.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return self__.blockable;
}));
(cljs.core.async.t_cljs$core$async23449.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return self__.f;
}));
(cljs.core.async.t_cljs$core$async23449.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"f","f",43394975,null),new cljs.core.Symbol(null,"blockable","blockable",-28395259,null),new cljs.core.Symbol(null,"meta23450","meta23450",-31854318,null)], null);
}));
(cljs.core.async.t_cljs$core$async23449.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async23449.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async23449");
(cljs.core.async.t_cljs$core$async23449.cljs$lang$ctorPrWriter = (function (this__5287__auto__,writer__5288__auto__,opt__5289__auto__){
return cljs.core._write(writer__5288__auto__,"cljs.core.async/t_cljs$core$async23449");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async23449.
*/
cljs.core.async.__GT_t_cljs$core$async23449 = (function cljs$core$async$__GT_t_cljs$core$async23449(f,blockable,meta23450){
return (new cljs.core.async.t_cljs$core$async23449(f,blockable,meta23450));
});
cljs.core.async.fn_handler = (function cljs$core$async$fn_handler(var_args){
var G__23447 = arguments.length;
switch (G__23447) {
case 1:
return cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1 = (function (f){
return cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2(f,true);
}));
(cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2 = (function (f,blockable){
return (new cljs.core.async.t_cljs$core$async23449(f,blockable,cljs.core.PersistentArrayMap.EMPTY));
}));
(cljs.core.async.fn_handler.cljs$lang$maxFixedArity = 2);
/**
* Returns a fixed buffer of size n. When full, puts will block/park.
*/
cljs.core.async.buffer = (function cljs$core$async$buffer(n){
return cljs.core.async.impl.buffers.fixed_buffer(n);
});
/**
* Returns a buffer of size n. When full, puts will complete but
* val will be dropped (no transfer).
*/
cljs.core.async.dropping_buffer = (function cljs$core$async$dropping_buffer(n){
return cljs.core.async.impl.buffers.dropping_buffer(n);
});
/**
* Returns a buffer of size n. When full, puts will complete, and be
* buffered, but oldest elements in buffer will be dropped (not
* transferred).
*/
cljs.core.async.sliding_buffer = (function cljs$core$async$sliding_buffer(n){
return cljs.core.async.impl.buffers.sliding_buffer(n);
});
/**
* Returns true if a channel created with buff will never block. That is to say,
* puts into this buffer will never cause the buffer to be full.
*/
cljs.core.async.unblocking_buffer_QMARK_ = (function cljs$core$async$unblocking_buffer_QMARK_(buff){
if((!((buff == null)))){
if(((false) || ((cljs.core.PROTOCOL_SENTINEL === buff.cljs$core$async$impl$protocols$UnblockingBuffer$)))){
return true;
} else {
if((!buff.cljs$lang$protocol_mask$partition$)){
return cljs.core.native_satisfies_QMARK_(cljs.core.async.impl.protocols.UnblockingBuffer,buff);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_(cljs.core.async.impl.protocols.UnblockingBuffer,buff);
}
});
/**
* Creates a channel with an optional buffer, an optional transducer (like (map f),
* (filter p) etc or a composition thereof), and an optional exception handler.
* If buf-or-n is a number, will create and use a fixed buffer of that size. If a
* transducer is supplied a buffer must be specified. ex-handler must be a
* fn of one argument - if an exception occurs during transformation it will be called
* with the thrown value as an argument, and any non-nil return value will be placed
* in the channel.
*/
cljs.core.async.chan = (function cljs$core$async$chan(var_args){
var G__23498 = arguments.length;
switch (G__23498) {
case 0:
return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0 = (function (){
return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(null);
}));
(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1 = (function (buf_or_n){
return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3(buf_or_n,null,null);
}));
(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$2 = (function (buf_or_n,xform){
return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3(buf_or_n,xform,null);
}));
(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3 = (function (buf_or_n,xform,ex_handler){
var buf_or_n__$1 = ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(buf_or_n,(0)))?null:buf_or_n);
if(cljs.core.truth_(xform)){
if(cljs.core.truth_(buf_or_n__$1)){
} else {
throw (new Error(["Assert failed: ","buffer must be supplied when transducer is","\n","buf-or-n"].join('')));
}
} else {
}
return cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3(((typeof buf_or_n__$1 === 'number')?cljs.core.async.buffer(buf_or_n__$1):buf_or_n__$1),xform,ex_handler);
}));
(cljs.core.async.chan.cljs$lang$maxFixedArity = 3);
/**
* Creates a promise channel with an optional transducer, and an optional
* exception-handler. A promise channel can take exactly one value that consumers
* will receive. Once full, puts complete but val is dropped (no transfer).
* Consumers will block until either a value is placed in the channel or the
* channel is closed. See chan for the semantics of xform and ex-handler.
*/
cljs.core.async.promise_chan = (function cljs$core$async$promise_chan(var_args){
var G__23526 = arguments.length;
switch (G__23526) {
case 0:
return cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0 = (function (){
return cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1(null);
}));
(cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1 = (function (xform){
return cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2(xform,null);
}));
(cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2 = (function (xform,ex_handler){
return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3(cljs.core.async.impl.buffers.promise_buffer(),xform,ex_handler);
}));
(cljs.core.async.promise_chan.cljs$lang$maxFixedArity = 2);
/**
* Returns a channel that will close after msecs
*/
cljs.core.async.timeout = (function cljs$core$async$timeout(msecs){
return cljs.core.async.impl.timers.timeout(msecs);
});
/**
* takes a val from port. Must be called inside a (go ...) block. Will
* return nil if closed. Will park if nothing is available.
* Returns true unless port is already closed
*/
cljs.core.async._LT__BANG_ = (function cljs$core$async$_LT__BANG_(port){
throw (new Error("<! used not in (go ...) block"));
});
/**
* Asynchronously takes a val from port, passing to fn1. Will pass nil
* if closed. If on-caller? (default true) is true, and value is
* immediately available, will call fn1 on calling thread.
* Returns nil.
*/
cljs.core.async.take_BANG_ = (function cljs$core$async$take_BANG_(var_args){
var G__23540 = arguments.length;
switch (G__23540) {
case 2:
return cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2 = (function (port,fn1){
return cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3(port,fn1,true);
}));
(cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3 = (function (port,fn1,on_caller_QMARK_){
var ret = cljs.core.async.impl.protocols.take_BANG_(port,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1(fn1));
if(cljs.core.truth_(ret)){
var val_26993 = cljs.core.deref(ret);
if(cljs.core.truth_(on_caller_QMARK_)){
(fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(val_26993) : fn1.call(null, val_26993));
} else {
cljs.core.async.impl.dispatch.run((function (){
return (fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(val_26993) : fn1.call(null, val_26993));
}));
}
} else {
}
return null;
}));
(cljs.core.async.take_BANG_.cljs$lang$maxFixedArity = 3);
cljs.core.async.nop = (function cljs$core$async$nop(_){
return null;
});
cljs.core.async.fhnop = cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1(cljs.core.async.nop);
/**
* puts a val into port. nil values are not allowed. Must be called
* inside a (go ...) block. Will park if no buffer space is available.
* Returns true unless port is already closed.
*/
cljs.core.async._GT__BANG_ = (function cljs$core$async$_GT__BANG_(port,val){
throw (new Error(">! used not in (go ...) block"));
});
/**
* Asynchronously puts a val into port, calling fn1 (if supplied) when
* complete. nil values are not allowed. Will throw if closed. If
* on-caller? (default true) is true, and the put is immediately
* accepted, will call fn1 on calling thread. Returns nil.
*/
cljs.core.async.put_BANG_ = (function cljs$core$async$put_BANG_(var_args){
var G__23563 = arguments.length;
switch (G__23563) {
case 2:
return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2 = (function (port,val){
var temp__5802__auto__ = cljs.core.async.impl.protocols.put_BANG_(port,val,cljs.core.async.fhnop);
if(cljs.core.truth_(temp__5802__auto__)){
var ret = temp__5802__auto__;
return cljs.core.deref(ret);
} else {
return true;
}
}));
(cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3 = (function (port,val,fn1){
return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4(port,val,fn1,true);
}));
(cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4 = (function (port,val,fn1,on_caller_QMARK_){
var temp__5802__auto__ = cljs.core.async.impl.protocols.put_BANG_(port,val,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1(fn1));
if(cljs.core.truth_(temp__5802__auto__)){
var retb = temp__5802__auto__;
var ret = cljs.core.deref(retb);
if(cljs.core.truth_(on_caller_QMARK_)){
(fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(ret) : fn1.call(null, ret));
} else {
cljs.core.async.impl.dispatch.run((function (){
return (fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(ret) : fn1.call(null, ret));
}));
}
return ret;
} else {
return true;
}
}));
(cljs.core.async.put_BANG_.cljs$lang$maxFixedArity = 4);
cljs.core.async.close_BANG_ = (function cljs$core$async$close_BANG_(port){
return cljs.core.async.impl.protocols.close_BANG_(port);
});
cljs.core.async.random_array = (function cljs$core$async$random_array(n){
var a = (new Array(n));
var n__5593__auto___26995 = n;
var x_26996 = (0);
while(true){
if((x_26996 < n__5593__auto___26995)){
(a[x_26996] = x_26996);
var G__26997 = (x_26996 + (1));
x_26996 = G__26997;
continue;
} else {
}
break;
}
cljs.core.async.goog$module$goog$array.shuffle(a);
return a;
});
/**
* @constructor
* @implements {cljs.core.async.impl.protocols.Handler}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async23591 = (function (flag,meta23592){
this.flag = flag;
this.meta23592 = meta23592;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async23591.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_23593,meta23592__$1){
var self__ = this;
var _23593__$1 = this;
return (new cljs.core.async.t_cljs$core$async23591(self__.flag,meta23592__$1));
}));
(cljs.core.async.t_cljs$core$async23591.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_23593){
var self__ = this;
var _23593__$1 = this;
return self__.meta23592;
}));
(cljs.core.async.t_cljs$core$async23591.prototype.cljs$core$async$impl$protocols$Handler$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async23591.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.deref(self__.flag);
}));
(cljs.core.async.t_cljs$core$async23591.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return true;
}));
(cljs.core.async.t_cljs$core$async23591.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
cljs.core.reset_BANG_(self__.flag,null);
return true;
}));
(cljs.core.async.t_cljs$core$async23591.getBasis = (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"flag","flag",-1565787888,null),new cljs.core.Symbol(null,"meta23592","meta23592",-2037850213,null)], null);
}));
(cljs.core.async.t_cljs$core$async23591.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async23591.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async23591");
(cljs.core.async.t_cljs$core$async23591.cljs$lang$ctorPrWriter = (function (this__5287__auto__,writer__5288__auto__,opt__5289__auto__){
return cljs.core._write(writer__5288__auto__,"cljs.core.async/t_cljs$core$async23591");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async23591.
*/
cljs.core.async.__GT_t_cljs$core$async23591 = (function cljs$core$async$__GT_t_cljs$core$async23591(flag,meta23592){
return (new cljs.core.async.t_cljs$core$async23591(flag,meta23592));
});
cljs.core.async.alt_flag = (function cljs$core$async$alt_flag(){
var flag = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(true);
return (new cljs.core.async.t_cljs$core$async23591(flag,cljs.core.PersistentArrayMap.EMPTY));
});
/**
* @constructor
* @implements {cljs.core.async.impl.protocols.Handler}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async23610 = (function (flag,cb,meta23611){
this.flag = flag;
this.cb = cb;
this.meta23611 = meta23611;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async23610.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_23612,meta23611__$1){
var self__ = this;
var _23612__$1 = this;
return (new cljs.core.async.t_cljs$core$async23610(self__.flag,self__.cb,meta23611__$1));
}));
(cljs.core.async.t_cljs$core$async23610.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_23612){
var self__ = this;
var _23612__$1 = this;
return self__.meta23611;
}));
(cljs.core.async.t_cljs$core$async23610.prototype.cljs$core$async$impl$protocols$Handler$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async23610.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.async.impl.protocols.active_QMARK_(self__.flag);
}));
(cljs.core.async.t_cljs$core$async23610.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return true;
}));
(cljs.core.async.t_cljs$core$async23610.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
cljs.core.async.impl.protocols.commit(self__.flag);
return self__.cb;
}));
(cljs.core.async.t_cljs$core$async23610.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"flag","flag",-1565787888,null),new cljs.core.Symbol(null,"cb","cb",-2064487928,null),new cljs.core.Symbol(null,"meta23611","meta23611",-720860246,null)], null);
}));
(cljs.core.async.t_cljs$core$async23610.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async23610.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async23610");
(cljs.core.async.t_cljs$core$async23610.cljs$lang$ctorPrWriter = (function (this__5287__auto__,writer__5288__auto__,opt__5289__auto__){
return cljs.core._write(writer__5288__auto__,"cljs.core.async/t_cljs$core$async23610");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async23610.
*/
cljs.core.async.__GT_t_cljs$core$async23610 = (function cljs$core$async$__GT_t_cljs$core$async23610(flag,cb,meta23611){
return (new cljs.core.async.t_cljs$core$async23610(flag,cb,meta23611));
});
cljs.core.async.alt_handler = (function cljs$core$async$alt_handler(flag,cb){
return (new cljs.core.async.t_cljs$core$async23610(flag,cb,cljs.core.PersistentArrayMap.EMPTY));
});
/**
* returns derefable [val port] if immediate, nil if enqueued
*/
cljs.core.async.do_alts = (function cljs$core$async$do_alts(fret,ports,opts){
if((cljs.core.count(ports) > (0))){
} else {
throw (new Error(["Assert failed: ","alts must have at least one channel operation","\n","(pos? (count ports))"].join('')));
}
var flag = cljs.core.async.alt_flag();
var n = cljs.core.count(ports);
var idxs = cljs.core.async.random_array(n);
var priority = new cljs.core.Keyword(null,"priority","priority",1431093715).cljs$core$IFn$_invoke$arity$1(opts);
var ret = (function (){var i = (0);
while(true){
if((i < n)){
var idx = (cljs.core.truth_(priority)?i:(idxs[i]));
var port = cljs.core.nth.cljs$core$IFn$_invoke$arity$2(ports,idx);
var wport = ((cljs.core.vector_QMARK_(port))?(port.cljs$core$IFn$_invoke$arity$1 ? port.cljs$core$IFn$_invoke$arity$1((0)) : port.call(null, (0))):null);
var vbox = (cljs.core.truth_(wport)?(function (){var val = (port.cljs$core$IFn$_invoke$arity$1 ? port.cljs$core$IFn$_invoke$arity$1((1)) : port.call(null, (1)));
return cljs.core.async.impl.protocols.put_BANG_(wport,val,cljs.core.async.alt_handler(flag,((function (i,val,idx,port,wport,flag,n,idxs,priority){
return (function (p1__23642_SHARP_){
var G__23670 = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p1__23642_SHARP_,wport], null);
return (fret.cljs$core$IFn$_invoke$arity$1 ? fret.cljs$core$IFn$_invoke$arity$1(G__23670) : fret.call(null, G__23670));
});})(i,val,idx,port,wport,flag,n,idxs,priority))
));
})():cljs.core.async.impl.protocols.take_BANG_(port,cljs.core.async.alt_handler(flag,((function (i,idx,port,wport,flag,n,idxs,priority){
return (function (p1__23643_SHARP_){
var G__23673 = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p1__23643_SHARP_,port], null);
return (fret.cljs$core$IFn$_invoke$arity$1 ? fret.cljs$core$IFn$_invoke$arity$1(G__23673) : fret.call(null, G__23673));
});})(i,idx,port,wport,flag,n,idxs,priority))
)));
if(cljs.core.truth_(vbox)){
return cljs.core.async.impl.channels.box(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.deref(vbox),(function (){var or__5002__auto__ = wport;
if(cljs.core.truth_(or__5002__auto__)){
return or__5002__auto__;
} else {
return port;
}
})()], null));
} else {
var G__27002 = (i + (1));
i = G__27002;
continue;
}
} else {
return null;
}
break;
}
})();
var or__5002__auto__ = ret;
if(cljs.core.truth_(or__5002__auto__)){
return or__5002__auto__;
} else {
if(cljs.core.contains_QMARK_(opts,new cljs.core.Keyword(null,"default","default",-1987822328))){
var temp__5804__auto__ = (function (){var and__5000__auto__ = flag.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null, );
if(cljs.core.truth_(and__5000__auto__)){
return flag.cljs$core$async$impl$protocols$Handler$commit$arity$1(null, );
} else {
return and__5000__auto__;
}
})();
if(cljs.core.truth_(temp__5804__auto__)){
var got = temp__5804__auto__;
return cljs.core.async.impl.channels.box(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"default","default",-1987822328).cljs$core$IFn$_invoke$arity$1(opts),new cljs.core.Keyword(null,"default","default",-1987822328)], null));
} else {
return null;
}
} else {
return null;
}
}
});
/**
* Completes at most one of several channel operations. Must be called
* inside a (go ...) block. ports is a vector of channel endpoints,
* which can be either a channel to take from or a vector of
* [channel-to-put-to val-to-put], in any combination. Takes will be
* made as if by <!, and puts will be made as if by >!. Unless
* the :priority option is true, if more than one port operation is
* ready a non-deterministic choice will be made. If no operation is
* ready and a :default value is supplied, [default-val :default] will
* be returned, otherwise alts! will park until the first operation to
* become ready completes. Returns [val port] of the completed
* operation, where val is the value taken for takes, and a
* boolean (true unless already closed, as per put!) for puts.
*
* opts are passed as :key val ... Supported options:
*
* :default val - the value to use if none of the operations are immediately ready
* :priority true - (default nil) when true, the operations will be tried in order.
*
* Note: there is no guarantee that the port exps or val exprs will be
* used, nor in what order should they be, so they should not be
* depended upon for side effects.
*/
cljs.core.async.alts_BANG_ = (function cljs$core$async$alts_BANG_(var_args){
var args__5732__auto__ = [];
var len__5726__auto___27013 = arguments.length;
var i__5727__auto___27014 = (0);
while(true){
if((i__5727__auto___27014 < len__5726__auto___27013)){
args__5732__auto__.push((arguments[i__5727__auto___27014]));
var G__27015 = (i__5727__auto___27014 + (1));
i__5727__auto___27014 = G__27015;
continue;
} else {
}
break;
}
var argseq__5733__auto__ = ((((1) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((1)),(0),null)):null);
return cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5733__auto__);
});
(cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (ports,p__23679){
var map__23680 = p__23679;
var map__23680__$1 = cljs.core.__destructure_map(map__23680);
var opts = map__23680__$1;
throw (new Error("alts! used not in (go ...) block"));
}));
(cljs.core.async.alts_BANG_.cljs$lang$maxFixedArity = (1));
/** @this {Function} */
(cljs.core.async.alts_BANG_.cljs$lang$applyTo = (function (seq23676){
var G__23677 = cljs.core.first(seq23676);
var seq23676__$1 = cljs.core.next(seq23676);
var self__5711__auto__ = this;
return self__5711__auto__.cljs$core$IFn$_invoke$arity$variadic(G__23677,seq23676__$1);
}));
/**
* Puts a val into port if it's possible to do so immediately.
* nil values are not allowed. Never blocks. Returns true if offer succeeds.
*/
cljs.core.async.offer_BANG_ = (function cljs$core$async$offer_BANG_(port,val){
var ret = cljs.core.async.impl.protocols.put_BANG_(port,val,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2(cljs.core.async.nop,false));
if(cljs.core.truth_(ret)){
return cljs.core.deref(ret);
} else {
return null;
}
});
/**
* Takes a val from port if it's possible to do so immediately.
* Never blocks. Returns value if successful, nil otherwise.
*/
cljs.core.async.poll_BANG_ = (function cljs$core$async$poll_BANG_(port){
var ret = cljs.core.async.impl.protocols.take_BANG_(port,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2(cljs.core.async.nop,false));
if(cljs.core.truth_(ret)){
return cljs.core.deref(ret);
} else {
return null;
}
});
/**
* Takes elements from the from channel and supplies them to the to
* channel. By default, the to channel will be closed when the from
* channel closes, but can be determined by the close? parameter. Will
* stop consuming the from channel if the to channel closes
*/
cljs.core.async.pipe = (function cljs$core$async$pipe(var_args){
var G__23746 = arguments.length;
switch (G__23746) {
case 2:
return cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$2 = (function (from,to){
return cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3(from,to,true);
}));
(cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3 = (function (from,to,close_QMARK_){
var c__23318__auto___27017 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__23319__auto__ = (function (){var switch__21868__auto__ = (function (state_23860){
var state_val_23867 = (state_23860[(1)]);
if((state_val_23867 === (7))){
var inst_23840 = (state_23860[(2)]);
var state_23860__$1 = state_23860;
var statearr_23883_27018 = state_23860__$1;
(statearr_23883_27018[(2)] = inst_23840);
(statearr_23883_27018[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_23867 === (1))){
var state_23860__$1 = state_23860;
var statearr_23889_27019 = state_23860__$1;
(statearr_23889_27019[(2)] = null);
(statearr_23889_27019[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_23867 === (4))){
var inst_23800 = (state_23860[(7)]);
var inst_23800__$1 = (state_23860[(2)]);
var inst_23805 = (inst_23800__$1 == null);
var state_23860__$1 = (function (){var statearr_23906 = state_23860;
(statearr_23906[(7)] = inst_23800__$1);
return statearr_23906;
})();
if(cljs.core.truth_(inst_23805)){
var statearr_23912_27020 = state_23860__$1;
(statearr_23912_27020[(1)] = (5));
} else {
var statearr_23913_27021 = state_23860__$1;
(statearr_23913_27021[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_23867 === (13))){
var state_23860__$1 = state_23860;
var statearr_23920_27022 = state_23860__$1;
(statearr_23920_27022[(2)] = null);
(statearr_23920_27022[(1)] = (14));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_23867 === (6))){
var inst_23800 = (state_23860[(7)]);
var state_23860__$1 = state_23860;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_23860__$1,(11),to,inst_23800);
} else {
if((state_val_23867 === (3))){
var inst_23846 = (state_23860[(2)]);
var state_23860__$1 = state_23860;
return cljs.core.async.impl.ioc_helpers.return_chan(state_23860__$1,inst_23846);
} else {
if((state_val_23867 === (12))){
var state_23860__$1 = state_23860;
var statearr_23922_27023 = state_23860__$1;
(statearr_23922_27023[(2)] = null);
(statearr_23922_27023[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_23867 === (2))){
var state_23860__$1 = state_23860;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_23860__$1,(4),from);
} else {
if((state_val_23867 === (11))){
var inst_23825 = (state_23860[(2)]);
var state_23860__$1 = state_23860;
if(cljs.core.truth_(inst_23825)){
var statearr_23926_27024 = state_23860__$1;
(statearr_23926_27024[(1)] = (12));
} else {
var statearr_23927_27025 = state_23860__$1;
(statearr_23927_27025[(1)] = (13));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_23867 === (9))){
var state_23860__$1 = state_23860;
var statearr_23931_27026 = state_23860__$1;
(statearr_23931_27026[(2)] = null);
(statearr_23931_27026[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_23867 === (5))){
var state_23860__$1 = state_23860;
if(cljs.core.truth_(close_QMARK_)){
var statearr_23936_27027 = state_23860__$1;
(statearr_23936_27027[(1)] = (8));
} else {
var statearr_23937_27028 = state_23860__$1;
(statearr_23937_27028[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_23867 === (14))){
var inst_23837 = (state_23860[(2)]);
var state_23860__$1 = state_23860;
var statearr_23938_27029 = state_23860__$1;
(statearr_23938_27029[(2)] = inst_23837);
(statearr_23938_27029[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_23867 === (10))){
var inst_23818 = (state_23860[(2)]);
var state_23860__$1 = state_23860;
var statearr_23939_27030 = state_23860__$1;
(statearr_23939_27030[(2)] = inst_23818);
(statearr_23939_27030[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_23867 === (8))){
var inst_23811 = cljs.core.async.close_BANG_(to);
var state_23860__$1 = state_23860;
var statearr_23942_27031 = state_23860__$1;
(statearr_23942_27031[(2)] = inst_23811);
(statearr_23942_27031[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__21869__auto__ = null;
var cljs$core$async$state_machine__21869__auto____0 = (function (){
var statearr_23948 = [null,null,null,null,null,null,null,null];
(statearr_23948[(0)] = cljs$core$async$state_machine__21869__auto__);
(statearr_23948[(1)] = (1));
return statearr_23948;
});
var cljs$core$async$state_machine__21869__auto____1 = (function (state_23860){
while(true){
var ret_value__21870__auto__ = (function (){try{while(true){
var result__21871__auto__ = switch__21868__auto__(state_23860);
if(cljs.core.keyword_identical_QMARK_(result__21871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__21871__auto__;
}
break;
}
}catch (e23949){var ex__21872__auto__ = e23949;
var statearr_23950_27032 = state_23860;
(statearr_23950_27032[(2)] = ex__21872__auto__);
if(cljs.core.seq((state_23860[(4)]))){
var statearr_23951_27033 = state_23860;
(statearr_23951_27033[(1)] = cljs.core.first((state_23860[(4)])));
} else {
throw ex__21872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__21870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__27034 = state_23860;
state_23860 = G__27034;
continue;
} else {
return ret_value__21870__auto__;
}
break;
}
});
cljs$core$async$state_machine__21869__auto__ = function(state_23860){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__21869__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__21869__auto____1.call(this,state_23860);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__21869__auto____0;
cljs$core$async$state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__21869__auto____1;
return cljs$core$async$state_machine__21869__auto__;
})()
})();
var state__23320__auto__ = (function (){var statearr_23958 = f__23319__auto__();
(statearr_23958[(6)] = c__23318__auto___27017);
return statearr_23958;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__23320__auto__);
}));
return to;
}));
(cljs.core.async.pipe.cljs$lang$maxFixedArity = 3);
cljs.core.async.pipeline_STAR_ = (function cljs$core$async$pipeline_STAR_(n,to,xf,from,close_QMARK_,ex_handler,type){
if((n > (0))){
} else {
throw (new Error("Assert failed: (pos? n)"));
}
var jobs = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(n);
var results = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(n);
var process__$1 = (function (p__23995){
var vec__23996 = p__23995;
var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23996,(0),null);
var p = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23996,(1),null);
var job = vec__23996;
if((job == null)){
cljs.core.async.close_BANG_(results);
return null;
} else {
var res = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3((1),xf,ex_handler);
var c__23318__auto___27035 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__23319__auto__ = (function (){var switch__21868__auto__ = (function (state_24022){
var state_val_24023 = (state_24022[(1)]);
if((state_val_24023 === (1))){
var state_24022__$1 = state_24022;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_24022__$1,(2),res,v);
} else {
if((state_val_24023 === (2))){
var inst_24015 = (state_24022[(2)]);
var inst_24020 = cljs.core.async.close_BANG_(res);
var state_24022__$1 = (function (){var statearr_24031 = state_24022;
(statearr_24031[(7)] = inst_24015);
return statearr_24031;
})();
return cljs.core.async.impl.ioc_helpers.return_chan(state_24022__$1,inst_24020);
} else {
return null;
}
}
});
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____0 = (function (){
var statearr_24034 = [null,null,null,null,null,null,null,null];
(statearr_24034[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__);
(statearr_24034[(1)] = (1));
return statearr_24034;
});
var cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____1 = (function (state_24022){
while(true){
var ret_value__21870__auto__ = (function (){try{while(true){
var result__21871__auto__ = switch__21868__auto__(state_24022);
if(cljs.core.keyword_identical_QMARK_(result__21871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__21871__auto__;
}
break;
}
}catch (e24037){var ex__21872__auto__ = e24037;
var statearr_24038_27036 = state_24022;
(statearr_24038_27036[(2)] = ex__21872__auto__);
if(cljs.core.seq((state_24022[(4)]))){
var statearr_24039_27037 = state_24022;
(statearr_24039_27037[(1)] = cljs.core.first((state_24022[(4)])));
} else {
throw ex__21872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__21870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__27038 = state_24022;
state_24022 = G__27038;
continue;
} else {
return ret_value__21870__auto__;
}
break;
}
});
cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__ = function(state_24022){
switch(arguments.length){
case 0:
return cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____0.call(this);
case 1:
return cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____1.call(this,state_24022);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____0;
cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____1;
return cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__;
})()
})();
var state__23320__auto__ = (function (){var statearr_24042 = f__23319__auto__();
(statearr_24042[(6)] = c__23318__auto___27035);
return statearr_24042;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__23320__auto__);
}));
cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(p,res);
return true;
}
});
var async = (function (p__24059){
var vec__24063 = p__24059;
var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24063,(0),null);
var p = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24063,(1),null);
var job = vec__24063;
if((job == null)){
cljs.core.async.close_BANG_(results);
return null;
} else {
var res = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
(xf.cljs$core$IFn$_invoke$arity$2 ? xf.cljs$core$IFn$_invoke$arity$2(v,res) : xf.call(null, v,res));
cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(p,res);
return true;
}
});
var n__5593__auto___27039 = n;
var __27040 = (0);
while(true){
if((__27040 < n__5593__auto___27039)){
var G__24079_27041 = type;
var G__24079_27042__$1 = (((G__24079_27041 instanceof cljs.core.Keyword))?G__24079_27041.fqn:null);
switch (G__24079_27042__$1) {
case "compute":
var c__23318__auto___27044 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run(((function (__27040,c__23318__auto___27044,G__24079_27041,G__24079_27042__$1,n__5593__auto___27039,jobs,results,process__$1,async){
return (function (){
var f__23319__auto__ = (function (){var switch__21868__auto__ = ((function (__27040,c__23318__auto___27044,G__24079_27041,G__24079_27042__$1,n__5593__auto___27039,jobs,results,process__$1,async){
return (function (state_24114){
var state_val_24115 = (state_24114[(1)]);
if((state_val_24115 === (1))){
var state_24114__$1 = state_24114;
var statearr_24147_27048 = state_24114__$1;
(statearr_24147_27048[(2)] = null);
(statearr_24147_27048[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24115 === (2))){
var state_24114__$1 = state_24114;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_24114__$1,(4),jobs);
} else {
if((state_val_24115 === (3))){
var inst_24111 = (state_24114[(2)]);
var state_24114__$1 = state_24114;
return cljs.core.async.impl.ioc_helpers.return_chan(state_24114__$1,inst_24111);
} else {
if((state_val_24115 === (4))){
var inst_24094 = (state_24114[(2)]);
var inst_24099 = process__$1(inst_24094);
var state_24114__$1 = state_24114;
if(cljs.core.truth_(inst_24099)){
var statearr_24176_27049 = state_24114__$1;
(statearr_24176_27049[(1)] = (5));
} else {
var statearr_24182_27050 = state_24114__$1;
(statearr_24182_27050[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24115 === (5))){
var state_24114__$1 = state_24114;
var statearr_24195_27054 = state_24114__$1;
(statearr_24195_27054[(2)] = null);
(statearr_24195_27054[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24115 === (6))){
var state_24114__$1 = state_24114;
var statearr_24201_27055 = state_24114__$1;
(statearr_24201_27055[(2)] = null);
(statearr_24201_27055[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24115 === (7))){
var inst_24108 = (state_24114[(2)]);
var state_24114__$1 = state_24114;
var statearr_24202_27056 = state_24114__$1;
(statearr_24202_27056[(2)] = inst_24108);
(statearr_24202_27056[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
});})(__27040,c__23318__auto___27044,G__24079_27041,G__24079_27042__$1,n__5593__auto___27039,jobs,results,process__$1,async))
;
return ((function (__27040,switch__21868__auto__,c__23318__auto___27044,G__24079_27041,G__24079_27042__$1,n__5593__auto___27039,jobs,results,process__$1,async){
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____0 = (function (){
var statearr_24207 = [null,null,null,null,null,null,null];
(statearr_24207[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__);
(statearr_24207[(1)] = (1));
return statearr_24207;
});
var cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____1 = (function (state_24114){
while(true){
var ret_value__21870__auto__ = (function (){try{while(true){
var result__21871__auto__ = switch__21868__auto__(state_24114);
if(cljs.core.keyword_identical_QMARK_(result__21871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__21871__auto__;
}
break;
}
}catch (e24209){var ex__21872__auto__ = e24209;
var statearr_24210_27057 = state_24114;
(statearr_24210_27057[(2)] = ex__21872__auto__);
if(cljs.core.seq((state_24114[(4)]))){
var statearr_24211_27058 = state_24114;
(statearr_24211_27058[(1)] = cljs.core.first((state_24114[(4)])));
} else {
throw ex__21872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__21870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__27059 = state_24114;
state_24114 = G__27059;
continue;
} else {
return ret_value__21870__auto__;
}
break;
}
});
cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__ = function(state_24114){
switch(arguments.length){
case 0:
return cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____0.call(this);
case 1:
return cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____1.call(this,state_24114);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____0;
cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____1;
return cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__;
})()
;})(__27040,switch__21868__auto__,c__23318__auto___27044,G__24079_27041,G__24079_27042__$1,n__5593__auto___27039,jobs,results,process__$1,async))
})();
var state__23320__auto__ = (function (){var statearr_24215 = f__23319__auto__();
(statearr_24215[(6)] = c__23318__auto___27044);
return statearr_24215;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__23320__auto__);
});})(__27040,c__23318__auto___27044,G__24079_27041,G__24079_27042__$1,n__5593__auto___27039,jobs,results,process__$1,async))
);
break;
case "async":
var c__23318__auto___27060 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run(((function (__27040,c__23318__auto___27060,G__24079_27041,G__24079_27042__$1,n__5593__auto___27039,jobs,results,process__$1,async){
return (function (){
var f__23319__auto__ = (function (){var switch__21868__auto__ = ((function (__27040,c__23318__auto___27060,G__24079_27041,G__24079_27042__$1,n__5593__auto___27039,jobs,results,process__$1,async){
return (function (state_24228){
var state_val_24229 = (state_24228[(1)]);
if((state_val_24229 === (1))){
var state_24228__$1 = state_24228;
var statearr_24232_27061 = state_24228__$1;
(statearr_24232_27061[(2)] = null);
(statearr_24232_27061[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24229 === (2))){
var state_24228__$1 = state_24228;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_24228__$1,(4),jobs);
} else {
if((state_val_24229 === (3))){
var inst_24226 = (state_24228[(2)]);
var state_24228__$1 = state_24228;
return cljs.core.async.impl.ioc_helpers.return_chan(state_24228__$1,inst_24226);
} else {
if((state_val_24229 === (4))){
var inst_24218 = (state_24228[(2)]);
var inst_24219 = async(inst_24218);
var state_24228__$1 = state_24228;
if(cljs.core.truth_(inst_24219)){
var statearr_24239_27062 = state_24228__$1;
(statearr_24239_27062[(1)] = (5));
} else {
var statearr_24240_27063 = state_24228__$1;
(statearr_24240_27063[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24229 === (5))){
var state_24228__$1 = state_24228;
var statearr_24241_27064 = state_24228__$1;
(statearr_24241_27064[(2)] = null);
(statearr_24241_27064[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24229 === (6))){
var state_24228__$1 = state_24228;
var statearr_24242_27065 = state_24228__$1;
(statearr_24242_27065[(2)] = null);
(statearr_24242_27065[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24229 === (7))){
var inst_24224 = (state_24228[(2)]);
var state_24228__$1 = state_24228;
var statearr_24243_27066 = state_24228__$1;
(statearr_24243_27066[(2)] = inst_24224);
(statearr_24243_27066[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
});})(__27040,c__23318__auto___27060,G__24079_27041,G__24079_27042__$1,n__5593__auto___27039,jobs,results,process__$1,async))
;
return ((function (__27040,switch__21868__auto__,c__23318__auto___27060,G__24079_27041,G__24079_27042__$1,n__5593__auto___27039,jobs,results,process__$1,async){
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____0 = (function (){
var statearr_24250 = [null,null,null,null,null,null,null];
(statearr_24250[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__);
(statearr_24250[(1)] = (1));
return statearr_24250;
});
var cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____1 = (function (state_24228){
while(true){
var ret_value__21870__auto__ = (function (){try{while(true){
var result__21871__auto__ = switch__21868__auto__(state_24228);
if(cljs.core.keyword_identical_QMARK_(result__21871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__21871__auto__;
}
break;
}
}catch (e24256){var ex__21872__auto__ = e24256;
var statearr_24257_27071 = state_24228;
(statearr_24257_27071[(2)] = ex__21872__auto__);
if(cljs.core.seq((state_24228[(4)]))){
var statearr_24258_27072 = state_24228;
(statearr_24258_27072[(1)] = cljs.core.first((state_24228[(4)])));
} else {
throw ex__21872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__21870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__27073 = state_24228;
state_24228 = G__27073;
continue;
} else {
return ret_value__21870__auto__;
}
break;
}
});
cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__ = function(state_24228){
switch(arguments.length){
case 0:
return cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____0.call(this);
case 1:
return cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____1.call(this,state_24228);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____0;
cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____1;
return cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__;
})()
;})(__27040,switch__21868__auto__,c__23318__auto___27060,G__24079_27041,G__24079_27042__$1,n__5593__auto___27039,jobs,results,process__$1,async))
})();
var state__23320__auto__ = (function (){var statearr_24259 = f__23319__auto__();
(statearr_24259[(6)] = c__23318__auto___27060);
return statearr_24259;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__23320__auto__);
});})(__27040,c__23318__auto___27060,G__24079_27041,G__24079_27042__$1,n__5593__auto___27039,jobs,results,process__$1,async))
);
break;
default:
throw (new Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__24079_27042__$1)].join('')));
}
var G__27074 = (__27040 + (1));
__27040 = G__27074;
continue;
} else {
}
break;
}
var c__23318__auto___27075 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__23319__auto__ = (function (){var switch__21868__auto__ = (function (state_24281){
var state_val_24282 = (state_24281[(1)]);
if((state_val_24282 === (7))){
var inst_24277 = (state_24281[(2)]);
var state_24281__$1 = state_24281;
var statearr_24289_27076 = state_24281__$1;
(statearr_24289_27076[(2)] = inst_24277);
(statearr_24289_27076[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24282 === (1))){
var state_24281__$1 = state_24281;
var statearr_24290_27077 = state_24281__$1;
(statearr_24290_27077[(2)] = null);
(statearr_24290_27077[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24282 === (4))){
var inst_24262 = (state_24281[(7)]);
var inst_24262__$1 = (state_24281[(2)]);
var inst_24263 = (inst_24262__$1 == null);
var state_24281__$1 = (function (){var statearr_24291 = state_24281;
(statearr_24291[(7)] = inst_24262__$1);
return statearr_24291;
})();
if(cljs.core.truth_(inst_24263)){
var statearr_24292_27078 = state_24281__$1;
(statearr_24292_27078[(1)] = (5));
} else {
var statearr_24293_27079 = state_24281__$1;
(statearr_24293_27079[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24282 === (6))){
var inst_24262 = (state_24281[(7)]);
var inst_24267 = (state_24281[(8)]);
var inst_24267__$1 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
var inst_24268 = cljs.core.PersistentVector.EMPTY_NODE;
var inst_24269 = [inst_24262,inst_24267__$1];
var inst_24270 = (new cljs.core.PersistentVector(null,2,(5),inst_24268,inst_24269,null));
var state_24281__$1 = (function (){var statearr_24294 = state_24281;
(statearr_24294[(8)] = inst_24267__$1);
return statearr_24294;
})();
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_24281__$1,(8),jobs,inst_24270);
} else {
if((state_val_24282 === (3))){
var inst_24279 = (state_24281[(2)]);
var state_24281__$1 = state_24281;
return cljs.core.async.impl.ioc_helpers.return_chan(state_24281__$1,inst_24279);
} else {
if((state_val_24282 === (2))){
var state_24281__$1 = state_24281;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_24281__$1,(4),from);
} else {
if((state_val_24282 === (9))){
var inst_24274 = (state_24281[(2)]);
var state_24281__$1 = (function (){var statearr_24303 = state_24281;
(statearr_24303[(9)] = inst_24274);
return statearr_24303;
})();
var statearr_24305_27080 = state_24281__$1;
(statearr_24305_27080[(2)] = null);
(statearr_24305_27080[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24282 === (5))){
var inst_24265 = cljs.core.async.close_BANG_(jobs);
var state_24281__$1 = state_24281;
var statearr_24306_27081 = state_24281__$1;
(statearr_24306_27081[(2)] = inst_24265);
(statearr_24306_27081[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24282 === (8))){
var inst_24267 = (state_24281[(8)]);
var inst_24272 = (state_24281[(2)]);
var state_24281__$1 = (function (){var statearr_24308 = state_24281;
(statearr_24308[(10)] = inst_24272);
return statearr_24308;
})();
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_24281__$1,(9),results,inst_24267);
} else {
return null;
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____0 = (function (){
var statearr_24310 = [null,null,null,null,null,null,null,null,null,null,null];
(statearr_24310[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__);
(statearr_24310[(1)] = (1));
return statearr_24310;
});
var cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____1 = (function (state_24281){
while(true){
var ret_value__21870__auto__ = (function (){try{while(true){
var result__21871__auto__ = switch__21868__auto__(state_24281);
if(cljs.core.keyword_identical_QMARK_(result__21871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__21871__auto__;
}
break;
}
}catch (e24311){var ex__21872__auto__ = e24311;
var statearr_24312_27086 = state_24281;
(statearr_24312_27086[(2)] = ex__21872__auto__);
if(cljs.core.seq((state_24281[(4)]))){
var statearr_24313_27087 = state_24281;
(statearr_24313_27087[(1)] = cljs.core.first((state_24281[(4)])));
} else {
throw ex__21872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__21870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__27088 = state_24281;
state_24281 = G__27088;
continue;
} else {
return ret_value__21870__auto__;
}
break;
}
});
cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__ = function(state_24281){
switch(arguments.length){
case 0:
return cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____0.call(this);
case 1:
return cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____1.call(this,state_24281);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____0;
cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____1;
return cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__;
})()
})();
var state__23320__auto__ = (function (){var statearr_24316 = f__23319__auto__();
(statearr_24316[(6)] = c__23318__auto___27075);
return statearr_24316;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__23320__auto__);
}));
var c__23318__auto__ = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__23319__auto__ = (function (){var switch__21868__auto__ = (function (state_24361){
var state_val_24362 = (state_24361[(1)]);
if((state_val_24362 === (7))){
var inst_24357 = (state_24361[(2)]);
var state_24361__$1 = state_24361;
var statearr_24363_27089 = state_24361__$1;
(statearr_24363_27089[(2)] = inst_24357);
(statearr_24363_27089[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24362 === (20))){
var state_24361__$1 = state_24361;
var statearr_24364_27090 = state_24361__$1;
(statearr_24364_27090[(2)] = null);
(statearr_24364_27090[(1)] = (21));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24362 === (1))){
var state_24361__$1 = state_24361;
var statearr_24365_27091 = state_24361__$1;
(statearr_24365_27091[(2)] = null);
(statearr_24365_27091[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24362 === (4))){
var inst_24320 = (state_24361[(7)]);
var inst_24320__$1 = (state_24361[(2)]);
var inst_24321 = (inst_24320__$1 == null);
var state_24361__$1 = (function (){var statearr_24366 = state_24361;
(statearr_24366[(7)] = inst_24320__$1);
return statearr_24366;
})();
if(cljs.core.truth_(inst_24321)){
var statearr_24367_27093 = state_24361__$1;
(statearr_24367_27093[(1)] = (5));
} else {
var statearr_24369_27094 = state_24361__$1;
(statearr_24369_27094[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24362 === (15))){
var inst_24336 = (state_24361[(8)]);
var state_24361__$1 = state_24361;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_24361__$1,(18),to,inst_24336);
} else {
if((state_val_24362 === (21))){
var inst_24352 = (state_24361[(2)]);
var state_24361__$1 = state_24361;
var statearr_24370_27096 = state_24361__$1;
(statearr_24370_27096[(2)] = inst_24352);
(statearr_24370_27096[(1)] = (13));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24362 === (13))){
var inst_24354 = (state_24361[(2)]);
var state_24361__$1 = (function (){var statearr_24371 = state_24361;
(statearr_24371[(9)] = inst_24354);
return statearr_24371;
})();
var statearr_24372_27097 = state_24361__$1;
(statearr_24372_27097[(2)] = null);
(statearr_24372_27097[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24362 === (6))){
var inst_24320 = (state_24361[(7)]);
var state_24361__$1 = state_24361;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_24361__$1,(11),inst_24320);
} else {
if((state_val_24362 === (17))){
var inst_24347 = (state_24361[(2)]);
var state_24361__$1 = state_24361;
if(cljs.core.truth_(inst_24347)){
var statearr_24375_27098 = state_24361__$1;
(statearr_24375_27098[(1)] = (19));
} else {
var statearr_24380_27099 = state_24361__$1;
(statearr_24380_27099[(1)] = (20));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24362 === (3))){
var inst_24359 = (state_24361[(2)]);
var state_24361__$1 = state_24361;
return cljs.core.async.impl.ioc_helpers.return_chan(state_24361__$1,inst_24359);
} else {
if((state_val_24362 === (12))){
var inst_24333 = (state_24361[(10)]);
var state_24361__$1 = state_24361;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_24361__$1,(14),inst_24333);
} else {
if((state_val_24362 === (2))){
var state_24361__$1 = state_24361;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_24361__$1,(4),results);
} else {
if((state_val_24362 === (19))){
var state_24361__$1 = state_24361;
var statearr_24382_27101 = state_24361__$1;
(statearr_24382_27101[(2)] = null);
(statearr_24382_27101[(1)] = (12));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24362 === (11))){
var inst_24333 = (state_24361[(2)]);
var state_24361__$1 = (function (){var statearr_24383 = state_24361;
(statearr_24383[(10)] = inst_24333);
return statearr_24383;
})();
var statearr_24384_27105 = state_24361__$1;
(statearr_24384_27105[(2)] = null);
(statearr_24384_27105[(1)] = (12));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24362 === (9))){
var state_24361__$1 = state_24361;
var statearr_24389_27106 = state_24361__$1;
(statearr_24389_27106[(2)] = null);
(statearr_24389_27106[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24362 === (5))){
var state_24361__$1 = state_24361;
if(cljs.core.truth_(close_QMARK_)){
var statearr_24391_27107 = state_24361__$1;
(statearr_24391_27107[(1)] = (8));
} else {
var statearr_24392_27108 = state_24361__$1;
(statearr_24392_27108[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24362 === (14))){
var inst_24336 = (state_24361[(8)]);
var inst_24338 = (state_24361[(11)]);
var inst_24336__$1 = (state_24361[(2)]);
var inst_24337 = (inst_24336__$1 == null);
var inst_24338__$1 = cljs.core.not(inst_24337);
var state_24361__$1 = (function (){var statearr_24394 = state_24361;
(statearr_24394[(8)] = inst_24336__$1);
(statearr_24394[(11)] = inst_24338__$1);
return statearr_24394;
})();
if(inst_24338__$1){
var statearr_24395_27109 = state_24361__$1;
(statearr_24395_27109[(1)] = (15));
} else {
var statearr_24396_27110 = state_24361__$1;
(statearr_24396_27110[(1)] = (16));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24362 === (16))){
var inst_24338 = (state_24361[(11)]);
var state_24361__$1 = state_24361;
var statearr_24397_27111 = state_24361__$1;
(statearr_24397_27111[(2)] = inst_24338);
(statearr_24397_27111[(1)] = (17));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24362 === (10))){
var inst_24330 = (state_24361[(2)]);
var state_24361__$1 = state_24361;
var statearr_24400_27112 = state_24361__$1;
(statearr_24400_27112[(2)] = inst_24330);
(statearr_24400_27112[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24362 === (18))){
var inst_24341 = (state_24361[(2)]);
var state_24361__$1 = state_24361;
var statearr_24403_27113 = state_24361__$1;
(statearr_24403_27113[(2)] = inst_24341);
(statearr_24403_27113[(1)] = (17));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24362 === (8))){
var inst_24324 = cljs.core.async.close_BANG_(to);
var state_24361__$1 = state_24361;
var statearr_24404_27114 = state_24361__$1;
(statearr_24404_27114[(2)] = inst_24324);
(statearr_24404_27114[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____0 = (function (){
var statearr_24407 = [null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_24407[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__);
(statearr_24407[(1)] = (1));
return statearr_24407;
});
var cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____1 = (function (state_24361){
while(true){
var ret_value__21870__auto__ = (function (){try{while(true){
var result__21871__auto__ = switch__21868__auto__(state_24361);
if(cljs.core.keyword_identical_QMARK_(result__21871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__21871__auto__;
}
break;
}
}catch (e24410){var ex__21872__auto__ = e24410;
var statearr_24411_27115 = state_24361;
(statearr_24411_27115[(2)] = ex__21872__auto__);
if(cljs.core.seq((state_24361[(4)]))){
var statearr_24412_27116 = state_24361;
(statearr_24412_27116[(1)] = cljs.core.first((state_24361[(4)])));
} else {
throw ex__21872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__21870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__27117 = state_24361;
state_24361 = G__27117;
continue;
} else {
return ret_value__21870__auto__;
}
break;
}
});
cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__ = function(state_24361){
switch(arguments.length){
case 0:
return cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____0.call(this);
case 1:
return cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____1.call(this,state_24361);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____0;
cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$pipeline_STAR__$_state_machine__21869__auto____1;
return cljs$core$async$pipeline_STAR__$_state_machine__21869__auto__;
})()
})();
var state__23320__auto__ = (function (){var statearr_24416 = f__23319__auto__();
(statearr_24416[(6)] = c__23318__auto__);
return statearr_24416;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__23320__auto__);
}));
return c__23318__auto__;
});
/**
* Takes elements from the from channel and supplies them to the to
* channel, subject to the async function af, with parallelism n. af
* must be a function of two arguments, the first an input value and
* the second a channel on which to place the result(s). The
* presumption is that af will return immediately, having launched some
* asynchronous operation whose completion/callback will put results on
* the channel, then close! it. Outputs will be returned in order
* relative to the inputs. By default, the to channel will be closed
* when the from channel closes, but can be determined by the close?
* parameter. Will stop consuming the from channel if the to channel
* closes. See also pipeline, pipeline-blocking.
*/
cljs.core.async.pipeline_async = (function cljs$core$async$pipeline_async(var_args){
var G__24445 = arguments.length;
switch (G__24445) {
case 4:
return cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
case 5:
return cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$4 = (function (n,to,af,from){
return cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$5(n,to,af,from,true);
}));
(cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$5 = (function (n,to,af,from,close_QMARK_){
return cljs.core.async.pipeline_STAR_(n,to,af,from,close_QMARK_,null,new cljs.core.Keyword(null,"async","async",1050769601));
}));
(cljs.core.async.pipeline_async.cljs$lang$maxFixedArity = 5);
/**
* Takes elements from the from channel and supplies them to the to
* channel, subject to the transducer xf, with parallelism n. Because
* it is parallel, the transducer will be applied independently to each
* element, not across elements, and may produce zero or more outputs
* per input. Outputs will be returned in order relative to the
* inputs. By default, the to channel will be closed when the from
* channel closes, but can be determined by the close? parameter. Will
* stop consuming the from channel if the to channel closes.
*
* Note this is supplied for API compatibility with the Clojure version.
* Values of N > 1 will not result in actual concurrency in a
* single-threaded runtime.
*/
cljs.core.async.pipeline = (function cljs$core$async$pipeline(var_args){
var G__24455 = arguments.length;
switch (G__24455) {
case 4:
return cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
case 5:
return cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));
break;
case 6:
return cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$4 = (function (n,to,xf,from){
return cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$5(n,to,xf,from,true);
}));
(cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$5 = (function (n,to,xf,from,close_QMARK_){
return cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$6(n,to,xf,from,close_QMARK_,null);
}));
(cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$6 = (function (n,to,xf,from,close_QMARK_,ex_handler){
return cljs.core.async.pipeline_STAR_(n,to,xf,from,close_QMARK_,ex_handler,new cljs.core.Keyword(null,"compute","compute",1555393130));
}));
(cljs.core.async.pipeline.cljs$lang$maxFixedArity = 6);
/**
* Takes a predicate and a source channel and returns a vector of two
* channels, the first of which will contain the values for which the
* predicate returned true, the second those for which it returned
* false.
*
* The out channels will be unbuffered by default, or two buf-or-ns can
* be supplied. The channels will close after the source channel has
* closed.
*/
cljs.core.async.split = (function cljs$core$async$split(var_args){
var G__24465 = arguments.length;
switch (G__24465) {
case 2:
return cljs.core.async.split.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 4:
return cljs.core.async.split.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.split.cljs$core$IFn$_invoke$arity$2 = (function (p,ch){
return cljs.core.async.split.cljs$core$IFn$_invoke$arity$4(p,ch,null,null);
}));
(cljs.core.async.split.cljs$core$IFn$_invoke$arity$4 = (function (p,ch,t_buf_or_n,f_buf_or_n){
var tc = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(t_buf_or_n);
var fc = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(f_buf_or_n);
var c__23318__auto___27121 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__23319__auto__ = (function (){var switch__21868__auto__ = (function (state_24498){
var state_val_24499 = (state_24498[(1)]);
if((state_val_24499 === (7))){
var inst_24492 = (state_24498[(2)]);
var state_24498__$1 = state_24498;
var statearr_24504_27122 = state_24498__$1;
(statearr_24504_27122[(2)] = inst_24492);
(statearr_24504_27122[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24499 === (1))){
var state_24498__$1 = state_24498;
var statearr_24508_27124 = state_24498__$1;
(statearr_24508_27124[(2)] = null);
(statearr_24508_27124[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24499 === (4))){
var inst_24473 = (state_24498[(7)]);
var inst_24473__$1 = (state_24498[(2)]);
var inst_24474 = (inst_24473__$1 == null);
var state_24498__$1 = (function (){var statearr_24512 = state_24498;
(statearr_24512[(7)] = inst_24473__$1);
return statearr_24512;
})();
if(cljs.core.truth_(inst_24474)){
var statearr_24513_27126 = state_24498__$1;
(statearr_24513_27126[(1)] = (5));
} else {
var statearr_24514_27127 = state_24498__$1;
(statearr_24514_27127[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24499 === (13))){
var state_24498__$1 = state_24498;
var statearr_24517_27129 = state_24498__$1;
(statearr_24517_27129[(2)] = null);
(statearr_24517_27129[(1)] = (14));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24499 === (6))){
var inst_24473 = (state_24498[(7)]);
var inst_24479 = (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(inst_24473) : p.call(null, inst_24473));
var state_24498__$1 = state_24498;
if(cljs.core.truth_(inst_24479)){
var statearr_24518_27130 = state_24498__$1;
(statearr_24518_27130[(1)] = (9));
} else {
var statearr_24519_27133 = state_24498__$1;
(statearr_24519_27133[(1)] = (10));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24499 === (3))){
var inst_24494 = (state_24498[(2)]);
var state_24498__$1 = state_24498;
return cljs.core.async.impl.ioc_helpers.return_chan(state_24498__$1,inst_24494);
} else {
if((state_val_24499 === (12))){
var state_24498__$1 = state_24498;
var statearr_24521_27135 = state_24498__$1;
(statearr_24521_27135[(2)] = null);
(statearr_24521_27135[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24499 === (2))){
var state_24498__$1 = state_24498;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_24498__$1,(4),ch);
} else {
if((state_val_24499 === (11))){
var inst_24473 = (state_24498[(7)]);
var inst_24483 = (state_24498[(2)]);
var state_24498__$1 = state_24498;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_24498__$1,(8),inst_24483,inst_24473);
} else {
if((state_val_24499 === (9))){
var state_24498__$1 = state_24498;
var statearr_24522_27136 = state_24498__$1;
(statearr_24522_27136[(2)] = tc);
(statearr_24522_27136[(1)] = (11));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24499 === (5))){
var inst_24476 = cljs.core.async.close_BANG_(tc);
var inst_24477 = cljs.core.async.close_BANG_(fc);
var state_24498__$1 = (function (){var statearr_24523 = state_24498;
(statearr_24523[(8)] = inst_24476);
return statearr_24523;
})();
var statearr_24525_27138 = state_24498__$1;
(statearr_24525_27138[(2)] = inst_24477);
(statearr_24525_27138[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24499 === (14))){
var inst_24490 = (state_24498[(2)]);
var state_24498__$1 = state_24498;
var statearr_24526_27139 = state_24498__$1;
(statearr_24526_27139[(2)] = inst_24490);
(statearr_24526_27139[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24499 === (10))){
var state_24498__$1 = state_24498;
var statearr_24527_27140 = state_24498__$1;
(statearr_24527_27140[(2)] = fc);
(statearr_24527_27140[(1)] = (11));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24499 === (8))){
var inst_24485 = (state_24498[(2)]);
var state_24498__$1 = state_24498;
if(cljs.core.truth_(inst_24485)){
var statearr_24530_27141 = state_24498__$1;
(statearr_24530_27141[(1)] = (12));
} else {
var statearr_24531_27142 = state_24498__$1;
(statearr_24531_27142[(1)] = (13));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__21869__auto__ = null;
var cljs$core$async$state_machine__21869__auto____0 = (function (){
var statearr_24534 = [null,null,null,null,null,null,null,null,null];
(statearr_24534[(0)] = cljs$core$async$state_machine__21869__auto__);
(statearr_24534[(1)] = (1));
return statearr_24534;
});
var cljs$core$async$state_machine__21869__auto____1 = (function (state_24498){
while(true){
var ret_value__21870__auto__ = (function (){try{while(true){
var result__21871__auto__ = switch__21868__auto__(state_24498);
if(cljs.core.keyword_identical_QMARK_(result__21871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__21871__auto__;
}
break;
}
}catch (e24535){var ex__21872__auto__ = e24535;
var statearr_24536_27144 = state_24498;
(statearr_24536_27144[(2)] = ex__21872__auto__);
if(cljs.core.seq((state_24498[(4)]))){
var statearr_24540_27145 = state_24498;
(statearr_24540_27145[(1)] = cljs.core.first((state_24498[(4)])));
} else {
throw ex__21872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__21870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__27146 = state_24498;
state_24498 = G__27146;
continue;
} else {
return ret_value__21870__auto__;
}
break;
}
});
cljs$core$async$state_machine__21869__auto__ = function(state_24498){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__21869__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__21869__auto____1.call(this,state_24498);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__21869__auto____0;
cljs$core$async$state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__21869__auto____1;
return cljs$core$async$state_machine__21869__auto__;
})()
})();
var state__23320__auto__ = (function (){var statearr_24542 = f__23319__auto__();
(statearr_24542[(6)] = c__23318__auto___27121);
return statearr_24542;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__23320__auto__);
}));
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [tc,fc], null);
}));
(cljs.core.async.split.cljs$lang$maxFixedArity = 4);
/**
* f should be a function of 2 arguments. Returns a channel containing
* the single result of applying f to init and the first item from the
* channel, then applying f to that result and the 2nd item, etc. If
* the channel closes without yielding items, returns init and f is not
* called. ch must close before reduce produces a result.
*/
cljs.core.async.reduce = (function cljs$core$async$reduce(f,init,ch){
var c__23318__auto__ = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__23319__auto__ = (function (){var switch__21868__auto__ = (function (state_24570){
var state_val_24571 = (state_24570[(1)]);
if((state_val_24571 === (7))){
var inst_24566 = (state_24570[(2)]);
var state_24570__$1 = state_24570;
var statearr_24575_27147 = state_24570__$1;
(statearr_24575_27147[(2)] = inst_24566);
(statearr_24575_27147[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24571 === (1))){
var inst_24549 = init;
var inst_24550 = inst_24549;
var state_24570__$1 = (function (){var statearr_24576 = state_24570;
(statearr_24576[(7)] = inst_24550);
return statearr_24576;
})();
var statearr_24577_27148 = state_24570__$1;
(statearr_24577_27148[(2)] = null);
(statearr_24577_27148[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24571 === (4))){
var inst_24553 = (state_24570[(8)]);
var inst_24553__$1 = (state_24570[(2)]);
var inst_24554 = (inst_24553__$1 == null);
var state_24570__$1 = (function (){var statearr_24578 = state_24570;
(statearr_24578[(8)] = inst_24553__$1);
return statearr_24578;
})();
if(cljs.core.truth_(inst_24554)){
var statearr_24581_27149 = state_24570__$1;
(statearr_24581_27149[(1)] = (5));
} else {
var statearr_24584_27150 = state_24570__$1;
(statearr_24584_27150[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24571 === (6))){
var inst_24557 = (state_24570[(9)]);
var inst_24553 = (state_24570[(8)]);
var inst_24550 = (state_24570[(7)]);
var inst_24557__$1 = (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(inst_24550,inst_24553) : f.call(null, inst_24550,inst_24553));
var inst_24558 = cljs.core.reduced_QMARK_(inst_24557__$1);
var state_24570__$1 = (function (){var statearr_24585 = state_24570;
(statearr_24585[(9)] = inst_24557__$1);
return statearr_24585;
})();
if(inst_24558){
var statearr_24587_27151 = state_24570__$1;
(statearr_24587_27151[(1)] = (8));
} else {
var statearr_24588_27152 = state_24570__$1;
(statearr_24588_27152[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24571 === (3))){
var inst_24568 = (state_24570[(2)]);
var state_24570__$1 = state_24570;
return cljs.core.async.impl.ioc_helpers.return_chan(state_24570__$1,inst_24568);
} else {
if((state_val_24571 === (2))){
var state_24570__$1 = state_24570;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_24570__$1,(4),ch);
} else {
if((state_val_24571 === (9))){
var inst_24557 = (state_24570[(9)]);
var inst_24550 = inst_24557;
var state_24570__$1 = (function (){var statearr_24589 = state_24570;
(statearr_24589[(7)] = inst_24550);
return statearr_24589;
})();
var statearr_24590_27157 = state_24570__$1;
(statearr_24590_27157[(2)] = null);
(statearr_24590_27157[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24571 === (5))){
var inst_24550 = (state_24570[(7)]);
var state_24570__$1 = state_24570;
var statearr_24591_27158 = state_24570__$1;
(statearr_24591_27158[(2)] = inst_24550);
(statearr_24591_27158[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24571 === (10))){
var inst_24564 = (state_24570[(2)]);
var state_24570__$1 = state_24570;
var statearr_24601_27159 = state_24570__$1;
(statearr_24601_27159[(2)] = inst_24564);
(statearr_24601_27159[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24571 === (8))){
var inst_24557 = (state_24570[(9)]);
var inst_24560 = cljs.core.deref(inst_24557);
var state_24570__$1 = state_24570;
var statearr_24609_27161 = state_24570__$1;
(statearr_24609_27161[(2)] = inst_24560);
(statearr_24609_27161[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$reduce_$_state_machine__21869__auto__ = null;
var cljs$core$async$reduce_$_state_machine__21869__auto____0 = (function (){
var statearr_24610 = [null,null,null,null,null,null,null,null,null,null];
(statearr_24610[(0)] = cljs$core$async$reduce_$_state_machine__21869__auto__);
(statearr_24610[(1)] = (1));
return statearr_24610;
});
var cljs$core$async$reduce_$_state_machine__21869__auto____1 = (function (state_24570){
while(true){
var ret_value__21870__auto__ = (function (){try{while(true){
var result__21871__auto__ = switch__21868__auto__(state_24570);
if(cljs.core.keyword_identical_QMARK_(result__21871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__21871__auto__;
}
break;
}
}catch (e24617){var ex__21872__auto__ = e24617;
var statearr_24618_27162 = state_24570;
(statearr_24618_27162[(2)] = ex__21872__auto__);
if(cljs.core.seq((state_24570[(4)]))){
var statearr_24620_27163 = state_24570;
(statearr_24620_27163[(1)] = cljs.core.first((state_24570[(4)])));
} else {
throw ex__21872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__21870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__27164 = state_24570;
state_24570 = G__27164;
continue;
} else {
return ret_value__21870__auto__;
}
break;
}
});
cljs$core$async$reduce_$_state_machine__21869__auto__ = function(state_24570){
switch(arguments.length){
case 0:
return cljs$core$async$reduce_$_state_machine__21869__auto____0.call(this);
case 1:
return cljs$core$async$reduce_$_state_machine__21869__auto____1.call(this,state_24570);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$reduce_$_state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$reduce_$_state_machine__21869__auto____0;
cljs$core$async$reduce_$_state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$reduce_$_state_machine__21869__auto____1;
return cljs$core$async$reduce_$_state_machine__21869__auto__;
})()
})();
var state__23320__auto__ = (function (){var statearr_24627 = f__23319__auto__();
(statearr_24627[(6)] = c__23318__auto__);
return statearr_24627;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__23320__auto__);
}));
return c__23318__auto__;
});
/**
* async/reduces a channel with a transformation (xform f).
* Returns a channel containing the result. ch must close before
* transduce produces a result.
*/
cljs.core.async.transduce = (function cljs$core$async$transduce(xform,f,init,ch){
var f__$1 = (xform.cljs$core$IFn$_invoke$arity$1 ? xform.cljs$core$IFn$_invoke$arity$1(f) : xform.call(null, f));
var c__23318__auto__ = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__23319__auto__ = (function (){var switch__21868__auto__ = (function (state_24647){
var state_val_24648 = (state_24647[(1)]);
if((state_val_24648 === (1))){
var inst_24642 = cljs.core.async.reduce(f__$1,init,ch);
var state_24647__$1 = state_24647;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_24647__$1,(2),inst_24642);
} else {
if((state_val_24648 === (2))){
var inst_24644 = (state_24647[(2)]);
var inst_24645 = (f__$1.cljs$core$IFn$_invoke$arity$1 ? f__$1.cljs$core$IFn$_invoke$arity$1(inst_24644) : f__$1.call(null, inst_24644));
var state_24647__$1 = state_24647;
return cljs.core.async.impl.ioc_helpers.return_chan(state_24647__$1,inst_24645);
} else {
return null;
}
}
});
return (function() {
var cljs$core$async$transduce_$_state_machine__21869__auto__ = null;
var cljs$core$async$transduce_$_state_machine__21869__auto____0 = (function (){
var statearr_24657 = [null,null,null,null,null,null,null];
(statearr_24657[(0)] = cljs$core$async$transduce_$_state_machine__21869__auto__);
(statearr_24657[(1)] = (1));
return statearr_24657;
});
var cljs$core$async$transduce_$_state_machine__21869__auto____1 = (function (state_24647){
while(true){
var ret_value__21870__auto__ = (function (){try{while(true){
var result__21871__auto__ = switch__21868__auto__(state_24647);
if(cljs.core.keyword_identical_QMARK_(result__21871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__21871__auto__;
}
break;
}
}catch (e24658){var ex__21872__auto__ = e24658;
var statearr_24659_27173 = state_24647;
(statearr_24659_27173[(2)] = ex__21872__auto__);
if(cljs.core.seq((state_24647[(4)]))){
var statearr_24660_27174 = state_24647;
(statearr_24660_27174[(1)] = cljs.core.first((state_24647[(4)])));
} else {
throw ex__21872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__21870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__27175 = state_24647;
state_24647 = G__27175;
continue;
} else {
return ret_value__21870__auto__;
}
break;
}
});
cljs$core$async$transduce_$_state_machine__21869__auto__ = function(state_24647){
switch(arguments.length){
case 0:
return cljs$core$async$transduce_$_state_machine__21869__auto____0.call(this);
case 1:
return cljs$core$async$transduce_$_state_machine__21869__auto____1.call(this,state_24647);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$transduce_$_state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$transduce_$_state_machine__21869__auto____0;
cljs$core$async$transduce_$_state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$transduce_$_state_machine__21869__auto____1;
return cljs$core$async$transduce_$_state_machine__21869__auto__;
})()
})();
var state__23320__auto__ = (function (){var statearr_24662 = f__23319__auto__();
(statearr_24662[(6)] = c__23318__auto__);
return statearr_24662;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__23320__auto__);
}));
return c__23318__auto__;
});
/**
* Puts the contents of coll into the supplied channel.
*
* By default the channel will be closed after the items are copied,
* but can be determined by the close? parameter.
*
* Returns a channel which will close after the items are copied.
*/
cljs.core.async.onto_chan_BANG_ = (function cljs$core$async$onto_chan_BANG_(var_args){
var G__24665 = arguments.length;
switch (G__24665) {
case 2:
return cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$2 = (function (ch,coll){
return cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3(ch,coll,true);
}));
(cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3 = (function (ch,coll,close_QMARK_){
var c__23318__auto__ = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__23319__auto__ = (function (){var switch__21868__auto__ = (function (state_24693){
var state_val_24694 = (state_24693[(1)]);
if((state_val_24694 === (7))){
var inst_24675 = (state_24693[(2)]);
var state_24693__$1 = state_24693;
var statearr_24699_27184 = state_24693__$1;
(statearr_24699_27184[(2)] = inst_24675);
(statearr_24699_27184[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24694 === (1))){
var inst_24669 = cljs.core.seq(coll);
var inst_24670 = inst_24669;
var state_24693__$1 = (function (){var statearr_24700 = state_24693;
(statearr_24700[(7)] = inst_24670);
return statearr_24700;
})();
var statearr_24701_27185 = state_24693__$1;
(statearr_24701_27185[(2)] = null);
(statearr_24701_27185[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24694 === (4))){
var inst_24670 = (state_24693[(7)]);
var inst_24673 = cljs.core.first(inst_24670);
var state_24693__$1 = state_24693;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_24693__$1,(7),ch,inst_24673);
} else {
if((state_val_24694 === (13))){
var inst_24687 = (state_24693[(2)]);
var state_24693__$1 = state_24693;
var statearr_24702_27186 = state_24693__$1;
(statearr_24702_27186[(2)] = inst_24687);
(statearr_24702_27186[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24694 === (6))){
var inst_24678 = (state_24693[(2)]);
var state_24693__$1 = state_24693;
if(cljs.core.truth_(inst_24678)){
var statearr_24703_27187 = state_24693__$1;
(statearr_24703_27187[(1)] = (8));
} else {
var statearr_24704_27188 = state_24693__$1;
(statearr_24704_27188[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24694 === (3))){
var inst_24691 = (state_24693[(2)]);
var state_24693__$1 = state_24693;
return cljs.core.async.impl.ioc_helpers.return_chan(state_24693__$1,inst_24691);
} else {
if((state_val_24694 === (12))){
var state_24693__$1 = state_24693;
var statearr_24705_27189 = state_24693__$1;
(statearr_24705_27189[(2)] = null);
(statearr_24705_27189[(1)] = (13));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24694 === (2))){
var inst_24670 = (state_24693[(7)]);
var state_24693__$1 = state_24693;
if(cljs.core.truth_(inst_24670)){
var statearr_24706_27190 = state_24693__$1;
(statearr_24706_27190[(1)] = (4));
} else {
var statearr_24707_27191 = state_24693__$1;
(statearr_24707_27191[(1)] = (5));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24694 === (11))){
var inst_24684 = cljs.core.async.close_BANG_(ch);
var state_24693__$1 = state_24693;
var statearr_24716_27192 = state_24693__$1;
(statearr_24716_27192[(2)] = inst_24684);
(statearr_24716_27192[(1)] = (13));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24694 === (9))){
var state_24693__$1 = state_24693;
if(cljs.core.truth_(close_QMARK_)){
var statearr_24721_27193 = state_24693__$1;
(statearr_24721_27193[(1)] = (11));
} else {
var statearr_24722_27195 = state_24693__$1;
(statearr_24722_27195[(1)] = (12));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24694 === (5))){
var inst_24670 = (state_24693[(7)]);
var state_24693__$1 = state_24693;
var statearr_24723_27197 = state_24693__$1;
(statearr_24723_27197[(2)] = inst_24670);
(statearr_24723_27197[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24694 === (10))){
var inst_24689 = (state_24693[(2)]);
var state_24693__$1 = state_24693;
var statearr_24724_27198 = state_24693__$1;
(statearr_24724_27198[(2)] = inst_24689);
(statearr_24724_27198[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24694 === (8))){
var inst_24670 = (state_24693[(7)]);
var inst_24680 = cljs.core.next(inst_24670);
var inst_24670__$1 = inst_24680;
var state_24693__$1 = (function (){var statearr_24727 = state_24693;
(statearr_24727[(7)] = inst_24670__$1);
return statearr_24727;
})();
var statearr_24728_27199 = state_24693__$1;
(statearr_24728_27199[(2)] = null);
(statearr_24728_27199[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__21869__auto__ = null;
var cljs$core$async$state_machine__21869__auto____0 = (function (){
var statearr_24730 = [null,null,null,null,null,null,null,null];
(statearr_24730[(0)] = cljs$core$async$state_machine__21869__auto__);
(statearr_24730[(1)] = (1));
return statearr_24730;
});
var cljs$core$async$state_machine__21869__auto____1 = (function (state_24693){
while(true){
var ret_value__21870__auto__ = (function (){try{while(true){
var result__21871__auto__ = switch__21868__auto__(state_24693);
if(cljs.core.keyword_identical_QMARK_(result__21871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__21871__auto__;
}
break;
}
}catch (e24731){var ex__21872__auto__ = e24731;
var statearr_24732_27201 = state_24693;
(statearr_24732_27201[(2)] = ex__21872__auto__);
if(cljs.core.seq((state_24693[(4)]))){
var statearr_24733_27203 = state_24693;
(statearr_24733_27203[(1)] = cljs.core.first((state_24693[(4)])));
} else {
throw ex__21872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__21870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__27204 = state_24693;
state_24693 = G__27204;
continue;
} else {
return ret_value__21870__auto__;
}
break;
}
});
cljs$core$async$state_machine__21869__auto__ = function(state_24693){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__21869__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__21869__auto____1.call(this,state_24693);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__21869__auto____0;
cljs$core$async$state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__21869__auto____1;
return cljs$core$async$state_machine__21869__auto__;
})()
})();
var state__23320__auto__ = (function (){var statearr_24734 = f__23319__auto__();
(statearr_24734[(6)] = c__23318__auto__);
return statearr_24734;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__23320__auto__);
}));
return c__23318__auto__;
}));
(cljs.core.async.onto_chan_BANG_.cljs$lang$maxFixedArity = 3);
/**
* Creates and returns a channel which contains the contents of coll,
* closing when exhausted.
*/
cljs.core.async.to_chan_BANG_ = (function cljs$core$async$to_chan_BANG_(coll){
var ch = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(cljs.core.bounded_count((100),coll));
cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$2(ch,coll);
return ch;
});
/**
* Deprecated - use onto-chan!
*/
cljs.core.async.onto_chan = (function cljs$core$async$onto_chan(var_args){
var G__24739 = arguments.length;
switch (G__24739) {
case 2:
return cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$2 = (function (ch,coll){
return cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3(ch,coll,true);
}));
(cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$3 = (function (ch,coll,close_QMARK_){
return cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3(ch,coll,close_QMARK_);
}));
(cljs.core.async.onto_chan.cljs$lang$maxFixedArity = 3);
/**
* Deprecated - use to-chan!
*/
cljs.core.async.to_chan = (function cljs$core$async$to_chan(coll){
return cljs.core.async.to_chan_BANG_(coll);
});
/**
* @interface
*/
cljs.core.async.Mux = function(){};
var cljs$core$async$Mux$muxch_STAR_$dyn_27219 = (function (_){
var x__5350__auto__ = (((_ == null))?null:_);
var m__5351__auto__ = (cljs.core.async.muxch_STAR_[goog.typeOf(x__5350__auto__)]);
if((!((m__5351__auto__ == null)))){
return (m__5351__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5351__auto__.call(null, _));
} else {
var m__5349__auto__ = (cljs.core.async.muxch_STAR_["_"]);
if((!((m__5349__auto__ == null)))){
return (m__5349__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5349__auto__.call(null, _));
} else {
throw cljs.core.missing_protocol("Mux.muxch*",_);
}
}
});
cljs.core.async.muxch_STAR_ = (function cljs$core$async$muxch_STAR_(_){
if((((!((_ == null)))) && ((!((_.cljs$core$async$Mux$muxch_STAR_$arity$1 == null)))))){
return _.cljs$core$async$Mux$muxch_STAR_$arity$1(_);
} else {
return cljs$core$async$Mux$muxch_STAR_$dyn_27219(_);
}
});
/**
* @interface
*/
cljs.core.async.Mult = function(){};
var cljs$core$async$Mult$tap_STAR_$dyn_27220 = (function (m,ch,close_QMARK_){
var x__5350__auto__ = (((m == null))?null:m);
var m__5351__auto__ = (cljs.core.async.tap_STAR_[goog.typeOf(x__5350__auto__)]);
if((!((m__5351__auto__ == null)))){
return (m__5351__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$3(m,ch,close_QMARK_) : m__5351__auto__.call(null, m,ch,close_QMARK_));
} else {
var m__5349__auto__ = (cljs.core.async.tap_STAR_["_"]);
if((!((m__5349__auto__ == null)))){
return (m__5349__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$3(m,ch,close_QMARK_) : m__5349__auto__.call(null, m,ch,close_QMARK_));
} else {
throw cljs.core.missing_protocol("Mult.tap*",m);
}
}
});
cljs.core.async.tap_STAR_ = (function cljs$core$async$tap_STAR_(m,ch,close_QMARK_){
if((((!((m == null)))) && ((!((m.cljs$core$async$Mult$tap_STAR_$arity$3 == null)))))){
return m.cljs$core$async$Mult$tap_STAR_$arity$3(m,ch,close_QMARK_);
} else {
return cljs$core$async$Mult$tap_STAR_$dyn_27220(m,ch,close_QMARK_);
}
});
var cljs$core$async$Mult$untap_STAR_$dyn_27221 = (function (m,ch){
var x__5350__auto__ = (((m == null))?null:m);
var m__5351__auto__ = (cljs.core.async.untap_STAR_[goog.typeOf(x__5350__auto__)]);
if((!((m__5351__auto__ == null)))){
return (m__5351__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5351__auto__.call(null, m,ch));
} else {
var m__5349__auto__ = (cljs.core.async.untap_STAR_["_"]);
if((!((m__5349__auto__ == null)))){
return (m__5349__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5349__auto__.call(null, m,ch));
} else {
throw cljs.core.missing_protocol("Mult.untap*",m);
}
}
});
cljs.core.async.untap_STAR_ = (function cljs$core$async$untap_STAR_(m,ch){
if((((!((m == null)))) && ((!((m.cljs$core$async$Mult$untap_STAR_$arity$2 == null)))))){
return m.cljs$core$async$Mult$untap_STAR_$arity$2(m,ch);
} else {
return cljs$core$async$Mult$untap_STAR_$dyn_27221(m,ch);
}
});
var cljs$core$async$Mult$untap_all_STAR_$dyn_27223 = (function (m){
var x__5350__auto__ = (((m == null))?null:m);
var m__5351__auto__ = (cljs.core.async.untap_all_STAR_[goog.typeOf(x__5350__auto__)]);
if((!((m__5351__auto__ == null)))){
return (m__5351__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5351__auto__.call(null, m));
} else {
var m__5349__auto__ = (cljs.core.async.untap_all_STAR_["_"]);
if((!((m__5349__auto__ == null)))){
return (m__5349__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5349__auto__.call(null, m));
} else {
throw cljs.core.missing_protocol("Mult.untap-all*",m);
}
}
});
cljs.core.async.untap_all_STAR_ = (function cljs$core$async$untap_all_STAR_(m){
if((((!((m == null)))) && ((!((m.cljs$core$async$Mult$untap_all_STAR_$arity$1 == null)))))){
return m.cljs$core$async$Mult$untap_all_STAR_$arity$1(m);
} else {
return cljs$core$async$Mult$untap_all_STAR_$dyn_27223(m);
}
});
/**
* @constructor
* @implements {cljs.core.async.Mult}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.async.Mux}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async24800 = (function (ch,cs,meta24801){
this.ch = ch;
this.cs = cs;
this.meta24801 = meta24801;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async24800.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_24802,meta24801__$1){
var self__ = this;
var _24802__$1 = this;
return (new cljs.core.async.t_cljs$core$async24800(self__.ch,self__.cs,meta24801__$1));
}));
(cljs.core.async.t_cljs$core$async24800.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_24802){
var self__ = this;
var _24802__$1 = this;
return self__.meta24801;
}));
(cljs.core.async.t_cljs$core$async24800.prototype.cljs$core$async$Mux$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async24800.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return self__.ch;
}));
(cljs.core.async.t_cljs$core$async24800.prototype.cljs$core$async$Mult$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async24800.prototype.cljs$core$async$Mult$tap_STAR_$arity$3 = (function (_,ch__$1,close_QMARK_){
var self__ = this;
var ___$1 = this;
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.cs,cljs.core.assoc,ch__$1,close_QMARK_);
return null;
}));
(cljs.core.async.t_cljs$core$async24800.prototype.cljs$core$async$Mult$untap_STAR_$arity$2 = (function (_,ch__$1){
var self__ = this;
var ___$1 = this;
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.cs,cljs.core.dissoc,ch__$1);
return null;
}));
(cljs.core.async.t_cljs$core$async24800.prototype.cljs$core$async$Mult$untap_all_STAR_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
cljs.core.reset_BANG_(self__.cs,cljs.core.PersistentArrayMap.EMPTY);
return null;
}));
(cljs.core.async.t_cljs$core$async24800.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"ch","ch",1085813622,null),new cljs.core.Symbol(null,"cs","cs",-117024463,null),new cljs.core.Symbol(null,"meta24801","meta24801",-1369581406,null)], null);
}));
(cljs.core.async.t_cljs$core$async24800.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async24800.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async24800");
(cljs.core.async.t_cljs$core$async24800.cljs$lang$ctorPrWriter = (function (this__5287__auto__,writer__5288__auto__,opt__5289__auto__){
return cljs.core._write(writer__5288__auto__,"cljs.core.async/t_cljs$core$async24800");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async24800.
*/
cljs.core.async.__GT_t_cljs$core$async24800 = (function cljs$core$async$__GT_t_cljs$core$async24800(ch,cs,meta24801){
return (new cljs.core.async.t_cljs$core$async24800(ch,cs,meta24801));
});
/**
* Creates and returns a mult(iple) of the supplied channel. Channels
* containing copies of the channel can be created with 'tap', and
* detached with 'untap'.
*
* Each item is distributed to all taps in parallel and synchronously,
* i.e. each tap must accept before the next item is distributed. Use
* buffering/windowing to prevent slow taps from holding up the mult.
*
* Items received when there are no taps get dropped.
*
* If a tap puts to a closed channel, it will be removed from the mult.
*/
cljs.core.async.mult = (function cljs$core$async$mult(ch){
var cs = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);
var m = (new cljs.core.async.t_cljs$core$async24800(ch,cs,cljs.core.PersistentArrayMap.EMPTY));
var dchan = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
var dctr = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);
var done = (function (_){
if((cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(dctr,cljs.core.dec) === (0))){
return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(dchan,true);
} else {
return null;
}
});
var c__23318__auto___27227 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__23319__auto__ = (function (){var switch__21868__auto__ = (function (state_24975){
var state_val_24978 = (state_24975[(1)]);
if((state_val_24978 === (7))){
var inst_24967 = (state_24975[(2)]);
var state_24975__$1 = state_24975;
var statearr_24983_27228 = state_24975__$1;
(statearr_24983_27228[(2)] = inst_24967);
(statearr_24983_27228[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (20))){
var inst_24860 = (state_24975[(7)]);
var inst_24876 = cljs.core.first(inst_24860);
var inst_24877 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_24876,(0),null);
var inst_24878 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_24876,(1),null);
var state_24975__$1 = (function (){var statearr_24984 = state_24975;
(statearr_24984[(8)] = inst_24877);
return statearr_24984;
})();
if(cljs.core.truth_(inst_24878)){
var statearr_24985_27229 = state_24975__$1;
(statearr_24985_27229[(1)] = (22));
} else {
var statearr_24989_27230 = state_24975__$1;
(statearr_24989_27230[(1)] = (23));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (27))){
var inst_24906 = (state_24975[(9)]);
var inst_24908 = (state_24975[(10)]);
var inst_24821 = (state_24975[(11)]);
var inst_24913 = (state_24975[(12)]);
var inst_24913__$1 = cljs.core._nth(inst_24906,inst_24908);
var inst_24915 = cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3(inst_24913__$1,inst_24821,done);
var state_24975__$1 = (function (){var statearr_24998 = state_24975;
(statearr_24998[(12)] = inst_24913__$1);
return statearr_24998;
})();
if(cljs.core.truth_(inst_24915)){
var statearr_24999_27235 = state_24975__$1;
(statearr_24999_27235[(1)] = (30));
} else {
var statearr_25003_27236 = state_24975__$1;
(statearr_25003_27236[(1)] = (31));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (1))){
var state_24975__$1 = state_24975;
var statearr_25004_27237 = state_24975__$1;
(statearr_25004_27237[(2)] = null);
(statearr_25004_27237[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (24))){
var inst_24860 = (state_24975[(7)]);
var inst_24883 = (state_24975[(2)]);
var inst_24884 = cljs.core.next(inst_24860);
var inst_24830 = inst_24884;
var inst_24831 = null;
var inst_24832 = (0);
var inst_24833 = (0);
var state_24975__$1 = (function (){var statearr_25005 = state_24975;
(statearr_25005[(13)] = inst_24833);
(statearr_25005[(14)] = inst_24883);
(statearr_25005[(15)] = inst_24831);
(statearr_25005[(16)] = inst_24832);
(statearr_25005[(17)] = inst_24830);
return statearr_25005;
})();
var statearr_25006_27238 = state_24975__$1;
(statearr_25006_27238[(2)] = null);
(statearr_25006_27238[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (39))){
var state_24975__$1 = state_24975;
var statearr_25032_27239 = state_24975__$1;
(statearr_25032_27239[(2)] = null);
(statearr_25032_27239[(1)] = (41));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (4))){
var inst_24821 = (state_24975[(11)]);
var inst_24821__$1 = (state_24975[(2)]);
var inst_24822 = (inst_24821__$1 == null);
var state_24975__$1 = (function (){var statearr_25033 = state_24975;
(statearr_25033[(11)] = inst_24821__$1);
return statearr_25033;
})();
if(cljs.core.truth_(inst_24822)){
var statearr_25034_27240 = state_24975__$1;
(statearr_25034_27240[(1)] = (5));
} else {
var statearr_25035_27241 = state_24975__$1;
(statearr_25035_27241[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (15))){
var inst_24833 = (state_24975[(13)]);
var inst_24831 = (state_24975[(15)]);
var inst_24832 = (state_24975[(16)]);
var inst_24830 = (state_24975[(17)]);
var inst_24852 = (state_24975[(2)]);
var inst_24857 = (inst_24833 + (1));
var tmp25018 = inst_24831;
var tmp25019 = inst_24832;
var tmp25020 = inst_24830;
var inst_24830__$1 = tmp25020;
var inst_24831__$1 = tmp25018;
var inst_24832__$1 = tmp25019;
var inst_24833__$1 = inst_24857;
var state_24975__$1 = (function (){var statearr_25040 = state_24975;
(statearr_25040[(13)] = inst_24833__$1);
(statearr_25040[(15)] = inst_24831__$1);
(statearr_25040[(16)] = inst_24832__$1);
(statearr_25040[(17)] = inst_24830__$1);
(statearr_25040[(18)] = inst_24852);
return statearr_25040;
})();
var statearr_25045_27242 = state_24975__$1;
(statearr_25045_27242[(2)] = null);
(statearr_25045_27242[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (21))){
var inst_24887 = (state_24975[(2)]);
var state_24975__$1 = state_24975;
var statearr_25052_27243 = state_24975__$1;
(statearr_25052_27243[(2)] = inst_24887);
(statearr_25052_27243[(1)] = (18));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (31))){
var inst_24913 = (state_24975[(12)]);
var inst_24918 = m.cljs$core$async$Mult$untap_STAR_$arity$2(null, inst_24913);
var state_24975__$1 = state_24975;
var statearr_25057_27244 = state_24975__$1;
(statearr_25057_27244[(2)] = inst_24918);
(statearr_25057_27244[(1)] = (32));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (32))){
var inst_24906 = (state_24975[(9)]);
var inst_24908 = (state_24975[(10)]);
var inst_24905 = (state_24975[(19)]);
var inst_24907 = (state_24975[(20)]);
var inst_24920 = (state_24975[(2)]);
var inst_24921 = (inst_24908 + (1));
var tmp25049 = inst_24906;
var tmp25050 = inst_24905;
var tmp25051 = inst_24907;
var inst_24905__$1 = tmp25050;
var inst_24906__$1 = tmp25049;
var inst_24907__$1 = tmp25051;
var inst_24908__$1 = inst_24921;
var state_24975__$1 = (function (){var statearr_25062 = state_24975;
(statearr_25062[(9)] = inst_24906__$1);
(statearr_25062[(10)] = inst_24908__$1);
(statearr_25062[(19)] = inst_24905__$1);
(statearr_25062[(20)] = inst_24907__$1);
(statearr_25062[(21)] = inst_24920);
return statearr_25062;
})();
var statearr_25063_27245 = state_24975__$1;
(statearr_25063_27245[(2)] = null);
(statearr_25063_27245[(1)] = (25));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (40))){
var inst_24934 = (state_24975[(22)]);
var inst_24940 = m.cljs$core$async$Mult$untap_STAR_$arity$2(null, inst_24934);
var state_24975__$1 = state_24975;
var statearr_25064_27246 = state_24975__$1;
(statearr_25064_27246[(2)] = inst_24940);
(statearr_25064_27246[(1)] = (41));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (33))){
var inst_24925 = (state_24975[(23)]);
var inst_24927 = cljs.core.chunked_seq_QMARK_(inst_24925);
var state_24975__$1 = state_24975;
if(inst_24927){
var statearr_25068_27247 = state_24975__$1;
(statearr_25068_27247[(1)] = (36));
} else {
var statearr_25077_27248 = state_24975__$1;
(statearr_25077_27248[(1)] = (37));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (13))){
var inst_24842 = (state_24975[(24)]);
var inst_24849 = cljs.core.async.close_BANG_(inst_24842);
var state_24975__$1 = state_24975;
var statearr_25078_27249 = state_24975__$1;
(statearr_25078_27249[(2)] = inst_24849);
(statearr_25078_27249[(1)] = (15));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (22))){
var inst_24877 = (state_24975[(8)]);
var inst_24880 = cljs.core.async.close_BANG_(inst_24877);
var state_24975__$1 = state_24975;
var statearr_25087_27250 = state_24975__$1;
(statearr_25087_27250[(2)] = inst_24880);
(statearr_25087_27250[(1)] = (24));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (36))){
var inst_24925 = (state_24975[(23)]);
var inst_24929 = cljs.core.chunk_first(inst_24925);
var inst_24930 = cljs.core.chunk_rest(inst_24925);
var inst_24931 = cljs.core.count(inst_24929);
var inst_24905 = inst_24930;
var inst_24906 = inst_24929;
var inst_24907 = inst_24931;
var inst_24908 = (0);
var state_24975__$1 = (function (){var statearr_25089 = state_24975;
(statearr_25089[(9)] = inst_24906);
(statearr_25089[(10)] = inst_24908);
(statearr_25089[(19)] = inst_24905);
(statearr_25089[(20)] = inst_24907);
return statearr_25089;
})();
var statearr_25093_27255 = state_24975__$1;
(statearr_25093_27255[(2)] = null);
(statearr_25093_27255[(1)] = (25));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (41))){
var inst_24925 = (state_24975[(23)]);
var inst_24943 = (state_24975[(2)]);
var inst_24944 = cljs.core.next(inst_24925);
var inst_24905 = inst_24944;
var inst_24906 = null;
var inst_24907 = (0);
var inst_24908 = (0);
var state_24975__$1 = (function (){var statearr_25097 = state_24975;
(statearr_25097[(25)] = inst_24943);
(statearr_25097[(9)] = inst_24906);
(statearr_25097[(10)] = inst_24908);
(statearr_25097[(19)] = inst_24905);
(statearr_25097[(20)] = inst_24907);
return statearr_25097;
})();
var statearr_25098_27256 = state_24975__$1;
(statearr_25098_27256[(2)] = null);
(statearr_25098_27256[(1)] = (25));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (43))){
var state_24975__$1 = state_24975;
var statearr_25099_27257 = state_24975__$1;
(statearr_25099_27257[(2)] = null);
(statearr_25099_27257[(1)] = (44));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (29))){
var inst_24955 = (state_24975[(2)]);
var state_24975__$1 = state_24975;
var statearr_25104_27261 = state_24975__$1;
(statearr_25104_27261[(2)] = inst_24955);
(statearr_25104_27261[(1)] = (26));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (44))){
var inst_24964 = (state_24975[(2)]);
var state_24975__$1 = (function (){var statearr_25105 = state_24975;
(statearr_25105[(26)] = inst_24964);
return statearr_25105;
})();
var statearr_25106_27262 = state_24975__$1;
(statearr_25106_27262[(2)] = null);
(statearr_25106_27262[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (6))){
var inst_24897 = (state_24975[(27)]);
var inst_24896 = cljs.core.deref(cs);
var inst_24897__$1 = cljs.core.keys(inst_24896);
var inst_24898 = cljs.core.count(inst_24897__$1);
var inst_24899 = cljs.core.reset_BANG_(dctr,inst_24898);
var inst_24904 = cljs.core.seq(inst_24897__$1);
var inst_24905 = inst_24904;
var inst_24906 = null;
var inst_24907 = (0);
var inst_24908 = (0);
var state_24975__$1 = (function (){var statearr_25109 = state_24975;
(statearr_25109[(9)] = inst_24906);
(statearr_25109[(10)] = inst_24908);
(statearr_25109[(19)] = inst_24905);
(statearr_25109[(27)] = inst_24897__$1);
(statearr_25109[(20)] = inst_24907);
(statearr_25109[(28)] = inst_24899);
return statearr_25109;
})();
var statearr_25110_27263 = state_24975__$1;
(statearr_25110_27263[(2)] = null);
(statearr_25110_27263[(1)] = (25));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (28))){
var inst_24905 = (state_24975[(19)]);
var inst_24925 = (state_24975[(23)]);
var inst_24925__$1 = cljs.core.seq(inst_24905);
var state_24975__$1 = (function (){var statearr_25111 = state_24975;
(statearr_25111[(23)] = inst_24925__$1);
return statearr_25111;
})();
if(inst_24925__$1){
var statearr_25114_27264 = state_24975__$1;
(statearr_25114_27264[(1)] = (33));
} else {
var statearr_25115_27265 = state_24975__$1;
(statearr_25115_27265[(1)] = (34));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (25))){
var inst_24908 = (state_24975[(10)]);
var inst_24907 = (state_24975[(20)]);
var inst_24910 = (inst_24908 < inst_24907);
var inst_24911 = inst_24910;
var state_24975__$1 = state_24975;
if(cljs.core.truth_(inst_24911)){
var statearr_25118_27266 = state_24975__$1;
(statearr_25118_27266[(1)] = (27));
} else {
var statearr_25119_27267 = state_24975__$1;
(statearr_25119_27267[(1)] = (28));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (34))){
var state_24975__$1 = state_24975;
var statearr_25123_27268 = state_24975__$1;
(statearr_25123_27268[(2)] = null);
(statearr_25123_27268[(1)] = (35));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (17))){
var state_24975__$1 = state_24975;
var statearr_25125_27269 = state_24975__$1;
(statearr_25125_27269[(2)] = null);
(statearr_25125_27269[(1)] = (18));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (3))){
var inst_24969 = (state_24975[(2)]);
var state_24975__$1 = state_24975;
return cljs.core.async.impl.ioc_helpers.return_chan(state_24975__$1,inst_24969);
} else {
if((state_val_24978 === (12))){
var inst_24892 = (state_24975[(2)]);
var state_24975__$1 = state_24975;
var statearr_25129_27270 = state_24975__$1;
(statearr_25129_27270[(2)] = inst_24892);
(statearr_25129_27270[(1)] = (9));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (2))){
var state_24975__$1 = state_24975;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_24975__$1,(4),ch);
} else {
if((state_val_24978 === (23))){
var state_24975__$1 = state_24975;
var statearr_25130_27272 = state_24975__$1;
(statearr_25130_27272[(2)] = null);
(statearr_25130_27272[(1)] = (24));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (35))){
var inst_24950 = (state_24975[(2)]);
var state_24975__$1 = state_24975;
var statearr_25135_27275 = state_24975__$1;
(statearr_25135_27275[(2)] = inst_24950);
(statearr_25135_27275[(1)] = (29));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (19))){
var inst_24860 = (state_24975[(7)]);
var inst_24868 = cljs.core.chunk_first(inst_24860);
var inst_24869 = cljs.core.chunk_rest(inst_24860);
var inst_24870 = cljs.core.count(inst_24868);
var inst_24830 = inst_24869;
var inst_24831 = inst_24868;
var inst_24832 = inst_24870;
var inst_24833 = (0);
var state_24975__$1 = (function (){var statearr_25136 = state_24975;
(statearr_25136[(13)] = inst_24833);
(statearr_25136[(15)] = inst_24831);
(statearr_25136[(16)] = inst_24832);
(statearr_25136[(17)] = inst_24830);
return statearr_25136;
})();
var statearr_25140_27276 = state_24975__$1;
(statearr_25140_27276[(2)] = null);
(statearr_25140_27276[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (11))){
var inst_24860 = (state_24975[(7)]);
var inst_24830 = (state_24975[(17)]);
var inst_24860__$1 = cljs.core.seq(inst_24830);
var state_24975__$1 = (function (){var statearr_25143 = state_24975;
(statearr_25143[(7)] = inst_24860__$1);
return statearr_25143;
})();
if(inst_24860__$1){
var statearr_25144_27277 = state_24975__$1;
(statearr_25144_27277[(1)] = (16));
} else {
var statearr_25145_27278 = state_24975__$1;
(statearr_25145_27278[(1)] = (17));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (9))){
var inst_24894 = (state_24975[(2)]);
var state_24975__$1 = state_24975;
var statearr_25147_27279 = state_24975__$1;
(statearr_25147_27279[(2)] = inst_24894);
(statearr_25147_27279[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (5))){
var inst_24828 = cljs.core.deref(cs);
var inst_24829 = cljs.core.seq(inst_24828);
var inst_24830 = inst_24829;
var inst_24831 = null;
var inst_24832 = (0);
var inst_24833 = (0);
var state_24975__$1 = (function (){var statearr_25149 = state_24975;
(statearr_25149[(13)] = inst_24833);
(statearr_25149[(15)] = inst_24831);
(statearr_25149[(16)] = inst_24832);
(statearr_25149[(17)] = inst_24830);
return statearr_25149;
})();
var statearr_25150_27280 = state_24975__$1;
(statearr_25150_27280[(2)] = null);
(statearr_25150_27280[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (14))){
var state_24975__$1 = state_24975;
var statearr_25152_27281 = state_24975__$1;
(statearr_25152_27281[(2)] = null);
(statearr_25152_27281[(1)] = (15));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (45))){
var inst_24961 = (state_24975[(2)]);
var state_24975__$1 = state_24975;
var statearr_25163_27282 = state_24975__$1;
(statearr_25163_27282[(2)] = inst_24961);
(statearr_25163_27282[(1)] = (44));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (26))){
var inst_24897 = (state_24975[(27)]);
var inst_24957 = (state_24975[(2)]);
var inst_24958 = cljs.core.seq(inst_24897);
var state_24975__$1 = (function (){var statearr_25165 = state_24975;
(statearr_25165[(29)] = inst_24957);
return statearr_25165;
})();
if(inst_24958){
var statearr_25166_27283 = state_24975__$1;
(statearr_25166_27283[(1)] = (42));
} else {
var statearr_25167_27284 = state_24975__$1;
(statearr_25167_27284[(1)] = (43));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (16))){
var inst_24860 = (state_24975[(7)]);
var inst_24866 = cljs.core.chunked_seq_QMARK_(inst_24860);
var state_24975__$1 = state_24975;
if(inst_24866){
var statearr_25169_27285 = state_24975__$1;
(statearr_25169_27285[(1)] = (19));
} else {
var statearr_25170_27286 = state_24975__$1;
(statearr_25170_27286[(1)] = (20));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (38))){
var inst_24947 = (state_24975[(2)]);
var state_24975__$1 = state_24975;
var statearr_25172_27287 = state_24975__$1;
(statearr_25172_27287[(2)] = inst_24947);
(statearr_25172_27287[(1)] = (35));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (30))){
var state_24975__$1 = state_24975;
var statearr_25175_27291 = state_24975__$1;
(statearr_25175_27291[(2)] = null);
(statearr_25175_27291[(1)] = (32));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (10))){
var inst_24833 = (state_24975[(13)]);
var inst_24831 = (state_24975[(15)]);
var inst_24841 = cljs.core._nth(inst_24831,inst_24833);
var inst_24842 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_24841,(0),null);
var inst_24843 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_24841,(1),null);
var state_24975__$1 = (function (){var statearr_25176 = state_24975;
(statearr_25176[(24)] = inst_24842);
return statearr_25176;
})();
if(cljs.core.truth_(inst_24843)){
var statearr_25177_27292 = state_24975__$1;
(statearr_25177_27292[(1)] = (13));
} else {
var statearr_25178_27293 = state_24975__$1;
(statearr_25178_27293[(1)] = (14));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (18))){
var inst_24890 = (state_24975[(2)]);
var state_24975__$1 = state_24975;
var statearr_25181_27294 = state_24975__$1;
(statearr_25181_27294[(2)] = inst_24890);
(statearr_25181_27294[(1)] = (12));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (42))){
var state_24975__$1 = state_24975;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_24975__$1,(45),dchan);
} else {
if((state_val_24978 === (37))){
var inst_24821 = (state_24975[(11)]);
var inst_24934 = (state_24975[(22)]);
var inst_24925 = (state_24975[(23)]);
var inst_24934__$1 = cljs.core.first(inst_24925);
var inst_24935 = cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3(inst_24934__$1,inst_24821,done);
var state_24975__$1 = (function (){var statearr_25183 = state_24975;
(statearr_25183[(22)] = inst_24934__$1);
return statearr_25183;
})();
if(cljs.core.truth_(inst_24935)){
var statearr_25184_27295 = state_24975__$1;
(statearr_25184_27295[(1)] = (39));
} else {
var statearr_25185_27296 = state_24975__$1;
(statearr_25185_27296[(1)] = (40));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_24978 === (8))){
var inst_24833 = (state_24975[(13)]);
var inst_24832 = (state_24975[(16)]);
var inst_24835 = (inst_24833 < inst_24832);
var inst_24836 = inst_24835;
var state_24975__$1 = state_24975;
if(cljs.core.truth_(inst_24836)){
var statearr_25187_27298 = state_24975__$1;
(statearr_25187_27298[(1)] = (10));
} else {
var statearr_25188_27299 = state_24975__$1;
(statearr_25188_27299[(1)] = (11));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$mult_$_state_machine__21869__auto__ = null;
var cljs$core$async$mult_$_state_machine__21869__auto____0 = (function (){
var statearr_25190 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_25190[(0)] = cljs$core$async$mult_$_state_machine__21869__auto__);
(statearr_25190[(1)] = (1));
return statearr_25190;
});
var cljs$core$async$mult_$_state_machine__21869__auto____1 = (function (state_24975){
while(true){
var ret_value__21870__auto__ = (function (){try{while(true){
var result__21871__auto__ = switch__21868__auto__(state_24975);
if(cljs.core.keyword_identical_QMARK_(result__21871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__21871__auto__;
}
break;
}
}catch (e25191){var ex__21872__auto__ = e25191;
var statearr_25192_27303 = state_24975;
(statearr_25192_27303[(2)] = ex__21872__auto__);
if(cljs.core.seq((state_24975[(4)]))){
var statearr_25193_27304 = state_24975;
(statearr_25193_27304[(1)] = cljs.core.first((state_24975[(4)])));
} else {
throw ex__21872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__21870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__27305 = state_24975;
state_24975 = G__27305;
continue;
} else {
return ret_value__21870__auto__;
}
break;
}
});
cljs$core$async$mult_$_state_machine__21869__auto__ = function(state_24975){
switch(arguments.length){
case 0:
return cljs$core$async$mult_$_state_machine__21869__auto____0.call(this);
case 1:
return cljs$core$async$mult_$_state_machine__21869__auto____1.call(this,state_24975);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$mult_$_state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$mult_$_state_machine__21869__auto____0;
cljs$core$async$mult_$_state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$mult_$_state_machine__21869__auto____1;
return cljs$core$async$mult_$_state_machine__21869__auto__;
})()
})();
var state__23320__auto__ = (function (){var statearr_25194 = f__23319__auto__();
(statearr_25194[(6)] = c__23318__auto___27227);
return statearr_25194;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__23320__auto__);
}));
return m;
});
/**
* Copies the mult source onto the supplied channel.
*
* By default the channel will be closed when the source closes,
* but can be determined by the close? parameter.
*/
cljs.core.async.tap = (function cljs$core$async$tap(var_args){
var G__25196 = arguments.length;
switch (G__25196) {
case 2:
return cljs.core.async.tap.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.tap.cljs$core$IFn$_invoke$arity$2 = (function (mult,ch){
return cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3(mult,ch,true);
}));
(cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3 = (function (mult,ch,close_QMARK_){
cljs.core.async.tap_STAR_(mult,ch,close_QMARK_);
return ch;
}));
(cljs.core.async.tap.cljs$lang$maxFixedArity = 3);
/**
* Disconnects a target channel from a mult
*/
cljs.core.async.untap = (function cljs$core$async$untap(mult,ch){
return cljs.core.async.untap_STAR_(mult,ch);
});
/**
* Disconnects all target channels from a mult
*/
cljs.core.async.untap_all = (function cljs$core$async$untap_all(mult){
return cljs.core.async.untap_all_STAR_(mult);
});
/**
* @interface
*/
cljs.core.async.Mix = function(){};
var cljs$core$async$Mix$admix_STAR_$dyn_27316 = (function (m,ch){
var x__5350__auto__ = (((m == null))?null:m);
var m__5351__auto__ = (cljs.core.async.admix_STAR_[goog.typeOf(x__5350__auto__)]);
if((!((m__5351__auto__ == null)))){
return (m__5351__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5351__auto__.call(null, m,ch));
} else {
var m__5349__auto__ = (cljs.core.async.admix_STAR_["_"]);
if((!((m__5349__auto__ == null)))){
return (m__5349__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5349__auto__.call(null, m,ch));
} else {
throw cljs.core.missing_protocol("Mix.admix*",m);
}
}
});
cljs.core.async.admix_STAR_ = (function cljs$core$async$admix_STAR_(m,ch){
if((((!((m == null)))) && ((!((m.cljs$core$async$Mix$admix_STAR_$arity$2 == null)))))){
return m.cljs$core$async$Mix$admix_STAR_$arity$2(m,ch);
} else {
return cljs$core$async$Mix$admix_STAR_$dyn_27316(m,ch);
}
});
var cljs$core$async$Mix$unmix_STAR_$dyn_27317 = (function (m,ch){
var x__5350__auto__ = (((m == null))?null:m);
var m__5351__auto__ = (cljs.core.async.unmix_STAR_[goog.typeOf(x__5350__auto__)]);
if((!((m__5351__auto__ == null)))){
return (m__5351__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5351__auto__.call(null, m,ch));
} else {
var m__5349__auto__ = (cljs.core.async.unmix_STAR_["_"]);
if((!((m__5349__auto__ == null)))){
return (m__5349__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5349__auto__.call(null, m,ch));
} else {
throw cljs.core.missing_protocol("Mix.unmix*",m);
}
}
});
cljs.core.async.unmix_STAR_ = (function cljs$core$async$unmix_STAR_(m,ch){
if((((!((m == null)))) && ((!((m.cljs$core$async$Mix$unmix_STAR_$arity$2 == null)))))){
return m.cljs$core$async$Mix$unmix_STAR_$arity$2(m,ch);
} else {
return cljs$core$async$Mix$unmix_STAR_$dyn_27317(m,ch);
}
});
var cljs$core$async$Mix$unmix_all_STAR_$dyn_27318 = (function (m){
var x__5350__auto__ = (((m == null))?null:m);
var m__5351__auto__ = (cljs.core.async.unmix_all_STAR_[goog.typeOf(x__5350__auto__)]);
if((!((m__5351__auto__ == null)))){
return (m__5351__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5351__auto__.call(null, m));
} else {
var m__5349__auto__ = (cljs.core.async.unmix_all_STAR_["_"]);
if((!((m__5349__auto__ == null)))){
return (m__5349__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5349__auto__.call(null, m));
} else {
throw cljs.core.missing_protocol("Mix.unmix-all*",m);
}
}
});
cljs.core.async.unmix_all_STAR_ = (function cljs$core$async$unmix_all_STAR_(m){
if((((!((m == null)))) && ((!((m.cljs$core$async$Mix$unmix_all_STAR_$arity$1 == null)))))){
return m.cljs$core$async$Mix$unmix_all_STAR_$arity$1(m);
} else {
return cljs$core$async$Mix$unmix_all_STAR_$dyn_27318(m);
}
});
var cljs$core$async$Mix$toggle_STAR_$dyn_27319 = (function (m,state_map){
var x__5350__auto__ = (((m == null))?null:m);
var m__5351__auto__ = (cljs.core.async.toggle_STAR_[goog.typeOf(x__5350__auto__)]);
if((!((m__5351__auto__ == null)))){
return (m__5351__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$2(m,state_map) : m__5351__auto__.call(null, m,state_map));
} else {
var m__5349__auto__ = (cljs.core.async.toggle_STAR_["_"]);
if((!((m__5349__auto__ == null)))){
return (m__5349__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$2(m,state_map) : m__5349__auto__.call(null, m,state_map));
} else {
throw cljs.core.missing_protocol("Mix.toggle*",m);
}
}
});
cljs.core.async.toggle_STAR_ = (function cljs$core$async$toggle_STAR_(m,state_map){
if((((!((m == null)))) && ((!((m.cljs$core$async$Mix$toggle_STAR_$arity$2 == null)))))){
return m.cljs$core$async$Mix$toggle_STAR_$arity$2(m,state_map);
} else {
return cljs$core$async$Mix$toggle_STAR_$dyn_27319(m,state_map);
}
});
var cljs$core$async$Mix$solo_mode_STAR_$dyn_27320 = (function (m,mode){
var x__5350__auto__ = (((m == null))?null:m);
var m__5351__auto__ = (cljs.core.async.solo_mode_STAR_[goog.typeOf(x__5350__auto__)]);
if((!((m__5351__auto__ == null)))){
return (m__5351__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$2(m,mode) : m__5351__auto__.call(null, m,mode));
} else {
var m__5349__auto__ = (cljs.core.async.solo_mode_STAR_["_"]);
if((!((m__5349__auto__ == null)))){
return (m__5349__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$2(m,mode) : m__5349__auto__.call(null, m,mode));
} else {
throw cljs.core.missing_protocol("Mix.solo-mode*",m);
}
}
});
cljs.core.async.solo_mode_STAR_ = (function cljs$core$async$solo_mode_STAR_(m,mode){
if((((!((m == null)))) && ((!((m.cljs$core$async$Mix$solo_mode_STAR_$arity$2 == null)))))){
return m.cljs$core$async$Mix$solo_mode_STAR_$arity$2(m,mode);
} else {
return cljs$core$async$Mix$solo_mode_STAR_$dyn_27320(m,mode);
}
});
cljs.core.async.ioc_alts_BANG_ = (function cljs$core$async$ioc_alts_BANG_(var_args){
var args__5732__auto__ = [];
var len__5726__auto___27321 = arguments.length;
var i__5727__auto___27322 = (0);
while(true){
if((i__5727__auto___27322 < len__5726__auto___27321)){
args__5732__auto__.push((arguments[i__5727__auto___27322]));
var G__27323 = (i__5727__auto___27322 + (1));
i__5727__auto___27322 = G__27323;
continue;
} else {
}
break;
}
var argseq__5733__auto__ = ((((3) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((3)),(0),null)):null);
return cljs.core.async.ioc_alts_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5733__auto__);
});
(cljs.core.async.ioc_alts_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (state,cont_block,ports,p__25235){
var map__25236 = p__25235;
var map__25236__$1 = cljs.core.__destructure_map(map__25236);
var opts = map__25236__$1;
var statearr_25237_27324 = state;
(statearr_25237_27324[(1)] = cont_block);
var temp__5804__auto__ = cljs.core.async.do_alts((function (val){
var statearr_25238_27325 = state;
(statearr_25238_27325[(2)] = val);
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state);
}),ports,opts);
if(cljs.core.truth_(temp__5804__auto__)){
var cb = temp__5804__auto__;
var statearr_25240_27326 = state;
(statearr_25240_27326[(2)] = cljs.core.deref(cb));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}));
(cljs.core.async.ioc_alts_BANG_.cljs$lang$maxFixedArity = (3));
/** @this {Function} */
(cljs.core.async.ioc_alts_BANG_.cljs$lang$applyTo = (function (seq25228){
var G__25229 = cljs.core.first(seq25228);
var seq25228__$1 = cljs.core.next(seq25228);
var G__25230 = cljs.core.first(seq25228__$1);
var seq25228__$2 = cljs.core.next(seq25228__$1);
var G__25231 = cljs.core.first(seq25228__$2);
var seq25228__$3 = cljs.core.next(seq25228__$2);
var self__5711__auto__ = this;
return self__5711__auto__.cljs$core$IFn$_invoke$arity$variadic(G__25229,G__25230,G__25231,seq25228__$3);
}));
/**
* @constructor
* @implements {cljs.core.IMeta}
* @implements {cljs.core.async.Mix}
* @implements {cljs.core.async.Mux}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async25269 = (function (change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,meta25270){
this.change = change;
this.solo_mode = solo_mode;
this.pick = pick;
this.cs = cs;
this.calc_state = calc_state;
this.out = out;
this.changed = changed;
this.solo_modes = solo_modes;
this.attrs = attrs;
this.meta25270 = meta25270;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async25269.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_25271,meta25270__$1){
var self__ = this;
var _25271__$1 = this;
return (new cljs.core.async.t_cljs$core$async25269(self__.change,self__.solo_mode,self__.pick,self__.cs,self__.calc_state,self__.out,self__.changed,self__.solo_modes,self__.attrs,meta25270__$1));
}));
(cljs.core.async.t_cljs$core$async25269.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_25271){
var self__ = this;
var _25271__$1 = this;
return self__.meta25270;
}));
(cljs.core.async.t_cljs$core$async25269.prototype.cljs$core$async$Mux$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async25269.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return self__.out;
}));
(cljs.core.async.t_cljs$core$async25269.prototype.cljs$core$async$Mix$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async25269.prototype.cljs$core$async$Mix$admix_STAR_$arity$2 = (function (_,ch){
var self__ = this;
var ___$1 = this;
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.cs,cljs.core.assoc,ch,cljs.core.PersistentArrayMap.EMPTY);
return (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null, ));
}));
(cljs.core.async.t_cljs$core$async25269.prototype.cljs$core$async$Mix$unmix_STAR_$arity$2 = (function (_,ch){
var self__ = this;
var ___$1 = this;
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.cs,cljs.core.dissoc,ch);
return (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null, ));
}));
(cljs.core.async.t_cljs$core$async25269.prototype.cljs$core$async$Mix$unmix_all_STAR_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
cljs.core.reset_BANG_(self__.cs,cljs.core.PersistentArrayMap.EMPTY);
return (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null, ));
}));
(cljs.core.async.t_cljs$core$async25269.prototype.cljs$core$async$Mix$toggle_STAR_$arity$2 = (function (_,state_map){
var self__ = this;
var ___$1 = this;
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.cs,cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.core.merge_with,cljs.core.merge),state_map);
return (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null, ));
}));
(cljs.core.async.t_cljs$core$async25269.prototype.cljs$core$async$Mix$solo_mode_STAR_$arity$2 = (function (_,mode){
var self__ = this;
var ___$1 = this;
if(cljs.core.truth_((self__.solo_modes.cljs$core$IFn$_invoke$arity$1 ? self__.solo_modes.cljs$core$IFn$_invoke$arity$1(mode) : self__.solo_modes.call(null, mode)))){
} else {
throw (new Error(["Assert failed: ",["mode must be one of: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.solo_modes)].join(''),"\n","(solo-modes mode)"].join('')));
}
cljs.core.reset_BANG_(self__.solo_mode,mode);
return (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null, ));
}));
(cljs.core.async.t_cljs$core$async25269.getBasis = (function (){
return new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"change","change",477485025,null),new cljs.core.Symbol(null,"solo-mode","solo-mode",2031788074,null),new cljs.core.Symbol(null,"pick","pick",1300068175,null),new cljs.core.Symbol(null,"cs","cs",-117024463,null),new cljs.core.Symbol(null,"calc-state","calc-state",-349968968,null),new cljs.core.Symbol(null,"out","out",729986010,null),new cljs.core.Symbol(null,"changed","changed",-2083710852,null),new cljs.core.Symbol(null,"solo-modes","solo-modes",882180540,null),new cljs.core.Symbol(null,"attrs","attrs",-450137186,null),new cljs.core.Symbol(null,"meta25270","meta25270",-2106600825,null)], null);
}));
(cljs.core.async.t_cljs$core$async25269.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async25269.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async25269");
(cljs.core.async.t_cljs$core$async25269.cljs$lang$ctorPrWriter = (function (this__5287__auto__,writer__5288__auto__,opt__5289__auto__){
return cljs.core._write(writer__5288__auto__,"cljs.core.async/t_cljs$core$async25269");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async25269.
*/
cljs.core.async.__GT_t_cljs$core$async25269 = (function cljs$core$async$__GT_t_cljs$core$async25269(change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,meta25270){
return (new cljs.core.async.t_cljs$core$async25269(change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,meta25270));
});
/**
* Creates and returns a mix of one or more input channels which will
* be put on the supplied out channel. Input sources can be added to
* the mix with 'admix', and removed with 'unmix'. A mix supports
* soloing, muting and pausing multiple inputs atomically using
* 'toggle', and can solo using either muting or pausing as determined
* by 'solo-mode'.
*
* Each channel can have zero or more boolean modes set via 'toggle':
*
* :solo - when true, only this (ond other soloed) channel(s) will appear
* in the mix output channel. :mute and :pause states of soloed
* channels are ignored. If solo-mode is :mute, non-soloed
* channels are muted, if :pause, non-soloed channels are
* paused.
*
* :mute - muted channels will have their contents consumed but not included in the mix
* :pause - paused channels will not have their contents consumed (and thus also not included in the mix)
*/
cljs.core.async.mix = (function cljs$core$async$mix(out){
var cs = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);
var solo_modes = new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"pause","pause",-2095325672),null,new cljs.core.Keyword(null,"mute","mute",1151223646),null], null), null);
var attrs = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(solo_modes,new cljs.core.Keyword(null,"solo","solo",-316350075));
var solo_mode = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"mute","mute",1151223646));
var change = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(cljs.core.async.sliding_buffer((1)));
var changed = (function (){
return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(change,true);
});
var pick = (function (attr,chs){
return cljs.core.reduce_kv((function (ret,c,v){
if(cljs.core.truth_((attr.cljs$core$IFn$_invoke$arity$1 ? attr.cljs$core$IFn$_invoke$arity$1(v) : attr.call(null, v)))){
return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,c);
} else {
return ret;
}
}),cljs.core.PersistentHashSet.EMPTY,chs);
});
var calc_state = (function (){
var chs = cljs.core.deref(cs);
var mode = cljs.core.deref(solo_mode);
var solos = pick(new cljs.core.Keyword(null,"solo","solo",-316350075),chs);
var pauses = pick(new cljs.core.Keyword(null,"pause","pause",-2095325672),chs);
return new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"solos","solos",1441458643),solos,new cljs.core.Keyword(null,"mutes","mutes",1068806309),pick(new cljs.core.Keyword(null,"mute","mute",1151223646),chs),new cljs.core.Keyword(null,"reads","reads",-1215067361),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(mode,new cljs.core.Keyword(null,"pause","pause",-2095325672))) && ((!(cljs.core.empty_QMARK_(solos))))))?cljs.core.vec(solos):cljs.core.vec(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(pauses,cljs.core.keys(chs)))),change)], null);
});
var m = (new cljs.core.async.t_cljs$core$async25269(change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,cljs.core.PersistentArrayMap.EMPTY));
var c__23318__auto___27337 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__23319__auto__ = (function (){var switch__21868__auto__ = (function (state_25398){
var state_val_25401 = (state_25398[(1)]);
if((state_val_25401 === (7))){
var inst_25347 = (state_25398[(2)]);
var state_25398__$1 = state_25398;
if(cljs.core.truth_(inst_25347)){
var statearr_25409_27338 = state_25398__$1;
(statearr_25409_27338[(1)] = (8));
} else {
var statearr_25412_27339 = state_25398__$1;
(statearr_25412_27339[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25401 === (20))){
var inst_25340 = (state_25398[(7)]);
var state_25398__$1 = state_25398;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_25398__$1,(23),out,inst_25340);
} else {
if((state_val_25401 === (1))){
var inst_25323 = calc_state();
var inst_25324 = cljs.core.__destructure_map(inst_25323);
var inst_25325 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_25324,new cljs.core.Keyword(null,"solos","solos",1441458643));
var inst_25326 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_25324,new cljs.core.Keyword(null,"mutes","mutes",1068806309));
var inst_25327 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_25324,new cljs.core.Keyword(null,"reads","reads",-1215067361));
var inst_25328 = inst_25323;
var state_25398__$1 = (function (){var statearr_25425 = state_25398;
(statearr_25425[(8)] = inst_25325);
(statearr_25425[(9)] = inst_25326);
(statearr_25425[(10)] = inst_25327);
(statearr_25425[(11)] = inst_25328);
return statearr_25425;
})();
var statearr_25426_27340 = state_25398__$1;
(statearr_25426_27340[(2)] = null);
(statearr_25426_27340[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25401 === (24))){
var inst_25331 = (state_25398[(12)]);
var inst_25328 = inst_25331;
var state_25398__$1 = (function (){var statearr_25432 = state_25398;
(statearr_25432[(11)] = inst_25328);
return statearr_25432;
})();
var statearr_25433_27341 = state_25398__$1;
(statearr_25433_27341[(2)] = null);
(statearr_25433_27341[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25401 === (4))){
var inst_25342 = (state_25398[(13)]);
var inst_25340 = (state_25398[(7)]);
var inst_25339 = (state_25398[(2)]);
var inst_25340__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_25339,(0),null);
var inst_25341 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_25339,(1),null);
var inst_25342__$1 = (inst_25340__$1 == null);
var state_25398__$1 = (function (){var statearr_25439 = state_25398;
(statearr_25439[(14)] = inst_25341);
(statearr_25439[(13)] = inst_25342__$1);
(statearr_25439[(7)] = inst_25340__$1);
return statearr_25439;
})();
if(cljs.core.truth_(inst_25342__$1)){
var statearr_25440_27342 = state_25398__$1;
(statearr_25440_27342[(1)] = (5));
} else {
var statearr_25441_27343 = state_25398__$1;
(statearr_25441_27343[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25401 === (15))){
var inst_25362 = (state_25398[(15)]);
var inst_25332 = (state_25398[(16)]);
var inst_25362__$1 = cljs.core.empty_QMARK_(inst_25332);
var state_25398__$1 = (function (){var statearr_25442 = state_25398;
(statearr_25442[(15)] = inst_25362__$1);
return statearr_25442;
})();
if(inst_25362__$1){
var statearr_25443_27344 = state_25398__$1;
(statearr_25443_27344[(1)] = (17));
} else {
var statearr_25445_27346 = state_25398__$1;
(statearr_25445_27346[(1)] = (18));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25401 === (21))){
var inst_25331 = (state_25398[(12)]);
var inst_25328 = inst_25331;
var state_25398__$1 = (function (){var statearr_25446 = state_25398;
(statearr_25446[(11)] = inst_25328);
return statearr_25446;
})();
var statearr_25447_27348 = state_25398__$1;
(statearr_25447_27348[(2)] = null);
(statearr_25447_27348[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25401 === (13))){
var inst_25354 = (state_25398[(2)]);
var inst_25355 = calc_state();
var inst_25328 = inst_25355;
var state_25398__$1 = (function (){var statearr_25449 = state_25398;
(statearr_25449[(17)] = inst_25354);
(statearr_25449[(11)] = inst_25328);
return statearr_25449;
})();
var statearr_25451_27353 = state_25398__$1;
(statearr_25451_27353[(2)] = null);
(statearr_25451_27353[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25401 === (22))){
var inst_25382 = (state_25398[(2)]);
var state_25398__$1 = state_25398;
var statearr_25452_27354 = state_25398__$1;
(statearr_25452_27354[(2)] = inst_25382);
(statearr_25452_27354[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25401 === (6))){
var inst_25341 = (state_25398[(14)]);
var inst_25345 = cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(inst_25341,change);
var state_25398__$1 = state_25398;
var statearr_25453_27358 = state_25398__$1;
(statearr_25453_27358[(2)] = inst_25345);
(statearr_25453_27358[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25401 === (25))){
var state_25398__$1 = state_25398;
var statearr_25454_27359 = state_25398__$1;
(statearr_25454_27359[(2)] = null);
(statearr_25454_27359[(1)] = (26));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25401 === (17))){
var inst_25333 = (state_25398[(18)]);
var inst_25341 = (state_25398[(14)]);
var inst_25364 = (inst_25333.cljs$core$IFn$_invoke$arity$1 ? inst_25333.cljs$core$IFn$_invoke$arity$1(inst_25341) : inst_25333.call(null, inst_25341));
var inst_25365 = cljs.core.not(inst_25364);
var state_25398__$1 = state_25398;
var statearr_25455_27360 = state_25398__$1;
(statearr_25455_27360[(2)] = inst_25365);
(statearr_25455_27360[(1)] = (19));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25401 === (3))){
var inst_25386 = (state_25398[(2)]);
var state_25398__$1 = state_25398;
return cljs.core.async.impl.ioc_helpers.return_chan(state_25398__$1,inst_25386);
} else {
if((state_val_25401 === (12))){
var state_25398__$1 = state_25398;
var statearr_25456_27361 = state_25398__$1;
(statearr_25456_27361[(2)] = null);
(statearr_25456_27361[(1)] = (13));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25401 === (2))){
var inst_25331 = (state_25398[(12)]);
var inst_25328 = (state_25398[(11)]);
var inst_25331__$1 = cljs.core.__destructure_map(inst_25328);
var inst_25332 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_25331__$1,new cljs.core.Keyword(null,"solos","solos",1441458643));
var inst_25333 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_25331__$1,new cljs.core.Keyword(null,"mutes","mutes",1068806309));
var inst_25334 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_25331__$1,new cljs.core.Keyword(null,"reads","reads",-1215067361));
var state_25398__$1 = (function (){var statearr_25465 = state_25398;
(statearr_25465[(18)] = inst_25333);
(statearr_25465[(16)] = inst_25332);
(statearr_25465[(12)] = inst_25331__$1);
return statearr_25465;
})();
return cljs.core.async.ioc_alts_BANG_(state_25398__$1,(4),inst_25334);
} else {
if((state_val_25401 === (23))){
var inst_25373 = (state_25398[(2)]);
var state_25398__$1 = state_25398;
if(cljs.core.truth_(inst_25373)){
var statearr_25474_27364 = state_25398__$1;
(statearr_25474_27364[(1)] = (24));
} else {
var statearr_25475_27365 = state_25398__$1;
(statearr_25475_27365[(1)] = (25));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25401 === (19))){
var inst_25368 = (state_25398[(2)]);
var state_25398__$1 = state_25398;
var statearr_25477_27366 = state_25398__$1;
(statearr_25477_27366[(2)] = inst_25368);
(statearr_25477_27366[(1)] = (16));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25401 === (11))){
var inst_25341 = (state_25398[(14)]);
var inst_25351 = cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cs,cljs.core.dissoc,inst_25341);
var state_25398__$1 = state_25398;
var statearr_25479_27367 = state_25398__$1;
(statearr_25479_27367[(2)] = inst_25351);
(statearr_25479_27367[(1)] = (13));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25401 === (9))){
var inst_25341 = (state_25398[(14)]);
var inst_25332 = (state_25398[(16)]);
var inst_25359 = (state_25398[(19)]);
var inst_25359__$1 = (inst_25332.cljs$core$IFn$_invoke$arity$1 ? inst_25332.cljs$core$IFn$_invoke$arity$1(inst_25341) : inst_25332.call(null, inst_25341));
var state_25398__$1 = (function (){var statearr_25483 = state_25398;
(statearr_25483[(19)] = inst_25359__$1);
return statearr_25483;
})();
if(cljs.core.truth_(inst_25359__$1)){
var statearr_25484_27368 = state_25398__$1;
(statearr_25484_27368[(1)] = (14));
} else {
var statearr_25487_27369 = state_25398__$1;
(statearr_25487_27369[(1)] = (15));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25401 === (5))){
var inst_25342 = (state_25398[(13)]);
var state_25398__$1 = state_25398;
var statearr_25495_27370 = state_25398__$1;
(statearr_25495_27370[(2)] = inst_25342);
(statearr_25495_27370[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25401 === (14))){
var inst_25359 = (state_25398[(19)]);
var state_25398__$1 = state_25398;
var statearr_25502_27371 = state_25398__$1;
(statearr_25502_27371[(2)] = inst_25359);
(statearr_25502_27371[(1)] = (16));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25401 === (26))){
var inst_25378 = (state_25398[(2)]);
var state_25398__$1 = state_25398;
var statearr_25503_27375 = state_25398__$1;
(statearr_25503_27375[(2)] = inst_25378);
(statearr_25503_27375[(1)] = (22));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25401 === (16))){
var inst_25370 = (state_25398[(2)]);
var state_25398__$1 = state_25398;
if(cljs.core.truth_(inst_25370)){
var statearr_25509_27376 = state_25398__$1;
(statearr_25509_27376[(1)] = (20));
} else {
var statearr_25514_27377 = state_25398__$1;
(statearr_25514_27377[(1)] = (21));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25401 === (10))){
var inst_25384 = (state_25398[(2)]);
var state_25398__$1 = state_25398;
var statearr_25515_27378 = state_25398__$1;
(statearr_25515_27378[(2)] = inst_25384);
(statearr_25515_27378[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25401 === (18))){
var inst_25362 = (state_25398[(15)]);
var state_25398__$1 = state_25398;
var statearr_25519_27379 = state_25398__$1;
(statearr_25519_27379[(2)] = inst_25362);
(statearr_25519_27379[(1)] = (19));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25401 === (8))){
var inst_25340 = (state_25398[(7)]);
var inst_25349 = (inst_25340 == null);
var state_25398__$1 = state_25398;
if(cljs.core.truth_(inst_25349)){
var statearr_25520_27380 = state_25398__$1;
(statearr_25520_27380[(1)] = (11));
} else {
var statearr_25521_27381 = state_25398__$1;
(statearr_25521_27381[(1)] = (12));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$mix_$_state_machine__21869__auto__ = null;
var cljs$core$async$mix_$_state_machine__21869__auto____0 = (function (){
var statearr_25533 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_25533[(0)] = cljs$core$async$mix_$_state_machine__21869__auto__);
(statearr_25533[(1)] = (1));
return statearr_25533;
});
var cljs$core$async$mix_$_state_machine__21869__auto____1 = (function (state_25398){
while(true){
var ret_value__21870__auto__ = (function (){try{while(true){
var result__21871__auto__ = switch__21868__auto__(state_25398);
if(cljs.core.keyword_identical_QMARK_(result__21871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__21871__auto__;
}
break;
}
}catch (e25535){var ex__21872__auto__ = e25535;
var statearr_25536_27388 = state_25398;
(statearr_25536_27388[(2)] = ex__21872__auto__);
if(cljs.core.seq((state_25398[(4)]))){
var statearr_25540_27389 = state_25398;
(statearr_25540_27389[(1)] = cljs.core.first((state_25398[(4)])));
} else {
throw ex__21872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__21870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__27390 = state_25398;
state_25398 = G__27390;
continue;
} else {
return ret_value__21870__auto__;
}
break;
}
});
cljs$core$async$mix_$_state_machine__21869__auto__ = function(state_25398){
switch(arguments.length){
case 0:
return cljs$core$async$mix_$_state_machine__21869__auto____0.call(this);
case 1:
return cljs$core$async$mix_$_state_machine__21869__auto____1.call(this,state_25398);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$mix_$_state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$mix_$_state_machine__21869__auto____0;
cljs$core$async$mix_$_state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$mix_$_state_machine__21869__auto____1;
return cljs$core$async$mix_$_state_machine__21869__auto__;
})()
})();
var state__23320__auto__ = (function (){var statearr_25547 = f__23319__auto__();
(statearr_25547[(6)] = c__23318__auto___27337);
return statearr_25547;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__23320__auto__);
}));
return m;
});
/**
* Adds ch as an input to the mix
*/
cljs.core.async.admix = (function cljs$core$async$admix(mix,ch){
return cljs.core.async.admix_STAR_(mix,ch);
});
/**
* Removes ch as an input to the mix
*/
cljs.core.async.unmix = (function cljs$core$async$unmix(mix,ch){
return cljs.core.async.unmix_STAR_(mix,ch);
});
/**
* removes all inputs from the mix
*/
cljs.core.async.unmix_all = (function cljs$core$async$unmix_all(mix){
return cljs.core.async.unmix_all_STAR_(mix);
});
/**
* Atomically sets the state(s) of one or more channels in a mix. The
* state map is a map of channels -> channel-state-map. A
* channel-state-map is a map of attrs -> boolean, where attr is one or
* more of :mute, :pause or :solo. Any states supplied are merged with
* the current state.
*
* Note that channels can be added to a mix via toggle, which can be
* used to add channels in a particular (e.g. paused) state.
*/
cljs.core.async.toggle = (function cljs$core$async$toggle(mix,state_map){
return cljs.core.async.toggle_STAR_(mix,state_map);
});
/**
* Sets the solo mode of the mix. mode must be one of :mute or :pause
*/
cljs.core.async.solo_mode = (function cljs$core$async$solo_mode(mix,mode){
return cljs.core.async.solo_mode_STAR_(mix,mode);
});
/**
* @interface
*/
cljs.core.async.Pub = function(){};
var cljs$core$async$Pub$sub_STAR_$dyn_27394 = (function (p,v,ch,close_QMARK_){
var x__5350__auto__ = (((p == null))?null:p);
var m__5351__auto__ = (cljs.core.async.sub_STAR_[goog.typeOf(x__5350__auto__)]);
if((!((m__5351__auto__ == null)))){
return (m__5351__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$4(p,v,ch,close_QMARK_) : m__5351__auto__.call(null, p,v,ch,close_QMARK_));
} else {
var m__5349__auto__ = (cljs.core.async.sub_STAR_["_"]);
if((!((m__5349__auto__ == null)))){
return (m__5349__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$4(p,v,ch,close_QMARK_) : m__5349__auto__.call(null, p,v,ch,close_QMARK_));
} else {
throw cljs.core.missing_protocol("Pub.sub*",p);
}
}
});
cljs.core.async.sub_STAR_ = (function cljs$core$async$sub_STAR_(p,v,ch,close_QMARK_){
if((((!((p == null)))) && ((!((p.cljs$core$async$Pub$sub_STAR_$arity$4 == null)))))){
return p.cljs$core$async$Pub$sub_STAR_$arity$4(p,v,ch,close_QMARK_);
} else {
return cljs$core$async$Pub$sub_STAR_$dyn_27394(p,v,ch,close_QMARK_);
}
});
var cljs$core$async$Pub$unsub_STAR_$dyn_27395 = (function (p,v,ch){
var x__5350__auto__ = (((p == null))?null:p);
var m__5351__auto__ = (cljs.core.async.unsub_STAR_[goog.typeOf(x__5350__auto__)]);
if((!((m__5351__auto__ == null)))){
return (m__5351__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$3(p,v,ch) : m__5351__auto__.call(null, p,v,ch));
} else {
var m__5349__auto__ = (cljs.core.async.unsub_STAR_["_"]);
if((!((m__5349__auto__ == null)))){
return (m__5349__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$3(p,v,ch) : m__5349__auto__.call(null, p,v,ch));
} else {
throw cljs.core.missing_protocol("Pub.unsub*",p);
}
}
});
cljs.core.async.unsub_STAR_ = (function cljs$core$async$unsub_STAR_(p,v,ch){
if((((!((p == null)))) && ((!((p.cljs$core$async$Pub$unsub_STAR_$arity$3 == null)))))){
return p.cljs$core$async$Pub$unsub_STAR_$arity$3(p,v,ch);
} else {
return cljs$core$async$Pub$unsub_STAR_$dyn_27395(p,v,ch);
}
});
var cljs$core$async$Pub$unsub_all_STAR_$dyn_27396 = (function() {
var G__27397 = null;
var G__27397__1 = (function (p){
var x__5350__auto__ = (((p == null))?null:p);
var m__5351__auto__ = (cljs.core.async.unsub_all_STAR_[goog.typeOf(x__5350__auto__)]);
if((!((m__5351__auto__ == null)))){
return (m__5351__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$1(p) : m__5351__auto__.call(null, p));
} else {
var m__5349__auto__ = (cljs.core.async.unsub_all_STAR_["_"]);
if((!((m__5349__auto__ == null)))){
return (m__5349__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$1(p) : m__5349__auto__.call(null, p));
} else {
throw cljs.core.missing_protocol("Pub.unsub-all*",p);
}
}
});
var G__27397__2 = (function (p,v){
var x__5350__auto__ = (((p == null))?null:p);
var m__5351__auto__ = (cljs.core.async.unsub_all_STAR_[goog.typeOf(x__5350__auto__)]);
if((!((m__5351__auto__ == null)))){
return (m__5351__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$2(p,v) : m__5351__auto__.call(null, p,v));
} else {
var m__5349__auto__ = (cljs.core.async.unsub_all_STAR_["_"]);
if((!((m__5349__auto__ == null)))){
return (m__5349__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$2(p,v) : m__5349__auto__.call(null, p,v));
} else {
throw cljs.core.missing_protocol("Pub.unsub-all*",p);
}
}
});
G__27397 = function(p,v){
switch(arguments.length){
case 1:
return G__27397__1.call(this,p);
case 2:
return G__27397__2.call(this,p,v);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
G__27397.cljs$core$IFn$_invoke$arity$1 = G__27397__1;
G__27397.cljs$core$IFn$_invoke$arity$2 = G__27397__2;
return G__27397;
})()
;
cljs.core.async.unsub_all_STAR_ = (function cljs$core$async$unsub_all_STAR_(var_args){
var G__25580 = arguments.length;
switch (G__25580) {
case 1:
return cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$1 = (function (p){
if((((!((p == null)))) && ((!((p.cljs$core$async$Pub$unsub_all_STAR_$arity$1 == null)))))){
return p.cljs$core$async$Pub$unsub_all_STAR_$arity$1(p);
} else {
return cljs$core$async$Pub$unsub_all_STAR_$dyn_27396(p);
}
}));
(cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$2 = (function (p,v){
if((((!((p == null)))) && ((!((p.cljs$core$async$Pub$unsub_all_STAR_$arity$2 == null)))))){
return p.cljs$core$async$Pub$unsub_all_STAR_$arity$2(p,v);
} else {
return cljs$core$async$Pub$unsub_all_STAR_$dyn_27396(p,v);
}
}));
(cljs.core.async.unsub_all_STAR_.cljs$lang$maxFixedArity = 2);
/**
* @constructor
* @implements {cljs.core.async.Pub}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.async.Mux}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async25598 = (function (ch,topic_fn,buf_fn,mults,ensure_mult,meta25599){
this.ch = ch;
this.topic_fn = topic_fn;
this.buf_fn = buf_fn;
this.mults = mults;
this.ensure_mult = ensure_mult;
this.meta25599 = meta25599;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async25598.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_25600,meta25599__$1){
var self__ = this;
var _25600__$1 = this;
return (new cljs.core.async.t_cljs$core$async25598(self__.ch,self__.topic_fn,self__.buf_fn,self__.mults,self__.ensure_mult,meta25599__$1));
}));
(cljs.core.async.t_cljs$core$async25598.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_25600){
var self__ = this;
var _25600__$1 = this;
return self__.meta25599;
}));
(cljs.core.async.t_cljs$core$async25598.prototype.cljs$core$async$Mux$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async25598.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return self__.ch;
}));
(cljs.core.async.t_cljs$core$async25598.prototype.cljs$core$async$Pub$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async25598.prototype.cljs$core$async$Pub$sub_STAR_$arity$4 = (function (p,topic,ch__$1,close_QMARK_){
var self__ = this;
var p__$1 = this;
var m = (self__.ensure_mult.cljs$core$IFn$_invoke$arity$1 ? self__.ensure_mult.cljs$core$IFn$_invoke$arity$1(topic) : self__.ensure_mult.call(null, topic));
return cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3(m,ch__$1,close_QMARK_);
}));
(cljs.core.async.t_cljs$core$async25598.prototype.cljs$core$async$Pub$unsub_STAR_$arity$3 = (function (p,topic,ch__$1){
var self__ = this;
var p__$1 = this;
var temp__5804__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(self__.mults),topic);
if(cljs.core.truth_(temp__5804__auto__)){
var m = temp__5804__auto__;
return cljs.core.async.untap(m,ch__$1);
} else {
return null;
}
}));
(cljs.core.async.t_cljs$core$async25598.prototype.cljs$core$async$Pub$unsub_all_STAR_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.reset_BANG_(self__.mults,cljs.core.PersistentArrayMap.EMPTY);
}));
(cljs.core.async.t_cljs$core$async25598.prototype.cljs$core$async$Pub$unsub_all_STAR_$arity$2 = (function (_,topic){
var self__ = this;
var ___$1 = this;
return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.mults,cljs.core.dissoc,topic);
}));
(cljs.core.async.t_cljs$core$async25598.getBasis = (function (){
return new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"ch","ch",1085813622,null),new cljs.core.Symbol(null,"topic-fn","topic-fn",-862449736,null),new cljs.core.Symbol(null,"buf-fn","buf-fn",-1200281591,null),new cljs.core.Symbol(null,"mults","mults",-461114485,null),new cljs.core.Symbol(null,"ensure-mult","ensure-mult",1796584816,null),new cljs.core.Symbol(null,"meta25599","meta25599",-2023036589,null)], null);
}));
(cljs.core.async.t_cljs$core$async25598.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async25598.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async25598");
(cljs.core.async.t_cljs$core$async25598.cljs$lang$ctorPrWriter = (function (this__5287__auto__,writer__5288__auto__,opt__5289__auto__){
return cljs.core._write(writer__5288__auto__,"cljs.core.async/t_cljs$core$async25598");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async25598.
*/
cljs.core.async.__GT_t_cljs$core$async25598 = (function cljs$core$async$__GT_t_cljs$core$async25598(ch,topic_fn,buf_fn,mults,ensure_mult,meta25599){
return (new cljs.core.async.t_cljs$core$async25598(ch,topic_fn,buf_fn,mults,ensure_mult,meta25599));
});
/**
* Creates and returns a pub(lication) of the supplied channel,
* partitioned into topics by the topic-fn. topic-fn will be applied to
* each value on the channel and the result will determine the 'topic'
* on which that value will be put. Channels can be subscribed to
* receive copies of topics using 'sub', and unsubscribed using
* 'unsub'. Each topic will be handled by an internal mult on a
* dedicated channel. By default these internal channels are
* unbuffered, but a buf-fn can be supplied which, given a topic,
* creates a buffer with desired properties.
*
* Each item is distributed to all subs in parallel and synchronously,
* i.e. each sub must accept before the next item is distributed. Use
* buffering/windowing to prevent slow subs from holding up the pub.
*
* Items received when there are no matching subs get dropped.
*
* Note that if buf-fns are used then each topic is handled
* asynchronously, i.e. if a channel is subscribed to more than one
* topic it should not expect them to be interleaved identically with
* the source.
*/
cljs.core.async.pub = (function cljs$core$async$pub(var_args){
var G__25587 = arguments.length;
switch (G__25587) {
case 2:
return cljs.core.async.pub.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.pub.cljs$core$IFn$_invoke$arity$2 = (function (ch,topic_fn){
return cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3(ch,topic_fn,cljs.core.constantly(null));
}));
(cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3 = (function (ch,topic_fn,buf_fn){
var mults = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);
var ensure_mult = (function (topic){
var or__5002__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(mults),topic);
if(cljs.core.truth_(or__5002__auto__)){
return or__5002__auto__;
} else {
return cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(mults,(function (p1__25585_SHARP_){
if(cljs.core.truth_((p1__25585_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__25585_SHARP_.cljs$core$IFn$_invoke$arity$1(topic) : p1__25585_SHARP_.call(null, topic)))){
return p1__25585_SHARP_;
} else {
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p1__25585_SHARP_,topic,cljs.core.async.mult(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((buf_fn.cljs$core$IFn$_invoke$arity$1 ? buf_fn.cljs$core$IFn$_invoke$arity$1(topic) : buf_fn.call(null, topic)))));
}
})),topic);
}
});
var p = (new cljs.core.async.t_cljs$core$async25598(ch,topic_fn,buf_fn,mults,ensure_mult,cljs.core.PersistentArrayMap.EMPTY));
var c__23318__auto___27413 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__23319__auto__ = (function (){var switch__21868__auto__ = (function (state_25698){
var state_val_25699 = (state_25698[(1)]);
if((state_val_25699 === (7))){
var inst_25694 = (state_25698[(2)]);
var state_25698__$1 = state_25698;
var statearr_25708_27414 = state_25698__$1;
(statearr_25708_27414[(2)] = inst_25694);
(statearr_25708_27414[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25699 === (20))){
var state_25698__$1 = state_25698;
var statearr_25710_27415 = state_25698__$1;
(statearr_25710_27415[(2)] = null);
(statearr_25710_27415[(1)] = (21));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25699 === (1))){
var state_25698__$1 = state_25698;
var statearr_25713_27416 = state_25698__$1;
(statearr_25713_27416[(2)] = null);
(statearr_25713_27416[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25699 === (24))){
var inst_25671 = (state_25698[(7)]);
var inst_25686 = cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(mults,cljs.core.dissoc,inst_25671);
var state_25698__$1 = state_25698;
var statearr_25715_27417 = state_25698__$1;
(statearr_25715_27417[(2)] = inst_25686);
(statearr_25715_27417[(1)] = (25));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25699 === (4))){
var inst_25621 = (state_25698[(8)]);
var inst_25621__$1 = (state_25698[(2)]);
var inst_25622 = (inst_25621__$1 == null);
var state_25698__$1 = (function (){var statearr_25716 = state_25698;
(statearr_25716[(8)] = inst_25621__$1);
return statearr_25716;
})();
if(cljs.core.truth_(inst_25622)){
var statearr_25717_27418 = state_25698__$1;
(statearr_25717_27418[(1)] = (5));
} else {
var statearr_25718_27419 = state_25698__$1;
(statearr_25718_27419[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25699 === (15))){
var inst_25665 = (state_25698[(2)]);
var state_25698__$1 = state_25698;
var statearr_25723_27420 = state_25698__$1;
(statearr_25723_27420[(2)] = inst_25665);
(statearr_25723_27420[(1)] = (12));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25699 === (21))){
var inst_25691 = (state_25698[(2)]);
var state_25698__$1 = (function (){var statearr_25726 = state_25698;
(statearr_25726[(9)] = inst_25691);
return statearr_25726;
})();
var statearr_25727_27421 = state_25698__$1;
(statearr_25727_27421[(2)] = null);
(statearr_25727_27421[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25699 === (13))){
var inst_25647 = (state_25698[(10)]);
var inst_25649 = cljs.core.chunked_seq_QMARK_(inst_25647);
var state_25698__$1 = state_25698;
if(inst_25649){
var statearr_25728_27422 = state_25698__$1;
(statearr_25728_27422[(1)] = (16));
} else {
var statearr_25729_27423 = state_25698__$1;
(statearr_25729_27423[(1)] = (17));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25699 === (22))){
var inst_25682 = (state_25698[(2)]);
var state_25698__$1 = state_25698;
if(cljs.core.truth_(inst_25682)){
var statearr_25733_27424 = state_25698__$1;
(statearr_25733_27424[(1)] = (23));
} else {
var statearr_25734_27425 = state_25698__$1;
(statearr_25734_27425[(1)] = (24));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25699 === (6))){
var inst_25678 = (state_25698[(11)]);
var inst_25621 = (state_25698[(8)]);
var inst_25671 = (state_25698[(7)]);
var inst_25671__$1 = (topic_fn.cljs$core$IFn$_invoke$arity$1 ? topic_fn.cljs$core$IFn$_invoke$arity$1(inst_25621) : topic_fn.call(null, inst_25621));
var inst_25676 = cljs.core.deref(mults);
var inst_25678__$1 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_25676,inst_25671__$1);
var state_25698__$1 = (function (){var statearr_25738 = state_25698;
(statearr_25738[(11)] = inst_25678__$1);
(statearr_25738[(7)] = inst_25671__$1);
return statearr_25738;
})();
if(cljs.core.truth_(inst_25678__$1)){
var statearr_25741_27430 = state_25698__$1;
(statearr_25741_27430[(1)] = (19));
} else {
var statearr_25742_27431 = state_25698__$1;
(statearr_25742_27431[(1)] = (20));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25699 === (25))){
var inst_25688 = (state_25698[(2)]);
var state_25698__$1 = state_25698;
var statearr_25743_27432 = state_25698__$1;
(statearr_25743_27432[(2)] = inst_25688);
(statearr_25743_27432[(1)] = (21));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25699 === (17))){
var inst_25647 = (state_25698[(10)]);
var inst_25656 = cljs.core.first(inst_25647);
var inst_25657 = cljs.core.async.muxch_STAR_(inst_25656);
var inst_25658 = cljs.core.async.close_BANG_(inst_25657);
var inst_25659 = cljs.core.next(inst_25647);
var inst_25633 = inst_25659;
var inst_25634 = null;
var inst_25635 = (0);
var inst_25636 = (0);
var state_25698__$1 = (function (){var statearr_25747 = state_25698;
(statearr_25747[(12)] = inst_25634);
(statearr_25747[(13)] = inst_25658);
(statearr_25747[(14)] = inst_25633);
(statearr_25747[(15)] = inst_25635);
(statearr_25747[(16)] = inst_25636);
return statearr_25747;
})();
var statearr_25748_27434 = state_25698__$1;
(statearr_25748_27434[(2)] = null);
(statearr_25748_27434[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25699 === (3))){
var inst_25696 = (state_25698[(2)]);
var state_25698__$1 = state_25698;
return cljs.core.async.impl.ioc_helpers.return_chan(state_25698__$1,inst_25696);
} else {
if((state_val_25699 === (12))){
var inst_25667 = (state_25698[(2)]);
var state_25698__$1 = state_25698;
var statearr_25750_27435 = state_25698__$1;
(statearr_25750_27435[(2)] = inst_25667);
(statearr_25750_27435[(1)] = (9));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25699 === (2))){
var state_25698__$1 = state_25698;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_25698__$1,(4),ch);
} else {
if((state_val_25699 === (23))){
var state_25698__$1 = state_25698;
var statearr_25752_27436 = state_25698__$1;
(statearr_25752_27436[(2)] = null);
(statearr_25752_27436[(1)] = (25));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25699 === (19))){
var inst_25678 = (state_25698[(11)]);
var inst_25621 = (state_25698[(8)]);
var inst_25680 = cljs.core.async.muxch_STAR_(inst_25678);
var state_25698__$1 = state_25698;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_25698__$1,(22),inst_25680,inst_25621);
} else {
if((state_val_25699 === (11))){
var inst_25647 = (state_25698[(10)]);
var inst_25633 = (state_25698[(14)]);
var inst_25647__$1 = cljs.core.seq(inst_25633);
var state_25698__$1 = (function (){var statearr_25754 = state_25698;
(statearr_25754[(10)] = inst_25647__$1);
return statearr_25754;
})();
if(inst_25647__$1){
var statearr_25755_27437 = state_25698__$1;
(statearr_25755_27437[(1)] = (13));
} else {
var statearr_25756_27438 = state_25698__$1;
(statearr_25756_27438[(1)] = (14));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25699 === (9))){
var inst_25669 = (state_25698[(2)]);
var state_25698__$1 = state_25698;
var statearr_25757_27439 = state_25698__$1;
(statearr_25757_27439[(2)] = inst_25669);
(statearr_25757_27439[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25699 === (5))){
var inst_25630 = cljs.core.deref(mults);
var inst_25631 = cljs.core.vals(inst_25630);
var inst_25632 = cljs.core.seq(inst_25631);
var inst_25633 = inst_25632;
var inst_25634 = null;
var inst_25635 = (0);
var inst_25636 = (0);
var state_25698__$1 = (function (){var statearr_25765 = state_25698;
(statearr_25765[(12)] = inst_25634);
(statearr_25765[(14)] = inst_25633);
(statearr_25765[(15)] = inst_25635);
(statearr_25765[(16)] = inst_25636);
return statearr_25765;
})();
var statearr_25766_27440 = state_25698__$1;
(statearr_25766_27440[(2)] = null);
(statearr_25766_27440[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25699 === (14))){
var state_25698__$1 = state_25698;
var statearr_25770_27441 = state_25698__$1;
(statearr_25770_27441[(2)] = null);
(statearr_25770_27441[(1)] = (15));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25699 === (16))){
var inst_25647 = (state_25698[(10)]);
var inst_25651 = cljs.core.chunk_first(inst_25647);
var inst_25652 = cljs.core.chunk_rest(inst_25647);
var inst_25653 = cljs.core.count(inst_25651);
var inst_25633 = inst_25652;
var inst_25634 = inst_25651;
var inst_25635 = inst_25653;
var inst_25636 = (0);
var state_25698__$1 = (function (){var statearr_25783 = state_25698;
(statearr_25783[(12)] = inst_25634);
(statearr_25783[(14)] = inst_25633);
(statearr_25783[(15)] = inst_25635);
(statearr_25783[(16)] = inst_25636);
return statearr_25783;
})();
var statearr_25793_27444 = state_25698__$1;
(statearr_25793_27444[(2)] = null);
(statearr_25793_27444[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25699 === (10))){
var inst_25634 = (state_25698[(12)]);
var inst_25633 = (state_25698[(14)]);
var inst_25635 = (state_25698[(15)]);
var inst_25636 = (state_25698[(16)]);
var inst_25641 = cljs.core._nth(inst_25634,inst_25636);
var inst_25642 = cljs.core.async.muxch_STAR_(inst_25641);
var inst_25643 = cljs.core.async.close_BANG_(inst_25642);
var inst_25644 = (inst_25636 + (1));
var tmp25767 = inst_25634;
var tmp25768 = inst_25633;
var tmp25769 = inst_25635;
var inst_25633__$1 = tmp25768;
var inst_25634__$1 = tmp25767;
var inst_25635__$1 = tmp25769;
var inst_25636__$1 = inst_25644;
var state_25698__$1 = (function (){var statearr_25814 = state_25698;
(statearr_25814[(12)] = inst_25634__$1);
(statearr_25814[(17)] = inst_25643);
(statearr_25814[(14)] = inst_25633__$1);
(statearr_25814[(15)] = inst_25635__$1);
(statearr_25814[(16)] = inst_25636__$1);
return statearr_25814;
})();
var statearr_25820_27445 = state_25698__$1;
(statearr_25820_27445[(2)] = null);
(statearr_25820_27445[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25699 === (18))){
var inst_25662 = (state_25698[(2)]);
var state_25698__$1 = state_25698;
var statearr_25826_27446 = state_25698__$1;
(statearr_25826_27446[(2)] = inst_25662);
(statearr_25826_27446[(1)] = (15));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25699 === (8))){
var inst_25635 = (state_25698[(15)]);
var inst_25636 = (state_25698[(16)]);
var inst_25638 = (inst_25636 < inst_25635);
var inst_25639 = inst_25638;
var state_25698__$1 = state_25698;
if(cljs.core.truth_(inst_25639)){
var statearr_25827_27450 = state_25698__$1;
(statearr_25827_27450[(1)] = (10));
} else {
var statearr_25828_27451 = state_25698__$1;
(statearr_25828_27451[(1)] = (11));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__21869__auto__ = null;
var cljs$core$async$state_machine__21869__auto____0 = (function (){
var statearr_25839 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_25839[(0)] = cljs$core$async$state_machine__21869__auto__);
(statearr_25839[(1)] = (1));
return statearr_25839;
});
var cljs$core$async$state_machine__21869__auto____1 = (function (state_25698){
while(true){
var ret_value__21870__auto__ = (function (){try{while(true){
var result__21871__auto__ = switch__21868__auto__(state_25698);
if(cljs.core.keyword_identical_QMARK_(result__21871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__21871__auto__;
}
break;
}
}catch (e25841){var ex__21872__auto__ = e25841;
var statearr_25842_27452 = state_25698;
(statearr_25842_27452[(2)] = ex__21872__auto__);
if(cljs.core.seq((state_25698[(4)]))){
var statearr_25843_27453 = state_25698;
(statearr_25843_27453[(1)] = cljs.core.first((state_25698[(4)])));
} else {
throw ex__21872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__21870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__27454 = state_25698;
state_25698 = G__27454;
continue;
} else {
return ret_value__21870__auto__;
}
break;
}
});
cljs$core$async$state_machine__21869__auto__ = function(state_25698){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__21869__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__21869__auto____1.call(this,state_25698);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__21869__auto____0;
cljs$core$async$state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__21869__auto____1;
return cljs$core$async$state_machine__21869__auto__;
})()
})();
var state__23320__auto__ = (function (){var statearr_25844 = f__23319__auto__();
(statearr_25844[(6)] = c__23318__auto___27413);
return statearr_25844;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__23320__auto__);
}));
return p;
}));
(cljs.core.async.pub.cljs$lang$maxFixedArity = 3);
/**
* Subscribes a channel to a topic of a pub.
*
* By default the channel will be closed when the source closes,
* but can be determined by the close? parameter.
*/
cljs.core.async.sub = (function cljs$core$async$sub(var_args){
var G__25849 = arguments.length;
switch (G__25849) {
case 3:
return cljs.core.async.sub.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.core.async.sub.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.sub.cljs$core$IFn$_invoke$arity$3 = (function (p,topic,ch){
return cljs.core.async.sub.cljs$core$IFn$_invoke$arity$4(p,topic,ch,true);
}));
(cljs.core.async.sub.cljs$core$IFn$_invoke$arity$4 = (function (p,topic,ch,close_QMARK_){
return cljs.core.async.sub_STAR_(p,topic,ch,close_QMARK_);
}));
(cljs.core.async.sub.cljs$lang$maxFixedArity = 4);
/**
* Unsubscribes a channel from a topic of a pub
*/
cljs.core.async.unsub = (function cljs$core$async$unsub(p,topic,ch){
return cljs.core.async.unsub_STAR_(p,topic,ch);
});
/**
* Unsubscribes all channels from a pub, or a topic of a pub
*/
cljs.core.async.unsub_all = (function cljs$core$async$unsub_all(var_args){
var G__25859 = arguments.length;
switch (G__25859) {
case 1:
return cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$1 = (function (p){
return cljs.core.async.unsub_all_STAR_(p);
}));
(cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$2 = (function (p,topic){
return cljs.core.async.unsub_all_STAR_(p,topic);
}));
(cljs.core.async.unsub_all.cljs$lang$maxFixedArity = 2);
/**
* Takes a function and a collection of source channels, and returns a
* channel which contains the values produced by applying f to the set
* of first items taken from each source channel, followed by applying
* f to the set of second items from each channel, until any one of the
* channels is closed, at which point the output channel will be
* closed. The returned channel will be unbuffered by default, or a
* buf-or-n can be supplied
*/
cljs.core.async.map = (function cljs$core$async$map(var_args){
var G__25879 = arguments.length;
switch (G__25879) {
case 2:
return cljs.core.async.map.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.map.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.map.cljs$core$IFn$_invoke$arity$2 = (function (f,chs){
return cljs.core.async.map.cljs$core$IFn$_invoke$arity$3(f,chs,null);
}));
(cljs.core.async.map.cljs$core$IFn$_invoke$arity$3 = (function (f,chs,buf_or_n){
var chs__$1 = cljs.core.vec(chs);
var out = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);
var cnt = cljs.core.count(chs__$1);
var rets = cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(cnt);
var dchan = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
var dctr = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);
var done = cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (i){
return (function (ret){
(rets[i] = ret);
if((cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(dctr,cljs.core.dec) === (0))){
return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(dchan,rets.slice((0)));
} else {
return null;
}
});
}),cljs.core.range.cljs$core$IFn$_invoke$arity$1(cnt));
if((cnt === (0))){
cljs.core.async.close_BANG_(out);
} else {
var c__23318__auto___27465 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__23319__auto__ = (function (){var switch__21868__auto__ = (function (state_25934){
var state_val_25935 = (state_25934[(1)]);
if((state_val_25935 === (7))){
var state_25934__$1 = state_25934;
var statearr_25938_27466 = state_25934__$1;
(statearr_25938_27466[(2)] = null);
(statearr_25938_27466[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25935 === (1))){
var state_25934__$1 = state_25934;
var statearr_25939_27467 = state_25934__$1;
(statearr_25939_27467[(2)] = null);
(statearr_25939_27467[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25935 === (4))){
var inst_25890 = (state_25934[(7)]);
var inst_25891 = (state_25934[(8)]);
var inst_25893 = (inst_25891 < inst_25890);
var state_25934__$1 = state_25934;
if(cljs.core.truth_(inst_25893)){
var statearr_25940_27468 = state_25934__$1;
(statearr_25940_27468[(1)] = (6));
} else {
var statearr_25941_27469 = state_25934__$1;
(statearr_25941_27469[(1)] = (7));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25935 === (15))){
var inst_25920 = (state_25934[(9)]);
var inst_25925 = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,inst_25920);
var state_25934__$1 = state_25934;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_25934__$1,(17),out,inst_25925);
} else {
if((state_val_25935 === (13))){
var inst_25920 = (state_25934[(9)]);
var inst_25920__$1 = (state_25934[(2)]);
var inst_25921 = cljs.core.some(cljs.core.nil_QMARK_,inst_25920__$1);
var state_25934__$1 = (function (){var statearr_25944 = state_25934;
(statearr_25944[(9)] = inst_25920__$1);
return statearr_25944;
})();
if(cljs.core.truth_(inst_25921)){
var statearr_25945_27474 = state_25934__$1;
(statearr_25945_27474[(1)] = (14));
} else {
var statearr_25946_27475 = state_25934__$1;
(statearr_25946_27475[(1)] = (15));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25935 === (6))){
var state_25934__$1 = state_25934;
var statearr_25948_27476 = state_25934__$1;
(statearr_25948_27476[(2)] = null);
(statearr_25948_27476[(1)] = (9));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25935 === (17))){
var inst_25927 = (state_25934[(2)]);
var state_25934__$1 = (function (){var statearr_25952 = state_25934;
(statearr_25952[(10)] = inst_25927);
return statearr_25952;
})();
var statearr_25953_27477 = state_25934__$1;
(statearr_25953_27477[(2)] = null);
(statearr_25953_27477[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25935 === (3))){
var inst_25932 = (state_25934[(2)]);
var state_25934__$1 = state_25934;
return cljs.core.async.impl.ioc_helpers.return_chan(state_25934__$1,inst_25932);
} else {
if((state_val_25935 === (12))){
var _ = (function (){var statearr_25958 = state_25934;
(statearr_25958[(4)] = cljs.core.rest((state_25934[(4)])));
return statearr_25958;
})();
var state_25934__$1 = state_25934;
var ex25950 = (state_25934__$1[(2)]);
var statearr_25963_27478 = state_25934__$1;
(statearr_25963_27478[(5)] = ex25950);
if((ex25950 instanceof Object)){
var statearr_25968_27479 = state_25934__$1;
(statearr_25968_27479[(1)] = (11));
(statearr_25968_27479[(5)] = null);
} else {
throw ex25950;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25935 === (2))){
var inst_25889 = cljs.core.reset_BANG_(dctr,cnt);
var inst_25890 = cnt;
var inst_25891 = (0);
var state_25934__$1 = (function (){var statearr_25977 = state_25934;
(statearr_25977[(11)] = inst_25889);
(statearr_25977[(7)] = inst_25890);
(statearr_25977[(8)] = inst_25891);
return statearr_25977;
})();
var statearr_25981_27481 = state_25934__$1;
(statearr_25981_27481[(2)] = null);
(statearr_25981_27481[(1)] = (4));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25935 === (11))){
var inst_25899 = (state_25934[(2)]);
var inst_25900 = cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(dctr,cljs.core.dec);
var state_25934__$1 = (function (){var statearr_25983 = state_25934;
(statearr_25983[(12)] = inst_25899);
return statearr_25983;
})();
var statearr_25984_27483 = state_25934__$1;
(statearr_25984_27483[(2)] = inst_25900);
(statearr_25984_27483[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25935 === (9))){
var inst_25891 = (state_25934[(8)]);
var _ = (function (){var statearr_25986 = state_25934;
(statearr_25986[(4)] = cljs.core.cons((12),(state_25934[(4)])));
return statearr_25986;
})();
var inst_25906 = (chs__$1.cljs$core$IFn$_invoke$arity$1 ? chs__$1.cljs$core$IFn$_invoke$arity$1(inst_25891) : chs__$1.call(null, inst_25891));
var inst_25907 = (done.cljs$core$IFn$_invoke$arity$1 ? done.cljs$core$IFn$_invoke$arity$1(inst_25891) : done.call(null, inst_25891));
var inst_25908 = cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2(inst_25906,inst_25907);
var ___$1 = (function (){var statearr_25987 = state_25934;
(statearr_25987[(4)] = cljs.core.rest((state_25934[(4)])));
return statearr_25987;
})();
var state_25934__$1 = state_25934;
var statearr_25988_27484 = state_25934__$1;
(statearr_25988_27484[(2)] = inst_25908);
(statearr_25988_27484[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25935 === (5))){
var inst_25918 = (state_25934[(2)]);
var state_25934__$1 = (function (){var statearr_25989 = state_25934;
(statearr_25989[(13)] = inst_25918);
return statearr_25989;
})();
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_25934__$1,(13),dchan);
} else {
if((state_val_25935 === (14))){
var inst_25923 = cljs.core.async.close_BANG_(out);
var state_25934__$1 = state_25934;
var statearr_25990_27485 = state_25934__$1;
(statearr_25990_27485[(2)] = inst_25923);
(statearr_25990_27485[(1)] = (16));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25935 === (16))){
var inst_25930 = (state_25934[(2)]);
var state_25934__$1 = state_25934;
var statearr_25991_27486 = state_25934__$1;
(statearr_25991_27486[(2)] = inst_25930);
(statearr_25991_27486[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25935 === (10))){
var inst_25891 = (state_25934[(8)]);
var inst_25911 = (state_25934[(2)]);
var inst_25912 = (inst_25891 + (1));
var inst_25891__$1 = inst_25912;
var state_25934__$1 = (function (){var statearr_25992 = state_25934;
(statearr_25992[(14)] = inst_25911);
(statearr_25992[(8)] = inst_25891__$1);
return statearr_25992;
})();
var statearr_25993_27487 = state_25934__$1;
(statearr_25993_27487[(2)] = null);
(statearr_25993_27487[(1)] = (4));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_25935 === (8))){
var inst_25916 = (state_25934[(2)]);
var state_25934__$1 = state_25934;
var statearr_25994_27488 = state_25934__$1;
(statearr_25994_27488[(2)] = inst_25916);
(statearr_25994_27488[(1)] = (5));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__21869__auto__ = null;
var cljs$core$async$state_machine__21869__auto____0 = (function (){
var statearr_25995 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_25995[(0)] = cljs$core$async$state_machine__21869__auto__);
(statearr_25995[(1)] = (1));
return statearr_25995;
});
var cljs$core$async$state_machine__21869__auto____1 = (function (state_25934){
while(true){
var ret_value__21870__auto__ = (function (){try{while(true){
var result__21871__auto__ = switch__21868__auto__(state_25934);
if(cljs.core.keyword_identical_QMARK_(result__21871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__21871__auto__;
}
break;
}
}catch (e25996){var ex__21872__auto__ = e25996;
var statearr_25997_27489 = state_25934;
(statearr_25997_27489[(2)] = ex__21872__auto__);
if(cljs.core.seq((state_25934[(4)]))){
var statearr_25998_27490 = state_25934;
(statearr_25998_27490[(1)] = cljs.core.first((state_25934[(4)])));
} else {
throw ex__21872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__21870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__27491 = state_25934;
state_25934 = G__27491;
continue;
} else {
return ret_value__21870__auto__;
}
break;
}
});
cljs$core$async$state_machine__21869__auto__ = function(state_25934){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__21869__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__21869__auto____1.call(this,state_25934);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__21869__auto____0;
cljs$core$async$state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__21869__auto____1;
return cljs$core$async$state_machine__21869__auto__;
})()
})();
var state__23320__auto__ = (function (){var statearr_25999 = f__23319__auto__();
(statearr_25999[(6)] = c__23318__auto___27465);
return statearr_25999;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__23320__auto__);
}));
}
return out;
}));
(cljs.core.async.map.cljs$lang$maxFixedArity = 3);
/**
* Takes a collection of source channels and returns a channel which
* contains all values taken from them. The returned channel will be
* unbuffered by default, or a buf-or-n can be supplied. The channel
* will close after all the source channels have closed.
*/
cljs.core.async.merge = (function cljs$core$async$merge(var_args){
var G__26002 = arguments.length;
switch (G__26002) {
case 1:
return cljs.core.async.merge.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.merge.cljs$core$IFn$_invoke$arity$1 = (function (chs){
return cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2(chs,null);
}));
(cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2 = (function (chs,buf_or_n){
var out = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);
var c__23318__auto___27494 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__23319__auto__ = (function (){var switch__21868__auto__ = (function (state_26037){
var state_val_26038 = (state_26037[(1)]);
if((state_val_26038 === (7))){
var inst_26017 = (state_26037[(7)]);
var inst_26016 = (state_26037[(8)]);
var inst_26016__$1 = (state_26037[(2)]);
var inst_26017__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_26016__$1,(0),null);
var inst_26018 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_26016__$1,(1),null);
var inst_26019 = (inst_26017__$1 == null);
var state_26037__$1 = (function (){var statearr_26039 = state_26037;
(statearr_26039[(7)] = inst_26017__$1);
(statearr_26039[(9)] = inst_26018);
(statearr_26039[(8)] = inst_26016__$1);
return statearr_26039;
})();
if(cljs.core.truth_(inst_26019)){
var statearr_26040_27495 = state_26037__$1;
(statearr_26040_27495[(1)] = (8));
} else {
var statearr_26041_27496 = state_26037__$1;
(statearr_26041_27496[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26038 === (1))){
var inst_26004 = cljs.core.vec(chs);
var inst_26005 = inst_26004;
var state_26037__$1 = (function (){var statearr_26042 = state_26037;
(statearr_26042[(10)] = inst_26005);
return statearr_26042;
})();
var statearr_26043_27505 = state_26037__$1;
(statearr_26043_27505[(2)] = null);
(statearr_26043_27505[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26038 === (4))){
var inst_26005 = (state_26037[(10)]);
var state_26037__$1 = state_26037;
return cljs.core.async.ioc_alts_BANG_(state_26037__$1,(7),inst_26005);
} else {
if((state_val_26038 === (6))){
var inst_26033 = (state_26037[(2)]);
var state_26037__$1 = state_26037;
var statearr_26044_27506 = state_26037__$1;
(statearr_26044_27506[(2)] = inst_26033);
(statearr_26044_27506[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26038 === (3))){
var inst_26035 = (state_26037[(2)]);
var state_26037__$1 = state_26037;
return cljs.core.async.impl.ioc_helpers.return_chan(state_26037__$1,inst_26035);
} else {
if((state_val_26038 === (2))){
var inst_26005 = (state_26037[(10)]);
var inst_26008 = cljs.core.count(inst_26005);
var inst_26009 = (inst_26008 > (0));
var state_26037__$1 = state_26037;
if(cljs.core.truth_(inst_26009)){
var statearr_26046_27509 = state_26037__$1;
(statearr_26046_27509[(1)] = (4));
} else {
var statearr_26047_27510 = state_26037__$1;
(statearr_26047_27510[(1)] = (5));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26038 === (11))){
var inst_26005 = (state_26037[(10)]);
var inst_26026 = (state_26037[(2)]);
var tmp26045 = inst_26005;
var inst_26005__$1 = tmp26045;
var state_26037__$1 = (function (){var statearr_26048 = state_26037;
(statearr_26048[(10)] = inst_26005__$1);
(statearr_26048[(11)] = inst_26026);
return statearr_26048;
})();
var statearr_26049_27511 = state_26037__$1;
(statearr_26049_27511[(2)] = null);
(statearr_26049_27511[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26038 === (9))){
var inst_26017 = (state_26037[(7)]);
var state_26037__$1 = state_26037;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_26037__$1,(11),out,inst_26017);
} else {
if((state_val_26038 === (5))){
var inst_26031 = cljs.core.async.close_BANG_(out);
var state_26037__$1 = state_26037;
var statearr_26056_27512 = state_26037__$1;
(statearr_26056_27512[(2)] = inst_26031);
(statearr_26056_27512[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26038 === (10))){
var inst_26029 = (state_26037[(2)]);
var state_26037__$1 = state_26037;
var statearr_26057_27513 = state_26037__$1;
(statearr_26057_27513[(2)] = inst_26029);
(statearr_26057_27513[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26038 === (8))){
var inst_26017 = (state_26037[(7)]);
var inst_26018 = (state_26037[(9)]);
var inst_26005 = (state_26037[(10)]);
var inst_26016 = (state_26037[(8)]);
var inst_26021 = (function (){var cs = inst_26005;
var vec__26012 = inst_26016;
var v = inst_26017;
var c = inst_26018;
return (function (p1__26000_SHARP_){
return cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(c,p1__26000_SHARP_);
});
})();
var inst_26022 = cljs.core.filterv(inst_26021,inst_26005);
var inst_26005__$1 = inst_26022;
var state_26037__$1 = (function (){var statearr_26062 = state_26037;
(statearr_26062[(10)] = inst_26005__$1);
return statearr_26062;
})();
var statearr_26063_27514 = state_26037__$1;
(statearr_26063_27514[(2)] = null);
(statearr_26063_27514[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__21869__auto__ = null;
var cljs$core$async$state_machine__21869__auto____0 = (function (){
var statearr_26068 = [null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_26068[(0)] = cljs$core$async$state_machine__21869__auto__);
(statearr_26068[(1)] = (1));
return statearr_26068;
});
var cljs$core$async$state_machine__21869__auto____1 = (function (state_26037){
while(true){
var ret_value__21870__auto__ = (function (){try{while(true){
var result__21871__auto__ = switch__21868__auto__(state_26037);
if(cljs.core.keyword_identical_QMARK_(result__21871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__21871__auto__;
}
break;
}
}catch (e26069){var ex__21872__auto__ = e26069;
var statearr_26070_27515 = state_26037;
(statearr_26070_27515[(2)] = ex__21872__auto__);
if(cljs.core.seq((state_26037[(4)]))){
var statearr_26071_27516 = state_26037;
(statearr_26071_27516[(1)] = cljs.core.first((state_26037[(4)])));
} else {
throw ex__21872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__21870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__27519 = state_26037;
state_26037 = G__27519;
continue;
} else {
return ret_value__21870__auto__;
}
break;
}
});
cljs$core$async$state_machine__21869__auto__ = function(state_26037){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__21869__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__21869__auto____1.call(this,state_26037);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__21869__auto____0;
cljs$core$async$state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__21869__auto____1;
return cljs$core$async$state_machine__21869__auto__;
})()
})();
var state__23320__auto__ = (function (){var statearr_26072 = f__23319__auto__();
(statearr_26072[(6)] = c__23318__auto___27494);
return statearr_26072;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__23320__auto__);
}));
return out;
}));
(cljs.core.async.merge.cljs$lang$maxFixedArity = 2);
/**
* Returns a channel containing the single (collection) result of the
* items taken from the channel conjoined to the supplied
* collection. ch must close before into produces a result.
*/
cljs.core.async.into = (function cljs$core$async$into(coll,ch){
return cljs.core.async.reduce(cljs.core.conj,coll,ch);
});
/**
* Returns a channel that will return, at most, n items from ch. After n items
* have been returned, or ch has been closed, the return chanel will close.
*
* The output channel is unbuffered by default, unless buf-or-n is given.
*/
cljs.core.async.take = (function cljs$core$async$take(var_args){
var G__26083 = arguments.length;
switch (G__26083) {
case 2:
return cljs.core.async.take.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.take.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.take.cljs$core$IFn$_invoke$arity$2 = (function (n,ch){
return cljs.core.async.take.cljs$core$IFn$_invoke$arity$3(n,ch,null);
}));
(cljs.core.async.take.cljs$core$IFn$_invoke$arity$3 = (function (n,ch,buf_or_n){
var out = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);
var c__23318__auto___27521 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__23319__auto__ = (function (){var switch__21868__auto__ = (function (state_26107){
var state_val_26108 = (state_26107[(1)]);
if((state_val_26108 === (7))){
var inst_26089 = (state_26107[(7)]);
var inst_26089__$1 = (state_26107[(2)]);
var inst_26090 = (inst_26089__$1 == null);
var inst_26091 = cljs.core.not(inst_26090);
var state_26107__$1 = (function (){var statearr_26109 = state_26107;
(statearr_26109[(7)] = inst_26089__$1);
return statearr_26109;
})();
if(inst_26091){
var statearr_26110_27523 = state_26107__$1;
(statearr_26110_27523[(1)] = (8));
} else {
var statearr_26111_27524 = state_26107__$1;
(statearr_26111_27524[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26108 === (1))){
var inst_26084 = (0);
var state_26107__$1 = (function (){var statearr_26112 = state_26107;
(statearr_26112[(8)] = inst_26084);
return statearr_26112;
})();
var statearr_26113_27528 = state_26107__$1;
(statearr_26113_27528[(2)] = null);
(statearr_26113_27528[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26108 === (4))){
var state_26107__$1 = state_26107;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_26107__$1,(7),ch);
} else {
if((state_val_26108 === (6))){
var inst_26102 = (state_26107[(2)]);
var state_26107__$1 = state_26107;
var statearr_26115_27530 = state_26107__$1;
(statearr_26115_27530[(2)] = inst_26102);
(statearr_26115_27530[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26108 === (3))){
var inst_26104 = (state_26107[(2)]);
var inst_26105 = cljs.core.async.close_BANG_(out);
var state_26107__$1 = (function (){var statearr_26116 = state_26107;
(statearr_26116[(9)] = inst_26104);
return statearr_26116;
})();
return cljs.core.async.impl.ioc_helpers.return_chan(state_26107__$1,inst_26105);
} else {
if((state_val_26108 === (2))){
var inst_26084 = (state_26107[(8)]);
var inst_26086 = (inst_26084 < n);
var state_26107__$1 = state_26107;
if(cljs.core.truth_(inst_26086)){
var statearr_26117_27531 = state_26107__$1;
(statearr_26117_27531[(1)] = (4));
} else {
var statearr_26121_27532 = state_26107__$1;
(statearr_26121_27532[(1)] = (5));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26108 === (11))){
var inst_26084 = (state_26107[(8)]);
var inst_26094 = (state_26107[(2)]);
var inst_26095 = (inst_26084 + (1));
var inst_26084__$1 = inst_26095;
var state_26107__$1 = (function (){var statearr_26123 = state_26107;
(statearr_26123[(10)] = inst_26094);
(statearr_26123[(8)] = inst_26084__$1);
return statearr_26123;
})();
var statearr_26124_27533 = state_26107__$1;
(statearr_26124_27533[(2)] = null);
(statearr_26124_27533[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26108 === (9))){
var state_26107__$1 = state_26107;
var statearr_26125_27534 = state_26107__$1;
(statearr_26125_27534[(2)] = null);
(statearr_26125_27534[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26108 === (5))){
var state_26107__$1 = state_26107;
var statearr_26126_27535 = state_26107__$1;
(statearr_26126_27535[(2)] = null);
(statearr_26126_27535[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26108 === (10))){
var inst_26099 = (state_26107[(2)]);
var state_26107__$1 = state_26107;
var statearr_26128_27536 = state_26107__$1;
(statearr_26128_27536[(2)] = inst_26099);
(statearr_26128_27536[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26108 === (8))){
var inst_26089 = (state_26107[(7)]);
var state_26107__$1 = state_26107;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_26107__$1,(11),out,inst_26089);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__21869__auto__ = null;
var cljs$core$async$state_machine__21869__auto____0 = (function (){
var statearr_26130 = [null,null,null,null,null,null,null,null,null,null,null];
(statearr_26130[(0)] = cljs$core$async$state_machine__21869__auto__);
(statearr_26130[(1)] = (1));
return statearr_26130;
});
var cljs$core$async$state_machine__21869__auto____1 = (function (state_26107){
while(true){
var ret_value__21870__auto__ = (function (){try{while(true){
var result__21871__auto__ = switch__21868__auto__(state_26107);
if(cljs.core.keyword_identical_QMARK_(result__21871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__21871__auto__;
}
break;
}
}catch (e26132){var ex__21872__auto__ = e26132;
var statearr_26135_27537 = state_26107;
(statearr_26135_27537[(2)] = ex__21872__auto__);
if(cljs.core.seq((state_26107[(4)]))){
var statearr_26136_27538 = state_26107;
(statearr_26136_27538[(1)] = cljs.core.first((state_26107[(4)])));
} else {
throw ex__21872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__21870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__27539 = state_26107;
state_26107 = G__27539;
continue;
} else {
return ret_value__21870__auto__;
}
break;
}
});
cljs$core$async$state_machine__21869__auto__ = function(state_26107){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__21869__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__21869__auto____1.call(this,state_26107);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__21869__auto____0;
cljs$core$async$state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__21869__auto____1;
return cljs$core$async$state_machine__21869__auto__;
})()
})();
var state__23320__auto__ = (function (){var statearr_26141 = f__23319__auto__();
(statearr_26141[(6)] = c__23318__auto___27521);
return statearr_26141;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__23320__auto__);
}));
return out;
}));
(cljs.core.async.take.cljs$lang$maxFixedArity = 3);
/**
* @constructor
* @implements {cljs.core.async.impl.protocols.Handler}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async26159 = (function (f,ch,meta26148,_,fn1,meta26160){
this.f = f;
this.ch = ch;
this.meta26148 = meta26148;
this._ = _;
this.fn1 = fn1;
this.meta26160 = meta26160;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async26159.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_26161,meta26160__$1){
var self__ = this;
var _26161__$1 = this;
return (new cljs.core.async.t_cljs$core$async26159(self__.f,self__.ch,self__.meta26148,self__._,self__.fn1,meta26160__$1));
}));
(cljs.core.async.t_cljs$core$async26159.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_26161){
var self__ = this;
var _26161__$1 = this;
return self__.meta26160;
}));
(cljs.core.async.t_cljs$core$async26159.prototype.cljs$core$async$impl$protocols$Handler$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async26159.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 = (function (___$1){
var self__ = this;
var ___$2 = this;
return cljs.core.async.impl.protocols.active_QMARK_(self__.fn1);
}));
(cljs.core.async.t_cljs$core$async26159.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 = (function (___$1){
var self__ = this;
var ___$2 = this;
return true;
}));
(cljs.core.async.t_cljs$core$async26159.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 = (function (___$1){
var self__ = this;
var ___$2 = this;
var f1 = cljs.core.async.impl.protocols.commit(self__.fn1);
return (function (p1__26143_SHARP_){
var G__26179 = (((p1__26143_SHARP_ == null))?null:(self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(p1__26143_SHARP_) : self__.f.call(null, p1__26143_SHARP_)));
return (f1.cljs$core$IFn$_invoke$arity$1 ? f1.cljs$core$IFn$_invoke$arity$1(G__26179) : f1.call(null, G__26179));
});
}));
(cljs.core.async.t_cljs$core$async26159.getBasis = (function (){
return new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"f","f",43394975,null),new cljs.core.Symbol(null,"ch","ch",1085813622,null),new cljs.core.Symbol(null,"meta26148","meta26148",-1210579185,null),cljs.core.with_meta(new cljs.core.Symbol(null,"_","_",-1201019570,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol("cljs.core.async","t_cljs$core$async26147","cljs.core.async/t_cljs$core$async26147",1667065064,null)], null)),new cljs.core.Symbol(null,"fn1","fn1",895834444,null),new cljs.core.Symbol(null,"meta26160","meta26160",-1481193039,null)], null);
}));
(cljs.core.async.t_cljs$core$async26159.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async26159.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async26159");
(cljs.core.async.t_cljs$core$async26159.cljs$lang$ctorPrWriter = (function (this__5287__auto__,writer__5288__auto__,opt__5289__auto__){
return cljs.core._write(writer__5288__auto__,"cljs.core.async/t_cljs$core$async26159");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async26159.
*/
cljs.core.async.__GT_t_cljs$core$async26159 = (function cljs$core$async$__GT_t_cljs$core$async26159(f,ch,meta26148,_,fn1,meta26160){
return (new cljs.core.async.t_cljs$core$async26159(f,ch,meta26148,_,fn1,meta26160));
});
/**
* @constructor
* @implements {cljs.core.async.impl.protocols.Channel}
* @implements {cljs.core.async.impl.protocols.WritePort}
* @implements {cljs.core.async.impl.protocols.ReadPort}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async26147 = (function (f,ch,meta26148){
this.f = f;
this.ch = ch;
this.meta26148 = meta26148;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async26147.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_26149,meta26148__$1){
var self__ = this;
var _26149__$1 = this;
return (new cljs.core.async.t_cljs$core$async26147(self__.f,self__.ch,meta26148__$1));
}));
(cljs.core.async.t_cljs$core$async26147.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_26149){
var self__ = this;
var _26149__$1 = this;
return self__.meta26148;
}));
(cljs.core.async.t_cljs$core$async26147.prototype.cljs$core$async$impl$protocols$Channel$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async26147.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.async.impl.protocols.close_BANG_(self__.ch);
}));
(cljs.core.async.t_cljs$core$async26147.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.async.impl.protocols.closed_QMARK_(self__.ch);
}));
(cljs.core.async.t_cljs$core$async26147.prototype.cljs$core$async$impl$protocols$ReadPort$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async26147.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 = (function (_,fn1){
var self__ = this;
var ___$1 = this;
var ret = cljs.core.async.impl.protocols.take_BANG_(self__.ch,(new cljs.core.async.t_cljs$core$async26159(self__.f,self__.ch,self__.meta26148,___$1,fn1,cljs.core.PersistentArrayMap.EMPTY)));
if(cljs.core.truth_((function (){var and__5000__auto__ = ret;
if(cljs.core.truth_(and__5000__auto__)){
return (!((cljs.core.deref(ret) == null)));
} else {
return and__5000__auto__;
}
})())){
return cljs.core.async.impl.channels.box((function (){var G__26208 = cljs.core.deref(ret);
return (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(G__26208) : self__.f.call(null, G__26208));
})());
} else {
return ret;
}
}));
(cljs.core.async.t_cljs$core$async26147.prototype.cljs$core$async$impl$protocols$WritePort$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async26147.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 = (function (_,val,fn1){
var self__ = this;
var ___$1 = this;
return cljs.core.async.impl.protocols.put_BANG_(self__.ch,val,fn1);
}));
(cljs.core.async.t_cljs$core$async26147.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"f","f",43394975,null),new cljs.core.Symbol(null,"ch","ch",1085813622,null),new cljs.core.Symbol(null,"meta26148","meta26148",-1210579185,null)], null);
}));
(cljs.core.async.t_cljs$core$async26147.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async26147.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async26147");
(cljs.core.async.t_cljs$core$async26147.cljs$lang$ctorPrWriter = (function (this__5287__auto__,writer__5288__auto__,opt__5289__auto__){
return cljs.core._write(writer__5288__auto__,"cljs.core.async/t_cljs$core$async26147");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async26147.
*/
cljs.core.async.__GT_t_cljs$core$async26147 = (function cljs$core$async$__GT_t_cljs$core$async26147(f,ch,meta26148){
return (new cljs.core.async.t_cljs$core$async26147(f,ch,meta26148));
});
/**
* Deprecated - this function will be removed. Use transducer instead
*/
cljs.core.async.map_LT_ = (function cljs$core$async$map_LT_(f,ch){
return (new cljs.core.async.t_cljs$core$async26147(f,ch,cljs.core.PersistentArrayMap.EMPTY));
});
/**
* @constructor
* @implements {cljs.core.async.impl.protocols.Channel}
* @implements {cljs.core.async.impl.protocols.WritePort}
* @implements {cljs.core.async.impl.protocols.ReadPort}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async26244 = (function (f,ch,meta26245){
this.f = f;
this.ch = ch;
this.meta26245 = meta26245;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async26244.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_26246,meta26245__$1){
var self__ = this;
var _26246__$1 = this;
return (new cljs.core.async.t_cljs$core$async26244(self__.f,self__.ch,meta26245__$1));
}));
(cljs.core.async.t_cljs$core$async26244.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_26246){
var self__ = this;
var _26246__$1 = this;
return self__.meta26245;
}));
(cljs.core.async.t_cljs$core$async26244.prototype.cljs$core$async$impl$protocols$Channel$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async26244.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.async.impl.protocols.close_BANG_(self__.ch);
}));
(cljs.core.async.t_cljs$core$async26244.prototype.cljs$core$async$impl$protocols$ReadPort$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async26244.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 = (function (_,fn1){
var self__ = this;
var ___$1 = this;
return cljs.core.async.impl.protocols.take_BANG_(self__.ch,fn1);
}));
(cljs.core.async.t_cljs$core$async26244.prototype.cljs$core$async$impl$protocols$WritePort$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async26244.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 = (function (_,val,fn1){
var self__ = this;
var ___$1 = this;
return cljs.core.async.impl.protocols.put_BANG_(self__.ch,(self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(val) : self__.f.call(null, val)),fn1);
}));
(cljs.core.async.t_cljs$core$async26244.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"f","f",43394975,null),new cljs.core.Symbol(null,"ch","ch",1085813622,null),new cljs.core.Symbol(null,"meta26245","meta26245",1783667490,null)], null);
}));
(cljs.core.async.t_cljs$core$async26244.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async26244.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async26244");
(cljs.core.async.t_cljs$core$async26244.cljs$lang$ctorPrWriter = (function (this__5287__auto__,writer__5288__auto__,opt__5289__auto__){
return cljs.core._write(writer__5288__auto__,"cljs.core.async/t_cljs$core$async26244");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async26244.
*/
cljs.core.async.__GT_t_cljs$core$async26244 = (function cljs$core$async$__GT_t_cljs$core$async26244(f,ch,meta26245){
return (new cljs.core.async.t_cljs$core$async26244(f,ch,meta26245));
});
/**
* Deprecated - this function will be removed. Use transducer instead
*/
cljs.core.async.map_GT_ = (function cljs$core$async$map_GT_(f,ch){
return (new cljs.core.async.t_cljs$core$async26244(f,ch,cljs.core.PersistentArrayMap.EMPTY));
});
/**
* @constructor
* @implements {cljs.core.async.impl.protocols.Channel}
* @implements {cljs.core.async.impl.protocols.WritePort}
* @implements {cljs.core.async.impl.protocols.ReadPort}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async26326 = (function (p,ch,meta26327){
this.p = p;
this.ch = ch;
this.meta26327 = meta26327;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async26326.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_26328,meta26327__$1){
var self__ = this;
var _26328__$1 = this;
return (new cljs.core.async.t_cljs$core$async26326(self__.p,self__.ch,meta26327__$1));
}));
(cljs.core.async.t_cljs$core$async26326.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_26328){
var self__ = this;
var _26328__$1 = this;
return self__.meta26327;
}));
(cljs.core.async.t_cljs$core$async26326.prototype.cljs$core$async$impl$protocols$Channel$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async26326.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.async.impl.protocols.close_BANG_(self__.ch);
}));
(cljs.core.async.t_cljs$core$async26326.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.async.impl.protocols.closed_QMARK_(self__.ch);
}));
(cljs.core.async.t_cljs$core$async26326.prototype.cljs$core$async$impl$protocols$ReadPort$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async26326.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 = (function (_,fn1){
var self__ = this;
var ___$1 = this;
return cljs.core.async.impl.protocols.take_BANG_(self__.ch,fn1);
}));
(cljs.core.async.t_cljs$core$async26326.prototype.cljs$core$async$impl$protocols$WritePort$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async26326.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 = (function (_,val,fn1){
var self__ = this;
var ___$1 = this;
if(cljs.core.truth_((self__.p.cljs$core$IFn$_invoke$arity$1 ? self__.p.cljs$core$IFn$_invoke$arity$1(val) : self__.p.call(null, val)))){
return cljs.core.async.impl.protocols.put_BANG_(self__.ch,val,fn1);
} else {
return cljs.core.async.impl.channels.box(cljs.core.not(cljs.core.async.impl.protocols.closed_QMARK_(self__.ch)));
}
}));
(cljs.core.async.t_cljs$core$async26326.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"p","p",1791580836,null),new cljs.core.Symbol(null,"ch","ch",1085813622,null),new cljs.core.Symbol(null,"meta26327","meta26327",1734903850,null)], null);
}));
(cljs.core.async.t_cljs$core$async26326.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async26326.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async26326");
(cljs.core.async.t_cljs$core$async26326.cljs$lang$ctorPrWriter = (function (this__5287__auto__,writer__5288__auto__,opt__5289__auto__){
return cljs.core._write(writer__5288__auto__,"cljs.core.async/t_cljs$core$async26326");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async26326.
*/
cljs.core.async.__GT_t_cljs$core$async26326 = (function cljs$core$async$__GT_t_cljs$core$async26326(p,ch,meta26327){
return (new cljs.core.async.t_cljs$core$async26326(p,ch,meta26327));
});
/**
* Deprecated - this function will be removed. Use transducer instead
*/
cljs.core.async.filter_GT_ = (function cljs$core$async$filter_GT_(p,ch){
return (new cljs.core.async.t_cljs$core$async26326(p,ch,cljs.core.PersistentArrayMap.EMPTY));
});
/**
* Deprecated - this function will be removed. Use transducer instead
*/
cljs.core.async.remove_GT_ = (function cljs$core$async$remove_GT_(p,ch){
return cljs.core.async.filter_GT_(cljs.core.complement(p),ch);
});
/**
* Deprecated - this function will be removed. Use transducer instead
*/
cljs.core.async.filter_LT_ = (function cljs$core$async$filter_LT_(var_args){
var G__26353 = arguments.length;
switch (G__26353) {
case 2:
return cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$2 = (function (p,ch){
return cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3(p,ch,null);
}));
(cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3 = (function (p,ch,buf_or_n){
var out = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);
var c__23318__auto___27565 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__23319__auto__ = (function (){var switch__21868__auto__ = (function (state_26380){
var state_val_26381 = (state_26380[(1)]);
if((state_val_26381 === (7))){
var inst_26376 = (state_26380[(2)]);
var state_26380__$1 = state_26380;
var statearr_26385_27566 = state_26380__$1;
(statearr_26385_27566[(2)] = inst_26376);
(statearr_26385_27566[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26381 === (1))){
var state_26380__$1 = state_26380;
var statearr_26386_27567 = state_26380__$1;
(statearr_26386_27567[(2)] = null);
(statearr_26386_27567[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26381 === (4))){
var inst_26362 = (state_26380[(7)]);
var inst_26362__$1 = (state_26380[(2)]);
var inst_26363 = (inst_26362__$1 == null);
var state_26380__$1 = (function (){var statearr_26392 = state_26380;
(statearr_26392[(7)] = inst_26362__$1);
return statearr_26392;
})();
if(cljs.core.truth_(inst_26363)){
var statearr_26393_27568 = state_26380__$1;
(statearr_26393_27568[(1)] = (5));
} else {
var statearr_26394_27569 = state_26380__$1;
(statearr_26394_27569[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26381 === (6))){
var inst_26362 = (state_26380[(7)]);
var inst_26367 = (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(inst_26362) : p.call(null, inst_26362));
var state_26380__$1 = state_26380;
if(cljs.core.truth_(inst_26367)){
var statearr_26396_27570 = state_26380__$1;
(statearr_26396_27570[(1)] = (8));
} else {
var statearr_26399_27571 = state_26380__$1;
(statearr_26399_27571[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26381 === (3))){
var inst_26378 = (state_26380[(2)]);
var state_26380__$1 = state_26380;
return cljs.core.async.impl.ioc_helpers.return_chan(state_26380__$1,inst_26378);
} else {
if((state_val_26381 === (2))){
var state_26380__$1 = state_26380;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_26380__$1,(4),ch);
} else {
if((state_val_26381 === (11))){
var inst_26370 = (state_26380[(2)]);
var state_26380__$1 = state_26380;
var statearr_26402_27572 = state_26380__$1;
(statearr_26402_27572[(2)] = inst_26370);
(statearr_26402_27572[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26381 === (9))){
var state_26380__$1 = state_26380;
var statearr_26403_27573 = state_26380__$1;
(statearr_26403_27573[(2)] = null);
(statearr_26403_27573[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26381 === (5))){
var inst_26365 = cljs.core.async.close_BANG_(out);
var state_26380__$1 = state_26380;
var statearr_26404_27574 = state_26380__$1;
(statearr_26404_27574[(2)] = inst_26365);
(statearr_26404_27574[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26381 === (10))){
var inst_26373 = (state_26380[(2)]);
var state_26380__$1 = (function (){var statearr_26406 = state_26380;
(statearr_26406[(8)] = inst_26373);
return statearr_26406;
})();
var statearr_26408_27575 = state_26380__$1;
(statearr_26408_27575[(2)] = null);
(statearr_26408_27575[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26381 === (8))){
var inst_26362 = (state_26380[(7)]);
var state_26380__$1 = state_26380;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_26380__$1,(11),out,inst_26362);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__21869__auto__ = null;
var cljs$core$async$state_machine__21869__auto____0 = (function (){
var statearr_26411 = [null,null,null,null,null,null,null,null,null];
(statearr_26411[(0)] = cljs$core$async$state_machine__21869__auto__);
(statearr_26411[(1)] = (1));
return statearr_26411;
});
var cljs$core$async$state_machine__21869__auto____1 = (function (state_26380){
while(true){
var ret_value__21870__auto__ = (function (){try{while(true){
var result__21871__auto__ = switch__21868__auto__(state_26380);
if(cljs.core.keyword_identical_QMARK_(result__21871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__21871__auto__;
}
break;
}
}catch (e26415){var ex__21872__auto__ = e26415;
var statearr_26416_27576 = state_26380;
(statearr_26416_27576[(2)] = ex__21872__auto__);
if(cljs.core.seq((state_26380[(4)]))){
var statearr_26417_27577 = state_26380;
(statearr_26417_27577[(1)] = cljs.core.first((state_26380[(4)])));
} else {
throw ex__21872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__21870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__27578 = state_26380;
state_26380 = G__27578;
continue;
} else {
return ret_value__21870__auto__;
}
break;
}
});
cljs$core$async$state_machine__21869__auto__ = function(state_26380){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__21869__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__21869__auto____1.call(this,state_26380);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__21869__auto____0;
cljs$core$async$state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__21869__auto____1;
return cljs$core$async$state_machine__21869__auto__;
})()
})();
var state__23320__auto__ = (function (){var statearr_26419 = f__23319__auto__();
(statearr_26419[(6)] = c__23318__auto___27565);
return statearr_26419;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__23320__auto__);
}));
return out;
}));
(cljs.core.async.filter_LT_.cljs$lang$maxFixedArity = 3);
/**
* Deprecated - this function will be removed. Use transducer instead
*/
cljs.core.async.remove_LT_ = (function cljs$core$async$remove_LT_(var_args){
var G__26432 = arguments.length;
switch (G__26432) {
case 2:
return cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$2 = (function (p,ch){
return cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$3(p,ch,null);
}));
(cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$3 = (function (p,ch,buf_or_n){
return cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3(cljs.core.complement(p),ch,buf_or_n);
}));
(cljs.core.async.remove_LT_.cljs$lang$maxFixedArity = 3);
cljs.core.async.mapcat_STAR_ = (function cljs$core$async$mapcat_STAR_(f,in$,out){
var c__23318__auto__ = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__23319__auto__ = (function (){var switch__21868__auto__ = (function (state_26526){
var state_val_26527 = (state_26526[(1)]);
if((state_val_26527 === (7))){
var inst_26522 = (state_26526[(2)]);
var state_26526__$1 = state_26526;
var statearr_26528_27593 = state_26526__$1;
(statearr_26528_27593[(2)] = inst_26522);
(statearr_26528_27593[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26527 === (20))){
var inst_26492 = (state_26526[(7)]);
var inst_26503 = (state_26526[(2)]);
var inst_26504 = cljs.core.next(inst_26492);
var inst_26472 = inst_26504;
var inst_26473 = null;
var inst_26474 = (0);
var inst_26475 = (0);
var state_26526__$1 = (function (){var statearr_26539 = state_26526;
(statearr_26539[(8)] = inst_26503);
(statearr_26539[(9)] = inst_26473);
(statearr_26539[(10)] = inst_26472);
(statearr_26539[(11)] = inst_26475);
(statearr_26539[(12)] = inst_26474);
return statearr_26539;
})();
var statearr_26552_27595 = state_26526__$1;
(statearr_26552_27595[(2)] = null);
(statearr_26552_27595[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26527 === (1))){
var state_26526__$1 = state_26526;
var statearr_26559_27596 = state_26526__$1;
(statearr_26559_27596[(2)] = null);
(statearr_26559_27596[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26527 === (4))){
var inst_26454 = (state_26526[(13)]);
var inst_26454__$1 = (state_26526[(2)]);
var inst_26459 = (inst_26454__$1 == null);
var state_26526__$1 = (function (){var statearr_26560 = state_26526;
(statearr_26560[(13)] = inst_26454__$1);
return statearr_26560;
})();
if(cljs.core.truth_(inst_26459)){
var statearr_26561_27597 = state_26526__$1;
(statearr_26561_27597[(1)] = (5));
} else {
var statearr_26566_27598 = state_26526__$1;
(statearr_26566_27598[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26527 === (15))){
var state_26526__$1 = state_26526;
var statearr_26585_27599 = state_26526__$1;
(statearr_26585_27599[(2)] = null);
(statearr_26585_27599[(1)] = (16));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26527 === (21))){
var state_26526__$1 = state_26526;
var statearr_26601_27600 = state_26526__$1;
(statearr_26601_27600[(2)] = null);
(statearr_26601_27600[(1)] = (23));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26527 === (13))){
var inst_26473 = (state_26526[(9)]);
var inst_26472 = (state_26526[(10)]);
var inst_26475 = (state_26526[(11)]);
var inst_26474 = (state_26526[(12)]);
var inst_26483 = (state_26526[(2)]);
var inst_26484 = (inst_26475 + (1));
var tmp26576 = inst_26473;
var tmp26577 = inst_26472;
var tmp26578 = inst_26474;
var inst_26472__$1 = tmp26577;
var inst_26473__$1 = tmp26576;
var inst_26474__$1 = tmp26578;
var inst_26475__$1 = inst_26484;
var state_26526__$1 = (function (){var statearr_26608 = state_26526;
(statearr_26608[(9)] = inst_26473__$1);
(statearr_26608[(10)] = inst_26472__$1);
(statearr_26608[(14)] = inst_26483);
(statearr_26608[(11)] = inst_26475__$1);
(statearr_26608[(12)] = inst_26474__$1);
return statearr_26608;
})();
var statearr_26611_27602 = state_26526__$1;
(statearr_26611_27602[(2)] = null);
(statearr_26611_27602[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26527 === (22))){
var state_26526__$1 = state_26526;
var statearr_26620_27603 = state_26526__$1;
(statearr_26620_27603[(2)] = null);
(statearr_26620_27603[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26527 === (6))){
var inst_26454 = (state_26526[(13)]);
var inst_26470 = (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(inst_26454) : f.call(null, inst_26454));
var inst_26471 = cljs.core.seq(inst_26470);
var inst_26472 = inst_26471;
var inst_26473 = null;
var inst_26474 = (0);
var inst_26475 = (0);
var state_26526__$1 = (function (){var statearr_26627 = state_26526;
(statearr_26627[(9)] = inst_26473);
(statearr_26627[(10)] = inst_26472);
(statearr_26627[(11)] = inst_26475);
(statearr_26627[(12)] = inst_26474);
return statearr_26627;
})();
var statearr_26628_27604 = state_26526__$1;
(statearr_26628_27604[(2)] = null);
(statearr_26628_27604[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26527 === (17))){
var inst_26492 = (state_26526[(7)]);
var inst_26496 = cljs.core.chunk_first(inst_26492);
var inst_26497 = cljs.core.chunk_rest(inst_26492);
var inst_26498 = cljs.core.count(inst_26496);
var inst_26472 = inst_26497;
var inst_26473 = inst_26496;
var inst_26474 = inst_26498;
var inst_26475 = (0);
var state_26526__$1 = (function (){var statearr_26630 = state_26526;
(statearr_26630[(9)] = inst_26473);
(statearr_26630[(10)] = inst_26472);
(statearr_26630[(11)] = inst_26475);
(statearr_26630[(12)] = inst_26474);
return statearr_26630;
})();
var statearr_26644_27605 = state_26526__$1;
(statearr_26644_27605[(2)] = null);
(statearr_26644_27605[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26527 === (3))){
var inst_26524 = (state_26526[(2)]);
var state_26526__$1 = state_26526;
return cljs.core.async.impl.ioc_helpers.return_chan(state_26526__$1,inst_26524);
} else {
if((state_val_26527 === (12))){
var inst_26512 = (state_26526[(2)]);
var state_26526__$1 = state_26526;
var statearr_26645_27606 = state_26526__$1;
(statearr_26645_27606[(2)] = inst_26512);
(statearr_26645_27606[(1)] = (9));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26527 === (2))){
var state_26526__$1 = state_26526;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_26526__$1,(4),in$);
} else {
if((state_val_26527 === (23))){
var inst_26520 = (state_26526[(2)]);
var state_26526__$1 = state_26526;
var statearr_26646_27607 = state_26526__$1;
(statearr_26646_27607[(2)] = inst_26520);
(statearr_26646_27607[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26527 === (19))){
var inst_26507 = (state_26526[(2)]);
var state_26526__$1 = state_26526;
var statearr_26647_27608 = state_26526__$1;
(statearr_26647_27608[(2)] = inst_26507);
(statearr_26647_27608[(1)] = (16));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26527 === (11))){
var inst_26492 = (state_26526[(7)]);
var inst_26472 = (state_26526[(10)]);
var inst_26492__$1 = cljs.core.seq(inst_26472);
var state_26526__$1 = (function (){var statearr_26649 = state_26526;
(statearr_26649[(7)] = inst_26492__$1);
return statearr_26649;
})();
if(inst_26492__$1){
var statearr_26650_27609 = state_26526__$1;
(statearr_26650_27609[(1)] = (14));
} else {
var statearr_26651_27610 = state_26526__$1;
(statearr_26651_27610[(1)] = (15));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26527 === (9))){
var inst_26514 = (state_26526[(2)]);
var inst_26515 = cljs.core.async.impl.protocols.closed_QMARK_(out);
var state_26526__$1 = (function (){var statearr_26652 = state_26526;
(statearr_26652[(15)] = inst_26514);
return statearr_26652;
})();
if(cljs.core.truth_(inst_26515)){
var statearr_26653_27611 = state_26526__$1;
(statearr_26653_27611[(1)] = (21));
} else {
var statearr_26654_27612 = state_26526__$1;
(statearr_26654_27612[(1)] = (22));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26527 === (5))){
var inst_26461 = cljs.core.async.close_BANG_(out);
var state_26526__$1 = state_26526;
var statearr_26656_27613 = state_26526__$1;
(statearr_26656_27613[(2)] = inst_26461);
(statearr_26656_27613[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26527 === (14))){
var inst_26492 = (state_26526[(7)]);
var inst_26494 = cljs.core.chunked_seq_QMARK_(inst_26492);
var state_26526__$1 = state_26526;
if(inst_26494){
var statearr_26657_27614 = state_26526__$1;
(statearr_26657_27614[(1)] = (17));
} else {
var statearr_26658_27615 = state_26526__$1;
(statearr_26658_27615[(1)] = (18));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26527 === (16))){
var inst_26510 = (state_26526[(2)]);
var state_26526__$1 = state_26526;
var statearr_26662_27616 = state_26526__$1;
(statearr_26662_27616[(2)] = inst_26510);
(statearr_26662_27616[(1)] = (12));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26527 === (10))){
var inst_26473 = (state_26526[(9)]);
var inst_26475 = (state_26526[(11)]);
var inst_26481 = cljs.core._nth(inst_26473,inst_26475);
var state_26526__$1 = state_26526;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_26526__$1,(13),out,inst_26481);
} else {
if((state_val_26527 === (18))){
var inst_26492 = (state_26526[(7)]);
var inst_26501 = cljs.core.first(inst_26492);
var state_26526__$1 = state_26526;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_26526__$1,(20),out,inst_26501);
} else {
if((state_val_26527 === (8))){
var inst_26475 = (state_26526[(11)]);
var inst_26474 = (state_26526[(12)]);
var inst_26478 = (inst_26475 < inst_26474);
var inst_26479 = inst_26478;
var state_26526__$1 = state_26526;
if(cljs.core.truth_(inst_26479)){
var statearr_26671_27617 = state_26526__$1;
(statearr_26671_27617[(1)] = (10));
} else {
var statearr_26672_27618 = state_26526__$1;
(statearr_26672_27618[(1)] = (11));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$mapcat_STAR__$_state_machine__21869__auto__ = null;
var cljs$core$async$mapcat_STAR__$_state_machine__21869__auto____0 = (function (){
var statearr_26673 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_26673[(0)] = cljs$core$async$mapcat_STAR__$_state_machine__21869__auto__);
(statearr_26673[(1)] = (1));
return statearr_26673;
});
var cljs$core$async$mapcat_STAR__$_state_machine__21869__auto____1 = (function (state_26526){
while(true){
var ret_value__21870__auto__ = (function (){try{while(true){
var result__21871__auto__ = switch__21868__auto__(state_26526);
if(cljs.core.keyword_identical_QMARK_(result__21871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__21871__auto__;
}
break;
}
}catch (e26674){var ex__21872__auto__ = e26674;
var statearr_26675_27619 = state_26526;
(statearr_26675_27619[(2)] = ex__21872__auto__);
if(cljs.core.seq((state_26526[(4)]))){
var statearr_26676_27620 = state_26526;
(statearr_26676_27620[(1)] = cljs.core.first((state_26526[(4)])));
} else {
throw ex__21872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__21870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__27621 = state_26526;
state_26526 = G__27621;
continue;
} else {
return ret_value__21870__auto__;
}
break;
}
});
cljs$core$async$mapcat_STAR__$_state_machine__21869__auto__ = function(state_26526){
switch(arguments.length){
case 0:
return cljs$core$async$mapcat_STAR__$_state_machine__21869__auto____0.call(this);
case 1:
return cljs$core$async$mapcat_STAR__$_state_machine__21869__auto____1.call(this,state_26526);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$mapcat_STAR__$_state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$mapcat_STAR__$_state_machine__21869__auto____0;
cljs$core$async$mapcat_STAR__$_state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$mapcat_STAR__$_state_machine__21869__auto____1;
return cljs$core$async$mapcat_STAR__$_state_machine__21869__auto__;
})()
})();
var state__23320__auto__ = (function (){var statearr_26682 = f__23319__auto__();
(statearr_26682[(6)] = c__23318__auto__);
return statearr_26682;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__23320__auto__);
}));
return c__23318__auto__;
});
/**
* Deprecated - this function will be removed. Use transducer instead
*/
cljs.core.async.mapcat_LT_ = (function cljs$core$async$mapcat_LT_(var_args){
var G__26686 = arguments.length;
switch (G__26686) {
case 2:
return cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$2 = (function (f,in$){
return cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$3(f,in$,null);
}));
(cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$3 = (function (f,in$,buf_or_n){
var out = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);
cljs.core.async.mapcat_STAR_(f,in$,out);
return out;
}));
(cljs.core.async.mapcat_LT_.cljs$lang$maxFixedArity = 3);
/**
* Deprecated - this function will be removed. Use transducer instead
*/
cljs.core.async.mapcat_GT_ = (function cljs$core$async$mapcat_GT_(var_args){
var G__26691 = arguments.length;
switch (G__26691) {
case 2:
return cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$2 = (function (f,out){
return cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$3(f,out,null);
}));
(cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$3 = (function (f,out,buf_or_n){
var in$ = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);
cljs.core.async.mapcat_STAR_(f,in$,out);
return in$;
}));
(cljs.core.async.mapcat_GT_.cljs$lang$maxFixedArity = 3);
/**
* Deprecated - this function will be removed. Use transducer instead
*/
cljs.core.async.unique = (function cljs$core$async$unique(var_args){
var G__26696 = arguments.length;
switch (G__26696) {
case 1:
return cljs.core.async.unique.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.unique.cljs$core$IFn$_invoke$arity$1 = (function (ch){
return cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2(ch,null);
}));
(cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2 = (function (ch,buf_or_n){
var out = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);
var c__23318__auto___27625 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__23319__auto__ = (function (){var switch__21868__auto__ = (function (state_26726){
var state_val_26727 = (state_26726[(1)]);
if((state_val_26727 === (7))){
var inst_26715 = (state_26726[(2)]);
var state_26726__$1 = state_26726;
var statearr_26731_27626 = state_26726__$1;
(statearr_26731_27626[(2)] = inst_26715);
(statearr_26731_27626[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26727 === (1))){
var inst_26697 = null;
var state_26726__$1 = (function (){var statearr_26732 = state_26726;
(statearr_26732[(7)] = inst_26697);
return statearr_26732;
})();
var statearr_26733_27627 = state_26726__$1;
(statearr_26733_27627[(2)] = null);
(statearr_26733_27627[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26727 === (4))){
var inst_26700 = (state_26726[(8)]);
var inst_26700__$1 = (state_26726[(2)]);
var inst_26701 = (inst_26700__$1 == null);
var inst_26702 = cljs.core.not(inst_26701);
var state_26726__$1 = (function (){var statearr_26740 = state_26726;
(statearr_26740[(8)] = inst_26700__$1);
return statearr_26740;
})();
if(inst_26702){
var statearr_26741_27631 = state_26726__$1;
(statearr_26741_27631[(1)] = (5));
} else {
var statearr_26742_27638 = state_26726__$1;
(statearr_26742_27638[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26727 === (6))){
var state_26726__$1 = state_26726;
var statearr_26743_27639 = state_26726__$1;
(statearr_26743_27639[(2)] = null);
(statearr_26743_27639[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26727 === (3))){
var inst_26717 = (state_26726[(2)]);
var inst_26724 = cljs.core.async.close_BANG_(out);
var state_26726__$1 = (function (){var statearr_26744 = state_26726;
(statearr_26744[(9)] = inst_26717);
return statearr_26744;
})();
return cljs.core.async.impl.ioc_helpers.return_chan(state_26726__$1,inst_26724);
} else {
if((state_val_26727 === (2))){
var state_26726__$1 = state_26726;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_26726__$1,(4),ch);
} else {
if((state_val_26727 === (11))){
var inst_26700 = (state_26726[(8)]);
var inst_26709 = (state_26726[(2)]);
var inst_26697 = inst_26700;
var state_26726__$1 = (function (){var statearr_26745 = state_26726;
(statearr_26745[(10)] = inst_26709);
(statearr_26745[(7)] = inst_26697);
return statearr_26745;
})();
var statearr_26746_27640 = state_26726__$1;
(statearr_26746_27640[(2)] = null);
(statearr_26746_27640[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26727 === (9))){
var inst_26700 = (state_26726[(8)]);
var state_26726__$1 = state_26726;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_26726__$1,(11),out,inst_26700);
} else {
if((state_val_26727 === (5))){
var inst_26700 = (state_26726[(8)]);
var inst_26697 = (state_26726[(7)]);
var inst_26704 = cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(inst_26700,inst_26697);
var state_26726__$1 = state_26726;
if(inst_26704){
var statearr_26748_27645 = state_26726__$1;
(statearr_26748_27645[(1)] = (8));
} else {
var statearr_26749_27646 = state_26726__$1;
(statearr_26749_27646[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26727 === (10))){
var inst_26712 = (state_26726[(2)]);
var state_26726__$1 = state_26726;
var statearr_26750_27647 = state_26726__$1;
(statearr_26750_27647[(2)] = inst_26712);
(statearr_26750_27647[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26727 === (8))){
var inst_26697 = (state_26726[(7)]);
var tmp26747 = inst_26697;
var inst_26697__$1 = tmp26747;
var state_26726__$1 = (function (){var statearr_26751 = state_26726;
(statearr_26751[(7)] = inst_26697__$1);
return statearr_26751;
})();
var statearr_26752_27648 = state_26726__$1;
(statearr_26752_27648[(2)] = null);
(statearr_26752_27648[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__21869__auto__ = null;
var cljs$core$async$state_machine__21869__auto____0 = (function (){
var statearr_26753 = [null,null,null,null,null,null,null,null,null,null,null];
(statearr_26753[(0)] = cljs$core$async$state_machine__21869__auto__);
(statearr_26753[(1)] = (1));
return statearr_26753;
});
var cljs$core$async$state_machine__21869__auto____1 = (function (state_26726){
while(true){
var ret_value__21870__auto__ = (function (){try{while(true){
var result__21871__auto__ = switch__21868__auto__(state_26726);
if(cljs.core.keyword_identical_QMARK_(result__21871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__21871__auto__;
}
break;
}
}catch (e26754){var ex__21872__auto__ = e26754;
var statearr_26755_27649 = state_26726;
(statearr_26755_27649[(2)] = ex__21872__auto__);
if(cljs.core.seq((state_26726[(4)]))){
var statearr_26756_27650 = state_26726;
(statearr_26756_27650[(1)] = cljs.core.first((state_26726[(4)])));
} else {
throw ex__21872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__21870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__27651 = state_26726;
state_26726 = G__27651;
continue;
} else {
return ret_value__21870__auto__;
}
break;
}
});
cljs$core$async$state_machine__21869__auto__ = function(state_26726){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__21869__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__21869__auto____1.call(this,state_26726);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__21869__auto____0;
cljs$core$async$state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__21869__auto____1;
return cljs$core$async$state_machine__21869__auto__;
})()
})();
var state__23320__auto__ = (function (){var statearr_26758 = f__23319__auto__();
(statearr_26758[(6)] = c__23318__auto___27625);
return statearr_26758;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__23320__auto__);
}));
return out;
}));
(cljs.core.async.unique.cljs$lang$maxFixedArity = 2);
/**
* Deprecated - this function will be removed. Use transducer instead
*/
cljs.core.async.partition = (function cljs$core$async$partition(var_args){
var G__26763 = arguments.length;
switch (G__26763) {
case 2:
return cljs.core.async.partition.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.partition.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.partition.cljs$core$IFn$_invoke$arity$2 = (function (n,ch){
return cljs.core.async.partition.cljs$core$IFn$_invoke$arity$3(n,ch,null);
}));
(cljs.core.async.partition.cljs$core$IFn$_invoke$arity$3 = (function (n,ch,buf_or_n){
var out = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);
var c__23318__auto___27658 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__23319__auto__ = (function (){var switch__21868__auto__ = (function (state_26804){
var state_val_26805 = (state_26804[(1)]);
if((state_val_26805 === (7))){
var inst_26800 = (state_26804[(2)]);
var state_26804__$1 = state_26804;
var statearr_26808_27659 = state_26804__$1;
(statearr_26808_27659[(2)] = inst_26800);
(statearr_26808_27659[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26805 === (1))){
var inst_26767 = (new Array(n));
var inst_26768 = inst_26767;
var inst_26769 = (0);
var state_26804__$1 = (function (){var statearr_26810 = state_26804;
(statearr_26810[(7)] = inst_26769);
(statearr_26810[(8)] = inst_26768);
return statearr_26810;
})();
var statearr_26811_27660 = state_26804__$1;
(statearr_26811_27660[(2)] = null);
(statearr_26811_27660[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26805 === (4))){
var inst_26772 = (state_26804[(9)]);
var inst_26772__$1 = (state_26804[(2)]);
var inst_26773 = (inst_26772__$1 == null);
var inst_26774 = cljs.core.not(inst_26773);
var state_26804__$1 = (function (){var statearr_26812 = state_26804;
(statearr_26812[(9)] = inst_26772__$1);
return statearr_26812;
})();
if(inst_26774){
var statearr_26813_27661 = state_26804__$1;
(statearr_26813_27661[(1)] = (5));
} else {
var statearr_26814_27662 = state_26804__$1;
(statearr_26814_27662[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26805 === (15))){
var inst_26794 = (state_26804[(2)]);
var state_26804__$1 = state_26804;
var statearr_26815_27663 = state_26804__$1;
(statearr_26815_27663[(2)] = inst_26794);
(statearr_26815_27663[(1)] = (14));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26805 === (13))){
var state_26804__$1 = state_26804;
var statearr_26819_27665 = state_26804__$1;
(statearr_26819_27665[(2)] = null);
(statearr_26819_27665[(1)] = (14));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26805 === (6))){
var inst_26769 = (state_26804[(7)]);
var inst_26790 = (inst_26769 > (0));
var state_26804__$1 = state_26804;
if(cljs.core.truth_(inst_26790)){
var statearr_26820_27666 = state_26804__$1;
(statearr_26820_27666[(1)] = (12));
} else {
var statearr_26821_27667 = state_26804__$1;
(statearr_26821_27667[(1)] = (13));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26805 === (3))){
var inst_26802 = (state_26804[(2)]);
var state_26804__$1 = state_26804;
return cljs.core.async.impl.ioc_helpers.return_chan(state_26804__$1,inst_26802);
} else {
if((state_val_26805 === (12))){
var inst_26768 = (state_26804[(8)]);
var inst_26792 = cljs.core.vec(inst_26768);
var state_26804__$1 = state_26804;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_26804__$1,(15),out,inst_26792);
} else {
if((state_val_26805 === (2))){
var state_26804__$1 = state_26804;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_26804__$1,(4),ch);
} else {
if((state_val_26805 === (11))){
var inst_26784 = (state_26804[(2)]);
var inst_26785 = (new Array(n));
var inst_26768 = inst_26785;
var inst_26769 = (0);
var state_26804__$1 = (function (){var statearr_26822 = state_26804;
(statearr_26822[(7)] = inst_26769);
(statearr_26822[(8)] = inst_26768);
(statearr_26822[(10)] = inst_26784);
return statearr_26822;
})();
var statearr_26826_27674 = state_26804__$1;
(statearr_26826_27674[(2)] = null);
(statearr_26826_27674[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26805 === (9))){
var inst_26768 = (state_26804[(8)]);
var inst_26782 = cljs.core.vec(inst_26768);
var state_26804__$1 = state_26804;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_26804__$1,(11),out,inst_26782);
} else {
if((state_val_26805 === (5))){
var inst_26769 = (state_26804[(7)]);
var inst_26768 = (state_26804[(8)]);
var inst_26772 = (state_26804[(9)]);
var inst_26777 = (state_26804[(11)]);
var inst_26776 = (inst_26768[inst_26769] = inst_26772);
var inst_26777__$1 = (inst_26769 + (1));
var inst_26778 = (inst_26777__$1 < n);
var state_26804__$1 = (function (){var statearr_26827 = state_26804;
(statearr_26827[(12)] = inst_26776);
(statearr_26827[(11)] = inst_26777__$1);
return statearr_26827;
})();
if(cljs.core.truth_(inst_26778)){
var statearr_26831_27679 = state_26804__$1;
(statearr_26831_27679[(1)] = (8));
} else {
var statearr_26832_27680 = state_26804__$1;
(statearr_26832_27680[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26805 === (14))){
var inst_26797 = (state_26804[(2)]);
var inst_26798 = cljs.core.async.close_BANG_(out);
var state_26804__$1 = (function (){var statearr_26834 = state_26804;
(statearr_26834[(13)] = inst_26797);
return statearr_26834;
})();
var statearr_26835_27681 = state_26804__$1;
(statearr_26835_27681[(2)] = inst_26798);
(statearr_26835_27681[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26805 === (10))){
var inst_26788 = (state_26804[(2)]);
var state_26804__$1 = state_26804;
var statearr_26836_27683 = state_26804__$1;
(statearr_26836_27683[(2)] = inst_26788);
(statearr_26836_27683[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26805 === (8))){
var inst_26768 = (state_26804[(8)]);
var inst_26777 = (state_26804[(11)]);
var tmp26833 = inst_26768;
var inst_26768__$1 = tmp26833;
var inst_26769 = inst_26777;
var state_26804__$1 = (function (){var statearr_26837 = state_26804;
(statearr_26837[(7)] = inst_26769);
(statearr_26837[(8)] = inst_26768__$1);
return statearr_26837;
})();
var statearr_26838_27684 = state_26804__$1;
(statearr_26838_27684[(2)] = null);
(statearr_26838_27684[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__21869__auto__ = null;
var cljs$core$async$state_machine__21869__auto____0 = (function (){
var statearr_26839 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_26839[(0)] = cljs$core$async$state_machine__21869__auto__);
(statearr_26839[(1)] = (1));
return statearr_26839;
});
var cljs$core$async$state_machine__21869__auto____1 = (function (state_26804){
while(true){
var ret_value__21870__auto__ = (function (){try{while(true){
var result__21871__auto__ = switch__21868__auto__(state_26804);
if(cljs.core.keyword_identical_QMARK_(result__21871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__21871__auto__;
}
break;
}
}catch (e26840){var ex__21872__auto__ = e26840;
var statearr_26841_27685 = state_26804;
(statearr_26841_27685[(2)] = ex__21872__auto__);
if(cljs.core.seq((state_26804[(4)]))){
var statearr_26842_27686 = state_26804;
(statearr_26842_27686[(1)] = cljs.core.first((state_26804[(4)])));
} else {
throw ex__21872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__21870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__27687 = state_26804;
state_26804 = G__27687;
continue;
} else {
return ret_value__21870__auto__;
}
break;
}
});
cljs$core$async$state_machine__21869__auto__ = function(state_26804){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__21869__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__21869__auto____1.call(this,state_26804);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__21869__auto____0;
cljs$core$async$state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__21869__auto____1;
return cljs$core$async$state_machine__21869__auto__;
})()
})();
var state__23320__auto__ = (function (){var statearr_26843 = f__23319__auto__();
(statearr_26843[(6)] = c__23318__auto___27658);
return statearr_26843;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__23320__auto__);
}));
return out;
}));
(cljs.core.async.partition.cljs$lang$maxFixedArity = 3);
/**
* Deprecated - this function will be removed. Use transducer instead
*/
cljs.core.async.partition_by = (function cljs$core$async$partition_by(var_args){
var G__26847 = arguments.length;
switch (G__26847) {
case 2:
return cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$2 = (function (f,ch){
return cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$3(f,ch,null);
}));
(cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$3 = (function (f,ch,buf_or_n){
var out = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);
var c__23318__auto___27697 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__23319__auto__ = (function (){var switch__21868__auto__ = (function (state_26893){
var state_val_26894 = (state_26893[(1)]);
if((state_val_26894 === (7))){
var inst_26889 = (state_26893[(2)]);
var state_26893__$1 = state_26893;
var statearr_26895_27698 = state_26893__$1;
(statearr_26895_27698[(2)] = inst_26889);
(statearr_26895_27698[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26894 === (1))){
var inst_26849 = [];
var inst_26850 = inst_26849;
var inst_26851 = new cljs.core.Keyword("cljs.core.async","nothing","cljs.core.async/nothing",-69252123);
var state_26893__$1 = (function (){var statearr_26896 = state_26893;
(statearr_26896[(7)] = inst_26850);
(statearr_26896[(8)] = inst_26851);
return statearr_26896;
})();
var statearr_26897_27699 = state_26893__$1;
(statearr_26897_27699[(2)] = null);
(statearr_26897_27699[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26894 === (4))){
var inst_26854 = (state_26893[(9)]);
var inst_26854__$1 = (state_26893[(2)]);
var inst_26855 = (inst_26854__$1 == null);
var inst_26856 = cljs.core.not(inst_26855);
var state_26893__$1 = (function (){var statearr_26898 = state_26893;
(statearr_26898[(9)] = inst_26854__$1);
return statearr_26898;
})();
if(inst_26856){
var statearr_26899_27700 = state_26893__$1;
(statearr_26899_27700[(1)] = (5));
} else {
var statearr_26900_27701 = state_26893__$1;
(statearr_26900_27701[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26894 === (15))){
var inst_26850 = (state_26893[(7)]);
var inst_26881 = cljs.core.vec(inst_26850);
var state_26893__$1 = state_26893;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_26893__$1,(18),out,inst_26881);
} else {
if((state_val_26894 === (13))){
var inst_26876 = (state_26893[(2)]);
var state_26893__$1 = state_26893;
var statearr_26901_27702 = state_26893__$1;
(statearr_26901_27702[(2)] = inst_26876);
(statearr_26901_27702[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26894 === (6))){
var inst_26850 = (state_26893[(7)]);
var inst_26878 = inst_26850.length;
var inst_26879 = (inst_26878 > (0));
var state_26893__$1 = state_26893;
if(cljs.core.truth_(inst_26879)){
var statearr_26902_27703 = state_26893__$1;
(statearr_26902_27703[(1)] = (15));
} else {
var statearr_26903_27704 = state_26893__$1;
(statearr_26903_27704[(1)] = (16));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26894 === (17))){
var inst_26886 = (state_26893[(2)]);
var inst_26887 = cljs.core.async.close_BANG_(out);
var state_26893__$1 = (function (){var statearr_26904 = state_26893;
(statearr_26904[(10)] = inst_26886);
return statearr_26904;
})();
var statearr_26905_27705 = state_26893__$1;
(statearr_26905_27705[(2)] = inst_26887);
(statearr_26905_27705[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26894 === (3))){
var inst_26891 = (state_26893[(2)]);
var state_26893__$1 = state_26893;
return cljs.core.async.impl.ioc_helpers.return_chan(state_26893__$1,inst_26891);
} else {
if((state_val_26894 === (12))){
var inst_26850 = (state_26893[(7)]);
var inst_26869 = cljs.core.vec(inst_26850);
var state_26893__$1 = state_26893;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_26893__$1,(14),out,inst_26869);
} else {
if((state_val_26894 === (2))){
var state_26893__$1 = state_26893;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_26893__$1,(4),ch);
} else {
if((state_val_26894 === (11))){
var inst_26850 = (state_26893[(7)]);
var inst_26854 = (state_26893[(9)]);
var inst_26858 = (state_26893[(11)]);
var inst_26866 = inst_26850.push(inst_26854);
var tmp26909 = inst_26850;
var inst_26850__$1 = tmp26909;
var inst_26851 = inst_26858;
var state_26893__$1 = (function (){var statearr_26910 = state_26893;
(statearr_26910[(7)] = inst_26850__$1);
(statearr_26910[(8)] = inst_26851);
(statearr_26910[(12)] = inst_26866);
return statearr_26910;
})();
var statearr_26911_27706 = state_26893__$1;
(statearr_26911_27706[(2)] = null);
(statearr_26911_27706[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26894 === (9))){
var inst_26851 = (state_26893[(8)]);
var inst_26862 = cljs.core.keyword_identical_QMARK_(inst_26851,new cljs.core.Keyword("cljs.core.async","nothing","cljs.core.async/nothing",-69252123));
var state_26893__$1 = state_26893;
var statearr_26916_27707 = state_26893__$1;
(statearr_26916_27707[(2)] = inst_26862);
(statearr_26916_27707[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26894 === (5))){
var inst_26859 = (state_26893[(13)]);
var inst_26854 = (state_26893[(9)]);
var inst_26858 = (state_26893[(11)]);
var inst_26851 = (state_26893[(8)]);
var inst_26858__$1 = (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(inst_26854) : f.call(null, inst_26854));
var inst_26859__$1 = cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(inst_26858__$1,inst_26851);
var state_26893__$1 = (function (){var statearr_26917 = state_26893;
(statearr_26917[(13)] = inst_26859__$1);
(statearr_26917[(11)] = inst_26858__$1);
return statearr_26917;
})();
if(inst_26859__$1){
var statearr_26918_27712 = state_26893__$1;
(statearr_26918_27712[(1)] = (8));
} else {
var statearr_26919_27713 = state_26893__$1;
(statearr_26919_27713[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26894 === (14))){
var inst_26854 = (state_26893[(9)]);
var inst_26858 = (state_26893[(11)]);
var inst_26871 = (state_26893[(2)]);
var inst_26872 = [];
var inst_26873 = inst_26872.push(inst_26854);
var inst_26850 = inst_26872;
var inst_26851 = inst_26858;
var state_26893__$1 = (function (){var statearr_26920 = state_26893;
(statearr_26920[(14)] = inst_26873);
(statearr_26920[(7)] = inst_26850);
(statearr_26920[(8)] = inst_26851);
(statearr_26920[(15)] = inst_26871);
return statearr_26920;
})();
var statearr_26921_27714 = state_26893__$1;
(statearr_26921_27714[(2)] = null);
(statearr_26921_27714[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26894 === (16))){
var state_26893__$1 = state_26893;
var statearr_26922_27716 = state_26893__$1;
(statearr_26922_27716[(2)] = null);
(statearr_26922_27716[(1)] = (17));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26894 === (10))){
var inst_26864 = (state_26893[(2)]);
var state_26893__$1 = state_26893;
if(cljs.core.truth_(inst_26864)){
var statearr_26923_27721 = state_26893__$1;
(statearr_26923_27721[(1)] = (11));
} else {
var statearr_26924_27722 = state_26893__$1;
(statearr_26924_27722[(1)] = (12));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26894 === (18))){
var inst_26883 = (state_26893[(2)]);
var state_26893__$1 = state_26893;
var statearr_26925_27723 = state_26893__$1;
(statearr_26925_27723[(2)] = inst_26883);
(statearr_26925_27723[(1)] = (17));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_26894 === (8))){
var inst_26859 = (state_26893[(13)]);
var state_26893__$1 = state_26893;
var statearr_26926_27724 = state_26893__$1;
(statearr_26926_27724[(2)] = inst_26859);
(statearr_26926_27724[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__21869__auto__ = null;
var cljs$core$async$state_machine__21869__auto____0 = (function (){
var statearr_26928 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_26928[(0)] = cljs$core$async$state_machine__21869__auto__);
(statearr_26928[(1)] = (1));
return statearr_26928;
});
var cljs$core$async$state_machine__21869__auto____1 = (function (state_26893){
while(true){
var ret_value__21870__auto__ = (function (){try{while(true){
var result__21871__auto__ = switch__21868__auto__(state_26893);
if(cljs.core.keyword_identical_QMARK_(result__21871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__21871__auto__;
}
break;
}
}catch (e26937){var ex__21872__auto__ = e26937;
var statearr_26941_27725 = state_26893;
(statearr_26941_27725[(2)] = ex__21872__auto__);
if(cljs.core.seq((state_26893[(4)]))){
var statearr_26947_27726 = state_26893;
(statearr_26947_27726[(1)] = cljs.core.first((state_26893[(4)])));
} else {
throw ex__21872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__21870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__27727 = state_26893;
state_26893 = G__27727;
continue;
} else {
return ret_value__21870__auto__;
}
break;
}
});
cljs$core$async$state_machine__21869__auto__ = function(state_26893){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__21869__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__21869__auto____1.call(this,state_26893);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__21869__auto____0;
cljs$core$async$state_machine__21869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__21869__auto____1;
return cljs$core$async$state_machine__21869__auto__;
})()
})();
var state__23320__auto__ = (function (){var statearr_26964 = f__23319__auto__();
(statearr_26964[(6)] = c__23318__auto___27697);
return statearr_26964;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__23320__auto__);
}));
return out;
}));
(cljs.core.async.partition_by.cljs$lang$maxFixedArity = 3);
//# sourceMappingURL=cljs.core.async.js.map