japji/resources/public/js/cljs-runtime/cljs.core.async.js

8804 lines
277 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$async35103 = (function (f,blockable,meta35104){
this.f = f;
this.blockable = blockable;
this.meta35104 = meta35104;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async35103.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_35105,meta35104__$1){
var self__ = this;
var _35105__$1 = this;
return (new cljs.core.async.t_cljs$core$async35103(self__.f,self__.blockable,meta35104__$1));
}));
(cljs.core.async.t_cljs$core$async35103.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_35105){
var self__ = this;
var _35105__$1 = this;
return self__.meta35104;
}));
(cljs.core.async.t_cljs$core$async35103.prototype.cljs$core$async$impl$protocols$Handler$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async35103.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$async35103.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$async35103.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$async35103.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,"meta35104","meta35104",1106271189,null)], null);
}));
(cljs.core.async.t_cljs$core$async35103.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async35103.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async35103");
(cljs.core.async.t_cljs$core$async35103.cljs$lang$ctorPrWriter = (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){
return cljs.core._write(writer__5311__auto__,"cljs.core.async/t_cljs$core$async35103");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async35103.
*/
cljs.core.async.__GT_t_cljs$core$async35103 = (function cljs$core$async$__GT_t_cljs$core$async35103(f,blockable,meta35104){
return (new cljs.core.async.t_cljs$core$async35103(f,blockable,meta35104));
});
cljs.core.async.fn_handler = (function cljs$core$async$fn_handler(var_args){
var G__35100 = arguments.length;
switch (G__35100) {
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$async35103(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__35129 = arguments.length;
switch (G__35129) {
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, then return the value (or nil) forever. 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__35152 = arguments.length;
switch (G__35152) {
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__35173 = arguments.length;
switch (G__35173) {
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_37434 = 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_37434) : fn1.call(null,val_37434));
} else {
cljs.core.async.impl.dispatch.run((function (){
return (fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(val_37434) : fn1.call(null,val_37434));
}));
}
} 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__35184 = arguments.length;
switch (G__35184) {
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__5821__auto__ = cljs.core.async.impl.protocols.put_BANG_(port,val,cljs.core.async.fhnop);
if(cljs.core.truth_(temp__5821__auto__)){
var ret = temp__5821__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__5821__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__5821__auto__)){
var retb = temp__5821__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__5616__auto___37441 = n;
var x_37442 = (0);
while(true){
if((x_37442 < n__5616__auto___37441)){
(a[x_37442] = x_37442);
var G__37443 = (x_37442 + (1));
x_37442 = G__37443;
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$async35214 = (function (flag,meta35215){
this.flag = flag;
this.meta35215 = meta35215;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async35214.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_35216,meta35215__$1){
var self__ = this;
var _35216__$1 = this;
return (new cljs.core.async.t_cljs$core$async35214(self__.flag,meta35215__$1));
}));
(cljs.core.async.t_cljs$core$async35214.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_35216){
var self__ = this;
var _35216__$1 = this;
return self__.meta35215;
}));
(cljs.core.async.t_cljs$core$async35214.prototype.cljs$core$async$impl$protocols$Handler$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async35214.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$async35214.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$async35214.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$async35214.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,"meta35215","meta35215",229705246,null)], null);
}));
(cljs.core.async.t_cljs$core$async35214.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async35214.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async35214");
(cljs.core.async.t_cljs$core$async35214.cljs$lang$ctorPrWriter = (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){
return cljs.core._write(writer__5311__auto__,"cljs.core.async/t_cljs$core$async35214");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async35214.
*/
cljs.core.async.__GT_t_cljs$core$async35214 = (function cljs$core$async$__GT_t_cljs$core$async35214(flag,meta35215){
return (new cljs.core.async.t_cljs$core$async35214(flag,meta35215));
});
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$async35214(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$async35220 = (function (flag,cb,meta35221){
this.flag = flag;
this.cb = cb;
this.meta35221 = meta35221;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async35220.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_35222,meta35221__$1){
var self__ = this;
var _35222__$1 = this;
return (new cljs.core.async.t_cljs$core$async35220(self__.flag,self__.cb,meta35221__$1));
}));
(cljs.core.async.t_cljs$core$async35220.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_35222){
var self__ = this;
var _35222__$1 = this;
return self__.meta35221;
}));
(cljs.core.async.t_cljs$core$async35220.prototype.cljs$core$async$impl$protocols$Handler$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async35220.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$async35220.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$async35220.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$async35220.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,"meta35221","meta35221",1352133137,null)], null);
}));
(cljs.core.async.t_cljs$core$async35220.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async35220.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async35220");
(cljs.core.async.t_cljs$core$async35220.cljs$lang$ctorPrWriter = (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){
return cljs.core._write(writer__5311__auto__,"cljs.core.async/t_cljs$core$async35220");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async35220.
*/
cljs.core.async.__GT_t_cljs$core$async35220 = (function cljs$core$async$__GT_t_cljs$core$async35220(flag,cb,meta35221){
return (new cljs.core.async.t_cljs$core$async35220(flag,cb,meta35221));
});
cljs.core.async.alt_handler = (function cljs$core$async$alt_handler(flag,cb){
return (new cljs.core.async.t_cljs$core$async35220(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 ports__$1 = cljs.core.vec(ports);
var n = cljs.core.count(ports__$1);
var _ = (function (){var i = (0);
while(true){
if((i < n)){
var port_37445 = cljs.core.nth.cljs$core$IFn$_invoke$arity$2(ports__$1,i);
if(cljs.core.vector_QMARK_(port_37445)){
if((!(((port_37445.cljs$core$IFn$_invoke$arity$1 ? port_37445.cljs$core$IFn$_invoke$arity$1((1)) : port_37445.call(null,(1))) == null)))){
} else {
throw (new Error(["Assert failed: ","can't put nil on channel","\n","(some? (port 1))"].join('')));
}
} else {
}
var G__37449 = (i + (1));
i = G__37449;
continue;
} else {
return null;
}
break;
}
})();
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__$1,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,ports__$1,n,_,idxs,priority){
return (function (p1__35246_SHARP_){
var G__35250 = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p1__35246_SHARP_,wport], null);
return (fret.cljs$core$IFn$_invoke$arity$1 ? fret.cljs$core$IFn$_invoke$arity$1(G__35250) : fret.call(null,G__35250));
});})(i,val,idx,port,wport,flag,ports__$1,n,_,idxs,priority))
));
})():cljs.core.async.impl.protocols.take_BANG_(port,cljs.core.async.alt_handler(flag,((function (i,idx,port,wport,flag,ports__$1,n,_,idxs,priority){
return (function (p1__35247_SHARP_){
var G__35251 = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p1__35247_SHARP_,port], null);
return (fret.cljs$core$IFn$_invoke$arity$1 ? fret.cljs$core$IFn$_invoke$arity$1(G__35251) : fret.call(null,G__35251));
});})(i,idx,port,wport,flag,ports__$1,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__5025__auto__ = wport;
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return port;
}
})()], null));
} else {
var G__37450 = (i + (1));
i = G__37450;
continue;
}
} else {
return null;
}
break;
}
})();
var or__5025__auto__ = ret;
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
if(cljs.core.contains_QMARK_(opts,new cljs.core.Keyword(null,"default","default",-1987822328))){
var temp__5823__auto__ = (function (){var and__5023__auto__ = flag.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null);
if(cljs.core.truth_(and__5023__auto__)){
return flag.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);
} else {
return and__5023__auto__;
}
})();
if(cljs.core.truth_(temp__5823__auto__)){
var got = temp__5823__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__5755__auto__ = [];
var len__5749__auto___37451 = arguments.length;
var i__5750__auto___37452 = (0);
while(true){
if((i__5750__auto___37452 < len__5749__auto___37451)){
args__5755__auto__.push((arguments[i__5750__auto___37452]));
var G__37453 = (i__5750__auto___37452 + (1));
i__5750__auto___37452 = G__37453;
continue;
} else {
}
break;
}
var argseq__5756__auto__ = ((((1) < args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);
return cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);
});
(cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (ports,p__35278){
var map__35280 = p__35278;
var map__35280__$1 = cljs.core.__destructure_map(map__35280);
var opts = map__35280__$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 (seq35263){
var G__35265 = cljs.core.first(seq35263);
var seq35263__$1 = cljs.core.next(seq35263);
var self__5734__auto__ = this;
return self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__35265,seq35263__$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__35286 = arguments.length;
switch (G__35286) {
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__34994__auto___37462 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__34995__auto__ = (function (){var switch__34868__auto__ = (function (state_35391){
var state_val_35392 = (state_35391[(1)]);
if((state_val_35392 === (7))){
var inst_35385 = (state_35391[(2)]);
var state_35391__$1 = state_35391;
var statearr_35394_37466 = state_35391__$1;
(statearr_35394_37466[(2)] = inst_35385);
(statearr_35394_37466[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35392 === (1))){
var state_35391__$1 = state_35391;
var statearr_35395_37467 = state_35391__$1;
(statearr_35395_37467[(2)] = null);
(statearr_35395_37467[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35392 === (4))){
var inst_35355 = (state_35391[(7)]);
var inst_35355__$1 = (state_35391[(2)]);
var inst_35357 = (inst_35355__$1 == null);
var state_35391__$1 = (function (){var statearr_35396 = state_35391;
(statearr_35396[(7)] = inst_35355__$1);
return statearr_35396;
})();
if(cljs.core.truth_(inst_35357)){
var statearr_35397_37468 = state_35391__$1;
(statearr_35397_37468[(1)] = (5));
} else {
var statearr_35398_37469 = state_35391__$1;
(statearr_35398_37469[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35392 === (13))){
var state_35391__$1 = state_35391;
var statearr_35399_37470 = state_35391__$1;
(statearr_35399_37470[(2)] = null);
(statearr_35399_37470[(1)] = (14));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35392 === (6))){
var inst_35355 = (state_35391[(7)]);
var state_35391__$1 = state_35391;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_35391__$1,(11),to,inst_35355);
} else {
if((state_val_35392 === (3))){
var inst_35388 = (state_35391[(2)]);
var state_35391__$1 = state_35391;
return cljs.core.async.impl.ioc_helpers.return_chan(state_35391__$1,inst_35388);
} else {
if((state_val_35392 === (12))){
var state_35391__$1 = state_35391;
var statearr_35401_37471 = state_35391__$1;
(statearr_35401_37471[(2)] = null);
(statearr_35401_37471[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35392 === (2))){
var state_35391__$1 = state_35391;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_35391__$1,(4),from);
} else {
if((state_val_35392 === (11))){
var inst_35378 = (state_35391[(2)]);
var state_35391__$1 = state_35391;
if(cljs.core.truth_(inst_35378)){
var statearr_35402_37472 = state_35391__$1;
(statearr_35402_37472[(1)] = (12));
} else {
var statearr_35403_37473 = state_35391__$1;
(statearr_35403_37473[(1)] = (13));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35392 === (9))){
var state_35391__$1 = state_35391;
var statearr_35404_37474 = state_35391__$1;
(statearr_35404_37474[(2)] = null);
(statearr_35404_37474[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35392 === (5))){
var state_35391__$1 = state_35391;
if(cljs.core.truth_(close_QMARK_)){
var statearr_35405_37475 = state_35391__$1;
(statearr_35405_37475[(1)] = (8));
} else {
var statearr_35406_37476 = state_35391__$1;
(statearr_35406_37476[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35392 === (14))){
var inst_35383 = (state_35391[(2)]);
var state_35391__$1 = state_35391;
var statearr_35407_37477 = state_35391__$1;
(statearr_35407_37477[(2)] = inst_35383);
(statearr_35407_37477[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35392 === (10))){
var inst_35375 = (state_35391[(2)]);
var state_35391__$1 = state_35391;
var statearr_35408_37478 = state_35391__$1;
(statearr_35408_37478[(2)] = inst_35375);
(statearr_35408_37478[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35392 === (8))){
var inst_35368 = cljs.core.async.close_BANG_(to);
var state_35391__$1 = state_35391;
var statearr_35409_37479 = state_35391__$1;
(statearr_35409_37479[(2)] = inst_35368);
(statearr_35409_37479[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__34869__auto__ = null;
var cljs$core$async$state_machine__34869__auto____0 = (function (){
var statearr_35411 = [null,null,null,null,null,null,null,null];
(statearr_35411[(0)] = cljs$core$async$state_machine__34869__auto__);
(statearr_35411[(1)] = (1));
return statearr_35411;
});
var cljs$core$async$state_machine__34869__auto____1 = (function (state_35391){
while(true){
var ret_value__34870__auto__ = (function (){try{while(true){
var result__34871__auto__ = switch__34868__auto__(state_35391);
if(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__34871__auto__;
}
break;
}
}catch (e35412){var ex__34872__auto__ = e35412;
var statearr_35413_37480 = state_35391;
(statearr_35413_37480[(2)] = ex__34872__auto__);
if(cljs.core.seq((state_35391[(4)]))){
var statearr_35414_37481 = state_35391;
(statearr_35414_37481[(1)] = cljs.core.first((state_35391[(4)])));
} else {
throw ex__34872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__37482 = state_35391;
state_35391 = G__37482;
continue;
} else {
return ret_value__34870__auto__;
}
break;
}
});
cljs$core$async$state_machine__34869__auto__ = function(state_35391){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__34869__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__34869__auto____1.call(this,state_35391);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__34869__auto____0;
cljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__34869__auto____1;
return cljs$core$async$state_machine__34869__auto__;
})()
})();
var state__34996__auto__ = (function (){var statearr_35415 = f__34995__auto__();
(statearr_35415[(6)] = c__34994__auto___37462);
return statearr_35415;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__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__35417){
var vec__35418 = p__35417;
var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__35418,(0),null);
var p = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__35418,(1),null);
var job = vec__35418;
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__34994__auto___37487 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__34995__auto__ = (function (){var switch__34868__auto__ = (function (state_35425){
var state_val_35426 = (state_35425[(1)]);
if((state_val_35426 === (1))){
var state_35425__$1 = state_35425;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_35425__$1,(2),res,v);
} else {
if((state_val_35426 === (2))){
var inst_35422 = (state_35425[(2)]);
var inst_35423 = cljs.core.async.close_BANG_(res);
var state_35425__$1 = (function (){var statearr_35427 = state_35425;
(statearr_35427[(7)] = inst_35422);
return statearr_35427;
})();
return cljs.core.async.impl.ioc_helpers.return_chan(state_35425__$1,inst_35423);
} else {
return null;
}
}
});
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0 = (function (){
var statearr_35428 = [null,null,null,null,null,null,null,null];
(statearr_35428[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__);
(statearr_35428[(1)] = (1));
return statearr_35428;
});
var cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1 = (function (state_35425){
while(true){
var ret_value__34870__auto__ = (function (){try{while(true){
var result__34871__auto__ = switch__34868__auto__(state_35425);
if(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__34871__auto__;
}
break;
}
}catch (e35429){var ex__34872__auto__ = e35429;
var statearr_35430_37489 = state_35425;
(statearr_35430_37489[(2)] = ex__34872__auto__);
if(cljs.core.seq((state_35425[(4)]))){
var statearr_35432_37490 = state_35425;
(statearr_35432_37490[(1)] = cljs.core.first((state_35425[(4)])));
} else {
throw ex__34872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__37491 = state_35425;
state_35425 = G__37491;
continue;
} else {
return ret_value__34870__auto__;
}
break;
}
});
cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__ = function(state_35425){
switch(arguments.length){
case 0:
return cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0.call(this);
case 1:
return cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1.call(this,state_35425);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0;
cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1;
return cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__;
})()
})();
var state__34996__auto__ = (function (){var statearr_35433 = f__34995__auto__();
(statearr_35433[(6)] = c__34994__auto___37487);
return statearr_35433;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);
}));
cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(p,res);
return true;
}
});
var async = (function (p__35434){
var vec__35435 = p__35434;
var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__35435,(0),null);
var p = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__35435,(1),null);
var job = vec__35435;
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__5616__auto___37492 = n;
var __37493 = (0);
while(true){
if((__37493 < n__5616__auto___37492)){
var G__35438_37494 = type;
var G__35438_37495__$1 = (((G__35438_37494 instanceof cljs.core.Keyword))?G__35438_37494.fqn:null);
switch (G__35438_37495__$1) {
case "compute":
var c__34994__auto___37497 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run(((function (__37493,c__34994__auto___37497,G__35438_37494,G__35438_37495__$1,n__5616__auto___37492,jobs,results,process__$1,async){
return (function (){
var f__34995__auto__ = (function (){var switch__34868__auto__ = ((function (__37493,c__34994__auto___37497,G__35438_37494,G__35438_37495__$1,n__5616__auto___37492,jobs,results,process__$1,async){
return (function (state_35452){
var state_val_35453 = (state_35452[(1)]);
if((state_val_35453 === (1))){
var state_35452__$1 = state_35452;
var statearr_35454_37498 = state_35452__$1;
(statearr_35454_37498[(2)] = null);
(statearr_35454_37498[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35453 === (2))){
var state_35452__$1 = state_35452;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_35452__$1,(4),jobs);
} else {
if((state_val_35453 === (3))){
var inst_35450 = (state_35452[(2)]);
var state_35452__$1 = state_35452;
return cljs.core.async.impl.ioc_helpers.return_chan(state_35452__$1,inst_35450);
} else {
if((state_val_35453 === (4))){
var inst_35442 = (state_35452[(2)]);
var inst_35443 = process__$1(inst_35442);
var state_35452__$1 = state_35452;
if(cljs.core.truth_(inst_35443)){
var statearr_35455_37499 = state_35452__$1;
(statearr_35455_37499[(1)] = (5));
} else {
var statearr_35456_37500 = state_35452__$1;
(statearr_35456_37500[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35453 === (5))){
var state_35452__$1 = state_35452;
var statearr_35457_37501 = state_35452__$1;
(statearr_35457_37501[(2)] = null);
(statearr_35457_37501[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35453 === (6))){
var state_35452__$1 = state_35452;
var statearr_35458_37502 = state_35452__$1;
(statearr_35458_37502[(2)] = null);
(statearr_35458_37502[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35453 === (7))){
var inst_35448 = (state_35452[(2)]);
var state_35452__$1 = state_35452;
var statearr_35459_37503 = state_35452__$1;
(statearr_35459_37503[(2)] = inst_35448);
(statearr_35459_37503[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
});})(__37493,c__34994__auto___37497,G__35438_37494,G__35438_37495__$1,n__5616__auto___37492,jobs,results,process__$1,async))
;
return ((function (__37493,switch__34868__auto__,c__34994__auto___37497,G__35438_37494,G__35438_37495__$1,n__5616__auto___37492,jobs,results,process__$1,async){
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0 = (function (){
var statearr_35461 = [null,null,null,null,null,null,null];
(statearr_35461[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__);
(statearr_35461[(1)] = (1));
return statearr_35461;
});
var cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1 = (function (state_35452){
while(true){
var ret_value__34870__auto__ = (function (){try{while(true){
var result__34871__auto__ = switch__34868__auto__(state_35452);
if(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__34871__auto__;
}
break;
}
}catch (e35462){var ex__34872__auto__ = e35462;
var statearr_35463_37504 = state_35452;
(statearr_35463_37504[(2)] = ex__34872__auto__);
if(cljs.core.seq((state_35452[(4)]))){
var statearr_35464_37505 = state_35452;
(statearr_35464_37505[(1)] = cljs.core.first((state_35452[(4)])));
} else {
throw ex__34872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__37506 = state_35452;
state_35452 = G__37506;
continue;
} else {
return ret_value__34870__auto__;
}
break;
}
});
cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__ = function(state_35452){
switch(arguments.length){
case 0:
return cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0.call(this);
case 1:
return cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1.call(this,state_35452);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0;
cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1;
return cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__;
})()
;})(__37493,switch__34868__auto__,c__34994__auto___37497,G__35438_37494,G__35438_37495__$1,n__5616__auto___37492,jobs,results,process__$1,async))
})();
var state__34996__auto__ = (function (){var statearr_35465 = f__34995__auto__();
(statearr_35465[(6)] = c__34994__auto___37497);
return statearr_35465;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);
});})(__37493,c__34994__auto___37497,G__35438_37494,G__35438_37495__$1,n__5616__auto___37492,jobs,results,process__$1,async))
);
break;
case "async":
var c__34994__auto___37507 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run(((function (__37493,c__34994__auto___37507,G__35438_37494,G__35438_37495__$1,n__5616__auto___37492,jobs,results,process__$1,async){
return (function (){
var f__34995__auto__ = (function (){var switch__34868__auto__ = ((function (__37493,c__34994__auto___37507,G__35438_37494,G__35438_37495__$1,n__5616__auto___37492,jobs,results,process__$1,async){
return (function (state_35478){
var state_val_35479 = (state_35478[(1)]);
if((state_val_35479 === (1))){
var state_35478__$1 = state_35478;
var statearr_35481_37508 = state_35478__$1;
(statearr_35481_37508[(2)] = null);
(statearr_35481_37508[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35479 === (2))){
var state_35478__$1 = state_35478;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_35478__$1,(4),jobs);
} else {
if((state_val_35479 === (3))){
var inst_35476 = (state_35478[(2)]);
var state_35478__$1 = state_35478;
return cljs.core.async.impl.ioc_helpers.return_chan(state_35478__$1,inst_35476);
} else {
if((state_val_35479 === (4))){
var inst_35468 = (state_35478[(2)]);
var inst_35469 = async(inst_35468);
var state_35478__$1 = state_35478;
if(cljs.core.truth_(inst_35469)){
var statearr_35482_37509 = state_35478__$1;
(statearr_35482_37509[(1)] = (5));
} else {
var statearr_35483_37510 = state_35478__$1;
(statearr_35483_37510[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35479 === (5))){
var state_35478__$1 = state_35478;
var statearr_35484_37511 = state_35478__$1;
(statearr_35484_37511[(2)] = null);
(statearr_35484_37511[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35479 === (6))){
var state_35478__$1 = state_35478;
var statearr_35485_37512 = state_35478__$1;
(statearr_35485_37512[(2)] = null);
(statearr_35485_37512[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35479 === (7))){
var inst_35474 = (state_35478[(2)]);
var state_35478__$1 = state_35478;
var statearr_35486_37513 = state_35478__$1;
(statearr_35486_37513[(2)] = inst_35474);
(statearr_35486_37513[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
});})(__37493,c__34994__auto___37507,G__35438_37494,G__35438_37495__$1,n__5616__auto___37492,jobs,results,process__$1,async))
;
return ((function (__37493,switch__34868__auto__,c__34994__auto___37507,G__35438_37494,G__35438_37495__$1,n__5616__auto___37492,jobs,results,process__$1,async){
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0 = (function (){
var statearr_35487 = [null,null,null,null,null,null,null];
(statearr_35487[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__);
(statearr_35487[(1)] = (1));
return statearr_35487;
});
var cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1 = (function (state_35478){
while(true){
var ret_value__34870__auto__ = (function (){try{while(true){
var result__34871__auto__ = switch__34868__auto__(state_35478);
if(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__34871__auto__;
}
break;
}
}catch (e35488){var ex__34872__auto__ = e35488;
var statearr_35489_37515 = state_35478;
(statearr_35489_37515[(2)] = ex__34872__auto__);
if(cljs.core.seq((state_35478[(4)]))){
var statearr_35490_37516 = state_35478;
(statearr_35490_37516[(1)] = cljs.core.first((state_35478[(4)])));
} else {
throw ex__34872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__37517 = state_35478;
state_35478 = G__37517;
continue;
} else {
return ret_value__34870__auto__;
}
break;
}
});
cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__ = function(state_35478){
switch(arguments.length){
case 0:
return cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0.call(this);
case 1:
return cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1.call(this,state_35478);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0;
cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1;
return cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__;
})()
;})(__37493,switch__34868__auto__,c__34994__auto___37507,G__35438_37494,G__35438_37495__$1,n__5616__auto___37492,jobs,results,process__$1,async))
})();
var state__34996__auto__ = (function (){var statearr_35492 = f__34995__auto__();
(statearr_35492[(6)] = c__34994__auto___37507);
return statearr_35492;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);
});})(__37493,c__34994__auto___37507,G__35438_37494,G__35438_37495__$1,n__5616__auto___37492,jobs,results,process__$1,async))
);
break;
default:
throw (new Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__35438_37495__$1)].join('')));
}
var G__37518 = (__37493 + (1));
__37493 = G__37518;
continue;
} else {
}
break;
}
var c__34994__auto___37519 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__34995__auto__ = (function (){var switch__34868__auto__ = (function (state_35514){
var state_val_35515 = (state_35514[(1)]);
if((state_val_35515 === (7))){
var inst_35510 = (state_35514[(2)]);
var state_35514__$1 = state_35514;
var statearr_35517_37520 = state_35514__$1;
(statearr_35517_37520[(2)] = inst_35510);
(statearr_35517_37520[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35515 === (1))){
var state_35514__$1 = state_35514;
var statearr_35518_37521 = state_35514__$1;
(statearr_35518_37521[(2)] = null);
(statearr_35518_37521[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35515 === (4))){
var inst_35495 = (state_35514[(7)]);
var inst_35495__$1 = (state_35514[(2)]);
var inst_35496 = (inst_35495__$1 == null);
var state_35514__$1 = (function (){var statearr_35519 = state_35514;
(statearr_35519[(7)] = inst_35495__$1);
return statearr_35519;
})();
if(cljs.core.truth_(inst_35496)){
var statearr_35521_37522 = state_35514__$1;
(statearr_35521_37522[(1)] = (5));
} else {
var statearr_35522_37523 = state_35514__$1;
(statearr_35522_37523[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35515 === (6))){
var inst_35495 = (state_35514[(7)]);
var inst_35500 = (state_35514[(8)]);
var inst_35500__$1 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
var inst_35501 = cljs.core.PersistentVector.EMPTY_NODE;
var inst_35502 = [inst_35495,inst_35500__$1];
var inst_35503 = (new cljs.core.PersistentVector(null,2,(5),inst_35501,inst_35502,null));
var state_35514__$1 = (function (){var statearr_35523 = state_35514;
(statearr_35523[(8)] = inst_35500__$1);
return statearr_35523;
})();
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_35514__$1,(8),jobs,inst_35503);
} else {
if((state_val_35515 === (3))){
var inst_35512 = (state_35514[(2)]);
var state_35514__$1 = state_35514;
return cljs.core.async.impl.ioc_helpers.return_chan(state_35514__$1,inst_35512);
} else {
if((state_val_35515 === (2))){
var state_35514__$1 = state_35514;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_35514__$1,(4),from);
} else {
if((state_val_35515 === (9))){
var inst_35507 = (state_35514[(2)]);
var state_35514__$1 = (function (){var statearr_35524 = state_35514;
(statearr_35524[(9)] = inst_35507);
return statearr_35524;
})();
var statearr_35525_37525 = state_35514__$1;
(statearr_35525_37525[(2)] = null);
(statearr_35525_37525[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35515 === (5))){
var inst_35498 = cljs.core.async.close_BANG_(jobs);
var state_35514__$1 = state_35514;
var statearr_35526_37526 = state_35514__$1;
(statearr_35526_37526[(2)] = inst_35498);
(statearr_35526_37526[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35515 === (8))){
var inst_35500 = (state_35514[(8)]);
var inst_35505 = (state_35514[(2)]);
var state_35514__$1 = (function (){var statearr_35527 = state_35514;
(statearr_35527[(10)] = inst_35505);
return statearr_35527;
})();
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_35514__$1,(9),results,inst_35500);
} else {
return null;
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0 = (function (){
var statearr_35529 = [null,null,null,null,null,null,null,null,null,null,null];
(statearr_35529[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__);
(statearr_35529[(1)] = (1));
return statearr_35529;
});
var cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1 = (function (state_35514){
while(true){
var ret_value__34870__auto__ = (function (){try{while(true){
var result__34871__auto__ = switch__34868__auto__(state_35514);
if(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__34871__auto__;
}
break;
}
}catch (e35530){var ex__34872__auto__ = e35530;
var statearr_35531_37528 = state_35514;
(statearr_35531_37528[(2)] = ex__34872__auto__);
if(cljs.core.seq((state_35514[(4)]))){
var statearr_35532_37529 = state_35514;
(statearr_35532_37529[(1)] = cljs.core.first((state_35514[(4)])));
} else {
throw ex__34872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__37530 = state_35514;
state_35514 = G__37530;
continue;
} else {
return ret_value__34870__auto__;
}
break;
}
});
cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__ = function(state_35514){
switch(arguments.length){
case 0:
return cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0.call(this);
case 1:
return cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1.call(this,state_35514);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0;
cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1;
return cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__;
})()
})();
var state__34996__auto__ = (function (){var statearr_35533 = f__34995__auto__();
(statearr_35533[(6)] = c__34994__auto___37519);
return statearr_35533;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);
}));
var c__34994__auto__ = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__34995__auto__ = (function (){var switch__34868__auto__ = (function (state_35572){
var state_val_35573 = (state_35572[(1)]);
if((state_val_35573 === (7))){
var inst_35568 = (state_35572[(2)]);
var state_35572__$1 = state_35572;
var statearr_35575_37531 = state_35572__$1;
(statearr_35575_37531[(2)] = inst_35568);
(statearr_35575_37531[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35573 === (20))){
var state_35572__$1 = state_35572;
var statearr_35576_37532 = state_35572__$1;
(statearr_35576_37532[(2)] = null);
(statearr_35576_37532[(1)] = (21));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35573 === (1))){
var state_35572__$1 = state_35572;
var statearr_35577_37533 = state_35572__$1;
(statearr_35577_37533[(2)] = null);
(statearr_35577_37533[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35573 === (4))){
var inst_35537 = (state_35572[(7)]);
var inst_35537__$1 = (state_35572[(2)]);
var inst_35538 = (inst_35537__$1 == null);
var state_35572__$1 = (function (){var statearr_35578 = state_35572;
(statearr_35578[(7)] = inst_35537__$1);
return statearr_35578;
})();
if(cljs.core.truth_(inst_35538)){
var statearr_35579_37534 = state_35572__$1;
(statearr_35579_37534[(1)] = (5));
} else {
var statearr_35580_37535 = state_35572__$1;
(statearr_35580_37535[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35573 === (15))){
var inst_35550 = (state_35572[(8)]);
var state_35572__$1 = state_35572;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_35572__$1,(18),to,inst_35550);
} else {
if((state_val_35573 === (21))){
var inst_35563 = (state_35572[(2)]);
var state_35572__$1 = state_35572;
var statearr_35581_37536 = state_35572__$1;
(statearr_35581_37536[(2)] = inst_35563);
(statearr_35581_37536[(1)] = (13));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35573 === (13))){
var inst_35565 = (state_35572[(2)]);
var state_35572__$1 = (function (){var statearr_35583 = state_35572;
(statearr_35583[(9)] = inst_35565);
return statearr_35583;
})();
var statearr_35584_37537 = state_35572__$1;
(statearr_35584_37537[(2)] = null);
(statearr_35584_37537[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35573 === (6))){
var inst_35537 = (state_35572[(7)]);
var state_35572__$1 = state_35572;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_35572__$1,(11),inst_35537);
} else {
if((state_val_35573 === (17))){
var inst_35558 = (state_35572[(2)]);
var state_35572__$1 = state_35572;
if(cljs.core.truth_(inst_35558)){
var statearr_35585_37538 = state_35572__$1;
(statearr_35585_37538[(1)] = (19));
} else {
var statearr_35586_37539 = state_35572__$1;
(statearr_35586_37539[(1)] = (20));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35573 === (3))){
var inst_35570 = (state_35572[(2)]);
var state_35572__$1 = state_35572;
return cljs.core.async.impl.ioc_helpers.return_chan(state_35572__$1,inst_35570);
} else {
if((state_val_35573 === (12))){
var inst_35547 = (state_35572[(10)]);
var state_35572__$1 = state_35572;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_35572__$1,(14),inst_35547);
} else {
if((state_val_35573 === (2))){
var state_35572__$1 = state_35572;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_35572__$1,(4),results);
} else {
if((state_val_35573 === (19))){
var state_35572__$1 = state_35572;
var statearr_35587_37540 = state_35572__$1;
(statearr_35587_37540[(2)] = null);
(statearr_35587_37540[(1)] = (12));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35573 === (11))){
var inst_35547 = (state_35572[(2)]);
var state_35572__$1 = (function (){var statearr_35588 = state_35572;
(statearr_35588[(10)] = inst_35547);
return statearr_35588;
})();
var statearr_35589_37541 = state_35572__$1;
(statearr_35589_37541[(2)] = null);
(statearr_35589_37541[(1)] = (12));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35573 === (9))){
var state_35572__$1 = state_35572;
var statearr_35591_37542 = state_35572__$1;
(statearr_35591_37542[(2)] = null);
(statearr_35591_37542[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35573 === (5))){
var state_35572__$1 = state_35572;
if(cljs.core.truth_(close_QMARK_)){
var statearr_35592_37543 = state_35572__$1;
(statearr_35592_37543[(1)] = (8));
} else {
var statearr_35593_37544 = state_35572__$1;
(statearr_35593_37544[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35573 === (14))){
var inst_35550 = (state_35572[(8)]);
var inst_35552 = (state_35572[(11)]);
var inst_35550__$1 = (state_35572[(2)]);
var inst_35551 = (inst_35550__$1 == null);
var inst_35552__$1 = cljs.core.not(inst_35551);
var state_35572__$1 = (function (){var statearr_35594 = state_35572;
(statearr_35594[(8)] = inst_35550__$1);
(statearr_35594[(11)] = inst_35552__$1);
return statearr_35594;
})();
if(inst_35552__$1){
var statearr_35595_37545 = state_35572__$1;
(statearr_35595_37545[(1)] = (15));
} else {
var statearr_35596_37546 = state_35572__$1;
(statearr_35596_37546[(1)] = (16));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35573 === (16))){
var inst_35552 = (state_35572[(11)]);
var state_35572__$1 = state_35572;
var statearr_35597_37547 = state_35572__$1;
(statearr_35597_37547[(2)] = inst_35552);
(statearr_35597_37547[(1)] = (17));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35573 === (10))){
var inst_35544 = (state_35572[(2)]);
var state_35572__$1 = state_35572;
var statearr_35598_37549 = state_35572__$1;
(statearr_35598_37549[(2)] = inst_35544);
(statearr_35598_37549[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35573 === (18))){
var inst_35555 = (state_35572[(2)]);
var state_35572__$1 = state_35572;
var statearr_35599_37550 = state_35572__$1;
(statearr_35599_37550[(2)] = inst_35555);
(statearr_35599_37550[(1)] = (17));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35573 === (8))){
var inst_35541 = cljs.core.async.close_BANG_(to);
var state_35572__$1 = state_35572;
var statearr_35601_37551 = state_35572__$1;
(statearr_35601_37551[(2)] = inst_35541);
(statearr_35601_37551[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0 = (function (){
var statearr_35602 = [null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_35602[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__);
(statearr_35602[(1)] = (1));
return statearr_35602;
});
var cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1 = (function (state_35572){
while(true){
var ret_value__34870__auto__ = (function (){try{while(true){
var result__34871__auto__ = switch__34868__auto__(state_35572);
if(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__34871__auto__;
}
break;
}
}catch (e35603){var ex__34872__auto__ = e35603;
var statearr_35604_37553 = state_35572;
(statearr_35604_37553[(2)] = ex__34872__auto__);
if(cljs.core.seq((state_35572[(4)]))){
var statearr_35605_37554 = state_35572;
(statearr_35605_37554[(1)] = cljs.core.first((state_35572[(4)])));
} else {
throw ex__34872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__37555 = state_35572;
state_35572 = G__37555;
continue;
} else {
return ret_value__34870__auto__;
}
break;
}
});
cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__ = function(state_35572){
switch(arguments.length){
case 0:
return cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0.call(this);
case 1:
return cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1.call(this,state_35572);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0;
cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1;
return cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__;
})()
})();
var state__34996__auto__ = (function (){var statearr_35606 = f__34995__auto__();
(statearr_35606[(6)] = c__34994__auto__);
return statearr_35606;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);
}));
return c__34994__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__35609 = arguments.length;
switch (G__35609) {
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__35612 = arguments.length;
switch (G__35612) {
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__35615 = arguments.length;
switch (G__35615) {
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__34994__auto___37565 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__34995__auto__ = (function (){var switch__34868__auto__ = (function (state_35642){
var state_val_35643 = (state_35642[(1)]);
if((state_val_35643 === (7))){
var inst_35638 = (state_35642[(2)]);
var state_35642__$1 = state_35642;
var statearr_35644_37566 = state_35642__$1;
(statearr_35644_37566[(2)] = inst_35638);
(statearr_35644_37566[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35643 === (1))){
var state_35642__$1 = state_35642;
var statearr_35645_37567 = state_35642__$1;
(statearr_35645_37567[(2)] = null);
(statearr_35645_37567[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35643 === (4))){
var inst_35618 = (state_35642[(7)]);
var inst_35618__$1 = (state_35642[(2)]);
var inst_35619 = (inst_35618__$1 == null);
var state_35642__$1 = (function (){var statearr_35646 = state_35642;
(statearr_35646[(7)] = inst_35618__$1);
return statearr_35646;
})();
if(cljs.core.truth_(inst_35619)){
var statearr_35647_37568 = state_35642__$1;
(statearr_35647_37568[(1)] = (5));
} else {
var statearr_35648_37569 = state_35642__$1;
(statearr_35648_37569[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35643 === (13))){
var state_35642__$1 = state_35642;
var statearr_35650_37570 = state_35642__$1;
(statearr_35650_37570[(2)] = null);
(statearr_35650_37570[(1)] = (14));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35643 === (6))){
var inst_35618 = (state_35642[(7)]);
var inst_35624 = (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(inst_35618) : p.call(null,inst_35618));
var state_35642__$1 = state_35642;
if(cljs.core.truth_(inst_35624)){
var statearr_35651_37574 = state_35642__$1;
(statearr_35651_37574[(1)] = (9));
} else {
var statearr_35652_37575 = state_35642__$1;
(statearr_35652_37575[(1)] = (10));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35643 === (3))){
var inst_35640 = (state_35642[(2)]);
var state_35642__$1 = state_35642;
return cljs.core.async.impl.ioc_helpers.return_chan(state_35642__$1,inst_35640);
} else {
if((state_val_35643 === (12))){
var state_35642__$1 = state_35642;
var statearr_35653_37576 = state_35642__$1;
(statearr_35653_37576[(2)] = null);
(statearr_35653_37576[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35643 === (2))){
var state_35642__$1 = state_35642;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_35642__$1,(4),ch);
} else {
if((state_val_35643 === (11))){
var inst_35618 = (state_35642[(7)]);
var inst_35629 = (state_35642[(2)]);
var state_35642__$1 = state_35642;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_35642__$1,(8),inst_35629,inst_35618);
} else {
if((state_val_35643 === (9))){
var state_35642__$1 = state_35642;
var statearr_35654_37578 = state_35642__$1;
(statearr_35654_37578[(2)] = tc);
(statearr_35654_37578[(1)] = (11));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35643 === (5))){
var inst_35621 = cljs.core.async.close_BANG_(tc);
var inst_35622 = cljs.core.async.close_BANG_(fc);
var state_35642__$1 = (function (){var statearr_35655 = state_35642;
(statearr_35655[(8)] = inst_35621);
return statearr_35655;
})();
var statearr_35656_37580 = state_35642__$1;
(statearr_35656_37580[(2)] = inst_35622);
(statearr_35656_37580[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35643 === (14))){
var inst_35636 = (state_35642[(2)]);
var state_35642__$1 = state_35642;
var statearr_35658_37581 = state_35642__$1;
(statearr_35658_37581[(2)] = inst_35636);
(statearr_35658_37581[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35643 === (10))){
var state_35642__$1 = state_35642;
var statearr_35659_37582 = state_35642__$1;
(statearr_35659_37582[(2)] = fc);
(statearr_35659_37582[(1)] = (11));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35643 === (8))){
var inst_35631 = (state_35642[(2)]);
var state_35642__$1 = state_35642;
if(cljs.core.truth_(inst_35631)){
var statearr_35660_37583 = state_35642__$1;
(statearr_35660_37583[(1)] = (12));
} else {
var statearr_35661_37584 = state_35642__$1;
(statearr_35661_37584[(1)] = (13));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__34869__auto__ = null;
var cljs$core$async$state_machine__34869__auto____0 = (function (){
var statearr_35662 = [null,null,null,null,null,null,null,null,null];
(statearr_35662[(0)] = cljs$core$async$state_machine__34869__auto__);
(statearr_35662[(1)] = (1));
return statearr_35662;
});
var cljs$core$async$state_machine__34869__auto____1 = (function (state_35642){
while(true){
var ret_value__34870__auto__ = (function (){try{while(true){
var result__34871__auto__ = switch__34868__auto__(state_35642);
if(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__34871__auto__;
}
break;
}
}catch (e35663){var ex__34872__auto__ = e35663;
var statearr_35664_37586 = state_35642;
(statearr_35664_37586[(2)] = ex__34872__auto__);
if(cljs.core.seq((state_35642[(4)]))){
var statearr_35665_37588 = state_35642;
(statearr_35665_37588[(1)] = cljs.core.first((state_35642[(4)])));
} else {
throw ex__34872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__37589 = state_35642;
state_35642 = G__37589;
continue;
} else {
return ret_value__34870__auto__;
}
break;
}
});
cljs$core$async$state_machine__34869__auto__ = function(state_35642){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__34869__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__34869__auto____1.call(this,state_35642);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__34869__auto____0;
cljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__34869__auto____1;
return cljs$core$async$state_machine__34869__auto__;
})()
})();
var state__34996__auto__ = (function (){var statearr_35666 = f__34995__auto__();
(statearr_35666[(6)] = c__34994__auto___37565);
return statearr_35666;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__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__34994__auto__ = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__34995__auto__ = (function (){var switch__34868__auto__ = (function (state_35689){
var state_val_35690 = (state_35689[(1)]);
if((state_val_35690 === (7))){
var inst_35685 = (state_35689[(2)]);
var state_35689__$1 = state_35689;
var statearr_35692_37591 = state_35689__$1;
(statearr_35692_37591[(2)] = inst_35685);
(statearr_35692_37591[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35690 === (1))){
var inst_35668 = init;
var inst_35669 = inst_35668;
var state_35689__$1 = (function (){var statearr_35693 = state_35689;
(statearr_35693[(7)] = inst_35669);
return statearr_35693;
})();
var statearr_35694_37592 = state_35689__$1;
(statearr_35694_37592[(2)] = null);
(statearr_35694_37592[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35690 === (4))){
var inst_35672 = (state_35689[(8)]);
var inst_35672__$1 = (state_35689[(2)]);
var inst_35673 = (inst_35672__$1 == null);
var state_35689__$1 = (function (){var statearr_35695 = state_35689;
(statearr_35695[(8)] = inst_35672__$1);
return statearr_35695;
})();
if(cljs.core.truth_(inst_35673)){
var statearr_35696_37593 = state_35689__$1;
(statearr_35696_37593[(1)] = (5));
} else {
var statearr_35697_37594 = state_35689__$1;
(statearr_35697_37594[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35690 === (6))){
var inst_35669 = (state_35689[(7)]);
var inst_35672 = (state_35689[(8)]);
var inst_35676 = (state_35689[(9)]);
var inst_35676__$1 = (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(inst_35669,inst_35672) : f.call(null,inst_35669,inst_35672));
var inst_35677 = cljs.core.reduced_QMARK_(inst_35676__$1);
var state_35689__$1 = (function (){var statearr_35698 = state_35689;
(statearr_35698[(9)] = inst_35676__$1);
return statearr_35698;
})();
if(inst_35677){
var statearr_35699_37595 = state_35689__$1;
(statearr_35699_37595[(1)] = (8));
} else {
var statearr_35700_37596 = state_35689__$1;
(statearr_35700_37596[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35690 === (3))){
var inst_35687 = (state_35689[(2)]);
var state_35689__$1 = state_35689;
return cljs.core.async.impl.ioc_helpers.return_chan(state_35689__$1,inst_35687);
} else {
if((state_val_35690 === (2))){
var state_35689__$1 = state_35689;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_35689__$1,(4),ch);
} else {
if((state_val_35690 === (9))){
var inst_35676 = (state_35689[(9)]);
var inst_35669 = inst_35676;
var state_35689__$1 = (function (){var statearr_35702 = state_35689;
(statearr_35702[(7)] = inst_35669);
return statearr_35702;
})();
var statearr_35703_37597 = state_35689__$1;
(statearr_35703_37597[(2)] = null);
(statearr_35703_37597[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35690 === (5))){
var inst_35669 = (state_35689[(7)]);
var state_35689__$1 = state_35689;
var statearr_35704_37598 = state_35689__$1;
(statearr_35704_37598[(2)] = inst_35669);
(statearr_35704_37598[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35690 === (10))){
var inst_35683 = (state_35689[(2)]);
var state_35689__$1 = state_35689;
var statearr_35705_37599 = state_35689__$1;
(statearr_35705_37599[(2)] = inst_35683);
(statearr_35705_37599[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35690 === (8))){
var inst_35676 = (state_35689[(9)]);
var inst_35679 = cljs.core.deref(inst_35676);
var state_35689__$1 = state_35689;
var statearr_35706_37600 = state_35689__$1;
(statearr_35706_37600[(2)] = inst_35679);
(statearr_35706_37600[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$reduce_$_state_machine__34869__auto__ = null;
var cljs$core$async$reduce_$_state_machine__34869__auto____0 = (function (){
var statearr_35707 = [null,null,null,null,null,null,null,null,null,null];
(statearr_35707[(0)] = cljs$core$async$reduce_$_state_machine__34869__auto__);
(statearr_35707[(1)] = (1));
return statearr_35707;
});
var cljs$core$async$reduce_$_state_machine__34869__auto____1 = (function (state_35689){
while(true){
var ret_value__34870__auto__ = (function (){try{while(true){
var result__34871__auto__ = switch__34868__auto__(state_35689);
if(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__34871__auto__;
}
break;
}
}catch (e35709){var ex__34872__auto__ = e35709;
var statearr_35710_37601 = state_35689;
(statearr_35710_37601[(2)] = ex__34872__auto__);
if(cljs.core.seq((state_35689[(4)]))){
var statearr_35711_37602 = state_35689;
(statearr_35711_37602[(1)] = cljs.core.first((state_35689[(4)])));
} else {
throw ex__34872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__37603 = state_35689;
state_35689 = G__37603;
continue;
} else {
return ret_value__34870__auto__;
}
break;
}
});
cljs$core$async$reduce_$_state_machine__34869__auto__ = function(state_35689){
switch(arguments.length){
case 0:
return cljs$core$async$reduce_$_state_machine__34869__auto____0.call(this);
case 1:
return cljs$core$async$reduce_$_state_machine__34869__auto____1.call(this,state_35689);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$reduce_$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$reduce_$_state_machine__34869__auto____0;
cljs$core$async$reduce_$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$reduce_$_state_machine__34869__auto____1;
return cljs$core$async$reduce_$_state_machine__34869__auto__;
})()
})();
var state__34996__auto__ = (function (){var statearr_35712 = f__34995__auto__();
(statearr_35712[(6)] = c__34994__auto__);
return statearr_35712;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);
}));
return c__34994__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__34994__auto__ = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__34995__auto__ = (function (){var switch__34868__auto__ = (function (state_35719){
var state_val_35720 = (state_35719[(1)]);
if((state_val_35720 === (1))){
var inst_35714 = cljs.core.async.reduce(f__$1,init,ch);
var state_35719__$1 = state_35719;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_35719__$1,(2),inst_35714);
} else {
if((state_val_35720 === (2))){
var inst_35716 = (state_35719[(2)]);
var inst_35717 = (f__$1.cljs$core$IFn$_invoke$arity$1 ? f__$1.cljs$core$IFn$_invoke$arity$1(inst_35716) : f__$1.call(null,inst_35716));
var state_35719__$1 = state_35719;
return cljs.core.async.impl.ioc_helpers.return_chan(state_35719__$1,inst_35717);
} else {
return null;
}
}
});
return (function() {
var cljs$core$async$transduce_$_state_machine__34869__auto__ = null;
var cljs$core$async$transduce_$_state_machine__34869__auto____0 = (function (){
var statearr_35721 = [null,null,null,null,null,null,null];
(statearr_35721[(0)] = cljs$core$async$transduce_$_state_machine__34869__auto__);
(statearr_35721[(1)] = (1));
return statearr_35721;
});
var cljs$core$async$transduce_$_state_machine__34869__auto____1 = (function (state_35719){
while(true){
var ret_value__34870__auto__ = (function (){try{while(true){
var result__34871__auto__ = switch__34868__auto__(state_35719);
if(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__34871__auto__;
}
break;
}
}catch (e35722){var ex__34872__auto__ = e35722;
var statearr_35723_37605 = state_35719;
(statearr_35723_37605[(2)] = ex__34872__auto__);
if(cljs.core.seq((state_35719[(4)]))){
var statearr_35724_37606 = state_35719;
(statearr_35724_37606[(1)] = cljs.core.first((state_35719[(4)])));
} else {
throw ex__34872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__37607 = state_35719;
state_35719 = G__37607;
continue;
} else {
return ret_value__34870__auto__;
}
break;
}
});
cljs$core$async$transduce_$_state_machine__34869__auto__ = function(state_35719){
switch(arguments.length){
case 0:
return cljs$core$async$transduce_$_state_machine__34869__auto____0.call(this);
case 1:
return cljs$core$async$transduce_$_state_machine__34869__auto____1.call(this,state_35719);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$transduce_$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$transduce_$_state_machine__34869__auto____0;
cljs$core$async$transduce_$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$transduce_$_state_machine__34869__auto____1;
return cljs$core$async$transduce_$_state_machine__34869__auto__;
})()
})();
var state__34996__auto__ = (function (){var statearr_35726 = f__34995__auto__();
(statearr_35726[(6)] = c__34994__auto__);
return statearr_35726;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);
}));
return c__34994__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__35728 = arguments.length;
switch (G__35728) {
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__34994__auto__ = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__34995__auto__ = (function (){var switch__34868__auto__ = (function (state_35754){
var state_val_35755 = (state_35754[(1)]);
if((state_val_35755 === (7))){
var inst_35736 = (state_35754[(2)]);
var state_35754__$1 = state_35754;
var statearr_35756_37612 = state_35754__$1;
(statearr_35756_37612[(2)] = inst_35736);
(statearr_35756_37612[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35755 === (1))){
var inst_35729 = cljs.core.seq(coll);
var inst_35730 = inst_35729;
var state_35754__$1 = (function (){var statearr_35758 = state_35754;
(statearr_35758[(7)] = inst_35730);
return statearr_35758;
})();
var statearr_35760_37613 = state_35754__$1;
(statearr_35760_37613[(2)] = null);
(statearr_35760_37613[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35755 === (4))){
var inst_35730 = (state_35754[(7)]);
var inst_35734 = cljs.core.first(inst_35730);
var state_35754__$1 = state_35754;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_35754__$1,(7),ch,inst_35734);
} else {
if((state_val_35755 === (13))){
var inst_35748 = (state_35754[(2)]);
var state_35754__$1 = state_35754;
var statearr_35761_37614 = state_35754__$1;
(statearr_35761_37614[(2)] = inst_35748);
(statearr_35761_37614[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35755 === (6))){
var inst_35739 = (state_35754[(2)]);
var state_35754__$1 = state_35754;
if(cljs.core.truth_(inst_35739)){
var statearr_35762_37615 = state_35754__$1;
(statearr_35762_37615[(1)] = (8));
} else {
var statearr_35763_37616 = state_35754__$1;
(statearr_35763_37616[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35755 === (3))){
var inst_35752 = (state_35754[(2)]);
var state_35754__$1 = state_35754;
return cljs.core.async.impl.ioc_helpers.return_chan(state_35754__$1,inst_35752);
} else {
if((state_val_35755 === (12))){
var state_35754__$1 = state_35754;
var statearr_35764_37621 = state_35754__$1;
(statearr_35764_37621[(2)] = null);
(statearr_35764_37621[(1)] = (13));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35755 === (2))){
var inst_35730 = (state_35754[(7)]);
var state_35754__$1 = state_35754;
if(cljs.core.truth_(inst_35730)){
var statearr_35765_37622 = state_35754__$1;
(statearr_35765_37622[(1)] = (4));
} else {
var statearr_35766_37623 = state_35754__$1;
(statearr_35766_37623[(1)] = (5));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35755 === (11))){
var inst_35745 = cljs.core.async.close_BANG_(ch);
var state_35754__$1 = state_35754;
var statearr_35767_37624 = state_35754__$1;
(statearr_35767_37624[(2)] = inst_35745);
(statearr_35767_37624[(1)] = (13));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35755 === (9))){
var state_35754__$1 = state_35754;
if(cljs.core.truth_(close_QMARK_)){
var statearr_35768_37629 = state_35754__$1;
(statearr_35768_37629[(1)] = (11));
} else {
var statearr_35769_37630 = state_35754__$1;
(statearr_35769_37630[(1)] = (12));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35755 === (5))){
var inst_35730 = (state_35754[(7)]);
var state_35754__$1 = state_35754;
var statearr_35772_37631 = state_35754__$1;
(statearr_35772_37631[(2)] = inst_35730);
(statearr_35772_37631[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35755 === (10))){
var inst_35750 = (state_35754[(2)]);
var state_35754__$1 = state_35754;
var statearr_35773_37632 = state_35754__$1;
(statearr_35773_37632[(2)] = inst_35750);
(statearr_35773_37632[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35755 === (8))){
var inst_35730 = (state_35754[(7)]);
var inst_35741 = cljs.core.next(inst_35730);
var inst_35730__$1 = inst_35741;
var state_35754__$1 = (function (){var statearr_35774 = state_35754;
(statearr_35774[(7)] = inst_35730__$1);
return statearr_35774;
})();
var statearr_35775_37637 = state_35754__$1;
(statearr_35775_37637[(2)] = null);
(statearr_35775_37637[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__34869__auto__ = null;
var cljs$core$async$state_machine__34869__auto____0 = (function (){
var statearr_35776 = [null,null,null,null,null,null,null,null];
(statearr_35776[(0)] = cljs$core$async$state_machine__34869__auto__);
(statearr_35776[(1)] = (1));
return statearr_35776;
});
var cljs$core$async$state_machine__34869__auto____1 = (function (state_35754){
while(true){
var ret_value__34870__auto__ = (function (){try{while(true){
var result__34871__auto__ = switch__34868__auto__(state_35754);
if(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__34871__auto__;
}
break;
}
}catch (e35777){var ex__34872__auto__ = e35777;
var statearr_35778_37638 = state_35754;
(statearr_35778_37638[(2)] = ex__34872__auto__);
if(cljs.core.seq((state_35754[(4)]))){
var statearr_35779_37639 = state_35754;
(statearr_35779_37639[(1)] = cljs.core.first((state_35754[(4)])));
} else {
throw ex__34872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__37640 = state_35754;
state_35754 = G__37640;
continue;
} else {
return ret_value__34870__auto__;
}
break;
}
});
cljs$core$async$state_machine__34869__auto__ = function(state_35754){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__34869__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__34869__auto____1.call(this,state_35754);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__34869__auto____0;
cljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__34869__auto____1;
return cljs$core$async$state_machine__34869__auto__;
})()
})();
var state__34996__auto__ = (function (){var statearr_35780 = f__34995__auto__();
(statearr_35780[(6)] = c__34994__auto__);
return statearr_35780;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);
}));
return c__34994__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__35784 = arguments.length;
switch (G__35784) {
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_37642 = (function (_){
var x__5373__auto__ = (((_ == null))?null:_);
var m__5374__auto__ = (cljs.core.async.muxch_STAR_[goog.typeOf(x__5373__auto__)]);
if((!((m__5374__auto__ == null)))){
return (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5374__auto__.call(null,_));
} else {
var m__5372__auto__ = (cljs.core.async.muxch_STAR_["_"]);
if((!((m__5372__auto__ == null)))){
return (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5372__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_37642(_);
}
});
/**
* @interface
*/
cljs.core.async.Mult = function(){};
var cljs$core$async$Mult$tap_STAR_$dyn_37643 = (function (m,ch,close_QMARK_){
var x__5373__auto__ = (((m == null))?null:m);
var m__5374__auto__ = (cljs.core.async.tap_STAR_[goog.typeOf(x__5373__auto__)]);
if((!((m__5374__auto__ == null)))){
return (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(m,ch,close_QMARK_) : m__5374__auto__.call(null,m,ch,close_QMARK_));
} else {
var m__5372__auto__ = (cljs.core.async.tap_STAR_["_"]);
if((!((m__5372__auto__ == null)))){
return (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(m,ch,close_QMARK_) : m__5372__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_37643(m,ch,close_QMARK_);
}
});
var cljs$core$async$Mult$untap_STAR_$dyn_37644 = (function (m,ch){
var x__5373__auto__ = (((m == null))?null:m);
var m__5374__auto__ = (cljs.core.async.untap_STAR_[goog.typeOf(x__5373__auto__)]);
if((!((m__5374__auto__ == null)))){
return (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5374__auto__.call(null,m,ch));
} else {
var m__5372__auto__ = (cljs.core.async.untap_STAR_["_"]);
if((!((m__5372__auto__ == null)))){
return (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5372__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_37644(m,ch);
}
});
var cljs$core$async$Mult$untap_all_STAR_$dyn_37645 = (function (m){
var x__5373__auto__ = (((m == null))?null:m);
var m__5374__auto__ = (cljs.core.async.untap_all_STAR_[goog.typeOf(x__5373__auto__)]);
if((!((m__5374__auto__ == null)))){
return (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5374__auto__.call(null,m));
} else {
var m__5372__auto__ = (cljs.core.async.untap_all_STAR_["_"]);
if((!((m__5372__auto__ == null)))){
return (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5372__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_37645(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$async35798 = (function (ch,cs,meta35799){
this.ch = ch;
this.cs = cs;
this.meta35799 = meta35799;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async35798.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_35800,meta35799__$1){
var self__ = this;
var _35800__$1 = this;
return (new cljs.core.async.t_cljs$core$async35798(self__.ch,self__.cs,meta35799__$1));
}));
(cljs.core.async.t_cljs$core$async35798.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_35800){
var self__ = this;
var _35800__$1 = this;
return self__.meta35799;
}));
(cljs.core.async.t_cljs$core$async35798.prototype.cljs$core$async$Mux$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async35798.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$async35798.prototype.cljs$core$async$Mult$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async35798.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$async35798.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$async35798.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$async35798.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,"meta35799","meta35799",-1779080314,null)], null);
}));
(cljs.core.async.t_cljs$core$async35798.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async35798.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async35798");
(cljs.core.async.t_cljs$core$async35798.cljs$lang$ctorPrWriter = (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){
return cljs.core._write(writer__5311__auto__,"cljs.core.async/t_cljs$core$async35798");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async35798.
*/
cljs.core.async.__GT_t_cljs$core$async35798 = (function cljs$core$async$__GT_t_cljs$core$async35798(ch,cs,meta35799){
return (new cljs.core.async.t_cljs$core$async35798(ch,cs,meta35799));
});
/**
* 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$async35798(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__34994__auto___37652 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__34995__auto__ = (function (){var switch__34868__auto__ = (function (state_35969){
var state_val_35970 = (state_35969[(1)]);
if((state_val_35970 === (7))){
var inst_35961 = (state_35969[(2)]);
var state_35969__$1 = state_35969;
var statearr_35975_37653 = state_35969__$1;
(statearr_35975_37653[(2)] = inst_35961);
(statearr_35975_37653[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (20))){
var inst_35851 = (state_35969[(7)]);
var inst_35867 = cljs.core.first(inst_35851);
var inst_35868 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_35867,(0),null);
var inst_35869 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_35867,(1),null);
var state_35969__$1 = (function (){var statearr_35977 = state_35969;
(statearr_35977[(8)] = inst_35868);
return statearr_35977;
})();
if(cljs.core.truth_(inst_35869)){
var statearr_35980_37654 = state_35969__$1;
(statearr_35980_37654[(1)] = (22));
} else {
var statearr_35982_37655 = state_35969__$1;
(statearr_35982_37655[(1)] = (23));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (27))){
var inst_35901 = (state_35969[(9)]);
var inst_35903 = (state_35969[(10)]);
var inst_35908 = (state_35969[(11)]);
var inst_35816 = (state_35969[(12)]);
var inst_35908__$1 = cljs.core._nth(inst_35901,inst_35903);
var inst_35909 = cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3(inst_35908__$1,inst_35816,done);
var state_35969__$1 = (function (){var statearr_35984 = state_35969;
(statearr_35984[(11)] = inst_35908__$1);
return statearr_35984;
})();
if(cljs.core.truth_(inst_35909)){
var statearr_35985_37656 = state_35969__$1;
(statearr_35985_37656[(1)] = (30));
} else {
var statearr_35987_37657 = state_35969__$1;
(statearr_35987_37657[(1)] = (31));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (1))){
var state_35969__$1 = state_35969;
var statearr_35990_37658 = state_35969__$1;
(statearr_35990_37658[(2)] = null);
(statearr_35990_37658[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (24))){
var inst_35851 = (state_35969[(7)]);
var inst_35877 = (state_35969[(2)]);
var inst_35878 = cljs.core.next(inst_35851);
var inst_35826 = inst_35878;
var inst_35827 = null;
var inst_35828 = (0);
var inst_35830 = (0);
var state_35969__$1 = (function (){var statearr_35991 = state_35969;
(statearr_35991[(13)] = inst_35877);
(statearr_35991[(14)] = inst_35826);
(statearr_35991[(15)] = inst_35827);
(statearr_35991[(16)] = inst_35828);
(statearr_35991[(17)] = inst_35830);
return statearr_35991;
})();
var statearr_35993_37659 = state_35969__$1;
(statearr_35993_37659[(2)] = null);
(statearr_35993_37659[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (39))){
var state_35969__$1 = state_35969;
var statearr_36000_37660 = state_35969__$1;
(statearr_36000_37660[(2)] = null);
(statearr_36000_37660[(1)] = (41));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (4))){
var inst_35816 = (state_35969[(12)]);
var inst_35816__$1 = (state_35969[(2)]);
var inst_35817 = (inst_35816__$1 == null);
var state_35969__$1 = (function (){var statearr_36002 = state_35969;
(statearr_36002[(12)] = inst_35816__$1);
return statearr_36002;
})();
if(cljs.core.truth_(inst_35817)){
var statearr_36003_37661 = state_35969__$1;
(statearr_36003_37661[(1)] = (5));
} else {
var statearr_36004_37662 = state_35969__$1;
(statearr_36004_37662[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (15))){
var inst_35830 = (state_35969[(17)]);
var inst_35826 = (state_35969[(14)]);
var inst_35827 = (state_35969[(15)]);
var inst_35828 = (state_35969[(16)]);
var inst_35846 = (state_35969[(2)]);
var inst_35848 = (inst_35830 + (1));
var tmp35996 = inst_35826;
var tmp35997 = inst_35828;
var tmp35998 = inst_35827;
var inst_35826__$1 = tmp35996;
var inst_35827__$1 = tmp35998;
var inst_35828__$1 = tmp35997;
var inst_35830__$1 = inst_35848;
var state_35969__$1 = (function (){var statearr_36008 = state_35969;
(statearr_36008[(18)] = inst_35846);
(statearr_36008[(14)] = inst_35826__$1);
(statearr_36008[(15)] = inst_35827__$1);
(statearr_36008[(16)] = inst_35828__$1);
(statearr_36008[(17)] = inst_35830__$1);
return statearr_36008;
})();
var statearr_36010_37666 = state_35969__$1;
(statearr_36010_37666[(2)] = null);
(statearr_36010_37666[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (21))){
var inst_35881 = (state_35969[(2)]);
var state_35969__$1 = state_35969;
var statearr_36014_37667 = state_35969__$1;
(statearr_36014_37667[(2)] = inst_35881);
(statearr_36014_37667[(1)] = (18));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (31))){
var inst_35908 = (state_35969[(11)]);
var inst_35914 = m.cljs$core$async$Mult$untap_STAR_$arity$2(null,inst_35908);
var state_35969__$1 = state_35969;
var statearr_36016_37668 = state_35969__$1;
(statearr_36016_37668[(2)] = inst_35914);
(statearr_36016_37668[(1)] = (32));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (32))){
var inst_35903 = (state_35969[(10)]);
var inst_35900 = (state_35969[(19)]);
var inst_35901 = (state_35969[(9)]);
var inst_35902 = (state_35969[(20)]);
var inst_35916 = (state_35969[(2)]);
var inst_35918 = (inst_35903 + (1));
var tmp36011 = inst_35901;
var tmp36012 = inst_35900;
var tmp36013 = inst_35902;
var inst_35900__$1 = tmp36012;
var inst_35901__$1 = tmp36011;
var inst_35902__$1 = tmp36013;
var inst_35903__$1 = inst_35918;
var state_35969__$1 = (function (){var statearr_36017 = state_35969;
(statearr_36017[(21)] = inst_35916);
(statearr_36017[(19)] = inst_35900__$1);
(statearr_36017[(9)] = inst_35901__$1);
(statearr_36017[(20)] = inst_35902__$1);
(statearr_36017[(10)] = inst_35903__$1);
return statearr_36017;
})();
var statearr_36021_37669 = state_35969__$1;
(statearr_36021_37669[(2)] = null);
(statearr_36021_37669[(1)] = (25));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (40))){
var inst_35933 = (state_35969[(22)]);
var inst_35938 = m.cljs$core$async$Mult$untap_STAR_$arity$2(null,inst_35933);
var state_35969__$1 = state_35969;
var statearr_36024_37670 = state_35969__$1;
(statearr_36024_37670[(2)] = inst_35938);
(statearr_36024_37670[(1)] = (41));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (33))){
var inst_35921 = (state_35969[(23)]);
var inst_35923 = cljs.core.chunked_seq_QMARK_(inst_35921);
var state_35969__$1 = state_35969;
if(inst_35923){
var statearr_36029_37671 = state_35969__$1;
(statearr_36029_37671[(1)] = (36));
} else {
var statearr_36030_37672 = state_35969__$1;
(statearr_36030_37672[(1)] = (37));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (13))){
var inst_35840 = (state_35969[(24)]);
var inst_35843 = cljs.core.async.close_BANG_(inst_35840);
var state_35969__$1 = state_35969;
var statearr_36035_37673 = state_35969__$1;
(statearr_36035_37673[(2)] = inst_35843);
(statearr_36035_37673[(1)] = (15));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (22))){
var inst_35868 = (state_35969[(8)]);
var inst_35874 = cljs.core.async.close_BANG_(inst_35868);
var state_35969__$1 = state_35969;
var statearr_36039_37674 = state_35969__$1;
(statearr_36039_37674[(2)] = inst_35874);
(statearr_36039_37674[(1)] = (24));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (36))){
var inst_35921 = (state_35969[(23)]);
var inst_35926 = cljs.core.chunk_first(inst_35921);
var inst_35927 = cljs.core.chunk_rest(inst_35921);
var inst_35928 = cljs.core.count(inst_35926);
var inst_35900 = inst_35927;
var inst_35901 = inst_35926;
var inst_35902 = inst_35928;
var inst_35903 = (0);
var state_35969__$1 = (function (){var statearr_36042 = state_35969;
(statearr_36042[(19)] = inst_35900);
(statearr_36042[(9)] = inst_35901);
(statearr_36042[(20)] = inst_35902);
(statearr_36042[(10)] = inst_35903);
return statearr_36042;
})();
var statearr_36043_37675 = state_35969__$1;
(statearr_36043_37675[(2)] = null);
(statearr_36043_37675[(1)] = (25));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (41))){
var inst_35921 = (state_35969[(23)]);
var inst_35940 = (state_35969[(2)]);
var inst_35941 = cljs.core.next(inst_35921);
var inst_35900 = inst_35941;
var inst_35901 = null;
var inst_35902 = (0);
var inst_35903 = (0);
var state_35969__$1 = (function (){var statearr_36047 = state_35969;
(statearr_36047[(25)] = inst_35940);
(statearr_36047[(19)] = inst_35900);
(statearr_36047[(9)] = inst_35901);
(statearr_36047[(20)] = inst_35902);
(statearr_36047[(10)] = inst_35903);
return statearr_36047;
})();
var statearr_36049_37676 = state_35969__$1;
(statearr_36049_37676[(2)] = null);
(statearr_36049_37676[(1)] = (25));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (43))){
var state_35969__$1 = state_35969;
var statearr_36050_37677 = state_35969__$1;
(statearr_36050_37677[(2)] = null);
(statearr_36050_37677[(1)] = (44));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (29))){
var inst_35949 = (state_35969[(2)]);
var state_35969__$1 = state_35969;
var statearr_36054_37678 = state_35969__$1;
(statearr_36054_37678[(2)] = inst_35949);
(statearr_36054_37678[(1)] = (26));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (44))){
var inst_35958 = (state_35969[(2)]);
var state_35969__$1 = (function (){var statearr_36056 = state_35969;
(statearr_36056[(26)] = inst_35958);
return statearr_36056;
})();
var statearr_36058_37679 = state_35969__$1;
(statearr_36058_37679[(2)] = null);
(statearr_36058_37679[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (6))){
var inst_35891 = (state_35969[(27)]);
var inst_35890 = cljs.core.deref(cs);
var inst_35891__$1 = cljs.core.keys(inst_35890);
var inst_35892 = cljs.core.count(inst_35891__$1);
var inst_35893 = cljs.core.reset_BANG_(dctr,inst_35892);
var inst_35899 = cljs.core.seq(inst_35891__$1);
var inst_35900 = inst_35899;
var inst_35901 = null;
var inst_35902 = (0);
var inst_35903 = (0);
var state_35969__$1 = (function (){var statearr_36063 = state_35969;
(statearr_36063[(27)] = inst_35891__$1);
(statearr_36063[(28)] = inst_35893);
(statearr_36063[(19)] = inst_35900);
(statearr_36063[(9)] = inst_35901);
(statearr_36063[(20)] = inst_35902);
(statearr_36063[(10)] = inst_35903);
return statearr_36063;
})();
var statearr_36064_37680 = state_35969__$1;
(statearr_36064_37680[(2)] = null);
(statearr_36064_37680[(1)] = (25));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (28))){
var inst_35900 = (state_35969[(19)]);
var inst_35921 = (state_35969[(23)]);
var inst_35921__$1 = cljs.core.seq(inst_35900);
var state_35969__$1 = (function (){var statearr_36068 = state_35969;
(statearr_36068[(23)] = inst_35921__$1);
return statearr_36068;
})();
if(inst_35921__$1){
var statearr_36069_37684 = state_35969__$1;
(statearr_36069_37684[(1)] = (33));
} else {
var statearr_36074_37685 = state_35969__$1;
(statearr_36074_37685[(1)] = (34));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (25))){
var inst_35903 = (state_35969[(10)]);
var inst_35902 = (state_35969[(20)]);
var inst_35905 = (inst_35903 < inst_35902);
var inst_35906 = inst_35905;
var state_35969__$1 = state_35969;
if(cljs.core.truth_(inst_35906)){
var statearr_36078_37686 = state_35969__$1;
(statearr_36078_37686[(1)] = (27));
} else {
var statearr_36079_37687 = state_35969__$1;
(statearr_36079_37687[(1)] = (28));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (34))){
var state_35969__$1 = state_35969;
var statearr_36081_37688 = state_35969__$1;
(statearr_36081_37688[(2)] = null);
(statearr_36081_37688[(1)] = (35));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (17))){
var state_35969__$1 = state_35969;
var statearr_36085_37689 = state_35969__$1;
(statearr_36085_37689[(2)] = null);
(statearr_36085_37689[(1)] = (18));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (3))){
var inst_35964 = (state_35969[(2)]);
var state_35969__$1 = state_35969;
return cljs.core.async.impl.ioc_helpers.return_chan(state_35969__$1,inst_35964);
} else {
if((state_val_35970 === (12))){
var inst_35886 = (state_35969[(2)]);
var state_35969__$1 = state_35969;
var statearr_36090_37690 = state_35969__$1;
(statearr_36090_37690[(2)] = inst_35886);
(statearr_36090_37690[(1)] = (9));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (2))){
var state_35969__$1 = state_35969;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_35969__$1,(4),ch);
} else {
if((state_val_35970 === (23))){
var state_35969__$1 = state_35969;
var statearr_36095_37691 = state_35969__$1;
(statearr_36095_37691[(2)] = null);
(statearr_36095_37691[(1)] = (24));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (35))){
var inst_35947 = (state_35969[(2)]);
var state_35969__$1 = state_35969;
var statearr_36098_37692 = state_35969__$1;
(statearr_36098_37692[(2)] = inst_35947);
(statearr_36098_37692[(1)] = (29));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (19))){
var inst_35851 = (state_35969[(7)]);
var inst_35858 = cljs.core.chunk_first(inst_35851);
var inst_35859 = cljs.core.chunk_rest(inst_35851);
var inst_35860 = cljs.core.count(inst_35858);
var inst_35826 = inst_35859;
var inst_35827 = inst_35858;
var inst_35828 = inst_35860;
var inst_35830 = (0);
var state_35969__$1 = (function (){var statearr_36103 = state_35969;
(statearr_36103[(14)] = inst_35826);
(statearr_36103[(15)] = inst_35827);
(statearr_36103[(16)] = inst_35828);
(statearr_36103[(17)] = inst_35830);
return statearr_36103;
})();
var statearr_36105_37693 = state_35969__$1;
(statearr_36105_37693[(2)] = null);
(statearr_36105_37693[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (11))){
var inst_35826 = (state_35969[(14)]);
var inst_35851 = (state_35969[(7)]);
var inst_35851__$1 = cljs.core.seq(inst_35826);
var state_35969__$1 = (function (){var statearr_36109 = state_35969;
(statearr_36109[(7)] = inst_35851__$1);
return statearr_36109;
})();
if(inst_35851__$1){
var statearr_36111_37694 = state_35969__$1;
(statearr_36111_37694[(1)] = (16));
} else {
var statearr_36112_37695 = state_35969__$1;
(statearr_36112_37695[(1)] = (17));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (9))){
var inst_35888 = (state_35969[(2)]);
var state_35969__$1 = state_35969;
var statearr_36115_37696 = state_35969__$1;
(statearr_36115_37696[(2)] = inst_35888);
(statearr_36115_37696[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (5))){
var inst_35823 = cljs.core.deref(cs);
var inst_35824 = cljs.core.seq(inst_35823);
var inst_35826 = inst_35824;
var inst_35827 = null;
var inst_35828 = (0);
var inst_35830 = (0);
var state_35969__$1 = (function (){var statearr_36118 = state_35969;
(statearr_36118[(14)] = inst_35826);
(statearr_36118[(15)] = inst_35827);
(statearr_36118[(16)] = inst_35828);
(statearr_36118[(17)] = inst_35830);
return statearr_36118;
})();
var statearr_36119_37697 = state_35969__$1;
(statearr_36119_37697[(2)] = null);
(statearr_36119_37697[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (14))){
var state_35969__$1 = state_35969;
var statearr_36123_37698 = state_35969__$1;
(statearr_36123_37698[(2)] = null);
(statearr_36123_37698[(1)] = (15));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (45))){
var inst_35955 = (state_35969[(2)]);
var state_35969__$1 = state_35969;
var statearr_36125_37699 = state_35969__$1;
(statearr_36125_37699[(2)] = inst_35955);
(statearr_36125_37699[(1)] = (44));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (26))){
var inst_35891 = (state_35969[(27)]);
var inst_35951 = (state_35969[(2)]);
var inst_35952 = cljs.core.seq(inst_35891);
var state_35969__$1 = (function (){var statearr_36129 = state_35969;
(statearr_36129[(29)] = inst_35951);
return statearr_36129;
})();
if(inst_35952){
var statearr_36130_37700 = state_35969__$1;
(statearr_36130_37700[(1)] = (42));
} else {
var statearr_36131_37701 = state_35969__$1;
(statearr_36131_37701[(1)] = (43));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (16))){
var inst_35851 = (state_35969[(7)]);
var inst_35855 = cljs.core.chunked_seq_QMARK_(inst_35851);
var state_35969__$1 = state_35969;
if(inst_35855){
var statearr_36133_37702 = state_35969__$1;
(statearr_36133_37702[(1)] = (19));
} else {
var statearr_36136_37703 = state_35969__$1;
(statearr_36136_37703[(1)] = (20));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (38))){
var inst_35944 = (state_35969[(2)]);
var state_35969__$1 = state_35969;
var statearr_36138_37705 = state_35969__$1;
(statearr_36138_37705[(2)] = inst_35944);
(statearr_36138_37705[(1)] = (35));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (30))){
var state_35969__$1 = state_35969;
var statearr_36140_37708 = state_35969__$1;
(statearr_36140_37708[(2)] = null);
(statearr_36140_37708[(1)] = (32));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (10))){
var inst_35827 = (state_35969[(15)]);
var inst_35830 = (state_35969[(17)]);
var inst_35839 = cljs.core._nth(inst_35827,inst_35830);
var inst_35840 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_35839,(0),null);
var inst_35841 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_35839,(1),null);
var state_35969__$1 = (function (){var statearr_36144 = state_35969;
(statearr_36144[(24)] = inst_35840);
return statearr_36144;
})();
if(cljs.core.truth_(inst_35841)){
var statearr_36146_37709 = state_35969__$1;
(statearr_36146_37709[(1)] = (13));
} else {
var statearr_36147_37710 = state_35969__$1;
(statearr_36147_37710[(1)] = (14));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (18))){
var inst_35884 = (state_35969[(2)]);
var state_35969__$1 = state_35969;
var statearr_36151_37711 = state_35969__$1;
(statearr_36151_37711[(2)] = inst_35884);
(statearr_36151_37711[(1)] = (12));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (42))){
var state_35969__$1 = state_35969;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_35969__$1,(45),dchan);
} else {
if((state_val_35970 === (37))){
var inst_35921 = (state_35969[(23)]);
var inst_35933 = (state_35969[(22)]);
var inst_35816 = (state_35969[(12)]);
var inst_35933__$1 = cljs.core.first(inst_35921);
var inst_35934 = cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3(inst_35933__$1,inst_35816,done);
var state_35969__$1 = (function (){var statearr_36158 = state_35969;
(statearr_36158[(22)] = inst_35933__$1);
return statearr_36158;
})();
if(cljs.core.truth_(inst_35934)){
var statearr_36160_37712 = state_35969__$1;
(statearr_36160_37712[(1)] = (39));
} else {
var statearr_36164_37713 = state_35969__$1;
(statearr_36164_37713[(1)] = (40));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_35970 === (8))){
var inst_35830 = (state_35969[(17)]);
var inst_35828 = (state_35969[(16)]);
var inst_35832 = (inst_35830 < inst_35828);
var inst_35834 = inst_35832;
var state_35969__$1 = state_35969;
if(cljs.core.truth_(inst_35834)){
var statearr_36168_37714 = state_35969__$1;
(statearr_36168_37714[(1)] = (10));
} else {
var statearr_36170_37715 = state_35969__$1;
(statearr_36170_37715[(1)] = (11));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$mult_$_state_machine__34869__auto__ = null;
var cljs$core$async$mult_$_state_machine__34869__auto____0 = (function (){
var statearr_36178 = [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_36178[(0)] = cljs$core$async$mult_$_state_machine__34869__auto__);
(statearr_36178[(1)] = (1));
return statearr_36178;
});
var cljs$core$async$mult_$_state_machine__34869__auto____1 = (function (state_35969){
while(true){
var ret_value__34870__auto__ = (function (){try{while(true){
var result__34871__auto__ = switch__34868__auto__(state_35969);
if(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__34871__auto__;
}
break;
}
}catch (e36181){var ex__34872__auto__ = e36181;
var statearr_36182_37716 = state_35969;
(statearr_36182_37716[(2)] = ex__34872__auto__);
if(cljs.core.seq((state_35969[(4)]))){
var statearr_36186_37717 = state_35969;
(statearr_36186_37717[(1)] = cljs.core.first((state_35969[(4)])));
} else {
throw ex__34872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__37718 = state_35969;
state_35969 = G__37718;
continue;
} else {
return ret_value__34870__auto__;
}
break;
}
});
cljs$core$async$mult_$_state_machine__34869__auto__ = function(state_35969){
switch(arguments.length){
case 0:
return cljs$core$async$mult_$_state_machine__34869__auto____0.call(this);
case 1:
return cljs$core$async$mult_$_state_machine__34869__auto____1.call(this,state_35969);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$mult_$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$mult_$_state_machine__34869__auto____0;
cljs$core$async$mult_$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$mult_$_state_machine__34869__auto____1;
return cljs$core$async$mult_$_state_machine__34869__auto__;
})()
})();
var state__34996__auto__ = (function (){var statearr_36190 = f__34995__auto__();
(statearr_36190[(6)] = c__34994__auto___37652);
return statearr_36190;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__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__36192 = arguments.length;
switch (G__36192) {
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_37720 = (function (m,ch){
var x__5373__auto__ = (((m == null))?null:m);
var m__5374__auto__ = (cljs.core.async.admix_STAR_[goog.typeOf(x__5373__auto__)]);
if((!((m__5374__auto__ == null)))){
return (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5374__auto__.call(null,m,ch));
} else {
var m__5372__auto__ = (cljs.core.async.admix_STAR_["_"]);
if((!((m__5372__auto__ == null)))){
return (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5372__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_37720(m,ch);
}
});
var cljs$core$async$Mix$unmix_STAR_$dyn_37722 = (function (m,ch){
var x__5373__auto__ = (((m == null))?null:m);
var m__5374__auto__ = (cljs.core.async.unmix_STAR_[goog.typeOf(x__5373__auto__)]);
if((!((m__5374__auto__ == null)))){
return (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5374__auto__.call(null,m,ch));
} else {
var m__5372__auto__ = (cljs.core.async.unmix_STAR_["_"]);
if((!((m__5372__auto__ == null)))){
return (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5372__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_37722(m,ch);
}
});
var cljs$core$async$Mix$unmix_all_STAR_$dyn_37726 = (function (m){
var x__5373__auto__ = (((m == null))?null:m);
var m__5374__auto__ = (cljs.core.async.unmix_all_STAR_[goog.typeOf(x__5373__auto__)]);
if((!((m__5374__auto__ == null)))){
return (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5374__auto__.call(null,m));
} else {
var m__5372__auto__ = (cljs.core.async.unmix_all_STAR_["_"]);
if((!((m__5372__auto__ == null)))){
return (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5372__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_37726(m);
}
});
var cljs$core$async$Mix$toggle_STAR_$dyn_37727 = (function (m,state_map){
var x__5373__auto__ = (((m == null))?null:m);
var m__5374__auto__ = (cljs.core.async.toggle_STAR_[goog.typeOf(x__5373__auto__)]);
if((!((m__5374__auto__ == null)))){
return (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(m,state_map) : m__5374__auto__.call(null,m,state_map));
} else {
var m__5372__auto__ = (cljs.core.async.toggle_STAR_["_"]);
if((!((m__5372__auto__ == null)))){
return (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(m,state_map) : m__5372__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_37727(m,state_map);
}
});
var cljs$core$async$Mix$solo_mode_STAR_$dyn_37728 = (function (m,mode){
var x__5373__auto__ = (((m == null))?null:m);
var m__5374__auto__ = (cljs.core.async.solo_mode_STAR_[goog.typeOf(x__5373__auto__)]);
if((!((m__5374__auto__ == null)))){
return (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(m,mode) : m__5374__auto__.call(null,m,mode));
} else {
var m__5372__auto__ = (cljs.core.async.solo_mode_STAR_["_"]);
if((!((m__5372__auto__ == null)))){
return (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(m,mode) : m__5372__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_37728(m,mode);
}
});
cljs.core.async.ioc_alts_BANG_ = (function cljs$core$async$ioc_alts_BANG_(var_args){
var args__5755__auto__ = [];
var len__5749__auto___37732 = arguments.length;
var i__5750__auto___37733 = (0);
while(true){
if((i__5750__auto___37733 < len__5749__auto___37732)){
args__5755__auto__.push((arguments[i__5750__auto___37733]));
var G__37734 = (i__5750__auto___37733 + (1));
i__5750__auto___37733 = G__37734;
continue;
} else {
}
break;
}
var argseq__5756__auto__ = ((((3) < args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__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__5756__auto__);
});
(cljs.core.async.ioc_alts_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (state,cont_block,ports,p__36250){
var map__36251 = p__36250;
var map__36251__$1 = cljs.core.__destructure_map(map__36251);
var opts = map__36251__$1;
var statearr_36252_37735 = state;
(statearr_36252_37735[(1)] = cont_block);
var temp__5823__auto__ = cljs.core.async.do_alts((function (val){
var statearr_36257_37736 = state;
(statearr_36257_37736[(2)] = val);
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state);
}),ports,opts);
if(cljs.core.truth_(temp__5823__auto__)){
var cb = temp__5823__auto__;
var statearr_36262_37737 = state;
(statearr_36262_37737[(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 (seq36241){
var G__36242 = cljs.core.first(seq36241);
var seq36241__$1 = cljs.core.next(seq36241);
var G__36243 = cljs.core.first(seq36241__$1);
var seq36241__$2 = cljs.core.next(seq36241__$1);
var G__36244 = cljs.core.first(seq36241__$2);
var seq36241__$3 = cljs.core.next(seq36241__$2);
var self__5734__auto__ = this;
return self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__36242,G__36243,G__36244,seq36241__$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$async36284 = (function (change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,meta36285){
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.meta36285 = meta36285;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async36284.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_36286,meta36285__$1){
var self__ = this;
var _36286__$1 = this;
return (new cljs.core.async.t_cljs$core$async36284(self__.change,self__.solo_mode,self__.pick,self__.cs,self__.calc_state,self__.out,self__.changed,self__.solo_modes,self__.attrs,meta36285__$1));
}));
(cljs.core.async.t_cljs$core$async36284.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_36286){
var self__ = this;
var _36286__$1 = this;
return self__.meta36285;
}));
(cljs.core.async.t_cljs$core$async36284.prototype.cljs$core$async$Mux$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async36284.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$async36284.prototype.cljs$core$async$Mix$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async36284.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$async36284.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$async36284.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$async36284.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$async36284.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$async36284.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,"meta36285","meta36285",1766447412,null)], null);
}));
(cljs.core.async.t_cljs$core$async36284.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async36284.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async36284");
(cljs.core.async.t_cljs$core$async36284.cljs$lang$ctorPrWriter = (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){
return cljs.core._write(writer__5311__auto__,"cljs.core.async/t_cljs$core$async36284");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async36284.
*/
cljs.core.async.__GT_t_cljs$core$async36284 = (function cljs$core$async$__GT_t_cljs$core$async36284(change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,meta36285){
return (new cljs.core.async.t_cljs$core$async36284(change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,meta36285));
});
/**
* 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.seq(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$async36284(change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,cljs.core.PersistentArrayMap.EMPTY));
var c__34994__auto___37747 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__34995__auto__ = (function (){var switch__34868__auto__ = (function (state_36373){
var state_val_36374 = (state_36373[(1)]);
if((state_val_36374 === (7))){
var inst_36333 = (state_36373[(2)]);
var state_36373__$1 = state_36373;
if(cljs.core.truth_(inst_36333)){
var statearr_36375_37748 = state_36373__$1;
(statearr_36375_37748[(1)] = (8));
} else {
var statearr_36376_37749 = state_36373__$1;
(statearr_36376_37749[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36374 === (20))){
var inst_36325 = (state_36373[(7)]);
var state_36373__$1 = state_36373;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_36373__$1,(23),out,inst_36325);
} else {
if((state_val_36374 === (1))){
var inst_36307 = calc_state();
var inst_36308 = cljs.core.__destructure_map(inst_36307);
var inst_36309 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_36308,new cljs.core.Keyword(null,"solos","solos",1441458643));
var inst_36310 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_36308,new cljs.core.Keyword(null,"mutes","mutes",1068806309));
var inst_36311 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_36308,new cljs.core.Keyword(null,"reads","reads",-1215067361));
var inst_36312 = inst_36307;
var state_36373__$1 = (function (){var statearr_36377 = state_36373;
(statearr_36377[(8)] = inst_36309);
(statearr_36377[(9)] = inst_36310);
(statearr_36377[(10)] = inst_36311);
(statearr_36377[(11)] = inst_36312);
return statearr_36377;
})();
var statearr_36378_37753 = state_36373__$1;
(statearr_36378_37753[(2)] = null);
(statearr_36378_37753[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36374 === (24))){
var inst_36315 = (state_36373[(12)]);
var inst_36312 = inst_36315;
var state_36373__$1 = (function (){var statearr_36379 = state_36373;
(statearr_36379[(11)] = inst_36312);
return statearr_36379;
})();
var statearr_36380_37754 = state_36373__$1;
(statearr_36380_37754[(2)] = null);
(statearr_36380_37754[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36374 === (4))){
var inst_36325 = (state_36373[(7)]);
var inst_36327 = (state_36373[(13)]);
var inst_36324 = (state_36373[(2)]);
var inst_36325__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_36324,(0),null);
var inst_36326 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_36324,(1),null);
var inst_36327__$1 = (inst_36325__$1 == null);
var state_36373__$1 = (function (){var statearr_36381 = state_36373;
(statearr_36381[(7)] = inst_36325__$1);
(statearr_36381[(14)] = inst_36326);
(statearr_36381[(13)] = inst_36327__$1);
return statearr_36381;
})();
if(cljs.core.truth_(inst_36327__$1)){
var statearr_36382_37755 = state_36373__$1;
(statearr_36382_37755[(1)] = (5));
} else {
var statearr_36383_37756 = state_36373__$1;
(statearr_36383_37756[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36374 === (15))){
var inst_36316 = (state_36373[(15)]);
var inst_36347 = (state_36373[(16)]);
var inst_36347__$1 = cljs.core.empty_QMARK_(inst_36316);
var state_36373__$1 = (function (){var statearr_36384 = state_36373;
(statearr_36384[(16)] = inst_36347__$1);
return statearr_36384;
})();
if(inst_36347__$1){
var statearr_36385_37757 = state_36373__$1;
(statearr_36385_37757[(1)] = (17));
} else {
var statearr_36386_37758 = state_36373__$1;
(statearr_36386_37758[(1)] = (18));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36374 === (21))){
var inst_36315 = (state_36373[(12)]);
var inst_36312 = inst_36315;
var state_36373__$1 = (function (){var statearr_36387 = state_36373;
(statearr_36387[(11)] = inst_36312);
return statearr_36387;
})();
var statearr_36388_37759 = state_36373__$1;
(statearr_36388_37759[(2)] = null);
(statearr_36388_37759[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36374 === (13))){
var inst_36340 = (state_36373[(2)]);
var inst_36341 = calc_state();
var inst_36312 = inst_36341;
var state_36373__$1 = (function (){var statearr_36389 = state_36373;
(statearr_36389[(17)] = inst_36340);
(statearr_36389[(11)] = inst_36312);
return statearr_36389;
})();
var statearr_36390_37760 = state_36373__$1;
(statearr_36390_37760[(2)] = null);
(statearr_36390_37760[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36374 === (22))){
var inst_36367 = (state_36373[(2)]);
var state_36373__$1 = state_36373;
var statearr_36391_37761 = state_36373__$1;
(statearr_36391_37761[(2)] = inst_36367);
(statearr_36391_37761[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36374 === (6))){
var inst_36326 = (state_36373[(14)]);
var inst_36331 = cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(inst_36326,change);
var state_36373__$1 = state_36373;
var statearr_36392_37762 = state_36373__$1;
(statearr_36392_37762[(2)] = inst_36331);
(statearr_36392_37762[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36374 === (25))){
var state_36373__$1 = state_36373;
var statearr_36394_37763 = state_36373__$1;
(statearr_36394_37763[(2)] = null);
(statearr_36394_37763[(1)] = (26));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36374 === (17))){
var inst_36317 = (state_36373[(18)]);
var inst_36326 = (state_36373[(14)]);
var inst_36349 = (inst_36317.cljs$core$IFn$_invoke$arity$1 ? inst_36317.cljs$core$IFn$_invoke$arity$1(inst_36326) : inst_36317.call(null,inst_36326));
var inst_36350 = cljs.core.not(inst_36349);
var state_36373__$1 = state_36373;
var statearr_36396_37767 = state_36373__$1;
(statearr_36396_37767[(2)] = inst_36350);
(statearr_36396_37767[(1)] = (19));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36374 === (3))){
var inst_36371 = (state_36373[(2)]);
var state_36373__$1 = state_36373;
return cljs.core.async.impl.ioc_helpers.return_chan(state_36373__$1,inst_36371);
} else {
if((state_val_36374 === (12))){
var state_36373__$1 = state_36373;
var statearr_36397_37768 = state_36373__$1;
(statearr_36397_37768[(2)] = null);
(statearr_36397_37768[(1)] = (13));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36374 === (2))){
var inst_36312 = (state_36373[(11)]);
var inst_36315 = (state_36373[(12)]);
var inst_36315__$1 = cljs.core.__destructure_map(inst_36312);
var inst_36316 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_36315__$1,new cljs.core.Keyword(null,"solos","solos",1441458643));
var inst_36317 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_36315__$1,new cljs.core.Keyword(null,"mutes","mutes",1068806309));
var inst_36318 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_36315__$1,new cljs.core.Keyword(null,"reads","reads",-1215067361));
var state_36373__$1 = (function (){var statearr_36398 = state_36373;
(statearr_36398[(12)] = inst_36315__$1);
(statearr_36398[(15)] = inst_36316);
(statearr_36398[(18)] = inst_36317);
return statearr_36398;
})();
return cljs.core.async.ioc_alts_BANG_(state_36373__$1,(4),inst_36318);
} else {
if((state_val_36374 === (23))){
var inst_36358 = (state_36373[(2)]);
var state_36373__$1 = state_36373;
if(cljs.core.truth_(inst_36358)){
var statearr_36399_37769 = state_36373__$1;
(statearr_36399_37769[(1)] = (24));
} else {
var statearr_36400_37770 = state_36373__$1;
(statearr_36400_37770[(1)] = (25));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36374 === (19))){
var inst_36353 = (state_36373[(2)]);
var state_36373__$1 = state_36373;
var statearr_36402_37774 = state_36373__$1;
(statearr_36402_37774[(2)] = inst_36353);
(statearr_36402_37774[(1)] = (16));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36374 === (11))){
var inst_36326 = (state_36373[(14)]);
var inst_36337 = cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cs,cljs.core.dissoc,inst_36326);
var state_36373__$1 = state_36373;
var statearr_36404_37775 = state_36373__$1;
(statearr_36404_37775[(2)] = inst_36337);
(statearr_36404_37775[(1)] = (13));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36374 === (9))){
var inst_36316 = (state_36373[(15)]);
var inst_36326 = (state_36373[(14)]);
var inst_36344 = (state_36373[(19)]);
var inst_36344__$1 = (inst_36316.cljs$core$IFn$_invoke$arity$1 ? inst_36316.cljs$core$IFn$_invoke$arity$1(inst_36326) : inst_36316.call(null,inst_36326));
var state_36373__$1 = (function (){var statearr_36405 = state_36373;
(statearr_36405[(19)] = inst_36344__$1);
return statearr_36405;
})();
if(cljs.core.truth_(inst_36344__$1)){
var statearr_36406_37776 = state_36373__$1;
(statearr_36406_37776[(1)] = (14));
} else {
var statearr_36407_37777 = state_36373__$1;
(statearr_36407_37777[(1)] = (15));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36374 === (5))){
var inst_36327 = (state_36373[(13)]);
var state_36373__$1 = state_36373;
var statearr_36408_37778 = state_36373__$1;
(statearr_36408_37778[(2)] = inst_36327);
(statearr_36408_37778[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36374 === (14))){
var inst_36344 = (state_36373[(19)]);
var state_36373__$1 = state_36373;
var statearr_36409_37779 = state_36373__$1;
(statearr_36409_37779[(2)] = inst_36344);
(statearr_36409_37779[(1)] = (16));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36374 === (26))){
var inst_36363 = (state_36373[(2)]);
var state_36373__$1 = state_36373;
var statearr_36410_37780 = state_36373__$1;
(statearr_36410_37780[(2)] = inst_36363);
(statearr_36410_37780[(1)] = (22));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36374 === (16))){
var inst_36355 = (state_36373[(2)]);
var state_36373__$1 = state_36373;
if(cljs.core.truth_(inst_36355)){
var statearr_36412_37781 = state_36373__$1;
(statearr_36412_37781[(1)] = (20));
} else {
var statearr_36413_37782 = state_36373__$1;
(statearr_36413_37782[(1)] = (21));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36374 === (10))){
var inst_36369 = (state_36373[(2)]);
var state_36373__$1 = state_36373;
var statearr_36415_37786 = state_36373__$1;
(statearr_36415_37786[(2)] = inst_36369);
(statearr_36415_37786[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36374 === (18))){
var inst_36347 = (state_36373[(16)]);
var state_36373__$1 = state_36373;
var statearr_36416_37787 = state_36373__$1;
(statearr_36416_37787[(2)] = inst_36347);
(statearr_36416_37787[(1)] = (19));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36374 === (8))){
var inst_36325 = (state_36373[(7)]);
var inst_36335 = (inst_36325 == null);
var state_36373__$1 = state_36373;
if(cljs.core.truth_(inst_36335)){
var statearr_36417_37788 = state_36373__$1;
(statearr_36417_37788[(1)] = (11));
} else {
var statearr_36418_37789 = state_36373__$1;
(statearr_36418_37789[(1)] = (12));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$mix_$_state_machine__34869__auto__ = null;
var cljs$core$async$mix_$_state_machine__34869__auto____0 = (function (){
var statearr_36419 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_36419[(0)] = cljs$core$async$mix_$_state_machine__34869__auto__);
(statearr_36419[(1)] = (1));
return statearr_36419;
});
var cljs$core$async$mix_$_state_machine__34869__auto____1 = (function (state_36373){
while(true){
var ret_value__34870__auto__ = (function (){try{while(true){
var result__34871__auto__ = switch__34868__auto__(state_36373);
if(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__34871__auto__;
}
break;
}
}catch (e36420){var ex__34872__auto__ = e36420;
var statearr_36421_37790 = state_36373;
(statearr_36421_37790[(2)] = ex__34872__auto__);
if(cljs.core.seq((state_36373[(4)]))){
var statearr_36422_37791 = state_36373;
(statearr_36422_37791[(1)] = cljs.core.first((state_36373[(4)])));
} else {
throw ex__34872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__37792 = state_36373;
state_36373 = G__37792;
continue;
} else {
return ret_value__34870__auto__;
}
break;
}
});
cljs$core$async$mix_$_state_machine__34869__auto__ = function(state_36373){
switch(arguments.length){
case 0:
return cljs$core$async$mix_$_state_machine__34869__auto____0.call(this);
case 1:
return cljs$core$async$mix_$_state_machine__34869__auto____1.call(this,state_36373);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$mix_$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$mix_$_state_machine__34869__auto____0;
cljs$core$async$mix_$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$mix_$_state_machine__34869__auto____1;
return cljs$core$async$mix_$_state_machine__34869__auto__;
})()
})();
var state__34996__auto__ = (function (){var statearr_36423 = f__34995__auto__();
(statearr_36423[(6)] = c__34994__auto___37747);
return statearr_36423;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__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_37793 = (function (p,v,ch,close_QMARK_){
var x__5373__auto__ = (((p == null))?null:p);
var m__5374__auto__ = (cljs.core.async.sub_STAR_[goog.typeOf(x__5373__auto__)]);
if((!((m__5374__auto__ == null)))){
return (m__5374__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$4(p,v,ch,close_QMARK_) : m__5374__auto__.call(null,p,v,ch,close_QMARK_));
} else {
var m__5372__auto__ = (cljs.core.async.sub_STAR_["_"]);
if((!((m__5372__auto__ == null)))){
return (m__5372__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$4(p,v,ch,close_QMARK_) : m__5372__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_37793(p,v,ch,close_QMARK_);
}
});
var cljs$core$async$Pub$unsub_STAR_$dyn_37797 = (function (p,v,ch){
var x__5373__auto__ = (((p == null))?null:p);
var m__5374__auto__ = (cljs.core.async.unsub_STAR_[goog.typeOf(x__5373__auto__)]);
if((!((m__5374__auto__ == null)))){
return (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(p,v,ch) : m__5374__auto__.call(null,p,v,ch));
} else {
var m__5372__auto__ = (cljs.core.async.unsub_STAR_["_"]);
if((!((m__5372__auto__ == null)))){
return (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(p,v,ch) : m__5372__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_37797(p,v,ch);
}
});
var cljs$core$async$Pub$unsub_all_STAR_$dyn_37798 = (function() {
var G__37799 = null;
var G__37799__1 = (function (p){
var x__5373__auto__ = (((p == null))?null:p);
var m__5374__auto__ = (cljs.core.async.unsub_all_STAR_[goog.typeOf(x__5373__auto__)]);
if((!((m__5374__auto__ == null)))){
return (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(p) : m__5374__auto__.call(null,p));
} else {
var m__5372__auto__ = (cljs.core.async.unsub_all_STAR_["_"]);
if((!((m__5372__auto__ == null)))){
return (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(p) : m__5372__auto__.call(null,p));
} else {
throw cljs.core.missing_protocol("Pub.unsub-all*",p);
}
}
});
var G__37799__2 = (function (p,v){
var x__5373__auto__ = (((p == null))?null:p);
var m__5374__auto__ = (cljs.core.async.unsub_all_STAR_[goog.typeOf(x__5373__auto__)]);
if((!((m__5374__auto__ == null)))){
return (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(p,v) : m__5374__auto__.call(null,p,v));
} else {
var m__5372__auto__ = (cljs.core.async.unsub_all_STAR_["_"]);
if((!((m__5372__auto__ == null)))){
return (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(p,v) : m__5372__auto__.call(null,p,v));
} else {
throw cljs.core.missing_protocol("Pub.unsub-all*",p);
}
}
});
G__37799 = function(p,v){
switch(arguments.length){
case 1:
return G__37799__1.call(this,p);
case 2:
return G__37799__2.call(this,p,v);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
G__37799.cljs$core$IFn$_invoke$arity$1 = G__37799__1;
G__37799.cljs$core$IFn$_invoke$arity$2 = G__37799__2;
return G__37799;
})()
;
cljs.core.async.unsub_all_STAR_ = (function cljs$core$async$unsub_all_STAR_(var_args){
var G__36439 = arguments.length;
switch (G__36439) {
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_37798(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_37798(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$async36472 = (function (ch,topic_fn,buf_fn,mults,ensure_mult,meta36473){
this.ch = ch;
this.topic_fn = topic_fn;
this.buf_fn = buf_fn;
this.mults = mults;
this.ensure_mult = ensure_mult;
this.meta36473 = meta36473;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async36472.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_36474,meta36473__$1){
var self__ = this;
var _36474__$1 = this;
return (new cljs.core.async.t_cljs$core$async36472(self__.ch,self__.topic_fn,self__.buf_fn,self__.mults,self__.ensure_mult,meta36473__$1));
}));
(cljs.core.async.t_cljs$core$async36472.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_36474){
var self__ = this;
var _36474__$1 = this;
return self__.meta36473;
}));
(cljs.core.async.t_cljs$core$async36472.prototype.cljs$core$async$Mux$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async36472.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$async36472.prototype.cljs$core$async$Pub$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async36472.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$async36472.prototype.cljs$core$async$Pub$unsub_STAR_$arity$3 = (function (p,topic,ch__$1){
var self__ = this;
var p__$1 = this;
var temp__5823__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(self__.mults),topic);
if(cljs.core.truth_(temp__5823__auto__)){
var m = temp__5823__auto__;
return cljs.core.async.untap(m,ch__$1);
} else {
return null;
}
}));
(cljs.core.async.t_cljs$core$async36472.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$async36472.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$async36472.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,"meta36473","meta36473",-1196783693,null)], null);
}));
(cljs.core.async.t_cljs$core$async36472.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async36472.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async36472");
(cljs.core.async.t_cljs$core$async36472.cljs$lang$ctorPrWriter = (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){
return cljs.core._write(writer__5311__auto__,"cljs.core.async/t_cljs$core$async36472");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async36472.
*/
cljs.core.async.__GT_t_cljs$core$async36472 = (function cljs$core$async$__GT_t_cljs$core$async36472(ch,topic_fn,buf_fn,mults,ensure_mult,meta36473){
return (new cljs.core.async.t_cljs$core$async36472(ch,topic_fn,buf_fn,mults,ensure_mult,meta36473));
});
/**
* 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__36461 = arguments.length;
switch (G__36461) {
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__5025__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(mults),topic);
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__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__36447_SHARP_){
if(cljs.core.truth_((p1__36447_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__36447_SHARP_.cljs$core$IFn$_invoke$arity$1(topic) : p1__36447_SHARP_.call(null,topic)))){
return p1__36447_SHARP_;
} else {
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p1__36447_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$async36472(ch,topic_fn,buf_fn,mults,ensure_mult,cljs.core.PersistentArrayMap.EMPTY));
var c__34994__auto___37806 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__34995__auto__ = (function (){var switch__34868__auto__ = (function (state_36559){
var state_val_36560 = (state_36559[(1)]);
if((state_val_36560 === (7))){
var inst_36555 = (state_36559[(2)]);
var state_36559__$1 = state_36559;
var statearr_36562_37807 = state_36559__$1;
(statearr_36562_37807[(2)] = inst_36555);
(statearr_36562_37807[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36560 === (20))){
var state_36559__$1 = state_36559;
var statearr_36563_37808 = state_36559__$1;
(statearr_36563_37808[(2)] = null);
(statearr_36563_37808[(1)] = (21));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36560 === (1))){
var state_36559__$1 = state_36559;
var statearr_36565_37809 = state_36559__$1;
(statearr_36565_37809[(2)] = null);
(statearr_36565_37809[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36560 === (24))){
var inst_36536 = (state_36559[(7)]);
var inst_36545 = cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(mults,cljs.core.dissoc,inst_36536);
var state_36559__$1 = state_36559;
var statearr_36566_37810 = state_36559__$1;
(statearr_36566_37810[(2)] = inst_36545);
(statearr_36566_37810[(1)] = (25));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36560 === (4))){
var inst_36484 = (state_36559[(8)]);
var inst_36484__$1 = (state_36559[(2)]);
var inst_36485 = (inst_36484__$1 == null);
var state_36559__$1 = (function (){var statearr_36567 = state_36559;
(statearr_36567[(8)] = inst_36484__$1);
return statearr_36567;
})();
if(cljs.core.truth_(inst_36485)){
var statearr_36568_37811 = state_36559__$1;
(statearr_36568_37811[(1)] = (5));
} else {
var statearr_36569_37812 = state_36559__$1;
(statearr_36569_37812[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36560 === (15))){
var inst_36530 = (state_36559[(2)]);
var state_36559__$1 = state_36559;
var statearr_36570_37813 = state_36559__$1;
(statearr_36570_37813[(2)] = inst_36530);
(statearr_36570_37813[(1)] = (12));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36560 === (21))){
var inst_36551 = (state_36559[(2)]);
var state_36559__$1 = (function (){var statearr_36571 = state_36559;
(statearr_36571[(9)] = inst_36551);
return statearr_36571;
})();
var statearr_36572_37814 = state_36559__$1;
(statearr_36572_37814[(2)] = null);
(statearr_36572_37814[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36560 === (13))){
var inst_36509 = (state_36559[(10)]);
var inst_36511 = cljs.core.chunked_seq_QMARK_(inst_36509);
var state_36559__$1 = state_36559;
if(inst_36511){
var statearr_36573_37816 = state_36559__$1;
(statearr_36573_37816[(1)] = (16));
} else {
var statearr_36574_37817 = state_36559__$1;
(statearr_36574_37817[(1)] = (17));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36560 === (22))){
var inst_36542 = (state_36559[(2)]);
var state_36559__$1 = state_36559;
if(cljs.core.truth_(inst_36542)){
var statearr_36575_37818 = state_36559__$1;
(statearr_36575_37818[(1)] = (23));
} else {
var statearr_36576_37819 = state_36559__$1;
(statearr_36576_37819[(1)] = (24));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36560 === (6))){
var inst_36484 = (state_36559[(8)]);
var inst_36536 = (state_36559[(7)]);
var inst_36538 = (state_36559[(11)]);
var inst_36536__$1 = (topic_fn.cljs$core$IFn$_invoke$arity$1 ? topic_fn.cljs$core$IFn$_invoke$arity$1(inst_36484) : topic_fn.call(null,inst_36484));
var inst_36537 = cljs.core.deref(mults);
var inst_36538__$1 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_36537,inst_36536__$1);
var state_36559__$1 = (function (){var statearr_36578 = state_36559;
(statearr_36578[(7)] = inst_36536__$1);
(statearr_36578[(11)] = inst_36538__$1);
return statearr_36578;
})();
if(cljs.core.truth_(inst_36538__$1)){
var statearr_36579_37821 = state_36559__$1;
(statearr_36579_37821[(1)] = (19));
} else {
var statearr_36581_37822 = state_36559__$1;
(statearr_36581_37822[(1)] = (20));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36560 === (25))){
var inst_36547 = (state_36559[(2)]);
var state_36559__$1 = state_36559;
var statearr_36582_37823 = state_36559__$1;
(statearr_36582_37823[(2)] = inst_36547);
(statearr_36582_37823[(1)] = (21));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36560 === (17))){
var inst_36509 = (state_36559[(10)]);
var inst_36521 = cljs.core.first(inst_36509);
var inst_36522 = cljs.core.async.muxch_STAR_(inst_36521);
var inst_36523 = cljs.core.async.close_BANG_(inst_36522);
var inst_36524 = cljs.core.next(inst_36509);
var inst_36494 = inst_36524;
var inst_36495 = null;
var inst_36496 = (0);
var inst_36497 = (0);
var state_36559__$1 = (function (){var statearr_36583 = state_36559;
(statearr_36583[(12)] = inst_36523);
(statearr_36583[(13)] = inst_36494);
(statearr_36583[(14)] = inst_36495);
(statearr_36583[(15)] = inst_36496);
(statearr_36583[(16)] = inst_36497);
return statearr_36583;
})();
var statearr_36584_37825 = state_36559__$1;
(statearr_36584_37825[(2)] = null);
(statearr_36584_37825[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36560 === (3))){
var inst_36557 = (state_36559[(2)]);
var state_36559__$1 = state_36559;
return cljs.core.async.impl.ioc_helpers.return_chan(state_36559__$1,inst_36557);
} else {
if((state_val_36560 === (12))){
var inst_36532 = (state_36559[(2)]);
var state_36559__$1 = state_36559;
var statearr_36587_37826 = state_36559__$1;
(statearr_36587_37826[(2)] = inst_36532);
(statearr_36587_37826[(1)] = (9));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36560 === (2))){
var state_36559__$1 = state_36559;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_36559__$1,(4),ch);
} else {
if((state_val_36560 === (23))){
var state_36559__$1 = state_36559;
var statearr_36591_37827 = state_36559__$1;
(statearr_36591_37827[(2)] = null);
(statearr_36591_37827[(1)] = (25));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36560 === (19))){
var inst_36538 = (state_36559[(11)]);
var inst_36484 = (state_36559[(8)]);
var inst_36540 = cljs.core.async.muxch_STAR_(inst_36538);
var state_36559__$1 = state_36559;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_36559__$1,(22),inst_36540,inst_36484);
} else {
if((state_val_36560 === (11))){
var inst_36494 = (state_36559[(13)]);
var inst_36509 = (state_36559[(10)]);
var inst_36509__$1 = cljs.core.seq(inst_36494);
var state_36559__$1 = (function (){var statearr_36592 = state_36559;
(statearr_36592[(10)] = inst_36509__$1);
return statearr_36592;
})();
if(inst_36509__$1){
var statearr_36593_37830 = state_36559__$1;
(statearr_36593_37830[(1)] = (13));
} else {
var statearr_36594_37831 = state_36559__$1;
(statearr_36594_37831[(1)] = (14));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36560 === (9))){
var inst_36534 = (state_36559[(2)]);
var state_36559__$1 = state_36559;
var statearr_36595_37832 = state_36559__$1;
(statearr_36595_37832[(2)] = inst_36534);
(statearr_36595_37832[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36560 === (5))){
var inst_36491 = cljs.core.deref(mults);
var inst_36492 = cljs.core.vals(inst_36491);
var inst_36493 = cljs.core.seq(inst_36492);
var inst_36494 = inst_36493;
var inst_36495 = null;
var inst_36496 = (0);
var inst_36497 = (0);
var state_36559__$1 = (function (){var statearr_36596 = state_36559;
(statearr_36596[(13)] = inst_36494);
(statearr_36596[(14)] = inst_36495);
(statearr_36596[(15)] = inst_36496);
(statearr_36596[(16)] = inst_36497);
return statearr_36596;
})();
var statearr_36597_37833 = state_36559__$1;
(statearr_36597_37833[(2)] = null);
(statearr_36597_37833[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36560 === (14))){
var state_36559__$1 = state_36559;
var statearr_36601_37834 = state_36559__$1;
(statearr_36601_37834[(2)] = null);
(statearr_36601_37834[(1)] = (15));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36560 === (16))){
var inst_36509 = (state_36559[(10)]);
var inst_36516 = cljs.core.chunk_first(inst_36509);
var inst_36517 = cljs.core.chunk_rest(inst_36509);
var inst_36518 = cljs.core.count(inst_36516);
var inst_36494 = inst_36517;
var inst_36495 = inst_36516;
var inst_36496 = inst_36518;
var inst_36497 = (0);
var state_36559__$1 = (function (){var statearr_36602 = state_36559;
(statearr_36602[(13)] = inst_36494);
(statearr_36602[(14)] = inst_36495);
(statearr_36602[(15)] = inst_36496);
(statearr_36602[(16)] = inst_36497);
return statearr_36602;
})();
var statearr_36603_37835 = state_36559__$1;
(statearr_36603_37835[(2)] = null);
(statearr_36603_37835[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36560 === (10))){
var inst_36495 = (state_36559[(14)]);
var inst_36497 = (state_36559[(16)]);
var inst_36494 = (state_36559[(13)]);
var inst_36496 = (state_36559[(15)]);
var inst_36502 = cljs.core._nth(inst_36495,inst_36497);
var inst_36503 = cljs.core.async.muxch_STAR_(inst_36502);
var inst_36504 = cljs.core.async.close_BANG_(inst_36503);
var inst_36506 = (inst_36497 + (1));
var tmp36598 = inst_36494;
var tmp36599 = inst_36496;
var tmp36600 = inst_36495;
var inst_36494__$1 = tmp36598;
var inst_36495__$1 = tmp36600;
var inst_36496__$1 = tmp36599;
var inst_36497__$1 = inst_36506;
var state_36559__$1 = (function (){var statearr_36604 = state_36559;
(statearr_36604[(17)] = inst_36504);
(statearr_36604[(13)] = inst_36494__$1);
(statearr_36604[(14)] = inst_36495__$1);
(statearr_36604[(15)] = inst_36496__$1);
(statearr_36604[(16)] = inst_36497__$1);
return statearr_36604;
})();
var statearr_36605_37836 = state_36559__$1;
(statearr_36605_37836[(2)] = null);
(statearr_36605_37836[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36560 === (18))){
var inst_36527 = (state_36559[(2)]);
var state_36559__$1 = state_36559;
var statearr_36606_37837 = state_36559__$1;
(statearr_36606_37837[(2)] = inst_36527);
(statearr_36606_37837[(1)] = (15));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36560 === (8))){
var inst_36497 = (state_36559[(16)]);
var inst_36496 = (state_36559[(15)]);
var inst_36499 = (inst_36497 < inst_36496);
var inst_36500 = inst_36499;
var state_36559__$1 = state_36559;
if(cljs.core.truth_(inst_36500)){
var statearr_36607_37838 = state_36559__$1;
(statearr_36607_37838[(1)] = (10));
} else {
var statearr_36608_37839 = state_36559__$1;
(statearr_36608_37839[(1)] = (11));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__34869__auto__ = null;
var cljs$core$async$state_machine__34869__auto____0 = (function (){
var statearr_36609 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_36609[(0)] = cljs$core$async$state_machine__34869__auto__);
(statearr_36609[(1)] = (1));
return statearr_36609;
});
var cljs$core$async$state_machine__34869__auto____1 = (function (state_36559){
while(true){
var ret_value__34870__auto__ = (function (){try{while(true){
var result__34871__auto__ = switch__34868__auto__(state_36559);
if(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__34871__auto__;
}
break;
}
}catch (e36610){var ex__34872__auto__ = e36610;
var statearr_36611_37841 = state_36559;
(statearr_36611_37841[(2)] = ex__34872__auto__);
if(cljs.core.seq((state_36559[(4)]))){
var statearr_36612_37842 = state_36559;
(statearr_36612_37842[(1)] = cljs.core.first((state_36559[(4)])));
} else {
throw ex__34872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__37843 = state_36559;
state_36559 = G__37843;
continue;
} else {
return ret_value__34870__auto__;
}
break;
}
});
cljs$core$async$state_machine__34869__auto__ = function(state_36559){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__34869__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__34869__auto____1.call(this,state_36559);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__34869__auto____0;
cljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__34869__auto____1;
return cljs$core$async$state_machine__34869__auto__;
})()
})();
var state__34996__auto__ = (function (){var statearr_36618 = f__34995__auto__();
(statearr_36618[(6)] = c__34994__auto___37806);
return statearr_36618;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__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__36620 = arguments.length;
switch (G__36620) {
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__36625 = arguments.length;
switch (G__36625) {
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__36631 = arguments.length;
switch (G__36631) {
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__34994__auto___37847 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__34995__auto__ = (function (){var switch__34868__auto__ = (function (state_36682){
var state_val_36683 = (state_36682[(1)]);
if((state_val_36683 === (7))){
var state_36682__$1 = state_36682;
var statearr_36684_37848 = state_36682__$1;
(statearr_36684_37848[(2)] = null);
(statearr_36684_37848[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36683 === (1))){
var state_36682__$1 = state_36682;
var statearr_36685_37849 = state_36682__$1;
(statearr_36685_37849[(2)] = null);
(statearr_36685_37849[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36683 === (4))){
var inst_36635 = (state_36682[(7)]);
var inst_36634 = (state_36682[(8)]);
var inst_36637 = (inst_36635 < inst_36634);
var state_36682__$1 = state_36682;
if(cljs.core.truth_(inst_36637)){
var statearr_36686_37851 = state_36682__$1;
(statearr_36686_37851[(1)] = (6));
} else {
var statearr_36687_37852 = state_36682__$1;
(statearr_36687_37852[(1)] = (7));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36683 === (15))){
var inst_36668 = (state_36682[(9)]);
var inst_36673 = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,inst_36668);
var state_36682__$1 = state_36682;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_36682__$1,(17),out,inst_36673);
} else {
if((state_val_36683 === (13))){
var inst_36668 = (state_36682[(9)]);
var inst_36668__$1 = (state_36682[(2)]);
var inst_36669 = cljs.core.some(cljs.core.nil_QMARK_,inst_36668__$1);
var state_36682__$1 = (function (){var statearr_36688 = state_36682;
(statearr_36688[(9)] = inst_36668__$1);
return statearr_36688;
})();
if(cljs.core.truth_(inst_36669)){
var statearr_36689_37854 = state_36682__$1;
(statearr_36689_37854[(1)] = (14));
} else {
var statearr_36691_37855 = state_36682__$1;
(statearr_36691_37855[(1)] = (15));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36683 === (6))){
var state_36682__$1 = state_36682;
var statearr_36693_37856 = state_36682__$1;
(statearr_36693_37856[(2)] = null);
(statearr_36693_37856[(1)] = (9));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36683 === (17))){
var inst_36675 = (state_36682[(2)]);
var state_36682__$1 = (function (){var statearr_36698 = state_36682;
(statearr_36698[(10)] = inst_36675);
return statearr_36698;
})();
var statearr_36699_37861 = state_36682__$1;
(statearr_36699_37861[(2)] = null);
(statearr_36699_37861[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36683 === (3))){
var inst_36680 = (state_36682[(2)]);
var state_36682__$1 = state_36682;
return cljs.core.async.impl.ioc_helpers.return_chan(state_36682__$1,inst_36680);
} else {
if((state_val_36683 === (12))){
var _ = (function (){var statearr_36700 = state_36682;
(statearr_36700[(4)] = cljs.core.rest((state_36682[(4)])));
return statearr_36700;
})();
var state_36682__$1 = state_36682;
var ex36694 = (state_36682__$1[(2)]);
var statearr_36701_37862 = state_36682__$1;
(statearr_36701_37862[(5)] = ex36694);
if((ex36694 instanceof Object)){
var statearr_36702_37863 = state_36682__$1;
(statearr_36702_37863[(1)] = (11));
(statearr_36702_37863[(5)] = null);
} else {
throw ex36694;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36683 === (2))){
var inst_36633 = cljs.core.reset_BANG_(dctr,cnt);
var inst_36634 = cnt;
var inst_36635 = (0);
var state_36682__$1 = (function (){var statearr_36703 = state_36682;
(statearr_36703[(11)] = inst_36633);
(statearr_36703[(8)] = inst_36634);
(statearr_36703[(7)] = inst_36635);
return statearr_36703;
})();
var statearr_36704_37864 = state_36682__$1;
(statearr_36704_37864[(2)] = null);
(statearr_36704_37864[(1)] = (4));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36683 === (11))){
var inst_36644 = (state_36682[(2)]);
var inst_36648 = cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(dctr,cljs.core.dec);
var state_36682__$1 = (function (){var statearr_36705 = state_36682;
(statearr_36705[(12)] = inst_36644);
return statearr_36705;
})();
var statearr_36706_37865 = state_36682__$1;
(statearr_36706_37865[(2)] = inst_36648);
(statearr_36706_37865[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36683 === (9))){
var inst_36635 = (state_36682[(7)]);
var _ = (function (){var statearr_36707 = state_36682;
(statearr_36707[(4)] = cljs.core.cons((12),(state_36682[(4)])));
return statearr_36707;
})();
var inst_36654 = (chs__$1.cljs$core$IFn$_invoke$arity$1 ? chs__$1.cljs$core$IFn$_invoke$arity$1(inst_36635) : chs__$1.call(null,inst_36635));
var inst_36655 = (done.cljs$core$IFn$_invoke$arity$1 ? done.cljs$core$IFn$_invoke$arity$1(inst_36635) : done.call(null,inst_36635));
var inst_36656 = cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2(inst_36654,inst_36655);
var ___$1 = (function (){var statearr_36708 = state_36682;
(statearr_36708[(4)] = cljs.core.rest((state_36682[(4)])));
return statearr_36708;
})();
var state_36682__$1 = state_36682;
var statearr_36709_37870 = state_36682__$1;
(statearr_36709_37870[(2)] = inst_36656);
(statearr_36709_37870[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36683 === (5))){
var inst_36666 = (state_36682[(2)]);
var state_36682__$1 = (function (){var statearr_36710 = state_36682;
(statearr_36710[(13)] = inst_36666);
return statearr_36710;
})();
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_36682__$1,(13),dchan);
} else {
if((state_val_36683 === (14))){
var inst_36671 = cljs.core.async.close_BANG_(out);
var state_36682__$1 = state_36682;
var statearr_36711_37872 = state_36682__$1;
(statearr_36711_37872[(2)] = inst_36671);
(statearr_36711_37872[(1)] = (16));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36683 === (16))){
var inst_36678 = (state_36682[(2)]);
var state_36682__$1 = state_36682;
var statearr_36712_37873 = state_36682__$1;
(statearr_36712_37873[(2)] = inst_36678);
(statearr_36712_37873[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36683 === (10))){
var inst_36635 = (state_36682[(7)]);
var inst_36659 = (state_36682[(2)]);
var inst_36660 = (inst_36635 + (1));
var inst_36635__$1 = inst_36660;
var state_36682__$1 = (function (){var statearr_36713 = state_36682;
(statearr_36713[(14)] = inst_36659);
(statearr_36713[(7)] = inst_36635__$1);
return statearr_36713;
})();
var statearr_36714_37874 = state_36682__$1;
(statearr_36714_37874[(2)] = null);
(statearr_36714_37874[(1)] = (4));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36683 === (8))){
var inst_36664 = (state_36682[(2)]);
var state_36682__$1 = state_36682;
var statearr_36715_37875 = state_36682__$1;
(statearr_36715_37875[(2)] = inst_36664);
(statearr_36715_37875[(1)] = (5));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__34869__auto__ = null;
var cljs$core$async$state_machine__34869__auto____0 = (function (){
var statearr_36716 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_36716[(0)] = cljs$core$async$state_machine__34869__auto__);
(statearr_36716[(1)] = (1));
return statearr_36716;
});
var cljs$core$async$state_machine__34869__auto____1 = (function (state_36682){
while(true){
var ret_value__34870__auto__ = (function (){try{while(true){
var result__34871__auto__ = switch__34868__auto__(state_36682);
if(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__34871__auto__;
}
break;
}
}catch (e36717){var ex__34872__auto__ = e36717;
var statearr_36718_37876 = state_36682;
(statearr_36718_37876[(2)] = ex__34872__auto__);
if(cljs.core.seq((state_36682[(4)]))){
var statearr_36719_37877 = state_36682;
(statearr_36719_37877[(1)] = cljs.core.first((state_36682[(4)])));
} else {
throw ex__34872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__37882 = state_36682;
state_36682 = G__37882;
continue;
} else {
return ret_value__34870__auto__;
}
break;
}
});
cljs$core$async$state_machine__34869__auto__ = function(state_36682){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__34869__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__34869__auto____1.call(this,state_36682);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__34869__auto____0;
cljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__34869__auto____1;
return cljs$core$async$state_machine__34869__auto__;
})()
})();
var state__34996__auto__ = (function (){var statearr_36720 = f__34995__auto__();
(statearr_36720[(6)] = c__34994__auto___37847);
return statearr_36720;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__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__36723 = arguments.length;
switch (G__36723) {
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__34994__auto___37885 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__34995__auto__ = (function (){var switch__34868__auto__ = (function (state_36756){
var state_val_36757 = (state_36756[(1)]);
if((state_val_36757 === (7))){
var inst_36734 = (state_36756[(7)]);
var inst_36735 = (state_36756[(8)]);
var inst_36734__$1 = (state_36756[(2)]);
var inst_36735__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_36734__$1,(0),null);
var inst_36736 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_36734__$1,(1),null);
var inst_36737 = (inst_36735__$1 == null);
var state_36756__$1 = (function (){var statearr_36758 = state_36756;
(statearr_36758[(7)] = inst_36734__$1);
(statearr_36758[(8)] = inst_36735__$1);
(statearr_36758[(9)] = inst_36736);
return statearr_36758;
})();
if(cljs.core.truth_(inst_36737)){
var statearr_36759_37886 = state_36756__$1;
(statearr_36759_37886[(1)] = (8));
} else {
var statearr_36760_37887 = state_36756__$1;
(statearr_36760_37887[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36757 === (1))){
var inst_36724 = cljs.core.vec(chs);
var inst_36725 = inst_36724;
var state_36756__$1 = (function (){var statearr_36764 = state_36756;
(statearr_36764[(10)] = inst_36725);
return statearr_36764;
})();
var statearr_36765_37888 = state_36756__$1;
(statearr_36765_37888[(2)] = null);
(statearr_36765_37888[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36757 === (4))){
var inst_36725 = (state_36756[(10)]);
var state_36756__$1 = state_36756;
return cljs.core.async.ioc_alts_BANG_(state_36756__$1,(7),inst_36725);
} else {
if((state_val_36757 === (6))){
var inst_36752 = (state_36756[(2)]);
var state_36756__$1 = state_36756;
var statearr_36766_37889 = state_36756__$1;
(statearr_36766_37889[(2)] = inst_36752);
(statearr_36766_37889[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36757 === (3))){
var inst_36754 = (state_36756[(2)]);
var state_36756__$1 = state_36756;
return cljs.core.async.impl.ioc_helpers.return_chan(state_36756__$1,inst_36754);
} else {
if((state_val_36757 === (2))){
var inst_36725 = (state_36756[(10)]);
var inst_36727 = cljs.core.count(inst_36725);
var inst_36728 = (inst_36727 > (0));
var state_36756__$1 = state_36756;
if(cljs.core.truth_(inst_36728)){
var statearr_36768_37890 = state_36756__$1;
(statearr_36768_37890[(1)] = (4));
} else {
var statearr_36769_37891 = state_36756__$1;
(statearr_36769_37891[(1)] = (5));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36757 === (11))){
var inst_36725 = (state_36756[(10)]);
var inst_36745 = (state_36756[(2)]);
var tmp36767 = inst_36725;
var inst_36725__$1 = tmp36767;
var state_36756__$1 = (function (){var statearr_36770 = state_36756;
(statearr_36770[(11)] = inst_36745);
(statearr_36770[(10)] = inst_36725__$1);
return statearr_36770;
})();
var statearr_36771_37893 = state_36756__$1;
(statearr_36771_37893[(2)] = null);
(statearr_36771_37893[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36757 === (9))){
var inst_36735 = (state_36756[(8)]);
var state_36756__$1 = state_36756;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_36756__$1,(11),out,inst_36735);
} else {
if((state_val_36757 === (5))){
var inst_36750 = cljs.core.async.close_BANG_(out);
var state_36756__$1 = state_36756;
var statearr_36776_37894 = state_36756__$1;
(statearr_36776_37894[(2)] = inst_36750);
(statearr_36776_37894[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36757 === (10))){
var inst_36748 = (state_36756[(2)]);
var state_36756__$1 = state_36756;
var statearr_36777_37895 = state_36756__$1;
(statearr_36777_37895[(2)] = inst_36748);
(statearr_36777_37895[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36757 === (8))){
var inst_36725 = (state_36756[(10)]);
var inst_36734 = (state_36756[(7)]);
var inst_36735 = (state_36756[(8)]);
var inst_36736 = (state_36756[(9)]);
var inst_36739 = (function (){var cs = inst_36725;
var vec__36730 = inst_36734;
var v = inst_36735;
var c = inst_36736;
return (function (p1__36721_SHARP_){
return cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(c,p1__36721_SHARP_);
});
})();
var inst_36741 = cljs.core.filterv(inst_36739,inst_36725);
var inst_36725__$1 = inst_36741;
var state_36756__$1 = (function (){var statearr_36778 = state_36756;
(statearr_36778[(10)] = inst_36725__$1);
return statearr_36778;
})();
var statearr_36779_37896 = state_36756__$1;
(statearr_36779_37896[(2)] = null);
(statearr_36779_37896[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__34869__auto__ = null;
var cljs$core$async$state_machine__34869__auto____0 = (function (){
var statearr_36780 = [null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_36780[(0)] = cljs$core$async$state_machine__34869__auto__);
(statearr_36780[(1)] = (1));
return statearr_36780;
});
var cljs$core$async$state_machine__34869__auto____1 = (function (state_36756){
while(true){
var ret_value__34870__auto__ = (function (){try{while(true){
var result__34871__auto__ = switch__34868__auto__(state_36756);
if(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__34871__auto__;
}
break;
}
}catch (e36781){var ex__34872__auto__ = e36781;
var statearr_36782_37901 = state_36756;
(statearr_36782_37901[(2)] = ex__34872__auto__);
if(cljs.core.seq((state_36756[(4)]))){
var statearr_36783_37902 = state_36756;
(statearr_36783_37902[(1)] = cljs.core.first((state_36756[(4)])));
} else {
throw ex__34872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__37903 = state_36756;
state_36756 = G__37903;
continue;
} else {
return ret_value__34870__auto__;
}
break;
}
});
cljs$core$async$state_machine__34869__auto__ = function(state_36756){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__34869__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__34869__auto____1.call(this,state_36756);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__34869__auto____0;
cljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__34869__auto____1;
return cljs$core$async$state_machine__34869__auto__;
})()
})();
var state__34996__auto__ = (function (){var statearr_36784 = f__34995__auto__();
(statearr_36784[(6)] = c__34994__auto___37885);
return statearr_36784;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__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__36786 = arguments.length;
switch (G__36786) {
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__34994__auto___37905 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__34995__auto__ = (function (){var switch__34868__auto__ = (function (state_36830){
var state_val_36839 = (state_36830[(1)]);
if((state_val_36839 === (7))){
var inst_36812 = (state_36830[(7)]);
var inst_36812__$1 = (state_36830[(2)]);
var inst_36813 = (inst_36812__$1 == null);
var inst_36814 = cljs.core.not(inst_36813);
var state_36830__$1 = (function (){var statearr_36852 = state_36830;
(statearr_36852[(7)] = inst_36812__$1);
return statearr_36852;
})();
if(inst_36814){
var statearr_36853_37906 = state_36830__$1;
(statearr_36853_37906[(1)] = (8));
} else {
var statearr_36854_37907 = state_36830__$1;
(statearr_36854_37907[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36839 === (1))){
var inst_36807 = (0);
var state_36830__$1 = (function (){var statearr_36855 = state_36830;
(statearr_36855[(8)] = inst_36807);
return statearr_36855;
})();
var statearr_36856_37908 = state_36830__$1;
(statearr_36856_37908[(2)] = null);
(statearr_36856_37908[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36839 === (4))){
var state_36830__$1 = state_36830;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_36830__$1,(7),ch);
} else {
if((state_val_36839 === (6))){
var inst_36825 = (state_36830[(2)]);
var state_36830__$1 = state_36830;
var statearr_36859_37909 = state_36830__$1;
(statearr_36859_37909[(2)] = inst_36825);
(statearr_36859_37909[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36839 === (3))){
var inst_36827 = (state_36830[(2)]);
var inst_36828 = cljs.core.async.close_BANG_(out);
var state_36830__$1 = (function (){var statearr_36860 = state_36830;
(statearr_36860[(9)] = inst_36827);
return statearr_36860;
})();
return cljs.core.async.impl.ioc_helpers.return_chan(state_36830__$1,inst_36828);
} else {
if((state_val_36839 === (2))){
var inst_36807 = (state_36830[(8)]);
var inst_36809 = (inst_36807 < n);
var state_36830__$1 = state_36830;
if(cljs.core.truth_(inst_36809)){
var statearr_36862_37910 = state_36830__$1;
(statearr_36862_37910[(1)] = (4));
} else {
var statearr_36863_37911 = state_36830__$1;
(statearr_36863_37911[(1)] = (5));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36839 === (11))){
var inst_36807 = (state_36830[(8)]);
var inst_36817 = (state_36830[(2)]);
var inst_36818 = (inst_36807 + (1));
var inst_36807__$1 = inst_36818;
var state_36830__$1 = (function (){var statearr_36864 = state_36830;
(statearr_36864[(10)] = inst_36817);
(statearr_36864[(8)] = inst_36807__$1);
return statearr_36864;
})();
var statearr_36865_37912 = state_36830__$1;
(statearr_36865_37912[(2)] = null);
(statearr_36865_37912[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36839 === (9))){
var state_36830__$1 = state_36830;
var statearr_36866_37913 = state_36830__$1;
(statearr_36866_37913[(2)] = null);
(statearr_36866_37913[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36839 === (5))){
var state_36830__$1 = state_36830;
var statearr_36867_37914 = state_36830__$1;
(statearr_36867_37914[(2)] = null);
(statearr_36867_37914[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36839 === (10))){
var inst_36822 = (state_36830[(2)]);
var state_36830__$1 = state_36830;
var statearr_36868_37915 = state_36830__$1;
(statearr_36868_37915[(2)] = inst_36822);
(statearr_36868_37915[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36839 === (8))){
var inst_36812 = (state_36830[(7)]);
var state_36830__$1 = state_36830;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_36830__$1,(11),out,inst_36812);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__34869__auto__ = null;
var cljs$core$async$state_machine__34869__auto____0 = (function (){
var statearr_36872 = [null,null,null,null,null,null,null,null,null,null,null];
(statearr_36872[(0)] = cljs$core$async$state_machine__34869__auto__);
(statearr_36872[(1)] = (1));
return statearr_36872;
});
var cljs$core$async$state_machine__34869__auto____1 = (function (state_36830){
while(true){
var ret_value__34870__auto__ = (function (){try{while(true){
var result__34871__auto__ = switch__34868__auto__(state_36830);
if(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__34871__auto__;
}
break;
}
}catch (e36873){var ex__34872__auto__ = e36873;
var statearr_36874_37916 = state_36830;
(statearr_36874_37916[(2)] = ex__34872__auto__);
if(cljs.core.seq((state_36830[(4)]))){
var statearr_36875_37917 = state_36830;
(statearr_36875_37917[(1)] = cljs.core.first((state_36830[(4)])));
} else {
throw ex__34872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__37918 = state_36830;
state_36830 = G__37918;
continue;
} else {
return ret_value__34870__auto__;
}
break;
}
});
cljs$core$async$state_machine__34869__auto__ = function(state_36830){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__34869__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__34869__auto____1.call(this,state_36830);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__34869__auto____0;
cljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__34869__auto____1;
return cljs$core$async$state_machine__34869__auto__;
})()
})();
var state__34996__auto__ = (function (){var statearr_36876 = f__34995__auto__();
(statearr_36876[(6)] = c__34994__auto___37905);
return statearr_36876;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__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$async36881 = (function (f,ch,meta36879,_,fn1,meta36882){
this.f = f;
this.ch = ch;
this.meta36879 = meta36879;
this._ = _;
this.fn1 = fn1;
this.meta36882 = meta36882;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async36881.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_36883,meta36882__$1){
var self__ = this;
var _36883__$1 = this;
return (new cljs.core.async.t_cljs$core$async36881(self__.f,self__.ch,self__.meta36879,self__._,self__.fn1,meta36882__$1));
}));
(cljs.core.async.t_cljs$core$async36881.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_36883){
var self__ = this;
var _36883__$1 = this;
return self__.meta36882;
}));
(cljs.core.async.t_cljs$core$async36881.prototype.cljs$core$async$impl$protocols$Handler$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async36881.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$async36881.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$async36881.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__36877_SHARP_){
var G__36884 = (((p1__36877_SHARP_ == null))?null:(self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(p1__36877_SHARP_) : self__.f.call(null,p1__36877_SHARP_)));
return (f1.cljs$core$IFn$_invoke$arity$1 ? f1.cljs$core$IFn$_invoke$arity$1(G__36884) : f1.call(null,G__36884));
});
}));
(cljs.core.async.t_cljs$core$async36881.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,"meta36879","meta36879",1576118045,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$async36878","cljs.core.async/t_cljs$core$async36878",771103641,null)], null)),new cljs.core.Symbol(null,"fn1","fn1",895834444,null),new cljs.core.Symbol(null,"meta36882","meta36882",-1560378881,null)], null);
}));
(cljs.core.async.t_cljs$core$async36881.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async36881.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async36881");
(cljs.core.async.t_cljs$core$async36881.cljs$lang$ctorPrWriter = (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){
return cljs.core._write(writer__5311__auto__,"cljs.core.async/t_cljs$core$async36881");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async36881.
*/
cljs.core.async.__GT_t_cljs$core$async36881 = (function cljs$core$async$__GT_t_cljs$core$async36881(f,ch,meta36879,_,fn1,meta36882){
return (new cljs.core.async.t_cljs$core$async36881(f,ch,meta36879,_,fn1,meta36882));
});
/**
* @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$async36878 = (function (f,ch,meta36879){
this.f = f;
this.ch = ch;
this.meta36879 = meta36879;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async36878.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_36880,meta36879__$1){
var self__ = this;
var _36880__$1 = this;
return (new cljs.core.async.t_cljs$core$async36878(self__.f,self__.ch,meta36879__$1));
}));
(cljs.core.async.t_cljs$core$async36878.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_36880){
var self__ = this;
var _36880__$1 = this;
return self__.meta36879;
}));
(cljs.core.async.t_cljs$core$async36878.prototype.cljs$core$async$impl$protocols$Channel$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async36878.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$async36878.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$async36878.prototype.cljs$core$async$impl$protocols$ReadPort$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async36878.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$async36881(self__.f,self__.ch,self__.meta36879,___$1,fn1,cljs.core.PersistentArrayMap.EMPTY)));
if(cljs.core.truth_((function (){var and__5023__auto__ = ret;
if(cljs.core.truth_(and__5023__auto__)){
return (!((cljs.core.deref(ret) == null)));
} else {
return and__5023__auto__;
}
})())){
return cljs.core.async.impl.channels.box((function (){var G__36885 = cljs.core.deref(ret);
return (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(G__36885) : self__.f.call(null,G__36885));
})());
} else {
return ret;
}
}));
(cljs.core.async.t_cljs$core$async36878.prototype.cljs$core$async$impl$protocols$WritePort$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async36878.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$async36878.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,"meta36879","meta36879",1576118045,null)], null);
}));
(cljs.core.async.t_cljs$core$async36878.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async36878.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async36878");
(cljs.core.async.t_cljs$core$async36878.cljs$lang$ctorPrWriter = (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){
return cljs.core._write(writer__5311__auto__,"cljs.core.async/t_cljs$core$async36878");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async36878.
*/
cljs.core.async.__GT_t_cljs$core$async36878 = (function cljs$core$async$__GT_t_cljs$core$async36878(f,ch,meta36879){
return (new cljs.core.async.t_cljs$core$async36878(f,ch,meta36879));
});
/**
* 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$async36878(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$async36894 = (function (f,ch,meta36895){
this.f = f;
this.ch = ch;
this.meta36895 = meta36895;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async36894.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_36896,meta36895__$1){
var self__ = this;
var _36896__$1 = this;
return (new cljs.core.async.t_cljs$core$async36894(self__.f,self__.ch,meta36895__$1));
}));
(cljs.core.async.t_cljs$core$async36894.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_36896){
var self__ = this;
var _36896__$1 = this;
return self__.meta36895;
}));
(cljs.core.async.t_cljs$core$async36894.prototype.cljs$core$async$impl$protocols$Channel$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async36894.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$async36894.prototype.cljs$core$async$impl$protocols$ReadPort$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async36894.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$async36894.prototype.cljs$core$async$impl$protocols$WritePort$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async36894.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$async36894.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,"meta36895","meta36895",-1631034978,null)], null);
}));
(cljs.core.async.t_cljs$core$async36894.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async36894.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async36894");
(cljs.core.async.t_cljs$core$async36894.cljs$lang$ctorPrWriter = (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){
return cljs.core._write(writer__5311__auto__,"cljs.core.async/t_cljs$core$async36894");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async36894.
*/
cljs.core.async.__GT_t_cljs$core$async36894 = (function cljs$core$async$__GT_t_cljs$core$async36894(f,ch,meta36895){
return (new cljs.core.async.t_cljs$core$async36894(f,ch,meta36895));
});
/**
* 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$async36894(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$async36900 = (function (p,ch,meta36901){
this.p = p;
this.ch = ch;
this.meta36901 = meta36901;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async36900.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_36902,meta36901__$1){
var self__ = this;
var _36902__$1 = this;
return (new cljs.core.async.t_cljs$core$async36900(self__.p,self__.ch,meta36901__$1));
}));
(cljs.core.async.t_cljs$core$async36900.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_36902){
var self__ = this;
var _36902__$1 = this;
return self__.meta36901;
}));
(cljs.core.async.t_cljs$core$async36900.prototype.cljs$core$async$impl$protocols$Channel$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async36900.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$async36900.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$async36900.prototype.cljs$core$async$impl$protocols$ReadPort$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async36900.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$async36900.prototype.cljs$core$async$impl$protocols$WritePort$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async36900.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$async36900.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,"meta36901","meta36901",-242059838,null)], null);
}));
(cljs.core.async.t_cljs$core$async36900.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async36900.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async36900");
(cljs.core.async.t_cljs$core$async36900.cljs$lang$ctorPrWriter = (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){
return cljs.core._write(writer__5311__auto__,"cljs.core.async/t_cljs$core$async36900");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async36900.
*/
cljs.core.async.__GT_t_cljs$core$async36900 = (function cljs$core$async$__GT_t_cljs$core$async36900(p,ch,meta36901){
return (new cljs.core.async.t_cljs$core$async36900(p,ch,meta36901));
});
/**
* 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$async36900(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__36909 = arguments.length;
switch (G__36909) {
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__34994__auto___37933 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__34995__auto__ = (function (){var switch__34868__auto__ = (function (state_36933){
var state_val_36934 = (state_36933[(1)]);
if((state_val_36934 === (7))){
var inst_36929 = (state_36933[(2)]);
var state_36933__$1 = state_36933;
var statearr_36935_37934 = state_36933__$1;
(statearr_36935_37934[(2)] = inst_36929);
(statearr_36935_37934[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36934 === (1))){
var state_36933__$1 = state_36933;
var statearr_36936_37935 = state_36933__$1;
(statearr_36936_37935[(2)] = null);
(statearr_36936_37935[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36934 === (4))){
var inst_36915 = (state_36933[(7)]);
var inst_36915__$1 = (state_36933[(2)]);
var inst_36916 = (inst_36915__$1 == null);
var state_36933__$1 = (function (){var statearr_36937 = state_36933;
(statearr_36937[(7)] = inst_36915__$1);
return statearr_36937;
})();
if(cljs.core.truth_(inst_36916)){
var statearr_36938_37936 = state_36933__$1;
(statearr_36938_37936[(1)] = (5));
} else {
var statearr_36939_37937 = state_36933__$1;
(statearr_36939_37937[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36934 === (6))){
var inst_36915 = (state_36933[(7)]);
var inst_36920 = (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(inst_36915) : p.call(null,inst_36915));
var state_36933__$1 = state_36933;
if(cljs.core.truth_(inst_36920)){
var statearr_36940_37942 = state_36933__$1;
(statearr_36940_37942[(1)] = (8));
} else {
var statearr_36941_37943 = state_36933__$1;
(statearr_36941_37943[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36934 === (3))){
var inst_36931 = (state_36933[(2)]);
var state_36933__$1 = state_36933;
return cljs.core.async.impl.ioc_helpers.return_chan(state_36933__$1,inst_36931);
} else {
if((state_val_36934 === (2))){
var state_36933__$1 = state_36933;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_36933__$1,(4),ch);
} else {
if((state_val_36934 === (11))){
var inst_36923 = (state_36933[(2)]);
var state_36933__$1 = state_36933;
var statearr_36942_37946 = state_36933__$1;
(statearr_36942_37946[(2)] = inst_36923);
(statearr_36942_37946[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36934 === (9))){
var state_36933__$1 = state_36933;
var statearr_36943_37947 = state_36933__$1;
(statearr_36943_37947[(2)] = null);
(statearr_36943_37947[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36934 === (5))){
var inst_36918 = cljs.core.async.close_BANG_(out);
var state_36933__$1 = state_36933;
var statearr_36944_37948 = state_36933__$1;
(statearr_36944_37948[(2)] = inst_36918);
(statearr_36944_37948[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36934 === (10))){
var inst_36926 = (state_36933[(2)]);
var state_36933__$1 = (function (){var statearr_36945 = state_36933;
(statearr_36945[(8)] = inst_36926);
return statearr_36945;
})();
var statearr_36949_37949 = state_36933__$1;
(statearr_36949_37949[(2)] = null);
(statearr_36949_37949[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_36934 === (8))){
var inst_36915 = (state_36933[(7)]);
var state_36933__$1 = state_36933;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_36933__$1,(11),out,inst_36915);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__34869__auto__ = null;
var cljs$core$async$state_machine__34869__auto____0 = (function (){
var statearr_36950 = [null,null,null,null,null,null,null,null,null];
(statearr_36950[(0)] = cljs$core$async$state_machine__34869__auto__);
(statearr_36950[(1)] = (1));
return statearr_36950;
});
var cljs$core$async$state_machine__34869__auto____1 = (function (state_36933){
while(true){
var ret_value__34870__auto__ = (function (){try{while(true){
var result__34871__auto__ = switch__34868__auto__(state_36933);
if(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__34871__auto__;
}
break;
}
}catch (e36951){var ex__34872__auto__ = e36951;
var statearr_36952_37952 = state_36933;
(statearr_36952_37952[(2)] = ex__34872__auto__);
if(cljs.core.seq((state_36933[(4)]))){
var statearr_36953_37953 = state_36933;
(statearr_36953_37953[(1)] = cljs.core.first((state_36933[(4)])));
} else {
throw ex__34872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__37954 = state_36933;
state_36933 = G__37954;
continue;
} else {
return ret_value__34870__auto__;
}
break;
}
});
cljs$core$async$state_machine__34869__auto__ = function(state_36933){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__34869__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__34869__auto____1.call(this,state_36933);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__34869__auto____0;
cljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__34869__auto____1;
return cljs$core$async$state_machine__34869__auto__;
})()
})();
var state__34996__auto__ = (function (){var statearr_36954 = f__34995__auto__();
(statearr_36954[(6)] = c__34994__auto___37933);
return statearr_36954;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__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__36966 = arguments.length;
switch (G__36966) {
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__34994__auto__ = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__34995__auto__ = (function (){var switch__34868__auto__ = (function (state_37058){
var state_val_37059 = (state_37058[(1)]);
if((state_val_37059 === (7))){
var inst_37050 = (state_37058[(2)]);
var state_37058__$1 = state_37058;
var statearr_37062_37958 = state_37058__$1;
(statearr_37062_37958[(2)] = inst_37050);
(statearr_37062_37958[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37059 === (20))){
var inst_37010 = (state_37058[(7)]);
var inst_37028 = (state_37058[(2)]);
var inst_37029 = cljs.core.next(inst_37010);
var inst_36993 = inst_37029;
var inst_36994 = null;
var inst_36995 = (0);
var inst_36996 = (0);
var state_37058__$1 = (function (){var statearr_37063 = state_37058;
(statearr_37063[(8)] = inst_37028);
(statearr_37063[(9)] = inst_36993);
(statearr_37063[(10)] = inst_36994);
(statearr_37063[(11)] = inst_36995);
(statearr_37063[(12)] = inst_36996);
return statearr_37063;
})();
var statearr_37064_37959 = state_37058__$1;
(statearr_37064_37959[(2)] = null);
(statearr_37064_37959[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37059 === (1))){
var state_37058__$1 = state_37058;
var statearr_37065_37961 = state_37058__$1;
(statearr_37065_37961[(2)] = null);
(statearr_37065_37961[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37059 === (4))){
var inst_36982 = (state_37058[(13)]);
var inst_36982__$1 = (state_37058[(2)]);
var inst_36983 = (inst_36982__$1 == null);
var state_37058__$1 = (function (){var statearr_37066 = state_37058;
(statearr_37066[(13)] = inst_36982__$1);
return statearr_37066;
})();
if(cljs.core.truth_(inst_36983)){
var statearr_37067_37962 = state_37058__$1;
(statearr_37067_37962[(1)] = (5));
} else {
var statearr_37068_37963 = state_37058__$1;
(statearr_37068_37963[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37059 === (15))){
var state_37058__$1 = state_37058;
var statearr_37072_37964 = state_37058__$1;
(statearr_37072_37964[(2)] = null);
(statearr_37072_37964[(1)] = (16));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37059 === (21))){
var state_37058__$1 = state_37058;
var statearr_37073_37965 = state_37058__$1;
(statearr_37073_37965[(2)] = null);
(statearr_37073_37965[(1)] = (23));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37059 === (13))){
var inst_36996 = (state_37058[(12)]);
var inst_36993 = (state_37058[(9)]);
var inst_36994 = (state_37058[(10)]);
var inst_36995 = (state_37058[(11)]);
var inst_37003 = (state_37058[(2)]);
var inst_37004 = (inst_36996 + (1));
var tmp37069 = inst_36995;
var tmp37070 = inst_36993;
var tmp37071 = inst_36994;
var inst_36993__$1 = tmp37070;
var inst_36994__$1 = tmp37071;
var inst_36995__$1 = tmp37069;
var inst_36996__$1 = inst_37004;
var state_37058__$1 = (function (){var statearr_37074 = state_37058;
(statearr_37074[(14)] = inst_37003);
(statearr_37074[(9)] = inst_36993__$1);
(statearr_37074[(10)] = inst_36994__$1);
(statearr_37074[(11)] = inst_36995__$1);
(statearr_37074[(12)] = inst_36996__$1);
return statearr_37074;
})();
var statearr_37075_37966 = state_37058__$1;
(statearr_37075_37966[(2)] = null);
(statearr_37075_37966[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37059 === (22))){
var state_37058__$1 = state_37058;
var statearr_37076_37967 = state_37058__$1;
(statearr_37076_37967[(2)] = null);
(statearr_37076_37967[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37059 === (6))){
var inst_36982 = (state_37058[(13)]);
var inst_36991 = (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(inst_36982) : f.call(null,inst_36982));
var inst_36992 = cljs.core.seq(inst_36991);
var inst_36993 = inst_36992;
var inst_36994 = null;
var inst_36995 = (0);
var inst_36996 = (0);
var state_37058__$1 = (function (){var statearr_37077 = state_37058;
(statearr_37077[(9)] = inst_36993);
(statearr_37077[(10)] = inst_36994);
(statearr_37077[(11)] = inst_36995);
(statearr_37077[(12)] = inst_36996);
return statearr_37077;
})();
var statearr_37078_37968 = state_37058__$1;
(statearr_37078_37968[(2)] = null);
(statearr_37078_37968[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37059 === (17))){
var inst_37010 = (state_37058[(7)]);
var inst_37018 = cljs.core.chunk_first(inst_37010);
var inst_37022 = cljs.core.chunk_rest(inst_37010);
var inst_37023 = cljs.core.count(inst_37018);
var inst_36993 = inst_37022;
var inst_36994 = inst_37018;
var inst_36995 = inst_37023;
var inst_36996 = (0);
var state_37058__$1 = (function (){var statearr_37079 = state_37058;
(statearr_37079[(9)] = inst_36993);
(statearr_37079[(10)] = inst_36994);
(statearr_37079[(11)] = inst_36995);
(statearr_37079[(12)] = inst_36996);
return statearr_37079;
})();
var statearr_37080_37973 = state_37058__$1;
(statearr_37080_37973[(2)] = null);
(statearr_37080_37973[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37059 === (3))){
var inst_37052 = (state_37058[(2)]);
var state_37058__$1 = state_37058;
return cljs.core.async.impl.ioc_helpers.return_chan(state_37058__$1,inst_37052);
} else {
if((state_val_37059 === (12))){
var inst_37037 = (state_37058[(2)]);
var state_37058__$1 = state_37058;
var statearr_37081_37978 = state_37058__$1;
(statearr_37081_37978[(2)] = inst_37037);
(statearr_37081_37978[(1)] = (9));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37059 === (2))){
var state_37058__$1 = state_37058;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_37058__$1,(4),in$);
} else {
if((state_val_37059 === (23))){
var inst_37048 = (state_37058[(2)]);
var state_37058__$1 = state_37058;
var statearr_37082_37979 = state_37058__$1;
(statearr_37082_37979[(2)] = inst_37048);
(statearr_37082_37979[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37059 === (19))){
var inst_37032 = (state_37058[(2)]);
var state_37058__$1 = state_37058;
var statearr_37083_37980 = state_37058__$1;
(statearr_37083_37980[(2)] = inst_37032);
(statearr_37083_37980[(1)] = (16));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37059 === (11))){
var inst_36993 = (state_37058[(9)]);
var inst_37010 = (state_37058[(7)]);
var inst_37010__$1 = cljs.core.seq(inst_36993);
var state_37058__$1 = (function (){var statearr_37084 = state_37058;
(statearr_37084[(7)] = inst_37010__$1);
return statearr_37084;
})();
if(inst_37010__$1){
var statearr_37085_37985 = state_37058__$1;
(statearr_37085_37985[(1)] = (14));
} else {
var statearr_37086_37986 = state_37058__$1;
(statearr_37086_37986[(1)] = (15));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37059 === (9))){
var inst_37039 = (state_37058[(2)]);
var inst_37043 = cljs.core.async.impl.protocols.closed_QMARK_(out);
var state_37058__$1 = (function (){var statearr_37087 = state_37058;
(statearr_37087[(15)] = inst_37039);
return statearr_37087;
})();
if(cljs.core.truth_(inst_37043)){
var statearr_37088_37996 = state_37058__$1;
(statearr_37088_37996[(1)] = (21));
} else {
var statearr_37089_38001 = state_37058__$1;
(statearr_37089_38001[(1)] = (22));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37059 === (5))){
var inst_36985 = cljs.core.async.close_BANG_(out);
var state_37058__$1 = state_37058;
var statearr_37090_38002 = state_37058__$1;
(statearr_37090_38002[(2)] = inst_36985);
(statearr_37090_38002[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37059 === (14))){
var inst_37010 = (state_37058[(7)]);
var inst_37016 = cljs.core.chunked_seq_QMARK_(inst_37010);
var state_37058__$1 = state_37058;
if(inst_37016){
var statearr_37091_38003 = state_37058__$1;
(statearr_37091_38003[(1)] = (17));
} else {
var statearr_37092_38004 = state_37058__$1;
(statearr_37092_38004[(1)] = (18));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37059 === (16))){
var inst_37035 = (state_37058[(2)]);
var state_37058__$1 = state_37058;
var statearr_37093_38005 = state_37058__$1;
(statearr_37093_38005[(2)] = inst_37035);
(statearr_37093_38005[(1)] = (12));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37059 === (10))){
var inst_36994 = (state_37058[(10)]);
var inst_36996 = (state_37058[(12)]);
var inst_37001 = cljs.core._nth(inst_36994,inst_36996);
var state_37058__$1 = state_37058;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_37058__$1,(13),out,inst_37001);
} else {
if((state_val_37059 === (18))){
var inst_37010 = (state_37058[(7)]);
var inst_37026 = cljs.core.first(inst_37010);
var state_37058__$1 = state_37058;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_37058__$1,(20),out,inst_37026);
} else {
if((state_val_37059 === (8))){
var inst_36996 = (state_37058[(12)]);
var inst_36995 = (state_37058[(11)]);
var inst_36998 = (inst_36996 < inst_36995);
var inst_36999 = inst_36998;
var state_37058__$1 = state_37058;
if(cljs.core.truth_(inst_36999)){
var statearr_37096_38017 = state_37058__$1;
(statearr_37096_38017[(1)] = (10));
} else {
var statearr_37097_38018 = state_37058__$1;
(statearr_37097_38018[(1)] = (11));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$mapcat_STAR__$_state_machine__34869__auto__ = null;
var cljs$core$async$mapcat_STAR__$_state_machine__34869__auto____0 = (function (){
var statearr_37098 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_37098[(0)] = cljs$core$async$mapcat_STAR__$_state_machine__34869__auto__);
(statearr_37098[(1)] = (1));
return statearr_37098;
});
var cljs$core$async$mapcat_STAR__$_state_machine__34869__auto____1 = (function (state_37058){
while(true){
var ret_value__34870__auto__ = (function (){try{while(true){
var result__34871__auto__ = switch__34868__auto__(state_37058);
if(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__34871__auto__;
}
break;
}
}catch (e37100){var ex__34872__auto__ = e37100;
var statearr_37101_38024 = state_37058;
(statearr_37101_38024[(2)] = ex__34872__auto__);
if(cljs.core.seq((state_37058[(4)]))){
var statearr_37112_38031 = state_37058;
(statearr_37112_38031[(1)] = cljs.core.first((state_37058[(4)])));
} else {
throw ex__34872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__38035 = state_37058;
state_37058 = G__38035;
continue;
} else {
return ret_value__34870__auto__;
}
break;
}
});
cljs$core$async$mapcat_STAR__$_state_machine__34869__auto__ = function(state_37058){
switch(arguments.length){
case 0:
return cljs$core$async$mapcat_STAR__$_state_machine__34869__auto____0.call(this);
case 1:
return cljs$core$async$mapcat_STAR__$_state_machine__34869__auto____1.call(this,state_37058);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$mapcat_STAR__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$mapcat_STAR__$_state_machine__34869__auto____0;
cljs$core$async$mapcat_STAR__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$mapcat_STAR__$_state_machine__34869__auto____1;
return cljs$core$async$mapcat_STAR__$_state_machine__34869__auto__;
})()
})();
var state__34996__auto__ = (function (){var statearr_37113 = f__34995__auto__();
(statearr_37113[(6)] = c__34994__auto__);
return statearr_37113;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);
}));
return c__34994__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__37116 = arguments.length;
switch (G__37116) {
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__37119 = arguments.length;
switch (G__37119) {
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__37121 = arguments.length;
switch (G__37121) {
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__34994__auto___38074 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__34995__auto__ = (function (){var switch__34868__auto__ = (function (state_37147){
var state_val_37148 = (state_37147[(1)]);
if((state_val_37148 === (7))){
var inst_37141 = (state_37147[(2)]);
var state_37147__$1 = state_37147;
var statearr_37150_38081 = state_37147__$1;
(statearr_37150_38081[(2)] = inst_37141);
(statearr_37150_38081[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37148 === (1))){
var inst_37122 = null;
var state_37147__$1 = (function (){var statearr_37151 = state_37147;
(statearr_37151[(7)] = inst_37122);
return statearr_37151;
})();
var statearr_37152_38098 = state_37147__$1;
(statearr_37152_38098[(2)] = null);
(statearr_37152_38098[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37148 === (4))){
var inst_37125 = (state_37147[(8)]);
var inst_37125__$1 = (state_37147[(2)]);
var inst_37126 = (inst_37125__$1 == null);
var inst_37127 = cljs.core.not(inst_37126);
var state_37147__$1 = (function (){var statearr_37153 = state_37147;
(statearr_37153[(8)] = inst_37125__$1);
return statearr_37153;
})();
if(inst_37127){
var statearr_37154_38104 = state_37147__$1;
(statearr_37154_38104[(1)] = (5));
} else {
var statearr_37155_38105 = state_37147__$1;
(statearr_37155_38105[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37148 === (6))){
var state_37147__$1 = state_37147;
var statearr_37156_38110 = state_37147__$1;
(statearr_37156_38110[(2)] = null);
(statearr_37156_38110[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37148 === (3))){
var inst_37143 = (state_37147[(2)]);
var inst_37144 = cljs.core.async.close_BANG_(out);
var state_37147__$1 = (function (){var statearr_37157 = state_37147;
(statearr_37157[(9)] = inst_37143);
return statearr_37157;
})();
return cljs.core.async.impl.ioc_helpers.return_chan(state_37147__$1,inst_37144);
} else {
if((state_val_37148 === (2))){
var state_37147__$1 = state_37147;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_37147__$1,(4),ch);
} else {
if((state_val_37148 === (11))){
var inst_37125 = (state_37147[(8)]);
var inst_37134 = (state_37147[(2)]);
var inst_37122 = inst_37125;
var state_37147__$1 = (function (){var statearr_37167 = state_37147;
(statearr_37167[(10)] = inst_37134);
(statearr_37167[(7)] = inst_37122);
return statearr_37167;
})();
var statearr_37168_38115 = state_37147__$1;
(statearr_37168_38115[(2)] = null);
(statearr_37168_38115[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37148 === (9))){
var inst_37125 = (state_37147[(8)]);
var state_37147__$1 = state_37147;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_37147__$1,(11),out,inst_37125);
} else {
if((state_val_37148 === (5))){
var inst_37125 = (state_37147[(8)]);
var inst_37122 = (state_37147[(7)]);
var inst_37129 = cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(inst_37125,inst_37122);
var state_37147__$1 = state_37147;
if(inst_37129){
var statearr_37171_38117 = state_37147__$1;
(statearr_37171_38117[(1)] = (8));
} else {
var statearr_37172_38118 = state_37147__$1;
(statearr_37172_38118[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37148 === (10))){
var inst_37137 = (state_37147[(2)]);
var state_37147__$1 = state_37147;
var statearr_37173_38123 = state_37147__$1;
(statearr_37173_38123[(2)] = inst_37137);
(statearr_37173_38123[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37148 === (8))){
var inst_37122 = (state_37147[(7)]);
var tmp37169 = inst_37122;
var inst_37122__$1 = tmp37169;
var state_37147__$1 = (function (){var statearr_37174 = state_37147;
(statearr_37174[(7)] = inst_37122__$1);
return statearr_37174;
})();
var statearr_37175_38125 = state_37147__$1;
(statearr_37175_38125[(2)] = null);
(statearr_37175_38125[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__34869__auto__ = null;
var cljs$core$async$state_machine__34869__auto____0 = (function (){
var statearr_37176 = [null,null,null,null,null,null,null,null,null,null,null];
(statearr_37176[(0)] = cljs$core$async$state_machine__34869__auto__);
(statearr_37176[(1)] = (1));
return statearr_37176;
});
var cljs$core$async$state_machine__34869__auto____1 = (function (state_37147){
while(true){
var ret_value__34870__auto__ = (function (){try{while(true){
var result__34871__auto__ = switch__34868__auto__(state_37147);
if(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__34871__auto__;
}
break;
}
}catch (e37177){var ex__34872__auto__ = e37177;
var statearr_37178_38127 = state_37147;
(statearr_37178_38127[(2)] = ex__34872__auto__);
if(cljs.core.seq((state_37147[(4)]))){
var statearr_37179_38129 = state_37147;
(statearr_37179_38129[(1)] = cljs.core.first((state_37147[(4)])));
} else {
throw ex__34872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__38130 = state_37147;
state_37147 = G__38130;
continue;
} else {
return ret_value__34870__auto__;
}
break;
}
});
cljs$core$async$state_machine__34869__auto__ = function(state_37147){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__34869__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__34869__auto____1.call(this,state_37147);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__34869__auto____0;
cljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__34869__auto____1;
return cljs$core$async$state_machine__34869__auto__;
})()
})();
var state__34996__auto__ = (function (){var statearr_37180 = f__34995__auto__();
(statearr_37180[(6)] = c__34994__auto___38074);
return statearr_37180;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__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__37182 = arguments.length;
switch (G__37182) {
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__34994__auto___38133 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__34995__auto__ = (function (){var switch__34868__auto__ = (function (state_37223){
var state_val_37224 = (state_37223[(1)]);
if((state_val_37224 === (7))){
var inst_37218 = (state_37223[(2)]);
var state_37223__$1 = state_37223;
var statearr_37226_38134 = state_37223__$1;
(statearr_37226_38134[(2)] = inst_37218);
(statearr_37226_38134[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37224 === (1))){
var inst_37185 = (new Array(n));
var inst_37186 = inst_37185;
var inst_37187 = (0);
var state_37223__$1 = (function (){var statearr_37227 = state_37223;
(statearr_37227[(7)] = inst_37186);
(statearr_37227[(8)] = inst_37187);
return statearr_37227;
})();
var statearr_37228_38140 = state_37223__$1;
(statearr_37228_38140[(2)] = null);
(statearr_37228_38140[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37224 === (4))){
var inst_37190 = (state_37223[(9)]);
var inst_37190__$1 = (state_37223[(2)]);
var inst_37191 = (inst_37190__$1 == null);
var inst_37192 = cljs.core.not(inst_37191);
var state_37223__$1 = (function (){var statearr_37229 = state_37223;
(statearr_37229[(9)] = inst_37190__$1);
return statearr_37229;
})();
if(inst_37192){
var statearr_37230_38141 = state_37223__$1;
(statearr_37230_38141[(1)] = (5));
} else {
var statearr_37231_38142 = state_37223__$1;
(statearr_37231_38142[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37224 === (15))){
var inst_37212 = (state_37223[(2)]);
var state_37223__$1 = state_37223;
var statearr_37232_38143 = state_37223__$1;
(statearr_37232_38143[(2)] = inst_37212);
(statearr_37232_38143[(1)] = (14));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37224 === (13))){
var state_37223__$1 = state_37223;
var statearr_37233_38144 = state_37223__$1;
(statearr_37233_38144[(2)] = null);
(statearr_37233_38144[(1)] = (14));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37224 === (6))){
var inst_37187 = (state_37223[(8)]);
var inst_37208 = (inst_37187 > (0));
var state_37223__$1 = state_37223;
if(cljs.core.truth_(inst_37208)){
var statearr_37234_38146 = state_37223__$1;
(statearr_37234_38146[(1)] = (12));
} else {
var statearr_37235_38147 = state_37223__$1;
(statearr_37235_38147[(1)] = (13));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37224 === (3))){
var inst_37220 = (state_37223[(2)]);
var state_37223__$1 = state_37223;
return cljs.core.async.impl.ioc_helpers.return_chan(state_37223__$1,inst_37220);
} else {
if((state_val_37224 === (12))){
var inst_37186 = (state_37223[(7)]);
var inst_37210 = cljs.core.vec(inst_37186);
var state_37223__$1 = state_37223;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_37223__$1,(15),out,inst_37210);
} else {
if((state_val_37224 === (2))){
var state_37223__$1 = state_37223;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_37223__$1,(4),ch);
} else {
if((state_val_37224 === (11))){
var inst_37202 = (state_37223[(2)]);
var inst_37203 = (new Array(n));
var inst_37186 = inst_37203;
var inst_37187 = (0);
var state_37223__$1 = (function (){var statearr_37236 = state_37223;
(statearr_37236[(10)] = inst_37202);
(statearr_37236[(7)] = inst_37186);
(statearr_37236[(8)] = inst_37187);
return statearr_37236;
})();
var statearr_37244_38149 = state_37223__$1;
(statearr_37244_38149[(2)] = null);
(statearr_37244_38149[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37224 === (9))){
var inst_37186 = (state_37223[(7)]);
var inst_37200 = cljs.core.vec(inst_37186);
var state_37223__$1 = state_37223;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_37223__$1,(11),out,inst_37200);
} else {
if((state_val_37224 === (5))){
var inst_37186 = (state_37223[(7)]);
var inst_37187 = (state_37223[(8)]);
var inst_37190 = (state_37223[(9)]);
var inst_37195 = (state_37223[(11)]);
var inst_37194 = (inst_37186[inst_37187] = inst_37190);
var inst_37195__$1 = (inst_37187 + (1));
var inst_37196 = (inst_37195__$1 < n);
var state_37223__$1 = (function (){var statearr_37246 = state_37223;
(statearr_37246[(12)] = inst_37194);
(statearr_37246[(11)] = inst_37195__$1);
return statearr_37246;
})();
if(cljs.core.truth_(inst_37196)){
var statearr_37247_38150 = state_37223__$1;
(statearr_37247_38150[(1)] = (8));
} else {
var statearr_37248_38151 = state_37223__$1;
(statearr_37248_38151[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37224 === (14))){
var inst_37215 = (state_37223[(2)]);
var inst_37216 = cljs.core.async.close_BANG_(out);
var state_37223__$1 = (function (){var statearr_37259 = state_37223;
(statearr_37259[(13)] = inst_37215);
return statearr_37259;
})();
var statearr_37260_38152 = state_37223__$1;
(statearr_37260_38152[(2)] = inst_37216);
(statearr_37260_38152[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37224 === (10))){
var inst_37206 = (state_37223[(2)]);
var state_37223__$1 = state_37223;
var statearr_37261_38153 = state_37223__$1;
(statearr_37261_38153[(2)] = inst_37206);
(statearr_37261_38153[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37224 === (8))){
var inst_37186 = (state_37223[(7)]);
var inst_37195 = (state_37223[(11)]);
var tmp37249 = inst_37186;
var inst_37186__$1 = tmp37249;
var inst_37187 = inst_37195;
var state_37223__$1 = (function (){var statearr_37262 = state_37223;
(statearr_37262[(7)] = inst_37186__$1);
(statearr_37262[(8)] = inst_37187);
return statearr_37262;
})();
var statearr_37263_38155 = state_37223__$1;
(statearr_37263_38155[(2)] = null);
(statearr_37263_38155[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__34869__auto__ = null;
var cljs$core$async$state_machine__34869__auto____0 = (function (){
var statearr_37268 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_37268[(0)] = cljs$core$async$state_machine__34869__auto__);
(statearr_37268[(1)] = (1));
return statearr_37268;
});
var cljs$core$async$state_machine__34869__auto____1 = (function (state_37223){
while(true){
var ret_value__34870__auto__ = (function (){try{while(true){
var result__34871__auto__ = switch__34868__auto__(state_37223);
if(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__34871__auto__;
}
break;
}
}catch (e37269){var ex__34872__auto__ = e37269;
var statearr_37277_38156 = state_37223;
(statearr_37277_38156[(2)] = ex__34872__auto__);
if(cljs.core.seq((state_37223[(4)]))){
var statearr_37278_38157 = state_37223;
(statearr_37278_38157[(1)] = cljs.core.first((state_37223[(4)])));
} else {
throw ex__34872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__38158 = state_37223;
state_37223 = G__38158;
continue;
} else {
return ret_value__34870__auto__;
}
break;
}
});
cljs$core$async$state_machine__34869__auto__ = function(state_37223){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__34869__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__34869__auto____1.call(this,state_37223);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__34869__auto____0;
cljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__34869__auto____1;
return cljs$core$async$state_machine__34869__auto__;
})()
})();
var state__34996__auto__ = (function (){var statearr_37280 = f__34995__auto__();
(statearr_37280[(6)] = c__34994__auto___38133);
return statearr_37280;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__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__37284 = arguments.length;
switch (G__37284) {
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__34994__auto___38160 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__34995__auto__ = (function (){var switch__34868__auto__ = (function (state_37339){
var state_val_37340 = (state_37339[(1)]);
if((state_val_37340 === (7))){
var inst_37335 = (state_37339[(2)]);
var state_37339__$1 = state_37339;
var statearr_37341_38161 = state_37339__$1;
(statearr_37341_38161[(2)] = inst_37335);
(statearr_37341_38161[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37340 === (1))){
var inst_37291 = [];
var inst_37292 = inst_37291;
var inst_37293 = new cljs.core.Keyword("cljs.core.async","nothing","cljs.core.async/nothing",-69252123);
var state_37339__$1 = (function (){var statearr_37343 = state_37339;
(statearr_37343[(7)] = inst_37292);
(statearr_37343[(8)] = inst_37293);
return statearr_37343;
})();
var statearr_37344_38167 = state_37339__$1;
(statearr_37344_38167[(2)] = null);
(statearr_37344_38167[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37340 === (4))){
var inst_37296 = (state_37339[(9)]);
var inst_37296__$1 = (state_37339[(2)]);
var inst_37297 = (inst_37296__$1 == null);
var inst_37298 = cljs.core.not(inst_37297);
var state_37339__$1 = (function (){var statearr_37352 = state_37339;
(statearr_37352[(9)] = inst_37296__$1);
return statearr_37352;
})();
if(inst_37298){
var statearr_37353_38169 = state_37339__$1;
(statearr_37353_38169[(1)] = (5));
} else {
var statearr_37354_38170 = state_37339__$1;
(statearr_37354_38170[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37340 === (15))){
var inst_37292 = (state_37339[(7)]);
var inst_37327 = cljs.core.vec(inst_37292);
var state_37339__$1 = state_37339;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_37339__$1,(18),out,inst_37327);
} else {
if((state_val_37340 === (13))){
var inst_37322 = (state_37339[(2)]);
var state_37339__$1 = state_37339;
var statearr_37356_38177 = state_37339__$1;
(statearr_37356_38177[(2)] = inst_37322);
(statearr_37356_38177[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37340 === (6))){
var inst_37292 = (state_37339[(7)]);
var inst_37324 = inst_37292.length;
var inst_37325 = (inst_37324 > (0));
var state_37339__$1 = state_37339;
if(cljs.core.truth_(inst_37325)){
var statearr_37357_38178 = state_37339__$1;
(statearr_37357_38178[(1)] = (15));
} else {
var statearr_37358_38179 = state_37339__$1;
(statearr_37358_38179[(1)] = (16));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37340 === (17))){
var inst_37332 = (state_37339[(2)]);
var inst_37333 = cljs.core.async.close_BANG_(out);
var state_37339__$1 = (function (){var statearr_37359 = state_37339;
(statearr_37359[(10)] = inst_37332);
return statearr_37359;
})();
var statearr_37360_38180 = state_37339__$1;
(statearr_37360_38180[(2)] = inst_37333);
(statearr_37360_38180[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37340 === (3))){
var inst_37337 = (state_37339[(2)]);
var state_37339__$1 = state_37339;
return cljs.core.async.impl.ioc_helpers.return_chan(state_37339__$1,inst_37337);
} else {
if((state_val_37340 === (12))){
var inst_37292 = (state_37339[(7)]);
var inst_37314 = cljs.core.vec(inst_37292);
var state_37339__$1 = state_37339;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_37339__$1,(14),out,inst_37314);
} else {
if((state_val_37340 === (2))){
var state_37339__$1 = state_37339;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_37339__$1,(4),ch);
} else {
if((state_val_37340 === (11))){
var inst_37292 = (state_37339[(7)]);
var inst_37296 = (state_37339[(9)]);
var inst_37300 = (state_37339[(11)]);
var inst_37311 = inst_37292.push(inst_37296);
var tmp37363 = inst_37292;
var inst_37292__$1 = tmp37363;
var inst_37293 = inst_37300;
var state_37339__$1 = (function (){var statearr_37366 = state_37339;
(statearr_37366[(12)] = inst_37311);
(statearr_37366[(7)] = inst_37292__$1);
(statearr_37366[(8)] = inst_37293);
return statearr_37366;
})();
var statearr_37367_38181 = state_37339__$1;
(statearr_37367_38181[(2)] = null);
(statearr_37367_38181[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37340 === (9))){
var inst_37293 = (state_37339[(8)]);
var inst_37307 = cljs.core.keyword_identical_QMARK_(inst_37293,new cljs.core.Keyword("cljs.core.async","nothing","cljs.core.async/nothing",-69252123));
var state_37339__$1 = state_37339;
var statearr_37368_38183 = state_37339__$1;
(statearr_37368_38183[(2)] = inst_37307);
(statearr_37368_38183[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37340 === (5))){
var inst_37296 = (state_37339[(9)]);
var inst_37300 = (state_37339[(11)]);
var inst_37293 = (state_37339[(8)]);
var inst_37304 = (state_37339[(13)]);
var inst_37300__$1 = (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(inst_37296) : f.call(null,inst_37296));
var inst_37304__$1 = cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(inst_37300__$1,inst_37293);
var state_37339__$1 = (function (){var statearr_37370 = state_37339;
(statearr_37370[(11)] = inst_37300__$1);
(statearr_37370[(13)] = inst_37304__$1);
return statearr_37370;
})();
if(inst_37304__$1){
var statearr_37371_38189 = state_37339__$1;
(statearr_37371_38189[(1)] = (8));
} else {
var statearr_37373_38190 = state_37339__$1;
(statearr_37373_38190[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37340 === (14))){
var inst_37296 = (state_37339[(9)]);
var inst_37300 = (state_37339[(11)]);
var inst_37316 = (state_37339[(2)]);
var inst_37318 = [];
var inst_37319 = inst_37318.push(inst_37296);
var inst_37292 = inst_37318;
var inst_37293 = inst_37300;
var state_37339__$1 = (function (){var statearr_37374 = state_37339;
(statearr_37374[(14)] = inst_37316);
(statearr_37374[(15)] = inst_37319);
(statearr_37374[(7)] = inst_37292);
(statearr_37374[(8)] = inst_37293);
return statearr_37374;
})();
var statearr_37375_38191 = state_37339__$1;
(statearr_37375_38191[(2)] = null);
(statearr_37375_38191[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37340 === (16))){
var state_37339__$1 = state_37339;
var statearr_37376_38192 = state_37339__$1;
(statearr_37376_38192[(2)] = null);
(statearr_37376_38192[(1)] = (17));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37340 === (10))){
var inst_37309 = (state_37339[(2)]);
var state_37339__$1 = state_37339;
if(cljs.core.truth_(inst_37309)){
var statearr_37377_38193 = state_37339__$1;
(statearr_37377_38193[(1)] = (11));
} else {
var statearr_37378_38194 = state_37339__$1;
(statearr_37378_38194[(1)] = (12));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37340 === (18))){
var inst_37329 = (state_37339[(2)]);
var state_37339__$1 = state_37339;
var statearr_37383_38195 = state_37339__$1;
(statearr_37383_38195[(2)] = inst_37329);
(statearr_37383_38195[(1)] = (17));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_37340 === (8))){
var inst_37304 = (state_37339[(13)]);
var state_37339__$1 = state_37339;
var statearr_37384_38197 = state_37339__$1;
(statearr_37384_38197[(2)] = inst_37304);
(statearr_37384_38197[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__34869__auto__ = null;
var cljs$core$async$state_machine__34869__auto____0 = (function (){
var statearr_37385 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_37385[(0)] = cljs$core$async$state_machine__34869__auto__);
(statearr_37385[(1)] = (1));
return statearr_37385;
});
var cljs$core$async$state_machine__34869__auto____1 = (function (state_37339){
while(true){
var ret_value__34870__auto__ = (function (){try{while(true){
var result__34871__auto__ = switch__34868__auto__(state_37339);
if(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__34871__auto__;
}
break;
}
}catch (e37387){var ex__34872__auto__ = e37387;
var statearr_37388_38199 = state_37339;
(statearr_37388_38199[(2)] = ex__34872__auto__);
if(cljs.core.seq((state_37339[(4)]))){
var statearr_37389_38200 = state_37339;
(statearr_37389_38200[(1)] = cljs.core.first((state_37339[(4)])));
} else {
throw ex__34872__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__38202 = state_37339;
state_37339 = G__38202;
continue;
} else {
return ret_value__34870__auto__;
}
break;
}
});
cljs$core$async$state_machine__34869__auto__ = function(state_37339){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__34869__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__34869__auto____1.call(this,state_37339);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__34869__auto____0;
cljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__34869__auto____1;
return cljs$core$async$state_machine__34869__auto__;
})()
})();
var state__34996__auto__ = (function (){var statearr_37390 = f__34995__auto__();
(statearr_37390[(6)] = c__34994__auto___38160);
return statearr_37390;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);
}));
return out;
}));
(cljs.core.async.partition_by.cljs$lang$maxFixedArity = 3);
//# sourceMappingURL=cljs.core.async.js.map