blob: 34fa510246e80943eaf72d0bdb44637693d2ed42 [file] [log] [blame]
// Compiled by ClojureScript 1.10.597 {:target :nodejs}
goog.provide('cljs.core.async');
goog.require('cljs.core');
goog.require('cljs.core.async.impl.protocols');
goog.require('cljs.core.async.impl.channels');
goog.require('cljs.core.async.impl.buffers');
goog.require('cljs.core.async.impl.timers');
goog.require('cljs.core.async.impl.dispatch');
goog.require('cljs.core.async.impl.ioc_helpers');
cljs.core.async.fn_handler = (function cljs$core$async$fn_handler(var_args){
var G__3045 = arguments.length;
switch (G__3045) {
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.call(null,f,true);
}));
(cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2 = (function (f,blockable){
if((typeof cljs !== 'undefined') && (typeof cljs.core !== 'undefined') && (typeof cljs.core.async !== 'undefined') && (typeof cljs.core.async.t_cljs$core$async3046 !== 'undefined')){
} else {
/**
* @constructor
* @implements {cljs.core.async.impl.protocols.Handler}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async3046 = (function (f,blockable,meta3047){
this.f = f;
this.blockable = blockable;
this.meta3047 = meta3047;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async3046.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_3048,meta3047__$1){
var self__ = this;
var _3048__$1 = this;
return (new cljs.core.async.t_cljs$core$async3046(self__.f,self__.blockable,meta3047__$1));
}));
(cljs.core.async.t_cljs$core$async3046.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_3048){
var self__ = this;
var _3048__$1 = this;
return self__.meta3047;
}));
(cljs.core.async.t_cljs$core$async3046.prototype.cljs$core$async$impl$protocols$Handler$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async3046.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$async3046.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$async3046.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$async3046.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,"meta3047","meta3047",-2129519252,null)], null);
}));
(cljs.core.async.t_cljs$core$async3046.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async3046.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async3046");
(cljs.core.async.t_cljs$core$async3046.cljs$lang$ctorPrWriter = (function (this__4428__auto__,writer__4429__auto__,opt__4430__auto__){
return cljs.core._write.call(null,writer__4429__auto__,"cljs.core.async/t_cljs$core$async3046");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async3046.
*/
cljs.core.async.__GT_t_cljs$core$async3046 = (function cljs$core$async$__GT_t_cljs$core$async3046(f__$1,blockable__$1,meta3047){
return (new cljs.core.async.t_cljs$core$async3046(f__$1,blockable__$1,meta3047));
});
}
return (new cljs.core.async.t_cljs$core$async3046(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.call(null,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.call(null,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.call(null,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_.call(null,cljs.core.async.impl.protocols.UnblockingBuffer,buff);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_.call(null,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__3052 = arguments.length;
switch (G__3052) {
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.call(null,null);
}));
(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1 = (function (buf_or_n){
return cljs.core.async.chan.call(null,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.call(null,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_.call(null,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.call(null,((typeof buf_or_n__$1 === 'number')?cljs.core.async.buffer.call(null,buf_or_n__$1):buf_or_n__$1),xform,ex_handler);
}));
(cljs.core.async.chan.cljs$lang$maxFixedArity = 3);
/**
* Creates a promise channel with an optional transducer, and an optional
* exception-handler. A promise channel can take exactly one value that consumers
* will receive. Once full, puts complete but val is dropped (no transfer).
* Consumers will block until either a value is placed in the channel or the
* channel is closed. See chan for the semantics of xform and ex-handler.
*/
cljs.core.async.promise_chan = (function cljs$core$async$promise_chan(var_args){
var G__3055 = arguments.length;
switch (G__3055) {
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.call(null,null);
}));
(cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1 = (function (xform){
return cljs.core.async.promise_chan.call(null,xform,null);
}));
(cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2 = (function (xform,ex_handler){
return cljs.core.async.chan.call(null,cljs.core.async.impl.buffers.promise_buffer.call(null),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.call(null,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__3058 = arguments.length;
switch (G__3058) {
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_.call(null,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_.call(null,port,cljs.core.async.fn_handler.call(null,fn1));
if(cljs.core.truth_(ret)){
var val_3060 = cljs.core.deref.call(null,ret);
if(cljs.core.truth_(on_caller_QMARK_)){
fn1.call(null,val_3060);
} else {
cljs.core.async.impl.dispatch.run.call(null,(function (){
return fn1.call(null,val_3060);
}));
}
} 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.call(null,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 fn0 (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 fn0 on calling thread. Returns nil.
*/
cljs.core.async.put_BANG_ = (function cljs$core$async$put_BANG_(var_args){
var G__3062 = arguments.length;
switch (G__3062) {
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__5733__auto__ = cljs.core.async.impl.protocols.put_BANG_.call(null,port,val,cljs.core.async.fhnop);
if(cljs.core.truth_(temp__5733__auto__)){
var ret = temp__5733__auto__;
return cljs.core.deref.call(null,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_.call(null,port,val,fn1,true);
}));
(cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4 = (function (port,val,fn1,on_caller_QMARK_){
var temp__5733__auto__ = cljs.core.async.impl.protocols.put_BANG_.call(null,port,val,cljs.core.async.fn_handler.call(null,fn1));
if(cljs.core.truth_(temp__5733__auto__)){
var retb = temp__5733__auto__;
var ret = cljs.core.deref.call(null,retb);
if(cljs.core.truth_(on_caller_QMARK_)){
fn1.call(null,ret);
} else {
cljs.core.async.impl.dispatch.run.call(null,(function (){
return 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_.call(null,port);
});
cljs.core.async.random_array = (function cljs$core$async$random_array(n){
var a = (new Array(n));
var n__4666__auto___3064 = n;
var x_3065 = (0);
while(true){
if((x_3065 < n__4666__auto___3064)){
(a[x_3065] = (0));
var G__3066 = (x_3065 + (1));
x_3065 = G__3066;
continue;
} else {
}
break;
}
var i = (1);
while(true){
if(cljs.core._EQ_.call(null,i,n)){
return a;
} else {
var j = cljs.core.rand_int.call(null,i);
(a[i] = (a[j]));
(a[j] = i);
var G__3067 = (i + (1));
i = G__3067;
continue;
}
break;
}
});
cljs.core.async.alt_flag = (function cljs$core$async$alt_flag(){
var flag = cljs.core.atom.call(null,true);
if((typeof cljs !== 'undefined') && (typeof cljs.core !== 'undefined') && (typeof cljs.core.async !== 'undefined') && (typeof cljs.core.async.t_cljs$core$async3068 !== 'undefined')){
} else {
/**
* @constructor
* @implements {cljs.core.async.impl.protocols.Handler}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async3068 = (function (flag,meta3069){
this.flag = flag;
this.meta3069 = meta3069;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async3068.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_3070,meta3069__$1){
var self__ = this;
var _3070__$1 = this;
return (new cljs.core.async.t_cljs$core$async3068(self__.flag,meta3069__$1));
}));
(cljs.core.async.t_cljs$core$async3068.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_3070){
var self__ = this;
var _3070__$1 = this;
return self__.meta3069;
}));
(cljs.core.async.t_cljs$core$async3068.prototype.cljs$core$async$impl$protocols$Handler$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async3068.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.deref.call(null,self__.flag);
}));
(cljs.core.async.t_cljs$core$async3068.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$async3068.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
cljs.core.reset_BANG_.call(null,self__.flag,null);
return true;
}));
(cljs.core.async.t_cljs$core$async3068.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,"meta3069","meta3069",284138735,null)], null);
}));
(cljs.core.async.t_cljs$core$async3068.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async3068.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async3068");
(cljs.core.async.t_cljs$core$async3068.cljs$lang$ctorPrWriter = (function (this__4428__auto__,writer__4429__auto__,opt__4430__auto__){
return cljs.core._write.call(null,writer__4429__auto__,"cljs.core.async/t_cljs$core$async3068");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async3068.
*/
cljs.core.async.__GT_t_cljs$core$async3068 = (function cljs$core$async$alt_flag_$___GT_t_cljs$core$async3068(flag__$1,meta3069){
return (new cljs.core.async.t_cljs$core$async3068(flag__$1,meta3069));
});
}
return (new cljs.core.async.t_cljs$core$async3068(flag,cljs.core.PersistentArrayMap.EMPTY));
});
cljs.core.async.alt_handler = (function cljs$core$async$alt_handler(flag,cb){
if((typeof cljs !== 'undefined') && (typeof cljs.core !== 'undefined') && (typeof cljs.core.async !== 'undefined') && (typeof cljs.core.async.t_cljs$core$async3071 !== 'undefined')){
} else {
/**
* @constructor
* @implements {cljs.core.async.impl.protocols.Handler}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async3071 = (function (flag,cb,meta3072){
this.flag = flag;
this.cb = cb;
this.meta3072 = meta3072;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async3071.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_3073,meta3072__$1){
var self__ = this;
var _3073__$1 = this;
return (new cljs.core.async.t_cljs$core$async3071(self__.flag,self__.cb,meta3072__$1));
}));
(cljs.core.async.t_cljs$core$async3071.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_3073){
var self__ = this;
var _3073__$1 = this;
return self__.meta3072;
}));
(cljs.core.async.t_cljs$core$async3071.prototype.cljs$core$async$impl$protocols$Handler$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async3071.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_.call(null,self__.flag);
}));
(cljs.core.async.t_cljs$core$async3071.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$async3071.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
cljs.core.async.impl.protocols.commit.call(null,self__.flag);
return self__.cb;
}));
(cljs.core.async.t_cljs$core$async3071.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,"meta3072","meta3072",1173705305,null)], null);
}));
(cljs.core.async.t_cljs$core$async3071.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async3071.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async3071");
(cljs.core.async.t_cljs$core$async3071.cljs$lang$ctorPrWriter = (function (this__4428__auto__,writer__4429__auto__,opt__4430__auto__){
return cljs.core._write.call(null,writer__4429__auto__,"cljs.core.async/t_cljs$core$async3071");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async3071.
*/
cljs.core.async.__GT_t_cljs$core$async3071 = (function cljs$core$async$alt_handler_$___GT_t_cljs$core$async3071(flag__$1,cb__$1,meta3072){
return (new cljs.core.async.t_cljs$core$async3071(flag__$1,cb__$1,meta3072));
});
}
return (new cljs.core.async.t_cljs$core$async3071(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){
var flag = cljs.core.async.alt_flag.call(null);
var n = cljs.core.count.call(null,ports);
var idxs = cljs.core.async.random_array.call(null,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.call(null,ports,idx);
var wport = ((cljs.core.vector_QMARK_.call(null,port))?port.call(null,(0)):null);
var vbox = (cljs.core.truth_(wport)?(function (){var val = port.call(null,(1));
return cljs.core.async.impl.protocols.put_BANG_.call(null,wport,val,cljs.core.async.alt_handler.call(null,flag,((function (i,val,idx,port,wport,flag,n,idxs,priority){
return (function (p1__3074_SHARP_){
return fret.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p1__3074_SHARP_,wport], null));
});})(i,val,idx,port,wport,flag,n,idxs,priority))
));
})():cljs.core.async.impl.protocols.take_BANG_.call(null,port,cljs.core.async.alt_handler.call(null,flag,((function (i,idx,port,wport,flag,n,idxs,priority){
return (function (p1__3075_SHARP_){
return fret.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p1__3075_SHARP_,port], null));
});})(i,idx,port,wport,flag,n,idxs,priority))
)));
if(cljs.core.truth_(vbox)){
return cljs.core.async.impl.channels.box.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.deref.call(null,vbox),(function (){var or__4185__auto__ = wport;
if(cljs.core.truth_(or__4185__auto__)){
return or__4185__auto__;
} else {
return port;
}
})()], null));
} else {
var G__3076 = (i + (1));
i = G__3076;
continue;
}
} else {
return null;
}
break;
}
})();
var or__4185__auto__ = ret;
if(cljs.core.truth_(or__4185__auto__)){
return or__4185__auto__;
} else {
if(cljs.core.contains_QMARK_.call(null,opts,new cljs.core.Keyword(null,"default","default",-1987822328))){
var temp__5735__auto__ = (function (){var and__4174__auto__ = cljs.core.async.impl.protocols.active_QMARK_.call(null,flag);
if(cljs.core.truth_(and__4174__auto__)){
return cljs.core.async.impl.protocols.commit.call(null,flag);
} else {
return and__4174__auto__;
}
})();
if(cljs.core.truth_(temp__5735__auto__)){
var got = temp__5735__auto__;
return cljs.core.async.impl.channels.box.call(null,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__4795__auto__ = [];
var len__4789__auto___3082 = arguments.length;
var i__4790__auto___3083 = (0);
while(true){
if((i__4790__auto___3083 < len__4789__auto___3082)){
args__4795__auto__.push((arguments[i__4790__auto___3083]));
var G__3084 = (i__4790__auto___3083 + (1));
i__4790__auto___3083 = G__3084;
continue;
} else {
}
break;
}
var argseq__4796__auto__ = ((((1) < args__4795__auto__.length))?(new cljs.core.IndexedSeq(args__4795__auto__.slice((1)),(0),null)):null);
return cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__4796__auto__);
});
(cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (ports,p__3079){
var map__3080 = p__3079;
var map__3080__$1 = (((((!((map__3080 == null))))?(((((map__3080.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__3080.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__3080):map__3080);
var opts = map__3080__$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 (seq3077){
var G__3078 = cljs.core.first.call(null,seq3077);
var seq3077__$1 = cljs.core.next.call(null,seq3077);
var self__4776__auto__ = this;
return self__4776__auto__.cljs$core$IFn$_invoke$arity$variadic(G__3078,seq3077__$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_.call(null,port,val,cljs.core.async.fn_handler.call(null,cljs.core.async.nop,false));
if(cljs.core.truth_(ret)){
return cljs.core.deref.call(null,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_.call(null,port,cljs.core.async.fn_handler.call(null,cljs.core.async.nop,false));
if(cljs.core.truth_(ret)){
return cljs.core.deref.call(null,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__3086 = arguments.length;
switch (G__3086) {
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.call(null,from,to,true);
}));
(cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3 = (function (from,to,close_QMARK_){
var c__2985__auto___3132 = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__2986__auto__ = (function (){var switch__2890__auto__ = (function (state_3110){
var state_val_3111 = (state_3110[(1)]);
if((state_val_3111 === (7))){
var inst_3106 = (state_3110[(2)]);
var state_3110__$1 = state_3110;
var statearr_3112_3133 = state_3110__$1;
(statearr_3112_3133[(2)] = inst_3106);
(statearr_3112_3133[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3111 === (1))){
var state_3110__$1 = state_3110;
var statearr_3113_3134 = state_3110__$1;
(statearr_3113_3134[(2)] = null);
(statearr_3113_3134[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3111 === (4))){
var inst_3089 = (state_3110[(7)]);
var inst_3089__$1 = (state_3110[(2)]);
var inst_3090 = (inst_3089__$1 == null);
var state_3110__$1 = (function (){var statearr_3114 = state_3110;
(statearr_3114[(7)] = inst_3089__$1);
return statearr_3114;
})();
if(cljs.core.truth_(inst_3090)){
var statearr_3115_3135 = state_3110__$1;
(statearr_3115_3135[(1)] = (5));
} else {
var statearr_3116_3136 = state_3110__$1;
(statearr_3116_3136[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3111 === (13))){
var state_3110__$1 = state_3110;
var statearr_3117_3137 = state_3110__$1;
(statearr_3117_3137[(2)] = null);
(statearr_3117_3137[(1)] = (14));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3111 === (6))){
var inst_3089 = (state_3110[(7)]);
var state_3110__$1 = state_3110;
return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_3110__$1,(11),to,inst_3089);
} else {
if((state_val_3111 === (3))){
var inst_3108 = (state_3110[(2)]);
var state_3110__$1 = state_3110;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_3110__$1,inst_3108);
} else {
if((state_val_3111 === (12))){
var state_3110__$1 = state_3110;
var statearr_3118_3138 = state_3110__$1;
(statearr_3118_3138[(2)] = null);
(statearr_3118_3138[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3111 === (2))){
var state_3110__$1 = state_3110;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_3110__$1,(4),from);
} else {
if((state_val_3111 === (11))){
var inst_3099 = (state_3110[(2)]);
var state_3110__$1 = state_3110;
if(cljs.core.truth_(inst_3099)){
var statearr_3119_3139 = state_3110__$1;
(statearr_3119_3139[(1)] = (12));
} else {
var statearr_3120_3140 = state_3110__$1;
(statearr_3120_3140[(1)] = (13));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3111 === (9))){
var state_3110__$1 = state_3110;
var statearr_3121_3141 = state_3110__$1;
(statearr_3121_3141[(2)] = null);
(statearr_3121_3141[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3111 === (5))){
var state_3110__$1 = state_3110;
if(cljs.core.truth_(close_QMARK_)){
var statearr_3122_3142 = state_3110__$1;
(statearr_3122_3142[(1)] = (8));
} else {
var statearr_3123_3143 = state_3110__$1;
(statearr_3123_3143[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3111 === (14))){
var inst_3104 = (state_3110[(2)]);
var state_3110__$1 = state_3110;
var statearr_3124_3144 = state_3110__$1;
(statearr_3124_3144[(2)] = inst_3104);
(statearr_3124_3144[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3111 === (10))){
var inst_3096 = (state_3110[(2)]);
var state_3110__$1 = state_3110;
var statearr_3125_3145 = state_3110__$1;
(statearr_3125_3145[(2)] = inst_3096);
(statearr_3125_3145[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3111 === (8))){
var inst_3093 = cljs.core.async.close_BANG_.call(null,to);
var state_3110__$1 = state_3110;
var statearr_3126_3146 = state_3110__$1;
(statearr_3126_3146[(2)] = inst_3093);
(statearr_3126_3146[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__2891__auto__ = null;
var cljs$core$async$state_machine__2891__auto____0 = (function (){
var statearr_3127 = [null,null,null,null,null,null,null,null];
(statearr_3127[(0)] = cljs$core$async$state_machine__2891__auto__);
(statearr_3127[(1)] = (1));
return statearr_3127;
});
var cljs$core$async$state_machine__2891__auto____1 = (function (state_3110){
while(true){
var ret_value__2892__auto__ = (function (){try{while(true){
var result__2893__auto__ = switch__2890__auto__.call(null,state_3110);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2893__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2893__auto__;
}
break;
}
}catch (e3128){if((e3128 instanceof Object)){
var ex__2894__auto__ = e3128;
var statearr_3129_3147 = state_3110;
(statearr_3129_3147[(5)] = ex__2894__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_3110);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e3128;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2892__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__3148 = state_3110;
state_3110 = G__3148;
continue;
} else {
return ret_value__2892__auto__;
}
break;
}
});
cljs$core$async$state_machine__2891__auto__ = function(state_3110){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__2891__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__2891__auto____1.call(this,state_3110);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__2891__auto____0;
cljs$core$async$state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__2891__auto____1;
return cljs$core$async$state_machine__2891__auto__;
})()
})();
var state__2987__auto__ = (function (){var statearr_3130 = f__2986__auto__.call(null);
(statearr_3130[(6)] = c__2985__auto___3132);
return statearr_3130;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2987__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.call(null,n);
var results = cljs.core.async.chan.call(null,n);
var process = (function (p__3149){
var vec__3150 = p__3149;
var v = cljs.core.nth.call(null,vec__3150,(0),null);
var p = cljs.core.nth.call(null,vec__3150,(1),null);
var job = vec__3150;
if((job == null)){
cljs.core.async.close_BANG_.call(null,results);
return null;
} else {
var res = cljs.core.async.chan.call(null,(1),xf,ex_handler);
var c__2985__auto___3321 = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__2986__auto__ = (function (){var switch__2890__auto__ = (function (state_3157){
var state_val_3158 = (state_3157[(1)]);
if((state_val_3158 === (1))){
var state_3157__$1 = state_3157;
return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_3157__$1,(2),res,v);
} else {
if((state_val_3158 === (2))){
var inst_3154 = (state_3157[(2)]);
var inst_3155 = cljs.core.async.close_BANG_.call(null,res);
var state_3157__$1 = (function (){var statearr_3159 = state_3157;
(statearr_3159[(7)] = inst_3154);
return statearr_3159;
})();
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_3157__$1,inst_3155);
} else {
return null;
}
}
});
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____0 = (function (){
var statearr_3160 = [null,null,null,null,null,null,null,null];
(statearr_3160[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__);
(statearr_3160[(1)] = (1));
return statearr_3160;
});
var cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____1 = (function (state_3157){
while(true){
var ret_value__2892__auto__ = (function (){try{while(true){
var result__2893__auto__ = switch__2890__auto__.call(null,state_3157);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2893__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2893__auto__;
}
break;
}
}catch (e3161){if((e3161 instanceof Object)){
var ex__2894__auto__ = e3161;
var statearr_3162_3322 = state_3157;
(statearr_3162_3322[(5)] = ex__2894__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_3157);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e3161;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2892__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__3323 = state_3157;
state_3157 = G__3323;
continue;
} else {
return ret_value__2892__auto__;
}
break;
}
});
cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__ = function(state_3157){
switch(arguments.length){
case 0:
return cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____0.call(this);
case 1:
return cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____1.call(this,state_3157);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____0;
cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____1;
return cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__;
})()
})();
var state__2987__auto__ = (function (){var statearr_3163 = f__2986__auto__.call(null);
(statearr_3163[(6)] = c__2985__auto___3321);
return statearr_3163;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2987__auto__);
}));
cljs.core.async.put_BANG_.call(null,p,res);
return true;
}
});
var async = (function (p__3164){
var vec__3165 = p__3164;
var v = cljs.core.nth.call(null,vec__3165,(0),null);
var p = cljs.core.nth.call(null,vec__3165,(1),null);
var job = vec__3165;
if((job == null)){
cljs.core.async.close_BANG_.call(null,results);
return null;
} else {
var res = cljs.core.async.chan.call(null,(1));
xf.call(null,v,res);
cljs.core.async.put_BANG_.call(null,p,res);
return true;
}
});
var n__4666__auto___3324 = n;
var __3325 = (0);
while(true){
if((__3325 < n__4666__auto___3324)){
var G__3168_3326 = type;
var G__3168_3327__$1 = (((G__3168_3326 instanceof cljs.core.Keyword))?G__3168_3326.fqn:null);
switch (G__3168_3327__$1) {
case "compute":
var c__2985__auto___3329 = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,((function (__3325,c__2985__auto___3329,G__3168_3326,G__3168_3327__$1,n__4666__auto___3324,jobs,results,process,async){
return (function (){
var f__2986__auto__ = (function (){var switch__2890__auto__ = ((function (__3325,c__2985__auto___3329,G__3168_3326,G__3168_3327__$1,n__4666__auto___3324,jobs,results,process,async){
return (function (state_3181){
var state_val_3182 = (state_3181[(1)]);
if((state_val_3182 === (1))){
var state_3181__$1 = state_3181;
var statearr_3183_3330 = state_3181__$1;
(statearr_3183_3330[(2)] = null);
(statearr_3183_3330[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3182 === (2))){
var state_3181__$1 = state_3181;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_3181__$1,(4),jobs);
} else {
if((state_val_3182 === (3))){
var inst_3179 = (state_3181[(2)]);
var state_3181__$1 = state_3181;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_3181__$1,inst_3179);
} else {
if((state_val_3182 === (4))){
var inst_3171 = (state_3181[(2)]);
var inst_3172 = process.call(null,inst_3171);
var state_3181__$1 = state_3181;
if(cljs.core.truth_(inst_3172)){
var statearr_3184_3331 = state_3181__$1;
(statearr_3184_3331[(1)] = (5));
} else {
var statearr_3185_3332 = state_3181__$1;
(statearr_3185_3332[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3182 === (5))){
var state_3181__$1 = state_3181;
var statearr_3186_3333 = state_3181__$1;
(statearr_3186_3333[(2)] = null);
(statearr_3186_3333[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3182 === (6))){
var state_3181__$1 = state_3181;
var statearr_3187_3334 = state_3181__$1;
(statearr_3187_3334[(2)] = null);
(statearr_3187_3334[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3182 === (7))){
var inst_3177 = (state_3181[(2)]);
var state_3181__$1 = state_3181;
var statearr_3188_3335 = state_3181__$1;
(statearr_3188_3335[(2)] = inst_3177);
(statearr_3188_3335[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
});})(__3325,c__2985__auto___3329,G__3168_3326,G__3168_3327__$1,n__4666__auto___3324,jobs,results,process,async))
;
return ((function (__3325,switch__2890__auto__,c__2985__auto___3329,G__3168_3326,G__3168_3327__$1,n__4666__auto___3324,jobs,results,process,async){
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____0 = (function (){
var statearr_3189 = [null,null,null,null,null,null,null];
(statearr_3189[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__);
(statearr_3189[(1)] = (1));
return statearr_3189;
});
var cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____1 = (function (state_3181){
while(true){
var ret_value__2892__auto__ = (function (){try{while(true){
var result__2893__auto__ = switch__2890__auto__.call(null,state_3181);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2893__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2893__auto__;
}
break;
}
}catch (e3190){if((e3190 instanceof Object)){
var ex__2894__auto__ = e3190;
var statearr_3191_3336 = state_3181;
(statearr_3191_3336[(5)] = ex__2894__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_3181);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e3190;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2892__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__3337 = state_3181;
state_3181 = G__3337;
continue;
} else {
return ret_value__2892__auto__;
}
break;
}
});
cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__ = function(state_3181){
switch(arguments.length){
case 0:
return cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____0.call(this);
case 1:
return cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____1.call(this,state_3181);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____0;
cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____1;
return cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__;
})()
;})(__3325,switch__2890__auto__,c__2985__auto___3329,G__3168_3326,G__3168_3327__$1,n__4666__auto___3324,jobs,results,process,async))
})();
var state__2987__auto__ = (function (){var statearr_3192 = f__2986__auto__.call(null);
(statearr_3192[(6)] = c__2985__auto___3329);
return statearr_3192;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2987__auto__);
});})(__3325,c__2985__auto___3329,G__3168_3326,G__3168_3327__$1,n__4666__auto___3324,jobs,results,process,async))
);
break;
case "async":
var c__2985__auto___3338 = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,((function (__3325,c__2985__auto___3338,G__3168_3326,G__3168_3327__$1,n__4666__auto___3324,jobs,results,process,async){
return (function (){
var f__2986__auto__ = (function (){var switch__2890__auto__ = ((function (__3325,c__2985__auto___3338,G__3168_3326,G__3168_3327__$1,n__4666__auto___3324,jobs,results,process,async){
return (function (state_3205){
var state_val_3206 = (state_3205[(1)]);
if((state_val_3206 === (1))){
var state_3205__$1 = state_3205;
var statearr_3207_3339 = state_3205__$1;
(statearr_3207_3339[(2)] = null);
(statearr_3207_3339[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3206 === (2))){
var state_3205__$1 = state_3205;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_3205__$1,(4),jobs);
} else {
if((state_val_3206 === (3))){
var inst_3203 = (state_3205[(2)]);
var state_3205__$1 = state_3205;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_3205__$1,inst_3203);
} else {
if((state_val_3206 === (4))){
var inst_3195 = (state_3205[(2)]);
var inst_3196 = async.call(null,inst_3195);
var state_3205__$1 = state_3205;
if(cljs.core.truth_(inst_3196)){
var statearr_3208_3340 = state_3205__$1;
(statearr_3208_3340[(1)] = (5));
} else {
var statearr_3209_3341 = state_3205__$1;
(statearr_3209_3341[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3206 === (5))){
var state_3205__$1 = state_3205;
var statearr_3210_3342 = state_3205__$1;
(statearr_3210_3342[(2)] = null);
(statearr_3210_3342[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3206 === (6))){
var state_3205__$1 = state_3205;
var statearr_3211_3343 = state_3205__$1;
(statearr_3211_3343[(2)] = null);
(statearr_3211_3343[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3206 === (7))){
var inst_3201 = (state_3205[(2)]);
var state_3205__$1 = state_3205;
var statearr_3212_3344 = state_3205__$1;
(statearr_3212_3344[(2)] = inst_3201);
(statearr_3212_3344[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
});})(__3325,c__2985__auto___3338,G__3168_3326,G__3168_3327__$1,n__4666__auto___3324,jobs,results,process,async))
;
return ((function (__3325,switch__2890__auto__,c__2985__auto___3338,G__3168_3326,G__3168_3327__$1,n__4666__auto___3324,jobs,results,process,async){
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____0 = (function (){
var statearr_3213 = [null,null,null,null,null,null,null];
(statearr_3213[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__);
(statearr_3213[(1)] = (1));
return statearr_3213;
});
var cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____1 = (function (state_3205){
while(true){
var ret_value__2892__auto__ = (function (){try{while(true){
var result__2893__auto__ = switch__2890__auto__.call(null,state_3205);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2893__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2893__auto__;
}
break;
}
}catch (e3214){if((e3214 instanceof Object)){
var ex__2894__auto__ = e3214;
var statearr_3215_3345 = state_3205;
(statearr_3215_3345[(5)] = ex__2894__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_3205);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e3214;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2892__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__3346 = state_3205;
state_3205 = G__3346;
continue;
} else {
return ret_value__2892__auto__;
}
break;
}
});
cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__ = function(state_3205){
switch(arguments.length){
case 0:
return cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____0.call(this);
case 1:
return cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____1.call(this,state_3205);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____0;
cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____1;
return cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__;
})()
;})(__3325,switch__2890__auto__,c__2985__auto___3338,G__3168_3326,G__3168_3327__$1,n__4666__auto___3324,jobs,results,process,async))
})();
var state__2987__auto__ = (function (){var statearr_3216 = f__2986__auto__.call(null);
(statearr_3216[(6)] = c__2985__auto___3338);
return statearr_3216;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2987__auto__);
});})(__3325,c__2985__auto___3338,G__3168_3326,G__3168_3327__$1,n__4666__auto___3324,jobs,results,process,async))
);
break;
default:
throw (new Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__3168_3327__$1)].join('')));
}
var G__3347 = (__3325 + (1));
__3325 = G__3347;
continue;
} else {
}
break;
}
var c__2985__auto___3348 = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__2986__auto__ = (function (){var switch__2890__auto__ = (function (state_3238){
var state_val_3239 = (state_3238[(1)]);
if((state_val_3239 === (7))){
var inst_3234 = (state_3238[(2)]);
var state_3238__$1 = state_3238;
var statearr_3240_3349 = state_3238__$1;
(statearr_3240_3349[(2)] = inst_3234);
(statearr_3240_3349[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3239 === (1))){
var state_3238__$1 = state_3238;
var statearr_3241_3350 = state_3238__$1;
(statearr_3241_3350[(2)] = null);
(statearr_3241_3350[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3239 === (4))){
var inst_3219 = (state_3238[(7)]);
var inst_3219__$1 = (state_3238[(2)]);
var inst_3220 = (inst_3219__$1 == null);
var state_3238__$1 = (function (){var statearr_3242 = state_3238;
(statearr_3242[(7)] = inst_3219__$1);
return statearr_3242;
})();
if(cljs.core.truth_(inst_3220)){
var statearr_3243_3351 = state_3238__$1;
(statearr_3243_3351[(1)] = (5));
} else {
var statearr_3244_3352 = state_3238__$1;
(statearr_3244_3352[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3239 === (6))){
var inst_3219 = (state_3238[(7)]);
var inst_3224 = (state_3238[(8)]);
var inst_3224__$1 = cljs.core.async.chan.call(null,(1));
var inst_3225 = cljs.core.PersistentVector.EMPTY_NODE;
var inst_3226 = [inst_3219,inst_3224__$1];
var inst_3227 = (new cljs.core.PersistentVector(null,2,(5),inst_3225,inst_3226,null));
var state_3238__$1 = (function (){var statearr_3245 = state_3238;
(statearr_3245[(8)] = inst_3224__$1);
return statearr_3245;
})();
return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_3238__$1,(8),jobs,inst_3227);
} else {
if((state_val_3239 === (3))){
var inst_3236 = (state_3238[(2)]);
var state_3238__$1 = state_3238;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_3238__$1,inst_3236);
} else {
if((state_val_3239 === (2))){
var state_3238__$1 = state_3238;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_3238__$1,(4),from);
} else {
if((state_val_3239 === (9))){
var inst_3231 = (state_3238[(2)]);
var state_3238__$1 = (function (){var statearr_3246 = state_3238;
(statearr_3246[(9)] = inst_3231);
return statearr_3246;
})();
var statearr_3247_3353 = state_3238__$1;
(statearr_3247_3353[(2)] = null);
(statearr_3247_3353[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3239 === (5))){
var inst_3222 = cljs.core.async.close_BANG_.call(null,jobs);
var state_3238__$1 = state_3238;
var statearr_3248_3354 = state_3238__$1;
(statearr_3248_3354[(2)] = inst_3222);
(statearr_3248_3354[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3239 === (8))){
var inst_3224 = (state_3238[(8)]);
var inst_3229 = (state_3238[(2)]);
var state_3238__$1 = (function (){var statearr_3249 = state_3238;
(statearr_3249[(10)] = inst_3229);
return statearr_3249;
})();
return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_3238__$1,(9),results,inst_3224);
} else {
return null;
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____0 = (function (){
var statearr_3250 = [null,null,null,null,null,null,null,null,null,null,null];
(statearr_3250[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__);
(statearr_3250[(1)] = (1));
return statearr_3250;
});
var cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____1 = (function (state_3238){
while(true){
var ret_value__2892__auto__ = (function (){try{while(true){
var result__2893__auto__ = switch__2890__auto__.call(null,state_3238);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2893__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2893__auto__;
}
break;
}
}catch (e3251){if((e3251 instanceof Object)){
var ex__2894__auto__ = e3251;
var statearr_3252_3355 = state_3238;
(statearr_3252_3355[(5)] = ex__2894__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_3238);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e3251;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2892__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__3356 = state_3238;
state_3238 = G__3356;
continue;
} else {
return ret_value__2892__auto__;
}
break;
}
});
cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__ = function(state_3238){
switch(arguments.length){
case 0:
return cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____0.call(this);
case 1:
return cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____1.call(this,state_3238);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____0;
cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____1;
return cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__;
})()
})();
var state__2987__auto__ = (function (){var statearr_3253 = f__2986__auto__.call(null);
(statearr_3253[(6)] = c__2985__auto___3348);
return statearr_3253;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2987__auto__);
}));
var c__2985__auto__ = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__2986__auto__ = (function (){var switch__2890__auto__ = (function (state_3291){
var state_val_3292 = (state_3291[(1)]);
if((state_val_3292 === (7))){
var inst_3287 = (state_3291[(2)]);
var state_3291__$1 = state_3291;
var statearr_3293_3357 = state_3291__$1;
(statearr_3293_3357[(2)] = inst_3287);
(statearr_3293_3357[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3292 === (20))){
var state_3291__$1 = state_3291;
var statearr_3294_3358 = state_3291__$1;
(statearr_3294_3358[(2)] = null);
(statearr_3294_3358[(1)] = (21));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3292 === (1))){
var state_3291__$1 = state_3291;
var statearr_3295_3359 = state_3291__$1;
(statearr_3295_3359[(2)] = null);
(statearr_3295_3359[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3292 === (4))){
var inst_3256 = (state_3291[(7)]);
var inst_3256__$1 = (state_3291[(2)]);
var inst_3257 = (inst_3256__$1 == null);
var state_3291__$1 = (function (){var statearr_3296 = state_3291;
(statearr_3296[(7)] = inst_3256__$1);
return statearr_3296;
})();
if(cljs.core.truth_(inst_3257)){
var statearr_3297_3360 = state_3291__$1;
(statearr_3297_3360[(1)] = (5));
} else {
var statearr_3298_3361 = state_3291__$1;
(statearr_3298_3361[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3292 === (15))){
var inst_3269 = (state_3291[(8)]);
var state_3291__$1 = state_3291;
return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_3291__$1,(18),to,inst_3269);
} else {
if((state_val_3292 === (21))){
var inst_3282 = (state_3291[(2)]);
var state_3291__$1 = state_3291;
var statearr_3299_3362 = state_3291__$1;
(statearr_3299_3362[(2)] = inst_3282);
(statearr_3299_3362[(1)] = (13));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3292 === (13))){
var inst_3284 = (state_3291[(2)]);
var state_3291__$1 = (function (){var statearr_3300 = state_3291;
(statearr_3300[(9)] = inst_3284);
return statearr_3300;
})();
var statearr_3301_3363 = state_3291__$1;
(statearr_3301_3363[(2)] = null);
(statearr_3301_3363[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3292 === (6))){
var inst_3256 = (state_3291[(7)]);
var state_3291__$1 = state_3291;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_3291__$1,(11),inst_3256);
} else {
if((state_val_3292 === (17))){
var inst_3277 = (state_3291[(2)]);
var state_3291__$1 = state_3291;
if(cljs.core.truth_(inst_3277)){
var statearr_3302_3364 = state_3291__$1;
(statearr_3302_3364[(1)] = (19));
} else {
var statearr_3303_3365 = state_3291__$1;
(statearr_3303_3365[(1)] = (20));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3292 === (3))){
var inst_3289 = (state_3291[(2)]);
var state_3291__$1 = state_3291;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_3291__$1,inst_3289);
} else {
if((state_val_3292 === (12))){
var inst_3266 = (state_3291[(10)]);
var state_3291__$1 = state_3291;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_3291__$1,(14),inst_3266);
} else {
if((state_val_3292 === (2))){
var state_3291__$1 = state_3291;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_3291__$1,(4),results);
} else {
if((state_val_3292 === (19))){
var state_3291__$1 = state_3291;
var statearr_3304_3366 = state_3291__$1;
(statearr_3304_3366[(2)] = null);
(statearr_3304_3366[(1)] = (12));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3292 === (11))){
var inst_3266 = (state_3291[(2)]);
var state_3291__$1 = (function (){var statearr_3305 = state_3291;
(statearr_3305[(10)] = inst_3266);
return statearr_3305;
})();
var statearr_3306_3367 = state_3291__$1;
(statearr_3306_3367[(2)] = null);
(statearr_3306_3367[(1)] = (12));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3292 === (9))){
var state_3291__$1 = state_3291;
var statearr_3307_3368 = state_3291__$1;
(statearr_3307_3368[(2)] = null);
(statearr_3307_3368[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3292 === (5))){
var state_3291__$1 = state_3291;
if(cljs.core.truth_(close_QMARK_)){
var statearr_3308_3369 = state_3291__$1;
(statearr_3308_3369[(1)] = (8));
} else {
var statearr_3309_3370 = state_3291__$1;
(statearr_3309_3370[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3292 === (14))){
var inst_3269 = (state_3291[(8)]);
var inst_3269__$1 = (state_3291[(2)]);
var inst_3270 = (inst_3269__$1 == null);
var inst_3271 = cljs.core.not.call(null,inst_3270);
var state_3291__$1 = (function (){var statearr_3310 = state_3291;
(statearr_3310[(8)] = inst_3269__$1);
return statearr_3310;
})();
if(inst_3271){
var statearr_3311_3371 = state_3291__$1;
(statearr_3311_3371[(1)] = (15));
} else {
var statearr_3312_3372 = state_3291__$1;
(statearr_3312_3372[(1)] = (16));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3292 === (16))){
var state_3291__$1 = state_3291;
var statearr_3313_3373 = state_3291__$1;
(statearr_3313_3373[(2)] = false);
(statearr_3313_3373[(1)] = (17));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3292 === (10))){
var inst_3263 = (state_3291[(2)]);
var state_3291__$1 = state_3291;
var statearr_3314_3374 = state_3291__$1;
(statearr_3314_3374[(2)] = inst_3263);
(statearr_3314_3374[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3292 === (18))){
var inst_3274 = (state_3291[(2)]);
var state_3291__$1 = state_3291;
var statearr_3315_3375 = state_3291__$1;
(statearr_3315_3375[(2)] = inst_3274);
(statearr_3315_3375[(1)] = (17));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3292 === (8))){
var inst_3260 = cljs.core.async.close_BANG_.call(null,to);
var state_3291__$1 = state_3291;
var statearr_3316_3376 = state_3291__$1;
(statearr_3316_3376[(2)] = inst_3260);
(statearr_3316_3376[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____0 = (function (){
var statearr_3317 = [null,null,null,null,null,null,null,null,null,null,null];
(statearr_3317[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__);
(statearr_3317[(1)] = (1));
return statearr_3317;
});
var cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____1 = (function (state_3291){
while(true){
var ret_value__2892__auto__ = (function (){try{while(true){
var result__2893__auto__ = switch__2890__auto__.call(null,state_3291);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2893__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2893__auto__;
}
break;
}
}catch (e3318){if((e3318 instanceof Object)){
var ex__2894__auto__ = e3318;
var statearr_3319_3377 = state_3291;
(statearr_3319_3377[(5)] = ex__2894__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_3291);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e3318;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2892__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__3378 = state_3291;
state_3291 = G__3378;
continue;
} else {
return ret_value__2892__auto__;
}
break;
}
});
cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__ = function(state_3291){
switch(arguments.length){
case 0:
return cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____0.call(this);
case 1:
return cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____1.call(this,state_3291);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____0;
cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$pipeline_STAR__$_state_machine__2891__auto____1;
return cljs$core$async$pipeline_STAR__$_state_machine__2891__auto__;
})()
})();
var state__2987__auto__ = (function (){var statearr_3320 = f__2986__auto__.call(null);
(statearr_3320[(6)] = c__2985__auto__);
return statearr_3320;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2987__auto__);
}));
return c__2985__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). af must close!
* the channel before returning. The presumption is that af will
* return immediately, having launched some asynchronous operation
* whose completion/callback will manipulate the result channel. 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.
*/
cljs.core.async.pipeline_async = (function cljs$core$async$pipeline_async(var_args){
var G__3380 = arguments.length;
switch (G__3380) {
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.call(null,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_.call(null,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__3383 = arguments.length;
switch (G__3383) {
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.call(null,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.call(null,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_.call(null,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__3386 = arguments.length;
switch (G__3386) {
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.call(null,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.call(null,t_buf_or_n);
var fc = cljs.core.async.chan.call(null,f_buf_or_n);
var c__2985__auto___3435 = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__2986__auto__ = (function (){var switch__2890__auto__ = (function (state_3412){
var state_val_3413 = (state_3412[(1)]);
if((state_val_3413 === (7))){
var inst_3408 = (state_3412[(2)]);
var state_3412__$1 = state_3412;
var statearr_3414_3436 = state_3412__$1;
(statearr_3414_3436[(2)] = inst_3408);
(statearr_3414_3436[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3413 === (1))){
var state_3412__$1 = state_3412;
var statearr_3415_3437 = state_3412__$1;
(statearr_3415_3437[(2)] = null);
(statearr_3415_3437[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3413 === (4))){
var inst_3389 = (state_3412[(7)]);
var inst_3389__$1 = (state_3412[(2)]);
var inst_3390 = (inst_3389__$1 == null);
var state_3412__$1 = (function (){var statearr_3416 = state_3412;
(statearr_3416[(7)] = inst_3389__$1);
return statearr_3416;
})();
if(cljs.core.truth_(inst_3390)){
var statearr_3417_3438 = state_3412__$1;
(statearr_3417_3438[(1)] = (5));
} else {
var statearr_3418_3439 = state_3412__$1;
(statearr_3418_3439[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3413 === (13))){
var state_3412__$1 = state_3412;
var statearr_3419_3440 = state_3412__$1;
(statearr_3419_3440[(2)] = null);
(statearr_3419_3440[(1)] = (14));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3413 === (6))){
var inst_3389 = (state_3412[(7)]);
var inst_3395 = p.call(null,inst_3389);
var state_3412__$1 = state_3412;
if(cljs.core.truth_(inst_3395)){
var statearr_3420_3441 = state_3412__$1;
(statearr_3420_3441[(1)] = (9));
} else {
var statearr_3421_3442 = state_3412__$1;
(statearr_3421_3442[(1)] = (10));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3413 === (3))){
var inst_3410 = (state_3412[(2)]);
var state_3412__$1 = state_3412;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_3412__$1,inst_3410);
} else {
if((state_val_3413 === (12))){
var state_3412__$1 = state_3412;
var statearr_3422_3443 = state_3412__$1;
(statearr_3422_3443[(2)] = null);
(statearr_3422_3443[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3413 === (2))){
var state_3412__$1 = state_3412;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_3412__$1,(4),ch);
} else {
if((state_val_3413 === (11))){
var inst_3389 = (state_3412[(7)]);
var inst_3399 = (state_3412[(2)]);
var state_3412__$1 = state_3412;
return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_3412__$1,(8),inst_3399,inst_3389);
} else {
if((state_val_3413 === (9))){
var state_3412__$1 = state_3412;
var statearr_3423_3444 = state_3412__$1;
(statearr_3423_3444[(2)] = tc);
(statearr_3423_3444[(1)] = (11));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3413 === (5))){
var inst_3392 = cljs.core.async.close_BANG_.call(null,tc);
var inst_3393 = cljs.core.async.close_BANG_.call(null,fc);
var state_3412__$1 = (function (){var statearr_3424 = state_3412;
(statearr_3424[(8)] = inst_3392);
return statearr_3424;
})();
var statearr_3425_3445 = state_3412__$1;
(statearr_3425_3445[(2)] = inst_3393);
(statearr_3425_3445[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3413 === (14))){
var inst_3406 = (state_3412[(2)]);
var state_3412__$1 = state_3412;
var statearr_3426_3446 = state_3412__$1;
(statearr_3426_3446[(2)] = inst_3406);
(statearr_3426_3446[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3413 === (10))){
var state_3412__$1 = state_3412;
var statearr_3427_3447 = state_3412__$1;
(statearr_3427_3447[(2)] = fc);
(statearr_3427_3447[(1)] = (11));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3413 === (8))){
var inst_3401 = (state_3412[(2)]);
var state_3412__$1 = state_3412;
if(cljs.core.truth_(inst_3401)){
var statearr_3428_3448 = state_3412__$1;
(statearr_3428_3448[(1)] = (12));
} else {
var statearr_3429_3449 = state_3412__$1;
(statearr_3429_3449[(1)] = (13));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__2891__auto__ = null;
var cljs$core$async$state_machine__2891__auto____0 = (function (){
var statearr_3430 = [null,null,null,null,null,null,null,null,null];
(statearr_3430[(0)] = cljs$core$async$state_machine__2891__auto__);
(statearr_3430[(1)] = (1));
return statearr_3430;
});
var cljs$core$async$state_machine__2891__auto____1 = (function (state_3412){
while(true){
var ret_value__2892__auto__ = (function (){try{while(true){
var result__2893__auto__ = switch__2890__auto__.call(null,state_3412);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2893__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2893__auto__;
}
break;
}
}catch (e3431){if((e3431 instanceof Object)){
var ex__2894__auto__ = e3431;
var statearr_3432_3450 = state_3412;
(statearr_3432_3450[(5)] = ex__2894__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_3412);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e3431;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2892__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__3451 = state_3412;
state_3412 = G__3451;
continue;
} else {
return ret_value__2892__auto__;
}
break;
}
});
cljs$core$async$state_machine__2891__auto__ = function(state_3412){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__2891__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__2891__auto____1.call(this,state_3412);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__2891__auto____0;
cljs$core$async$state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__2891__auto____1;
return cljs$core$async$state_machine__2891__auto__;
})()
})();
var state__2987__auto__ = (function (){var statearr_3433 = f__2986__auto__.call(null);
(statearr_3433[(6)] = c__2985__auto___3435);
return statearr_3433;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2987__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__2985__auto__ = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__2986__auto__ = (function (){var switch__2890__auto__ = (function (state_3472){
var state_val_3473 = (state_3472[(1)]);
if((state_val_3473 === (7))){
var inst_3468 = (state_3472[(2)]);
var state_3472__$1 = state_3472;
var statearr_3474_3492 = state_3472__$1;
(statearr_3474_3492[(2)] = inst_3468);
(statearr_3474_3492[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3473 === (1))){
var inst_3452 = init;
var state_3472__$1 = (function (){var statearr_3475 = state_3472;
(statearr_3475[(7)] = inst_3452);
return statearr_3475;
})();
var statearr_3476_3493 = state_3472__$1;
(statearr_3476_3493[(2)] = null);
(statearr_3476_3493[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3473 === (4))){
var inst_3455 = (state_3472[(8)]);
var inst_3455__$1 = (state_3472[(2)]);
var inst_3456 = (inst_3455__$1 == null);
var state_3472__$1 = (function (){var statearr_3477 = state_3472;
(statearr_3477[(8)] = inst_3455__$1);
return statearr_3477;
})();
if(cljs.core.truth_(inst_3456)){
var statearr_3478_3494 = state_3472__$1;
(statearr_3478_3494[(1)] = (5));
} else {
var statearr_3479_3495 = state_3472__$1;
(statearr_3479_3495[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3473 === (6))){
var inst_3459 = (state_3472[(9)]);
var inst_3455 = (state_3472[(8)]);
var inst_3452 = (state_3472[(7)]);
var inst_3459__$1 = f.call(null,inst_3452,inst_3455);
var inst_3460 = cljs.core.reduced_QMARK_.call(null,inst_3459__$1);
var state_3472__$1 = (function (){var statearr_3480 = state_3472;
(statearr_3480[(9)] = inst_3459__$1);
return statearr_3480;
})();
if(inst_3460){
var statearr_3481_3496 = state_3472__$1;
(statearr_3481_3496[(1)] = (8));
} else {
var statearr_3482_3497 = state_3472__$1;
(statearr_3482_3497[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3473 === (3))){
var inst_3470 = (state_3472[(2)]);
var state_3472__$1 = state_3472;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_3472__$1,inst_3470);
} else {
if((state_val_3473 === (2))){
var state_3472__$1 = state_3472;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_3472__$1,(4),ch);
} else {
if((state_val_3473 === (9))){
var inst_3459 = (state_3472[(9)]);
var inst_3452 = inst_3459;
var state_3472__$1 = (function (){var statearr_3483 = state_3472;
(statearr_3483[(7)] = inst_3452);
return statearr_3483;
})();
var statearr_3484_3498 = state_3472__$1;
(statearr_3484_3498[(2)] = null);
(statearr_3484_3498[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3473 === (5))){
var inst_3452 = (state_3472[(7)]);
var state_3472__$1 = state_3472;
var statearr_3485_3499 = state_3472__$1;
(statearr_3485_3499[(2)] = inst_3452);
(statearr_3485_3499[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3473 === (10))){
var inst_3466 = (state_3472[(2)]);
var state_3472__$1 = state_3472;
var statearr_3486_3500 = state_3472__$1;
(statearr_3486_3500[(2)] = inst_3466);
(statearr_3486_3500[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3473 === (8))){
var inst_3459 = (state_3472[(9)]);
var inst_3462 = cljs.core.deref.call(null,inst_3459);
var state_3472__$1 = state_3472;
var statearr_3487_3501 = state_3472__$1;
(statearr_3487_3501[(2)] = inst_3462);
(statearr_3487_3501[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$reduce_$_state_machine__2891__auto__ = null;
var cljs$core$async$reduce_$_state_machine__2891__auto____0 = (function (){
var statearr_3488 = [null,null,null,null,null,null,null,null,null,null];
(statearr_3488[(0)] = cljs$core$async$reduce_$_state_machine__2891__auto__);
(statearr_3488[(1)] = (1));
return statearr_3488;
});
var cljs$core$async$reduce_$_state_machine__2891__auto____1 = (function (state_3472){
while(true){
var ret_value__2892__auto__ = (function (){try{while(true){
var result__2893__auto__ = switch__2890__auto__.call(null,state_3472);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2893__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2893__auto__;
}
break;
}
}catch (e3489){if((e3489 instanceof Object)){
var ex__2894__auto__ = e3489;
var statearr_3490_3502 = state_3472;
(statearr_3490_3502[(5)] = ex__2894__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_3472);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e3489;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2892__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__3503 = state_3472;
state_3472 = G__3503;
continue;
} else {
return ret_value__2892__auto__;
}
break;
}
});
cljs$core$async$reduce_$_state_machine__2891__auto__ = function(state_3472){
switch(arguments.length){
case 0:
return cljs$core$async$reduce_$_state_machine__2891__auto____0.call(this);
case 1:
return cljs$core$async$reduce_$_state_machine__2891__auto____1.call(this,state_3472);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$reduce_$_state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$reduce_$_state_machine__2891__auto____0;
cljs$core$async$reduce_$_state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$reduce_$_state_machine__2891__auto____1;
return cljs$core$async$reduce_$_state_machine__2891__auto__;
})()
})();
var state__2987__auto__ = (function (){var statearr_3491 = f__2986__auto__.call(null);
(statearr_3491[(6)] = c__2985__auto__);
return statearr_3491;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2987__auto__);
}));
return c__2985__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.call(null,f);
var c__2985__auto__ = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__2986__auto__ = (function (){var switch__2890__auto__ = (function (state_3509){
var state_val_3510 = (state_3509[(1)]);
if((state_val_3510 === (1))){
var inst_3504 = cljs.core.async.reduce.call(null,f__$1,init,ch);
var state_3509__$1 = state_3509;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_3509__$1,(2),inst_3504);
} else {
if((state_val_3510 === (2))){
var inst_3506 = (state_3509[(2)]);
var inst_3507 = f__$1.call(null,inst_3506);
var state_3509__$1 = state_3509;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_3509__$1,inst_3507);
} else {
return null;
}
}
});
return (function() {
var cljs$core$async$transduce_$_state_machine__2891__auto__ = null;
var cljs$core$async$transduce_$_state_machine__2891__auto____0 = (function (){
var statearr_3511 = [null,null,null,null,null,null,null];
(statearr_3511[(0)] = cljs$core$async$transduce_$_state_machine__2891__auto__);
(statearr_3511[(1)] = (1));
return statearr_3511;
});
var cljs$core$async$transduce_$_state_machine__2891__auto____1 = (function (state_3509){
while(true){
var ret_value__2892__auto__ = (function (){try{while(true){
var result__2893__auto__ = switch__2890__auto__.call(null,state_3509);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2893__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2893__auto__;
}
break;
}
}catch (e3512){if((e3512 instanceof Object)){
var ex__2894__auto__ = e3512;
var statearr_3513_3515 = state_3509;
(statearr_3513_3515[(5)] = ex__2894__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_3509);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e3512;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2892__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__3516 = state_3509;
state_3509 = G__3516;
continue;
} else {
return ret_value__2892__auto__;
}
break;
}
});
cljs$core$async$transduce_$_state_machine__2891__auto__ = function(state_3509){
switch(arguments.length){
case 0:
return cljs$core$async$transduce_$_state_machine__2891__auto____0.call(this);
case 1:
return cljs$core$async$transduce_$_state_machine__2891__auto____1.call(this,state_3509);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$transduce_$_state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$transduce_$_state_machine__2891__auto____0;
cljs$core$async$transduce_$_state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$transduce_$_state_machine__2891__auto____1;
return cljs$core$async$transduce_$_state_machine__2891__auto__;
})()
})();
var state__2987__auto__ = (function (){var statearr_3514 = f__2986__auto__.call(null);
(statearr_3514[(6)] = c__2985__auto__);
return statearr_3514;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2987__auto__);
}));
return c__2985__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 = (function cljs$core$async$onto_chan(var_args){
var G__3518 = arguments.length;
switch (G__3518) {
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.call(null,ch,coll,true);
}));
(cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$3 = (function (ch,coll,close_QMARK_){
var c__2985__auto__ = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__2986__auto__ = (function (){var switch__2890__auto__ = (function (state_3543){
var state_val_3544 = (state_3543[(1)]);
if((state_val_3544 === (7))){
var inst_3525 = (state_3543[(2)]);
var state_3543__$1 = state_3543;
var statearr_3545_3566 = state_3543__$1;
(statearr_3545_3566[(2)] = inst_3525);
(statearr_3545_3566[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3544 === (1))){
var inst_3519 = cljs.core.seq.call(null,coll);
var inst_3520 = inst_3519;
var state_3543__$1 = (function (){var statearr_3546 = state_3543;
(statearr_3546[(7)] = inst_3520);
return statearr_3546;
})();
var statearr_3547_3567 = state_3543__$1;
(statearr_3547_3567[(2)] = null);
(statearr_3547_3567[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3544 === (4))){
var inst_3520 = (state_3543[(7)]);
var inst_3523 = cljs.core.first.call(null,inst_3520);
var state_3543__$1 = state_3543;
return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_3543__$1,(7),ch,inst_3523);
} else {
if((state_val_3544 === (13))){
var inst_3537 = (state_3543[(2)]);
var state_3543__$1 = state_3543;
var statearr_3548_3568 = state_3543__$1;
(statearr_3548_3568[(2)] = inst_3537);
(statearr_3548_3568[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3544 === (6))){
var inst_3528 = (state_3543[(2)]);
var state_3543__$1 = state_3543;
if(cljs.core.truth_(inst_3528)){
var statearr_3549_3569 = state_3543__$1;
(statearr_3549_3569[(1)] = (8));
} else {
var statearr_3550_3570 = state_3543__$1;
(statearr_3550_3570[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3544 === (3))){
var inst_3541 = (state_3543[(2)]);
var state_3543__$1 = state_3543;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_3543__$1,inst_3541);
} else {
if((state_val_3544 === (12))){
var state_3543__$1 = state_3543;
var statearr_3551_3571 = state_3543__$1;
(statearr_3551_3571[(2)] = null);
(statearr_3551_3571[(1)] = (13));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3544 === (2))){
var inst_3520 = (state_3543[(7)]);
var state_3543__$1 = state_3543;
if(cljs.core.truth_(inst_3520)){
var statearr_3552_3572 = state_3543__$1;
(statearr_3552_3572[(1)] = (4));
} else {
var statearr_3553_3573 = state_3543__$1;
(statearr_3553_3573[(1)] = (5));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3544 === (11))){
var inst_3534 = cljs.core.async.close_BANG_.call(null,ch);
var state_3543__$1 = state_3543;
var statearr_3554_3574 = state_3543__$1;
(statearr_3554_3574[(2)] = inst_3534);
(statearr_3554_3574[(1)] = (13));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3544 === (9))){
var state_3543__$1 = state_3543;
if(cljs.core.truth_(close_QMARK_)){
var statearr_3555_3575 = state_3543__$1;
(statearr_3555_3575[(1)] = (11));
} else {
var statearr_3556_3576 = state_3543__$1;
(statearr_3556_3576[(1)] = (12));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3544 === (5))){
var inst_3520 = (state_3543[(7)]);
var state_3543__$1 = state_3543;
var statearr_3557_3577 = state_3543__$1;
(statearr_3557_3577[(2)] = inst_3520);
(statearr_3557_3577[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3544 === (10))){
var inst_3539 = (state_3543[(2)]);
var state_3543__$1 = state_3543;
var statearr_3558_3578 = state_3543__$1;
(statearr_3558_3578[(2)] = inst_3539);
(statearr_3558_3578[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3544 === (8))){
var inst_3520 = (state_3543[(7)]);
var inst_3530 = cljs.core.next.call(null,inst_3520);
var inst_3520__$1 = inst_3530;
var state_3543__$1 = (function (){var statearr_3559 = state_3543;
(statearr_3559[(7)] = inst_3520__$1);
return statearr_3559;
})();
var statearr_3560_3579 = state_3543__$1;
(statearr_3560_3579[(2)] = null);
(statearr_3560_3579[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__2891__auto__ = null;
var cljs$core$async$state_machine__2891__auto____0 = (function (){
var statearr_3561 = [null,null,null,null,null,null,null,null];
(statearr_3561[(0)] = cljs$core$async$state_machine__2891__auto__);
(statearr_3561[(1)] = (1));
return statearr_3561;
});
var cljs$core$async$state_machine__2891__auto____1 = (function (state_3543){
while(true){
var ret_value__2892__auto__ = (function (){try{while(true){
var result__2893__auto__ = switch__2890__auto__.call(null,state_3543);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2893__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2893__auto__;
}
break;
}
}catch (e3562){if((e3562 instanceof Object)){
var ex__2894__auto__ = e3562;
var statearr_3563_3580 = state_3543;
(statearr_3563_3580[(5)] = ex__2894__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_3543);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e3562;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2892__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__3581 = state_3543;
state_3543 = G__3581;
continue;
} else {
return ret_value__2892__auto__;
}
break;
}
});
cljs$core$async$state_machine__2891__auto__ = function(state_3543){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__2891__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__2891__auto____1.call(this,state_3543);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__2891__auto____0;
cljs$core$async$state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__2891__auto____1;
return cljs$core$async$state_machine__2891__auto__;
})()
})();
var state__2987__auto__ = (function (){var statearr_3564 = f__2986__auto__.call(null);
(statearr_3564[(6)] = c__2985__auto__);
return statearr_3564;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2987__auto__);
}));
return c__2985__auto__;
}));
(cljs.core.async.onto_chan.cljs$lang$maxFixedArity = 3);
/**
* Creates and returns a channel which contains the contents of coll,
* closing when exhausted.
*/
cljs.core.async.to_chan = (function cljs$core$async$to_chan(coll){
var ch = cljs.core.async.chan.call(null,cljs.core.bounded_count.call(null,(100),coll));
cljs.core.async.onto_chan.call(null,ch,coll);
return ch;
});
/**
* @interface
*/
cljs.core.async.Mux = function(){};
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 {
var x__4487__auto__ = (((_ == null))?null:_);
var m__4488__auto__ = (cljs.core.async.muxch_STAR_[goog.typeOf(x__4487__auto__)]);
if((!((m__4488__auto__ == null)))){
return m__4488__auto__.call(null,_);
} else {
var m__4485__auto__ = (cljs.core.async.muxch_STAR_["_"]);
if((!((m__4485__auto__ == null)))){
return m__4485__auto__.call(null,_);
} else {
throw cljs.core.missing_protocol.call(null,"Mux.muxch*",_);
}
}
}
});
/**
* @interface
*/
cljs.core.async.Mult = function(){};
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 {
var x__4487__auto__ = (((m == null))?null:m);
var m__4488__auto__ = (cljs.core.async.tap_STAR_[goog.typeOf(x__4487__auto__)]);
if((!((m__4488__auto__ == null)))){
return m__4488__auto__.call(null,m,ch,close_QMARK_);
} else {
var m__4485__auto__ = (cljs.core.async.tap_STAR_["_"]);
if((!((m__4485__auto__ == null)))){
return m__4485__auto__.call(null,m,ch,close_QMARK_);
} else {
throw cljs.core.missing_protocol.call(null,"Mult.tap*",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 {
var x__4487__auto__ = (((m == null))?null:m);
var m__4488__auto__ = (cljs.core.async.untap_STAR_[goog.typeOf(x__4487__auto__)]);
if((!((m__4488__auto__ == null)))){
return m__4488__auto__.call(null,m,ch);
} else {
var m__4485__auto__ = (cljs.core.async.untap_STAR_["_"]);
if((!((m__4485__auto__ == null)))){
return m__4485__auto__.call(null,m,ch);
} else {
throw cljs.core.missing_protocol.call(null,"Mult.untap*",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 {
var x__4487__auto__ = (((m == null))?null:m);
var m__4488__auto__ = (cljs.core.async.untap_all_STAR_[goog.typeOf(x__4487__auto__)]);
if((!((m__4488__auto__ == null)))){
return m__4488__auto__.call(null,m);
} else {
var m__4485__auto__ = (cljs.core.async.untap_all_STAR_["_"]);
if((!((m__4485__auto__ == null)))){
return m__4485__auto__.call(null,m);
} else {
throw cljs.core.missing_protocol.call(null,"Mult.untap-all*",m);
}
}
}
});
/**
* 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.call(null,cljs.core.PersistentArrayMap.EMPTY);
var m = (function (){
if((typeof cljs !== 'undefined') && (typeof cljs.core !== 'undefined') && (typeof cljs.core.async !== 'undefined') && (typeof cljs.core.async.t_cljs$core$async3582 !== 'undefined')){
} else {
/**
* @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$async3582 = (function (ch,cs,meta3583){
this.ch = ch;
this.cs = cs;
this.meta3583 = meta3583;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async3582.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_3584,meta3583__$1){
var self__ = this;
var _3584__$1 = this;
return (new cljs.core.async.t_cljs$core$async3582(self__.ch,self__.cs,meta3583__$1));
}));
(cljs.core.async.t_cljs$core$async3582.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_3584){
var self__ = this;
var _3584__$1 = this;
return self__.meta3583;
}));
(cljs.core.async.t_cljs$core$async3582.prototype.cljs$core$async$Mux$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async3582.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$async3582.prototype.cljs$core$async$Mult$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async3582.prototype.cljs$core$async$Mult$tap_STAR_$arity$3 = (function (_,ch__$1,close_QMARK_){
var self__ = this;
var ___$1 = this;
cljs.core.swap_BANG_.call(null,self__.cs,cljs.core.assoc,ch__$1,close_QMARK_);
return null;
}));
(cljs.core.async.t_cljs$core$async3582.prototype.cljs$core$async$Mult$untap_STAR_$arity$2 = (function (_,ch__$1){
var self__ = this;
var ___$1 = this;
cljs.core.swap_BANG_.call(null,self__.cs,cljs.core.dissoc,ch__$1);
return null;
}));
(cljs.core.async.t_cljs$core$async3582.prototype.cljs$core$async$Mult$untap_all_STAR_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
cljs.core.reset_BANG_.call(null,self__.cs,cljs.core.PersistentArrayMap.EMPTY);
return null;
}));
(cljs.core.async.t_cljs$core$async3582.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,"meta3583","meta3583",348191875,null)], null);
}));
(cljs.core.async.t_cljs$core$async3582.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async3582.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async3582");
(cljs.core.async.t_cljs$core$async3582.cljs$lang$ctorPrWriter = (function (this__4428__auto__,writer__4429__auto__,opt__4430__auto__){
return cljs.core._write.call(null,writer__4429__auto__,"cljs.core.async/t_cljs$core$async3582");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async3582.
*/
cljs.core.async.__GT_t_cljs$core$async3582 = (function cljs$core$async$mult_$___GT_t_cljs$core$async3582(ch__$1,cs__$1,meta3583){
return (new cljs.core.async.t_cljs$core$async3582(ch__$1,cs__$1,meta3583));
});
}
return (new cljs.core.async.t_cljs$core$async3582(ch,cs,cljs.core.PersistentArrayMap.EMPTY));
})()
;
var dchan = cljs.core.async.chan.call(null,(1));
var dctr = cljs.core.atom.call(null,null);
var done = (function (_){
if((cljs.core.swap_BANG_.call(null,dctr,cljs.core.dec) === (0))){
return cljs.core.async.put_BANG_.call(null,dchan,true);
} else {
return null;
}
});
var c__2985__auto___3804 = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__2986__auto__ = (function (){var switch__2890__auto__ = (function (state_3719){
var state_val_3720 = (state_3719[(1)]);
if((state_val_3720 === (7))){
var inst_3715 = (state_3719[(2)]);
var state_3719__$1 = state_3719;
var statearr_3721_3805 = state_3719__$1;
(statearr_3721_3805[(2)] = inst_3715);
(statearr_3721_3805[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (20))){
var inst_3618 = (state_3719[(7)]);
var inst_3630 = cljs.core.first.call(null,inst_3618);
var inst_3631 = cljs.core.nth.call(null,inst_3630,(0),null);
var inst_3632 = cljs.core.nth.call(null,inst_3630,(1),null);
var state_3719__$1 = (function (){var statearr_3722 = state_3719;
(statearr_3722[(8)] = inst_3631);
return statearr_3722;
})();
if(cljs.core.truth_(inst_3632)){
var statearr_3723_3806 = state_3719__$1;
(statearr_3723_3806[(1)] = (22));
} else {
var statearr_3724_3807 = state_3719__$1;
(statearr_3724_3807[(1)] = (23));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (27))){
var inst_3660 = (state_3719[(9)]);
var inst_3587 = (state_3719[(10)]);
var inst_3667 = (state_3719[(11)]);
var inst_3662 = (state_3719[(12)]);
var inst_3667__$1 = cljs.core._nth.call(null,inst_3660,inst_3662);
var inst_3668 = cljs.core.async.put_BANG_.call(null,inst_3667__$1,inst_3587,done);
var state_3719__$1 = (function (){var statearr_3725 = state_3719;
(statearr_3725[(11)] = inst_3667__$1);
return statearr_3725;
})();
if(cljs.core.truth_(inst_3668)){
var statearr_3726_3808 = state_3719__$1;
(statearr_3726_3808[(1)] = (30));
} else {
var statearr_3727_3809 = state_3719__$1;
(statearr_3727_3809[(1)] = (31));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (1))){
var state_3719__$1 = state_3719;
var statearr_3728_3810 = state_3719__$1;
(statearr_3728_3810[(2)] = null);
(statearr_3728_3810[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (24))){
var inst_3618 = (state_3719[(7)]);
var inst_3637 = (state_3719[(2)]);
var inst_3638 = cljs.core.next.call(null,inst_3618);
var inst_3596 = inst_3638;
var inst_3597 = null;
var inst_3598 = (0);
var inst_3599 = (0);
var state_3719__$1 = (function (){var statearr_3729 = state_3719;
(statearr_3729[(13)] = inst_3637);
(statearr_3729[(14)] = inst_3596);
(statearr_3729[(15)] = inst_3598);
(statearr_3729[(16)] = inst_3599);
(statearr_3729[(17)] = inst_3597);
return statearr_3729;
})();
var statearr_3730_3811 = state_3719__$1;
(statearr_3730_3811[(2)] = null);
(statearr_3730_3811[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (39))){
var state_3719__$1 = state_3719;
var statearr_3734_3812 = state_3719__$1;
(statearr_3734_3812[(2)] = null);
(statearr_3734_3812[(1)] = (41));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (4))){
var inst_3587 = (state_3719[(10)]);
var inst_3587__$1 = (state_3719[(2)]);
var inst_3588 = (inst_3587__$1 == null);
var state_3719__$1 = (function (){var statearr_3735 = state_3719;
(statearr_3735[(10)] = inst_3587__$1);
return statearr_3735;
})();
if(cljs.core.truth_(inst_3588)){
var statearr_3736_3813 = state_3719__$1;
(statearr_3736_3813[(1)] = (5));
} else {
var statearr_3737_3814 = state_3719__$1;
(statearr_3737_3814[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (15))){
var inst_3596 = (state_3719[(14)]);
var inst_3598 = (state_3719[(15)]);
var inst_3599 = (state_3719[(16)]);
var inst_3597 = (state_3719[(17)]);
var inst_3614 = (state_3719[(2)]);
var inst_3615 = (inst_3599 + (1));
var tmp3731 = inst_3596;
var tmp3732 = inst_3598;
var tmp3733 = inst_3597;
var inst_3596__$1 = tmp3731;
var inst_3597__$1 = tmp3733;
var inst_3598__$1 = tmp3732;
var inst_3599__$1 = inst_3615;
var state_3719__$1 = (function (){var statearr_3738 = state_3719;
(statearr_3738[(14)] = inst_3596__$1);
(statearr_3738[(15)] = inst_3598__$1);
(statearr_3738[(16)] = inst_3599__$1);
(statearr_3738[(17)] = inst_3597__$1);
(statearr_3738[(18)] = inst_3614);
return statearr_3738;
})();
var statearr_3739_3815 = state_3719__$1;
(statearr_3739_3815[(2)] = null);
(statearr_3739_3815[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (21))){
var inst_3641 = (state_3719[(2)]);
var state_3719__$1 = state_3719;
var statearr_3743_3816 = state_3719__$1;
(statearr_3743_3816[(2)] = inst_3641);
(statearr_3743_3816[(1)] = (18));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (31))){
var inst_3667 = (state_3719[(11)]);
var inst_3671 = done.call(null,null);
var inst_3672 = cljs.core.async.untap_STAR_.call(null,m,inst_3667);
var state_3719__$1 = (function (){var statearr_3744 = state_3719;
(statearr_3744[(19)] = inst_3671);
return statearr_3744;
})();
var statearr_3745_3817 = state_3719__$1;
(statearr_3745_3817[(2)] = inst_3672);
(statearr_3745_3817[(1)] = (32));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (32))){
var inst_3660 = (state_3719[(9)]);
var inst_3661 = (state_3719[(20)]);
var inst_3662 = (state_3719[(12)]);
var inst_3659 = (state_3719[(21)]);
var inst_3674 = (state_3719[(2)]);
var inst_3675 = (inst_3662 + (1));
var tmp3740 = inst_3660;
var tmp3741 = inst_3661;
var tmp3742 = inst_3659;
var inst_3659__$1 = tmp3742;
var inst_3660__$1 = tmp3740;
var inst_3661__$1 = tmp3741;
var inst_3662__$1 = inst_3675;
var state_3719__$1 = (function (){var statearr_3746 = state_3719;
(statearr_3746[(9)] = inst_3660__$1);
(statearr_3746[(22)] = inst_3674);
(statearr_3746[(20)] = inst_3661__$1);
(statearr_3746[(12)] = inst_3662__$1);
(statearr_3746[(21)] = inst_3659__$1);
return statearr_3746;
})();
var statearr_3747_3818 = state_3719__$1;
(statearr_3747_3818[(2)] = null);
(statearr_3747_3818[(1)] = (25));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (40))){
var inst_3687 = (state_3719[(23)]);
var inst_3691 = done.call(null,null);
var inst_3692 = cljs.core.async.untap_STAR_.call(null,m,inst_3687);
var state_3719__$1 = (function (){var statearr_3748 = state_3719;
(statearr_3748[(24)] = inst_3691);
return statearr_3748;
})();
var statearr_3749_3819 = state_3719__$1;
(statearr_3749_3819[(2)] = inst_3692);
(statearr_3749_3819[(1)] = (41));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (33))){
var inst_3678 = (state_3719[(25)]);
var inst_3680 = cljs.core.chunked_seq_QMARK_.call(null,inst_3678);
var state_3719__$1 = state_3719;
if(inst_3680){
var statearr_3750_3820 = state_3719__$1;
(statearr_3750_3820[(1)] = (36));
} else {
var statearr_3751_3821 = state_3719__$1;
(statearr_3751_3821[(1)] = (37));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (13))){
var inst_3608 = (state_3719[(26)]);
var inst_3611 = cljs.core.async.close_BANG_.call(null,inst_3608);
var state_3719__$1 = state_3719;
var statearr_3752_3822 = state_3719__$1;
(statearr_3752_3822[(2)] = inst_3611);
(statearr_3752_3822[(1)] = (15));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (22))){
var inst_3631 = (state_3719[(8)]);
var inst_3634 = cljs.core.async.close_BANG_.call(null,inst_3631);
var state_3719__$1 = state_3719;
var statearr_3753_3823 = state_3719__$1;
(statearr_3753_3823[(2)] = inst_3634);
(statearr_3753_3823[(1)] = (24));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (36))){
var inst_3678 = (state_3719[(25)]);
var inst_3682 = cljs.core.chunk_first.call(null,inst_3678);
var inst_3683 = cljs.core.chunk_rest.call(null,inst_3678);
var inst_3684 = cljs.core.count.call(null,inst_3682);
var inst_3659 = inst_3683;
var inst_3660 = inst_3682;
var inst_3661 = inst_3684;
var inst_3662 = (0);
var state_3719__$1 = (function (){var statearr_3754 = state_3719;
(statearr_3754[(9)] = inst_3660);
(statearr_3754[(20)] = inst_3661);
(statearr_3754[(12)] = inst_3662);
(statearr_3754[(21)] = inst_3659);
return statearr_3754;
})();
var statearr_3755_3824 = state_3719__$1;
(statearr_3755_3824[(2)] = null);
(statearr_3755_3824[(1)] = (25));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (41))){
var inst_3678 = (state_3719[(25)]);
var inst_3694 = (state_3719[(2)]);
var inst_3695 = cljs.core.next.call(null,inst_3678);
var inst_3659 = inst_3695;
var inst_3660 = null;
var inst_3661 = (0);
var inst_3662 = (0);
var state_3719__$1 = (function (){var statearr_3756 = state_3719;
(statearr_3756[(9)] = inst_3660);
(statearr_3756[(20)] = inst_3661);
(statearr_3756[(27)] = inst_3694);
(statearr_3756[(12)] = inst_3662);
(statearr_3756[(21)] = inst_3659);
return statearr_3756;
})();
var statearr_3757_3825 = state_3719__$1;
(statearr_3757_3825[(2)] = null);
(statearr_3757_3825[(1)] = (25));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (43))){
var state_3719__$1 = state_3719;
var statearr_3758_3826 = state_3719__$1;
(statearr_3758_3826[(2)] = null);
(statearr_3758_3826[(1)] = (44));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (29))){
var inst_3703 = (state_3719[(2)]);
var state_3719__$1 = state_3719;
var statearr_3759_3827 = state_3719__$1;
(statearr_3759_3827[(2)] = inst_3703);
(statearr_3759_3827[(1)] = (26));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (44))){
var inst_3712 = (state_3719[(2)]);
var state_3719__$1 = (function (){var statearr_3760 = state_3719;
(statearr_3760[(28)] = inst_3712);
return statearr_3760;
})();
var statearr_3761_3828 = state_3719__$1;
(statearr_3761_3828[(2)] = null);
(statearr_3761_3828[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (6))){
var inst_3651 = (state_3719[(29)]);
var inst_3650 = cljs.core.deref.call(null,cs);
var inst_3651__$1 = cljs.core.keys.call(null,inst_3650);
var inst_3652 = cljs.core.count.call(null,inst_3651__$1);
var inst_3653 = cljs.core.reset_BANG_.call(null,dctr,inst_3652);
var inst_3658 = cljs.core.seq.call(null,inst_3651__$1);
var inst_3659 = inst_3658;
var inst_3660 = null;
var inst_3661 = (0);
var inst_3662 = (0);
var state_3719__$1 = (function (){var statearr_3762 = state_3719;
(statearr_3762[(9)] = inst_3660);
(statearr_3762[(20)] = inst_3661);
(statearr_3762[(30)] = inst_3653);
(statearr_3762[(29)] = inst_3651__$1);
(statearr_3762[(12)] = inst_3662);
(statearr_3762[(21)] = inst_3659);
return statearr_3762;
})();
var statearr_3763_3829 = state_3719__$1;
(statearr_3763_3829[(2)] = null);
(statearr_3763_3829[(1)] = (25));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (28))){
var inst_3678 = (state_3719[(25)]);
var inst_3659 = (state_3719[(21)]);
var inst_3678__$1 = cljs.core.seq.call(null,inst_3659);
var state_3719__$1 = (function (){var statearr_3764 = state_3719;
(statearr_3764[(25)] = inst_3678__$1);
return statearr_3764;
})();
if(inst_3678__$1){
var statearr_3765_3830 = state_3719__$1;
(statearr_3765_3830[(1)] = (33));
} else {
var statearr_3766_3831 = state_3719__$1;
(statearr_3766_3831[(1)] = (34));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (25))){
var inst_3661 = (state_3719[(20)]);
var inst_3662 = (state_3719[(12)]);
var inst_3664 = (inst_3662 < inst_3661);
var inst_3665 = inst_3664;
var state_3719__$1 = state_3719;
if(cljs.core.truth_(inst_3665)){
var statearr_3767_3832 = state_3719__$1;
(statearr_3767_3832[(1)] = (27));
} else {
var statearr_3768_3833 = state_3719__$1;
(statearr_3768_3833[(1)] = (28));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (34))){
var state_3719__$1 = state_3719;
var statearr_3769_3834 = state_3719__$1;
(statearr_3769_3834[(2)] = null);
(statearr_3769_3834[(1)] = (35));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (17))){
var state_3719__$1 = state_3719;
var statearr_3770_3835 = state_3719__$1;
(statearr_3770_3835[(2)] = null);
(statearr_3770_3835[(1)] = (18));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (3))){
var inst_3717 = (state_3719[(2)]);
var state_3719__$1 = state_3719;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_3719__$1,inst_3717);
} else {
if((state_val_3720 === (12))){
var inst_3646 = (state_3719[(2)]);
var state_3719__$1 = state_3719;
var statearr_3771_3836 = state_3719__$1;
(statearr_3771_3836[(2)] = inst_3646);
(statearr_3771_3836[(1)] = (9));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (2))){
var state_3719__$1 = state_3719;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_3719__$1,(4),ch);
} else {
if((state_val_3720 === (23))){
var state_3719__$1 = state_3719;
var statearr_3772_3837 = state_3719__$1;
(statearr_3772_3837[(2)] = null);
(statearr_3772_3837[(1)] = (24));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (35))){
var inst_3701 = (state_3719[(2)]);
var state_3719__$1 = state_3719;
var statearr_3773_3838 = state_3719__$1;
(statearr_3773_3838[(2)] = inst_3701);
(statearr_3773_3838[(1)] = (29));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (19))){
var inst_3618 = (state_3719[(7)]);
var inst_3622 = cljs.core.chunk_first.call(null,inst_3618);
var inst_3623 = cljs.core.chunk_rest.call(null,inst_3618);
var inst_3624 = cljs.core.count.call(null,inst_3622);
var inst_3596 = inst_3623;
var inst_3597 = inst_3622;
var inst_3598 = inst_3624;
var inst_3599 = (0);
var state_3719__$1 = (function (){var statearr_3774 = state_3719;
(statearr_3774[(14)] = inst_3596);
(statearr_3774[(15)] = inst_3598);
(statearr_3774[(16)] = inst_3599);
(statearr_3774[(17)] = inst_3597);
return statearr_3774;
})();
var statearr_3775_3839 = state_3719__$1;
(statearr_3775_3839[(2)] = null);
(statearr_3775_3839[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (11))){
var inst_3596 = (state_3719[(14)]);
var inst_3618 = (state_3719[(7)]);
var inst_3618__$1 = cljs.core.seq.call(null,inst_3596);
var state_3719__$1 = (function (){var statearr_3776 = state_3719;
(statearr_3776[(7)] = inst_3618__$1);
return statearr_3776;
})();
if(inst_3618__$1){
var statearr_3777_3840 = state_3719__$1;
(statearr_3777_3840[(1)] = (16));
} else {
var statearr_3778_3841 = state_3719__$1;
(statearr_3778_3841[(1)] = (17));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (9))){
var inst_3648 = (state_3719[(2)]);
var state_3719__$1 = state_3719;
var statearr_3779_3842 = state_3719__$1;
(statearr_3779_3842[(2)] = inst_3648);
(statearr_3779_3842[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (5))){
var inst_3594 = cljs.core.deref.call(null,cs);
var inst_3595 = cljs.core.seq.call(null,inst_3594);
var inst_3596 = inst_3595;
var inst_3597 = null;
var inst_3598 = (0);
var inst_3599 = (0);
var state_3719__$1 = (function (){var statearr_3780 = state_3719;
(statearr_3780[(14)] = inst_3596);
(statearr_3780[(15)] = inst_3598);
(statearr_3780[(16)] = inst_3599);
(statearr_3780[(17)] = inst_3597);
return statearr_3780;
})();
var statearr_3781_3843 = state_3719__$1;
(statearr_3781_3843[(2)] = null);
(statearr_3781_3843[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (14))){
var state_3719__$1 = state_3719;
var statearr_3782_3844 = state_3719__$1;
(statearr_3782_3844[(2)] = null);
(statearr_3782_3844[(1)] = (15));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (45))){
var inst_3709 = (state_3719[(2)]);
var state_3719__$1 = state_3719;
var statearr_3783_3845 = state_3719__$1;
(statearr_3783_3845[(2)] = inst_3709);
(statearr_3783_3845[(1)] = (44));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (26))){
var inst_3651 = (state_3719[(29)]);
var inst_3705 = (state_3719[(2)]);
var inst_3706 = cljs.core.seq.call(null,inst_3651);
var state_3719__$1 = (function (){var statearr_3784 = state_3719;
(statearr_3784[(31)] = inst_3705);
return statearr_3784;
})();
if(inst_3706){
var statearr_3785_3846 = state_3719__$1;
(statearr_3785_3846[(1)] = (42));
} else {
var statearr_3786_3847 = state_3719__$1;
(statearr_3786_3847[(1)] = (43));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (16))){
var inst_3618 = (state_3719[(7)]);
var inst_3620 = cljs.core.chunked_seq_QMARK_.call(null,inst_3618);
var state_3719__$1 = state_3719;
if(inst_3620){
var statearr_3787_3848 = state_3719__$1;
(statearr_3787_3848[(1)] = (19));
} else {
var statearr_3788_3849 = state_3719__$1;
(statearr_3788_3849[(1)] = (20));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (38))){
var inst_3698 = (state_3719[(2)]);
var state_3719__$1 = state_3719;
var statearr_3789_3850 = state_3719__$1;
(statearr_3789_3850[(2)] = inst_3698);
(statearr_3789_3850[(1)] = (35));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (30))){
var state_3719__$1 = state_3719;
var statearr_3790_3851 = state_3719__$1;
(statearr_3790_3851[(2)] = null);
(statearr_3790_3851[(1)] = (32));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (10))){
var inst_3599 = (state_3719[(16)]);
var inst_3597 = (state_3719[(17)]);
var inst_3607 = cljs.core._nth.call(null,inst_3597,inst_3599);
var inst_3608 = cljs.core.nth.call(null,inst_3607,(0),null);
var inst_3609 = cljs.core.nth.call(null,inst_3607,(1),null);
var state_3719__$1 = (function (){var statearr_3791 = state_3719;
(statearr_3791[(26)] = inst_3608);
return statearr_3791;
})();
if(cljs.core.truth_(inst_3609)){
var statearr_3792_3852 = state_3719__$1;
(statearr_3792_3852[(1)] = (13));
} else {
var statearr_3793_3853 = state_3719__$1;
(statearr_3793_3853[(1)] = (14));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (18))){
var inst_3644 = (state_3719[(2)]);
var state_3719__$1 = state_3719;
var statearr_3794_3854 = state_3719__$1;
(statearr_3794_3854[(2)] = inst_3644);
(statearr_3794_3854[(1)] = (12));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (42))){
var state_3719__$1 = state_3719;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_3719__$1,(45),dchan);
} else {
if((state_val_3720 === (37))){
var inst_3587 = (state_3719[(10)]);
var inst_3678 = (state_3719[(25)]);
var inst_3687 = (state_3719[(23)]);
var inst_3687__$1 = cljs.core.first.call(null,inst_3678);
var inst_3688 = cljs.core.async.put_BANG_.call(null,inst_3687__$1,inst_3587,done);
var state_3719__$1 = (function (){var statearr_3795 = state_3719;
(statearr_3795[(23)] = inst_3687__$1);
return statearr_3795;
})();
if(cljs.core.truth_(inst_3688)){
var statearr_3796_3855 = state_3719__$1;
(statearr_3796_3855[(1)] = (39));
} else {
var statearr_3797_3856 = state_3719__$1;
(statearr_3797_3856[(1)] = (40));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3720 === (8))){
var inst_3598 = (state_3719[(15)]);
var inst_3599 = (state_3719[(16)]);
var inst_3601 = (inst_3599 < inst_3598);
var inst_3602 = inst_3601;
var state_3719__$1 = state_3719;
if(cljs.core.truth_(inst_3602)){
var statearr_3798_3857 = state_3719__$1;
(statearr_3798_3857[(1)] = (10));
} else {
var statearr_3799_3858 = state_3719__$1;
(statearr_3799_3858[(1)] = (11));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$mult_$_state_machine__2891__auto__ = null;
var cljs$core$async$mult_$_state_machine__2891__auto____0 = (function (){
var statearr_3800 = [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,null,null];
(statearr_3800[(0)] = cljs$core$async$mult_$_state_machine__2891__auto__);
(statearr_3800[(1)] = (1));
return statearr_3800;
});
var cljs$core$async$mult_$_state_machine__2891__auto____1 = (function (state_3719){
while(true){
var ret_value__2892__auto__ = (function (){try{while(true){
var result__2893__auto__ = switch__2890__auto__.call(null,state_3719);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2893__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2893__auto__;
}
break;
}
}catch (e3801){if((e3801 instanceof Object)){
var ex__2894__auto__ = e3801;
var statearr_3802_3859 = state_3719;
(statearr_3802_3859[(5)] = ex__2894__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_3719);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e3801;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2892__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__3860 = state_3719;
state_3719 = G__3860;
continue;
} else {
return ret_value__2892__auto__;
}
break;
}
});
cljs$core$async$mult_$_state_machine__2891__auto__ = function(state_3719){
switch(arguments.length){
case 0:
return cljs$core$async$mult_$_state_machine__2891__auto____0.call(this);
case 1:
return cljs$core$async$mult_$_state_machine__2891__auto____1.call(this,state_3719);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$mult_$_state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$mult_$_state_machine__2891__auto____0;
cljs$core$async$mult_$_state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$mult_$_state_machine__2891__auto____1;
return cljs$core$async$mult_$_state_machine__2891__auto__;
})()
})();
var state__2987__auto__ = (function (){var statearr_3803 = f__2986__auto__.call(null);
(statearr_3803[(6)] = c__2985__auto___3804);
return statearr_3803;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2987__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__3862 = arguments.length;
switch (G__3862) {
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.call(null,mult,ch,true);
}));
(cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3 = (function (mult,ch,close_QMARK_){
cljs.core.async.tap_STAR_.call(null,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_.call(null,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_.call(null,mult);
});
/**
* @interface
*/
cljs.core.async.Mix = function(){};
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 {
var x__4487__auto__ = (((m == null))?null:m);
var m__4488__auto__ = (cljs.core.async.admix_STAR_[goog.typeOf(x__4487__auto__)]);
if((!((m__4488__auto__ == null)))){
return m__4488__auto__.call(null,m,ch);
} else {
var m__4485__auto__ = (cljs.core.async.admix_STAR_["_"]);
if((!((m__4485__auto__ == null)))){
return m__4485__auto__.call(null,m,ch);
} else {
throw cljs.core.missing_protocol.call(null,"Mix.admix*",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 {
var x__4487__auto__ = (((m == null))?null:m);
var m__4488__auto__ = (cljs.core.async.unmix_STAR_[goog.typeOf(x__4487__auto__)]);
if((!((m__4488__auto__ == null)))){
return m__4488__auto__.call(null,m,ch);
} else {
var m__4485__auto__ = (cljs.core.async.unmix_STAR_["_"]);
if((!((m__4485__auto__ == null)))){
return m__4485__auto__.call(null,m,ch);
} else {
throw cljs.core.missing_protocol.call(null,"Mix.unmix*",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 {
var x__4487__auto__ = (((m == null))?null:m);
var m__4488__auto__ = (cljs.core.async.unmix_all_STAR_[goog.typeOf(x__4487__auto__)]);
if((!((m__4488__auto__ == null)))){
return m__4488__auto__.call(null,m);
} else {
var m__4485__auto__ = (cljs.core.async.unmix_all_STAR_["_"]);
if((!((m__4485__auto__ == null)))){
return m__4485__auto__.call(null,m);
} else {
throw cljs.core.missing_protocol.call(null,"Mix.unmix-all*",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 {
var x__4487__auto__ = (((m == null))?null:m);
var m__4488__auto__ = (cljs.core.async.toggle_STAR_[goog.typeOf(x__4487__auto__)]);
if((!((m__4488__auto__ == null)))){
return m__4488__auto__.call(null,m,state_map);
} else {
var m__4485__auto__ = (cljs.core.async.toggle_STAR_["_"]);
if((!((m__4485__auto__ == null)))){
return m__4485__auto__.call(null,m,state_map);
} else {
throw cljs.core.missing_protocol.call(null,"Mix.toggle*",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 {
var x__4487__auto__ = (((m == null))?null:m);
var m__4488__auto__ = (cljs.core.async.solo_mode_STAR_[goog.typeOf(x__4487__auto__)]);
if((!((m__4488__auto__ == null)))){
return m__4488__auto__.call(null,m,mode);
} else {
var m__4485__auto__ = (cljs.core.async.solo_mode_STAR_["_"]);
if((!((m__4485__auto__ == null)))){
return m__4485__auto__.call(null,m,mode);
} else {
throw cljs.core.missing_protocol.call(null,"Mix.solo-mode*",m);
}
}
}
});
cljs.core.async.ioc_alts_BANG_ = (function cljs$core$async$ioc_alts_BANG_(var_args){
var args__4795__auto__ = [];
var len__4789__auto___3874 = arguments.length;
var i__4790__auto___3875 = (0);
while(true){
if((i__4790__auto___3875 < len__4789__auto___3874)){
args__4795__auto__.push((arguments[i__4790__auto___3875]));
var G__3876 = (i__4790__auto___3875 + (1));
i__4790__auto___3875 = G__3876;
continue;
} else {
}
break;
}
var argseq__4796__auto__ = ((((3) < args__4795__auto__.length))?(new cljs.core.IndexedSeq(args__4795__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__4796__auto__);
});
(cljs.core.async.ioc_alts_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (state,cont_block,ports,p__3868){
var map__3869 = p__3868;
var map__3869__$1 = (((((!((map__3869 == null))))?(((((map__3869.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__3869.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__3869):map__3869);
var opts = map__3869__$1;
var statearr_3871_3877 = state;
(statearr_3871_3877[(1)] = cont_block);
var temp__5735__auto__ = cljs.core.async.do_alts.call(null,(function (val){
var statearr_3872_3878 = state;
(statearr_3872_3878[(2)] = val);
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state);
}),ports,opts);
if(cljs.core.truth_(temp__5735__auto__)){
var cb = temp__5735__auto__;
var statearr_3873_3879 = state;
(statearr_3873_3879[(2)] = cljs.core.deref.call(null,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 (seq3864){
var G__3865 = cljs.core.first.call(null,seq3864);
var seq3864__$1 = cljs.core.next.call(null,seq3864);
var G__3866 = cljs.core.first.call(null,seq3864__$1);
var seq3864__$2 = cljs.core.next.call(null,seq3864__$1);
var G__3867 = cljs.core.first.call(null,seq3864__$2);
var seq3864__$3 = cljs.core.next.call(null,seq3864__$2);
var self__4776__auto__ = this;
return self__4776__auto__.cljs$core$IFn$_invoke$arity$variadic(G__3865,G__3866,G__3867,seq3864__$3);
}));
/**
* 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.call(null,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.call(null,solo_modes,new cljs.core.Keyword(null,"solo","solo",-316350075));
var solo_mode = cljs.core.atom.call(null,new cljs.core.Keyword(null,"mute","mute",1151223646));
var change = cljs.core.async.chan.call(null);
var changed = (function (){
return cljs.core.async.put_BANG_.call(null,change,true);
});
var pick = (function (attr,chs){
return cljs.core.reduce_kv.call(null,(function (ret,c,v){
if(cljs.core.truth_(attr.call(null,v))){
return cljs.core.conj.call(null,ret,c);
} else {
return ret;
}
}),cljs.core.PersistentHashSet.EMPTY,chs);
});
var calc_state = (function (){
var chs = cljs.core.deref.call(null,cs);
var mode = cljs.core.deref.call(null,solo_mode);
var solos = pick.call(null,new cljs.core.Keyword(null,"solo","solo",-316350075),chs);
var pauses = pick.call(null,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.call(null,new cljs.core.Keyword(null,"mute","mute",1151223646),chs),new cljs.core.Keyword(null,"reads","reads",-1215067361),cljs.core.conj.call(null,((((cljs.core._EQ_.call(null,mode,new cljs.core.Keyword(null,"pause","pause",-2095325672))) && ((!(cljs.core.empty_QMARK_.call(null,solos))))))?cljs.core.vec.call(null,solos):cljs.core.vec.call(null,cljs.core.remove.call(null,pauses,cljs.core.keys.call(null,chs)))),change)], null);
});
var m = (function (){
if((typeof cljs !== 'undefined') && (typeof cljs.core !== 'undefined') && (typeof cljs.core.async !== 'undefined') && (typeof cljs.core.async.t_cljs$core$async3880 !== 'undefined')){
} else {
/**
* @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$async3880 = (function (change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,meta3881){
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.meta3881 = meta3881;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async3880.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_3882,meta3881__$1){
var self__ = this;
var _3882__$1 = this;
return (new cljs.core.async.t_cljs$core$async3880(self__.change,self__.solo_mode,self__.pick,self__.cs,self__.calc_state,self__.out,self__.changed,self__.solo_modes,self__.attrs,meta3881__$1));
}));
(cljs.core.async.t_cljs$core$async3880.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_3882){
var self__ = this;
var _3882__$1 = this;
return self__.meta3881;
}));
(cljs.core.async.t_cljs$core$async3880.prototype.cljs$core$async$Mux$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async3880.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$async3880.prototype.cljs$core$async$Mix$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async3880.prototype.cljs$core$async$Mix$admix_STAR_$arity$2 = (function (_,ch){
var self__ = this;
var ___$1 = this;
cljs.core.swap_BANG_.call(null,self__.cs,cljs.core.assoc,ch,cljs.core.PersistentArrayMap.EMPTY);
return self__.changed.call(null);
}));
(cljs.core.async.t_cljs$core$async3880.prototype.cljs$core$async$Mix$unmix_STAR_$arity$2 = (function (_,ch){
var self__ = this;
var ___$1 = this;
cljs.core.swap_BANG_.call(null,self__.cs,cljs.core.dissoc,ch);
return self__.changed.call(null);
}));
(cljs.core.async.t_cljs$core$async3880.prototype.cljs$core$async$Mix$unmix_all_STAR_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
cljs.core.reset_BANG_.call(null,self__.cs,cljs.core.PersistentArrayMap.EMPTY);
return self__.changed.call(null);
}));
(cljs.core.async.t_cljs$core$async3880.prototype.cljs$core$async$Mix$toggle_STAR_$arity$2 = (function (_,state_map){
var self__ = this;
var ___$1 = this;
cljs.core.swap_BANG_.call(null,self__.cs,cljs.core.partial.call(null,cljs.core.merge_with,cljs.core.merge),state_map);
return self__.changed.call(null);
}));
(cljs.core.async.t_cljs$core$async3880.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.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_.call(null,self__.solo_mode,mode);
return self__.changed.call(null);
}));
(cljs.core.async.t_cljs$core$async3880.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,"meta3881","meta3881",2086494870,null)], null);
}));
(cljs.core.async.t_cljs$core$async3880.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async3880.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async3880");
(cljs.core.async.t_cljs$core$async3880.cljs$lang$ctorPrWriter = (function (this__4428__auto__,writer__4429__auto__,opt__4430__auto__){
return cljs.core._write.call(null,writer__4429__auto__,"cljs.core.async/t_cljs$core$async3880");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async3880.
*/
cljs.core.async.__GT_t_cljs$core$async3880 = (function cljs$core$async$mix_$___GT_t_cljs$core$async3880(change__$1,solo_mode__$1,pick__$1,cs__$1,calc_state__$1,out__$1,changed__$1,solo_modes__$1,attrs__$1,meta3881){
return (new cljs.core.async.t_cljs$core$async3880(change__$1,solo_mode__$1,pick__$1,cs__$1,calc_state__$1,out__$1,changed__$1,solo_modes__$1,attrs__$1,meta3881));
});
}
return (new cljs.core.async.t_cljs$core$async3880(change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,cljs.core.PersistentArrayMap.EMPTY));
})()
;
var c__2985__auto___4044 = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__2986__auto__ = (function (){var switch__2890__auto__ = (function (state_3984){
var state_val_3985 = (state_3984[(1)]);
if((state_val_3985 === (7))){
var inst_3899 = (state_3984[(2)]);
var state_3984__$1 = state_3984;
var statearr_3986_4045 = state_3984__$1;
(statearr_3986_4045[(2)] = inst_3899);
(statearr_3986_4045[(1)] = (4));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (20))){
var inst_3911 = (state_3984[(7)]);
var state_3984__$1 = state_3984;
var statearr_3987_4046 = state_3984__$1;
(statearr_3987_4046[(2)] = inst_3911);
(statearr_3987_4046[(1)] = (21));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (27))){
var state_3984__$1 = state_3984;
var statearr_3988_4047 = state_3984__$1;
(statearr_3988_4047[(2)] = null);
(statearr_3988_4047[(1)] = (28));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (1))){
var inst_3886 = (state_3984[(8)]);
var inst_3886__$1 = calc_state.call(null);
var inst_3888 = (inst_3886__$1 == null);
var inst_3889 = cljs.core.not.call(null,inst_3888);
var state_3984__$1 = (function (){var statearr_3989 = state_3984;
(statearr_3989[(8)] = inst_3886__$1);
return statearr_3989;
})();
if(inst_3889){
var statearr_3990_4048 = state_3984__$1;
(statearr_3990_4048[(1)] = (2));
} else {
var statearr_3991_4049 = state_3984__$1;
(statearr_3991_4049[(1)] = (3));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (24))){
var inst_3935 = (state_3984[(9)]);
var inst_3958 = (state_3984[(10)]);
var inst_3944 = (state_3984[(11)]);
var inst_3958__$1 = inst_3935.call(null,inst_3944);
var state_3984__$1 = (function (){var statearr_3992 = state_3984;
(statearr_3992[(10)] = inst_3958__$1);
return statearr_3992;
})();
if(cljs.core.truth_(inst_3958__$1)){
var statearr_3993_4050 = state_3984__$1;
(statearr_3993_4050[(1)] = (29));
} else {
var statearr_3994_4051 = state_3984__$1;
(statearr_3994_4051[(1)] = (30));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (4))){
var inst_3902 = (state_3984[(2)]);
var state_3984__$1 = state_3984;
if(cljs.core.truth_(inst_3902)){
var statearr_3995_4052 = state_3984__$1;
(statearr_3995_4052[(1)] = (8));
} else {
var statearr_3996_4053 = state_3984__$1;
(statearr_3996_4053[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (15))){
var inst_3929 = (state_3984[(2)]);
var state_3984__$1 = state_3984;
if(cljs.core.truth_(inst_3929)){
var statearr_3997_4054 = state_3984__$1;
(statearr_3997_4054[(1)] = (19));
} else {
var statearr_3998_4055 = state_3984__$1;
(statearr_3998_4055[(1)] = (20));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (21))){
var inst_3934 = (state_3984[(12)]);
var inst_3934__$1 = (state_3984[(2)]);
var inst_3935 = cljs.core.get.call(null,inst_3934__$1,new cljs.core.Keyword(null,"solos","solos",1441458643));
var inst_3936 = cljs.core.get.call(null,inst_3934__$1,new cljs.core.Keyword(null,"mutes","mutes",1068806309));
var inst_3937 = cljs.core.get.call(null,inst_3934__$1,new cljs.core.Keyword(null,"reads","reads",-1215067361));
var state_3984__$1 = (function (){var statearr_3999 = state_3984;
(statearr_3999[(9)] = inst_3935);
(statearr_3999[(12)] = inst_3934__$1);
(statearr_3999[(13)] = inst_3936);
return statearr_3999;
})();
return cljs.core.async.ioc_alts_BANG_.call(null,state_3984__$1,(22),inst_3937);
} else {
if((state_val_3985 === (31))){
var inst_3966 = (state_3984[(2)]);
var state_3984__$1 = state_3984;
if(cljs.core.truth_(inst_3966)){
var statearr_4000_4056 = state_3984__$1;
(statearr_4000_4056[(1)] = (32));
} else {
var statearr_4001_4057 = state_3984__$1;
(statearr_4001_4057[(1)] = (33));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (32))){
var inst_3943 = (state_3984[(14)]);
var state_3984__$1 = state_3984;
return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_3984__$1,(35),out,inst_3943);
} else {
if((state_val_3985 === (33))){
var inst_3934 = (state_3984[(12)]);
var inst_3911 = inst_3934;
var state_3984__$1 = (function (){var statearr_4002 = state_3984;
(statearr_4002[(7)] = inst_3911);
return statearr_4002;
})();
var statearr_4003_4058 = state_3984__$1;
(statearr_4003_4058[(2)] = null);
(statearr_4003_4058[(1)] = (11));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (13))){
var inst_3911 = (state_3984[(7)]);
var inst_3918 = inst_3911.cljs$lang$protocol_mask$partition0$;
var inst_3919 = (inst_3918 & (64));
var inst_3920 = inst_3911.cljs$core$ISeq$;
var inst_3921 = (cljs.core.PROTOCOL_SENTINEL === inst_3920);
var inst_3922 = ((inst_3919) || (inst_3921));
var state_3984__$1 = state_3984;
if(cljs.core.truth_(inst_3922)){
var statearr_4004_4059 = state_3984__$1;
(statearr_4004_4059[(1)] = (16));
} else {
var statearr_4005_4060 = state_3984__$1;
(statearr_4005_4060[(1)] = (17));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (22))){
var inst_3944 = (state_3984[(11)]);
var inst_3943 = (state_3984[(14)]);
var inst_3942 = (state_3984[(2)]);
var inst_3943__$1 = cljs.core.nth.call(null,inst_3942,(0),null);
var inst_3944__$1 = cljs.core.nth.call(null,inst_3942,(1),null);
var inst_3945 = (inst_3943__$1 == null);
var inst_3946 = cljs.core._EQ_.call(null,inst_3944__$1,change);
var inst_3947 = ((inst_3945) || (inst_3946));
var state_3984__$1 = (function (){var statearr_4006 = state_3984;
(statearr_4006[(11)] = inst_3944__$1);
(statearr_4006[(14)] = inst_3943__$1);
return statearr_4006;
})();
if(cljs.core.truth_(inst_3947)){
var statearr_4007_4061 = state_3984__$1;
(statearr_4007_4061[(1)] = (23));
} else {
var statearr_4008_4062 = state_3984__$1;
(statearr_4008_4062[(1)] = (24));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (36))){
var inst_3934 = (state_3984[(12)]);
var inst_3911 = inst_3934;
var state_3984__$1 = (function (){var statearr_4009 = state_3984;
(statearr_4009[(7)] = inst_3911);
return statearr_4009;
})();
var statearr_4010_4063 = state_3984__$1;
(statearr_4010_4063[(2)] = null);
(statearr_4010_4063[(1)] = (11));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (29))){
var inst_3958 = (state_3984[(10)]);
var state_3984__$1 = state_3984;
var statearr_4011_4064 = state_3984__$1;
(statearr_4011_4064[(2)] = inst_3958);
(statearr_4011_4064[(1)] = (31));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (6))){
var state_3984__$1 = state_3984;
var statearr_4012_4065 = state_3984__$1;
(statearr_4012_4065[(2)] = false);
(statearr_4012_4065[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (28))){
var inst_3954 = (state_3984[(2)]);
var inst_3955 = calc_state.call(null);
var inst_3911 = inst_3955;
var state_3984__$1 = (function (){var statearr_4013 = state_3984;
(statearr_4013[(7)] = inst_3911);
(statearr_4013[(15)] = inst_3954);
return statearr_4013;
})();
var statearr_4014_4066 = state_3984__$1;
(statearr_4014_4066[(2)] = null);
(statearr_4014_4066[(1)] = (11));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (25))){
var inst_3980 = (state_3984[(2)]);
var state_3984__$1 = state_3984;
var statearr_4015_4067 = state_3984__$1;
(statearr_4015_4067[(2)] = inst_3980);
(statearr_4015_4067[(1)] = (12));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (34))){
var inst_3978 = (state_3984[(2)]);
var state_3984__$1 = state_3984;
var statearr_4016_4068 = state_3984__$1;
(statearr_4016_4068[(2)] = inst_3978);
(statearr_4016_4068[(1)] = (25));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (17))){
var state_3984__$1 = state_3984;
var statearr_4017_4069 = state_3984__$1;
(statearr_4017_4069[(2)] = false);
(statearr_4017_4069[(1)] = (18));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (3))){
var state_3984__$1 = state_3984;
var statearr_4018_4070 = state_3984__$1;
(statearr_4018_4070[(2)] = false);
(statearr_4018_4070[(1)] = (4));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (12))){
var inst_3982 = (state_3984[(2)]);
var state_3984__$1 = state_3984;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_3984__$1,inst_3982);
} else {
if((state_val_3985 === (2))){
var inst_3886 = (state_3984[(8)]);
var inst_3891 = inst_3886.cljs$lang$protocol_mask$partition0$;
var inst_3892 = (inst_3891 & (64));
var inst_3893 = inst_3886.cljs$core$ISeq$;
var inst_3894 = (cljs.core.PROTOCOL_SENTINEL === inst_3893);
var inst_3895 = ((inst_3892) || (inst_3894));
var state_3984__$1 = state_3984;
if(cljs.core.truth_(inst_3895)){
var statearr_4019_4071 = state_3984__$1;
(statearr_4019_4071[(1)] = (5));
} else {
var statearr_4020_4072 = state_3984__$1;
(statearr_4020_4072[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (23))){
var inst_3943 = (state_3984[(14)]);
var inst_3949 = (inst_3943 == null);
var state_3984__$1 = state_3984;
if(cljs.core.truth_(inst_3949)){
var statearr_4021_4073 = state_3984__$1;
(statearr_4021_4073[(1)] = (26));
} else {
var statearr_4022_4074 = state_3984__$1;
(statearr_4022_4074[(1)] = (27));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (35))){
var inst_3969 = (state_3984[(2)]);
var state_3984__$1 = state_3984;
if(cljs.core.truth_(inst_3969)){
var statearr_4023_4075 = state_3984__$1;
(statearr_4023_4075[(1)] = (36));
} else {
var statearr_4024_4076 = state_3984__$1;
(statearr_4024_4076[(1)] = (37));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (19))){
var inst_3911 = (state_3984[(7)]);
var inst_3931 = cljs.core.apply.call(null,cljs.core.hash_map,inst_3911);
var state_3984__$1 = state_3984;
var statearr_4025_4077 = state_3984__$1;
(statearr_4025_4077[(2)] = inst_3931);
(statearr_4025_4077[(1)] = (21));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (11))){
var inst_3911 = (state_3984[(7)]);
var inst_3915 = (inst_3911 == null);
var inst_3916 = cljs.core.not.call(null,inst_3915);
var state_3984__$1 = state_3984;
if(inst_3916){
var statearr_4026_4078 = state_3984__$1;
(statearr_4026_4078[(1)] = (13));
} else {
var statearr_4027_4079 = state_3984__$1;
(statearr_4027_4079[(1)] = (14));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (9))){
var inst_3886 = (state_3984[(8)]);
var state_3984__$1 = state_3984;
var statearr_4028_4080 = state_3984__$1;
(statearr_4028_4080[(2)] = inst_3886);
(statearr_4028_4080[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (5))){
var state_3984__$1 = state_3984;
var statearr_4029_4081 = state_3984__$1;
(statearr_4029_4081[(2)] = true);
(statearr_4029_4081[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (14))){
var state_3984__$1 = state_3984;
var statearr_4030_4082 = state_3984__$1;
(statearr_4030_4082[(2)] = false);
(statearr_4030_4082[(1)] = (15));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (26))){
var inst_3944 = (state_3984[(11)]);
var inst_3951 = cljs.core.swap_BANG_.call(null,cs,cljs.core.dissoc,inst_3944);
var state_3984__$1 = state_3984;
var statearr_4031_4083 = state_3984__$1;
(statearr_4031_4083[(2)] = inst_3951);
(statearr_4031_4083[(1)] = (28));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (16))){
var state_3984__$1 = state_3984;
var statearr_4032_4084 = state_3984__$1;
(statearr_4032_4084[(2)] = true);
(statearr_4032_4084[(1)] = (18));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (38))){
var inst_3974 = (state_3984[(2)]);
var state_3984__$1 = state_3984;
var statearr_4033_4085 = state_3984__$1;
(statearr_4033_4085[(2)] = inst_3974);
(statearr_4033_4085[(1)] = (34));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (30))){
var inst_3935 = (state_3984[(9)]);
var inst_3944 = (state_3984[(11)]);
var inst_3936 = (state_3984[(13)]);
var inst_3961 = cljs.core.empty_QMARK_.call(null,inst_3935);
var inst_3962 = inst_3936.call(null,inst_3944);
var inst_3963 = cljs.core.not.call(null,inst_3962);
var inst_3964 = ((inst_3961) && (inst_3963));
var state_3984__$1 = state_3984;
var statearr_4034_4086 = state_3984__$1;
(statearr_4034_4086[(2)] = inst_3964);
(statearr_4034_4086[(1)] = (31));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (10))){
var inst_3886 = (state_3984[(8)]);
var inst_3907 = (state_3984[(2)]);
var inst_3908 = cljs.core.get.call(null,inst_3907,new cljs.core.Keyword(null,"solos","solos",1441458643));
var inst_3909 = cljs.core.get.call(null,inst_3907,new cljs.core.Keyword(null,"mutes","mutes",1068806309));
var inst_3910 = cljs.core.get.call(null,inst_3907,new cljs.core.Keyword(null,"reads","reads",-1215067361));
var inst_3911 = inst_3886;
var state_3984__$1 = (function (){var statearr_4035 = state_3984;
(statearr_4035[(7)] = inst_3911);
(statearr_4035[(16)] = inst_3908);
(statearr_4035[(17)] = inst_3909);
(statearr_4035[(18)] = inst_3910);
return statearr_4035;
})();
var statearr_4036_4087 = state_3984__$1;
(statearr_4036_4087[(2)] = null);
(statearr_4036_4087[(1)] = (11));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (18))){
var inst_3926 = (state_3984[(2)]);
var state_3984__$1 = state_3984;
var statearr_4037_4088 = state_3984__$1;
(statearr_4037_4088[(2)] = inst_3926);
(statearr_4037_4088[(1)] = (15));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (37))){
var state_3984__$1 = state_3984;
var statearr_4038_4089 = state_3984__$1;
(statearr_4038_4089[(2)] = null);
(statearr_4038_4089[(1)] = (38));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_3985 === (8))){
var inst_3886 = (state_3984[(8)]);
var inst_3904 = cljs.core.apply.call(null,cljs.core.hash_map,inst_3886);
var state_3984__$1 = state_3984;
var statearr_4039_4090 = state_3984__$1;
(statearr_4039_4090[(2)] = inst_3904);
(statearr_4039_4090[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$mix_$_state_machine__2891__auto__ = null;
var cljs$core$async$mix_$_state_machine__2891__auto____0 = (function (){
var statearr_4040 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_4040[(0)] = cljs$core$async$mix_$_state_machine__2891__auto__);
(statearr_4040[(1)] = (1));
return statearr_4040;
});
var cljs$core$async$mix_$_state_machine__2891__auto____1 = (function (state_3984){
while(true){
var ret_value__2892__auto__ = (function (){try{while(true){
var result__2893__auto__ = switch__2890__auto__.call(null,state_3984);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2893__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2893__auto__;
}
break;
}
}catch (e4041){if((e4041 instanceof Object)){
var ex__2894__auto__ = e4041;
var statearr_4042_4091 = state_3984;
(statearr_4042_4091[(5)] = ex__2894__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_3984);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e4041;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2892__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__4092 = state_3984;
state_3984 = G__4092;
continue;
} else {
return ret_value__2892__auto__;
}
break;
}
});
cljs$core$async$mix_$_state_machine__2891__auto__ = function(state_3984){
switch(arguments.length){
case 0:
return cljs$core$async$mix_$_state_machine__2891__auto____0.call(this);
case 1:
return cljs$core$async$mix_$_state_machine__2891__auto____1.call(this,state_3984);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$mix_$_state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$mix_$_state_machine__2891__auto____0;
cljs$core$async$mix_$_state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$mix_$_state_machine__2891__auto____1;
return cljs$core$async$mix_$_state_machine__2891__auto__;
})()
})();
var state__2987__auto__ = (function (){var statearr_4043 = f__2986__auto__.call(null);
(statearr_4043[(6)] = c__2985__auto___4044);
return statearr_4043;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2987__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_.call(null,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_.call(null,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_.call(null,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_.call(null,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_.call(null,mix,mode);
});
/**
* @interface
*/
cljs.core.async.Pub = function(){};
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 {
var x__4487__auto__ = (((p == null))?null:p);
var m__4488__auto__ = (cljs.core.async.sub_STAR_[goog.typeOf(x__4487__auto__)]);
if((!((m__4488__auto__ == null)))){
return m__4488__auto__.call(null,p,v,ch,close_QMARK_);
} else {
var m__4485__auto__ = (cljs.core.async.sub_STAR_["_"]);
if((!((m__4485__auto__ == null)))){
return m__4485__auto__.call(null,p,v,ch,close_QMARK_);
} else {
throw cljs.core.missing_protocol.call(null,"Pub.sub*",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 {
var x__4487__auto__ = (((p == null))?null:p);
var m__4488__auto__ = (cljs.core.async.unsub_STAR_[goog.typeOf(x__4487__auto__)]);
if((!((m__4488__auto__ == null)))){
return m__4488__auto__.call(null,p,v,ch);
} else {
var m__4485__auto__ = (cljs.core.async.unsub_STAR_["_"]);
if((!((m__4485__auto__ == null)))){
return m__4485__auto__.call(null,p,v,ch);
} else {
throw cljs.core.missing_protocol.call(null,"Pub.unsub*",p);
}
}
}
});
cljs.core.async.unsub_all_STAR_ = (function cljs$core$async$unsub_all_STAR_(var_args){
var G__4094 = arguments.length;
switch (G__4094) {
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 {
var x__4487__auto__ = (((p == null))?null:p);
var m__4488__auto__ = (cljs.core.async.unsub_all_STAR_[goog.typeOf(x__4487__auto__)]);
if((!((m__4488__auto__ == null)))){
return m__4488__auto__.call(null,p);
} else {
var m__4485__auto__ = (cljs.core.async.unsub_all_STAR_["_"]);
if((!((m__4485__auto__ == null)))){
return m__4485__auto__.call(null,p);
} else {
throw cljs.core.missing_protocol.call(null,"Pub.unsub-all*",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 {
var x__4487__auto__ = (((p == null))?null:p);
var m__4488__auto__ = (cljs.core.async.unsub_all_STAR_[goog.typeOf(x__4487__auto__)]);
if((!((m__4488__auto__ == null)))){
return m__4488__auto__.call(null,p,v);
} else {
var m__4485__auto__ = (cljs.core.async.unsub_all_STAR_["_"]);
if((!((m__4485__auto__ == null)))){
return m__4485__auto__.call(null,p,v);
} else {
throw cljs.core.missing_protocol.call(null,"Pub.unsub-all*",p);
}
}
}
}));
(cljs.core.async.unsub_all_STAR_.cljs$lang$maxFixedArity = 2);
/**
* 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__4098 = arguments.length;
switch (G__4098) {
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.call(null,ch,topic_fn,cljs.core.constantly.call(null,null));
}));
(cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3 = (function (ch,topic_fn,buf_fn){
var mults = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY);
var ensure_mult = (function (topic){
var or__4185__auto__ = cljs.core.get.call(null,cljs.core.deref.call(null,mults),topic);
if(cljs.core.truth_(or__4185__auto__)){
return or__4185__auto__;
} else {
return cljs.core.get.call(null,cljs.core.swap_BANG_.call(null,mults,(function (p1__4096_SHARP_){
if(cljs.core.truth_(p1__4096_SHARP_.call(null,topic))){
return p1__4096_SHARP_;
} else {
return cljs.core.assoc.call(null,p1__4096_SHARP_,topic,cljs.core.async.mult.call(null,cljs.core.async.chan.call(null,buf_fn.call(null,topic))));
}
})),topic);
}
});
var p = (function (){
if((typeof cljs !== 'undefined') && (typeof cljs.core !== 'undefined') && (typeof cljs.core.async !== 'undefined') && (typeof cljs.core.async.t_cljs$core$async4099 !== 'undefined')){
} else {
/**
* @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$async4099 = (function (ch,topic_fn,buf_fn,mults,ensure_mult,meta4100){
this.ch = ch;
this.topic_fn = topic_fn;
this.buf_fn = buf_fn;
this.mults = mults;
this.ensure_mult = ensure_mult;
this.meta4100 = meta4100;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async4099.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_4101,meta4100__$1){
var self__ = this;
var _4101__$1 = this;
return (new cljs.core.async.t_cljs$core$async4099(self__.ch,self__.topic_fn,self__.buf_fn,self__.mults,self__.ensure_mult,meta4100__$1));
}));
(cljs.core.async.t_cljs$core$async4099.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_4101){
var self__ = this;
var _4101__$1 = this;
return self__.meta4100;
}));
(cljs.core.async.t_cljs$core$async4099.prototype.cljs$core$async$Mux$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async4099.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$async4099.prototype.cljs$core$async$Pub$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async4099.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.call(null,topic);
return cljs.core.async.tap.call(null,m,ch__$1,close_QMARK_);
}));
(cljs.core.async.t_cljs$core$async4099.prototype.cljs$core$async$Pub$unsub_STAR_$arity$3 = (function (p,topic,ch__$1){
var self__ = this;
var p__$1 = this;
var temp__5735__auto__ = cljs.core.get.call(null,cljs.core.deref.call(null,self__.mults),topic);
if(cljs.core.truth_(temp__5735__auto__)){
var m = temp__5735__auto__;
return cljs.core.async.untap.call(null,m,ch__$1);
} else {
return null;
}
}));
(cljs.core.async.t_cljs$core$async4099.prototype.cljs$core$async$Pub$unsub_all_STAR_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.reset_BANG_.call(null,self__.mults,cljs.core.PersistentArrayMap.EMPTY);
}));
(cljs.core.async.t_cljs$core$async4099.prototype.cljs$core$async$Pub$unsub_all_STAR_$arity$2 = (function (_,topic){
var self__ = this;
var ___$1 = this;
return cljs.core.swap_BANG_.call(null,self__.mults,cljs.core.dissoc,topic);
}));
(cljs.core.async.t_cljs$core$async4099.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,"meta4100","meta4100",815455088,null)], null);
}));
(cljs.core.async.t_cljs$core$async4099.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async4099.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async4099");
(cljs.core.async.t_cljs$core$async4099.cljs$lang$ctorPrWriter = (function (this__4428__auto__,writer__4429__auto__,opt__4430__auto__){
return cljs.core._write.call(null,writer__4429__auto__,"cljs.core.async/t_cljs$core$async4099");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async4099.
*/
cljs.core.async.__GT_t_cljs$core$async4099 = (function cljs$core$async$__GT_t_cljs$core$async4099(ch__$1,topic_fn__$1,buf_fn__$1,mults__$1,ensure_mult__$1,meta4100){
return (new cljs.core.async.t_cljs$core$async4099(ch__$1,topic_fn__$1,buf_fn__$1,mults__$1,ensure_mult__$1,meta4100));
});
}
return (new cljs.core.async.t_cljs$core$async4099(ch,topic_fn,buf_fn,mults,ensure_mult,cljs.core.PersistentArrayMap.EMPTY));
})()
;
var c__2985__auto___4219 = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__2986__auto__ = (function (){var switch__2890__auto__ = (function (state_4173){
var state_val_4174 = (state_4173[(1)]);
if((state_val_4174 === (7))){
var inst_4169 = (state_4173[(2)]);
var state_4173__$1 = state_4173;
var statearr_4175_4220 = state_4173__$1;
(statearr_4175_4220[(2)] = inst_4169);
(statearr_4175_4220[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4174 === (20))){
var state_4173__$1 = state_4173;
var statearr_4176_4221 = state_4173__$1;
(statearr_4176_4221[(2)] = null);
(statearr_4176_4221[(1)] = (21));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4174 === (1))){
var state_4173__$1 = state_4173;
var statearr_4177_4222 = state_4173__$1;
(statearr_4177_4222[(2)] = null);
(statearr_4177_4222[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4174 === (24))){
var inst_4152 = (state_4173[(7)]);
var inst_4161 = cljs.core.swap_BANG_.call(null,mults,cljs.core.dissoc,inst_4152);
var state_4173__$1 = state_4173;
var statearr_4178_4223 = state_4173__$1;
(statearr_4178_4223[(2)] = inst_4161);
(statearr_4178_4223[(1)] = (25));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4174 === (4))){
var inst_4104 = (state_4173[(8)]);
var inst_4104__$1 = (state_4173[(2)]);
var inst_4105 = (inst_4104__$1 == null);
var state_4173__$1 = (function (){var statearr_4179 = state_4173;
(statearr_4179[(8)] = inst_4104__$1);
return statearr_4179;
})();
if(cljs.core.truth_(inst_4105)){
var statearr_4180_4224 = state_4173__$1;
(statearr_4180_4224[(1)] = (5));
} else {
var statearr_4181_4225 = state_4173__$1;
(statearr_4181_4225[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4174 === (15))){
var inst_4146 = (state_4173[(2)]);
var state_4173__$1 = state_4173;
var statearr_4182_4226 = state_4173__$1;
(statearr_4182_4226[(2)] = inst_4146);
(statearr_4182_4226[(1)] = (12));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4174 === (21))){
var inst_4166 = (state_4173[(2)]);
var state_4173__$1 = (function (){var statearr_4183 = state_4173;
(statearr_4183[(9)] = inst_4166);
return statearr_4183;
})();
var statearr_4184_4227 = state_4173__$1;
(statearr_4184_4227[(2)] = null);
(statearr_4184_4227[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4174 === (13))){
var inst_4128 = (state_4173[(10)]);
var inst_4130 = cljs.core.chunked_seq_QMARK_.call(null,inst_4128);
var state_4173__$1 = state_4173;
if(inst_4130){
var statearr_4185_4228 = state_4173__$1;
(statearr_4185_4228[(1)] = (16));
} else {
var statearr_4186_4229 = state_4173__$1;
(statearr_4186_4229[(1)] = (17));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4174 === (22))){
var inst_4158 = (state_4173[(2)]);
var state_4173__$1 = state_4173;
if(cljs.core.truth_(inst_4158)){
var statearr_4187_4230 = state_4173__$1;
(statearr_4187_4230[(1)] = (23));
} else {
var statearr_4188_4231 = state_4173__$1;
(statearr_4188_4231[(1)] = (24));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4174 === (6))){
var inst_4154 = (state_4173[(11)]);
var inst_4104 = (state_4173[(8)]);
var inst_4152 = (state_4173[(7)]);
var inst_4152__$1 = topic_fn.call(null,inst_4104);
var inst_4153 = cljs.core.deref.call(null,mults);
var inst_4154__$1 = cljs.core.get.call(null,inst_4153,inst_4152__$1);
var state_4173__$1 = (function (){var statearr_4189 = state_4173;
(statearr_4189[(11)] = inst_4154__$1);
(statearr_4189[(7)] = inst_4152__$1);
return statearr_4189;
})();
if(cljs.core.truth_(inst_4154__$1)){
var statearr_4190_4232 = state_4173__$1;
(statearr_4190_4232[(1)] = (19));
} else {
var statearr_4191_4233 = state_4173__$1;
(statearr_4191_4233[(1)] = (20));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4174 === (25))){
var inst_4163 = (state_4173[(2)]);
var state_4173__$1 = state_4173;
var statearr_4192_4234 = state_4173__$1;
(statearr_4192_4234[(2)] = inst_4163);
(statearr_4192_4234[(1)] = (21));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4174 === (17))){
var inst_4128 = (state_4173[(10)]);
var inst_4137 = cljs.core.first.call(null,inst_4128);
var inst_4138 = cljs.core.async.muxch_STAR_.call(null,inst_4137);
var inst_4139 = cljs.core.async.close_BANG_.call(null,inst_4138);
var inst_4140 = cljs.core.next.call(null,inst_4128);
var inst_4114 = inst_4140;
var inst_4115 = null;
var inst_4116 = (0);
var inst_4117 = (0);
var state_4173__$1 = (function (){var statearr_4193 = state_4173;
(statearr_4193[(12)] = inst_4116);
(statearr_4193[(13)] = inst_4115);
(statearr_4193[(14)] = inst_4139);
(statearr_4193[(15)] = inst_4114);
(statearr_4193[(16)] = inst_4117);
return statearr_4193;
})();
var statearr_4194_4235 = state_4173__$1;
(statearr_4194_4235[(2)] = null);
(statearr_4194_4235[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4174 === (3))){
var inst_4171 = (state_4173[(2)]);
var state_4173__$1 = state_4173;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_4173__$1,inst_4171);
} else {
if((state_val_4174 === (12))){
var inst_4148 = (state_4173[(2)]);
var state_4173__$1 = state_4173;
var statearr_4195_4236 = state_4173__$1;
(statearr_4195_4236[(2)] = inst_4148);
(statearr_4195_4236[(1)] = (9));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4174 === (2))){
var state_4173__$1 = state_4173;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_4173__$1,(4),ch);
} else {
if((state_val_4174 === (23))){
var state_4173__$1 = state_4173;
var statearr_4196_4237 = state_4173__$1;
(statearr_4196_4237[(2)] = null);
(statearr_4196_4237[(1)] = (25));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4174 === (19))){
var inst_4154 = (state_4173[(11)]);
var inst_4104 = (state_4173[(8)]);
var inst_4156 = cljs.core.async.muxch_STAR_.call(null,inst_4154);
var state_4173__$1 = state_4173;
return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_4173__$1,(22),inst_4156,inst_4104);
} else {
if((state_val_4174 === (11))){
var inst_4114 = (state_4173[(15)]);
var inst_4128 = (state_4173[(10)]);
var inst_4128__$1 = cljs.core.seq.call(null,inst_4114);
var state_4173__$1 = (function (){var statearr_4197 = state_4173;
(statearr_4197[(10)] = inst_4128__$1);
return statearr_4197;
})();
if(inst_4128__$1){
var statearr_4198_4238 = state_4173__$1;
(statearr_4198_4238[(1)] = (13));
} else {
var statearr_4199_4239 = state_4173__$1;
(statearr_4199_4239[(1)] = (14));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4174 === (9))){
var inst_4150 = (state_4173[(2)]);
var state_4173__$1 = state_4173;
var statearr_4200_4240 = state_4173__$1;
(statearr_4200_4240[(2)] = inst_4150);
(statearr_4200_4240[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4174 === (5))){
var inst_4111 = cljs.core.deref.call(null,mults);
var inst_4112 = cljs.core.vals.call(null,inst_4111);
var inst_4113 = cljs.core.seq.call(null,inst_4112);
var inst_4114 = inst_4113;
var inst_4115 = null;
var inst_4116 = (0);
var inst_4117 = (0);
var state_4173__$1 = (function (){var statearr_4201 = state_4173;
(statearr_4201[(12)] = inst_4116);
(statearr_4201[(13)] = inst_4115);
(statearr_4201[(15)] = inst_4114);
(statearr_4201[(16)] = inst_4117);
return statearr_4201;
})();
var statearr_4202_4241 = state_4173__$1;
(statearr_4202_4241[(2)] = null);
(statearr_4202_4241[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4174 === (14))){
var state_4173__$1 = state_4173;
var statearr_4206_4242 = state_4173__$1;
(statearr_4206_4242[(2)] = null);
(statearr_4206_4242[(1)] = (15));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4174 === (16))){
var inst_4128 = (state_4173[(10)]);
var inst_4132 = cljs.core.chunk_first.call(null,inst_4128);
var inst_4133 = cljs.core.chunk_rest.call(null,inst_4128);
var inst_4134 = cljs.core.count.call(null,inst_4132);
var inst_4114 = inst_4133;
var inst_4115 = inst_4132;
var inst_4116 = inst_4134;
var inst_4117 = (0);
var state_4173__$1 = (function (){var statearr_4207 = state_4173;
(statearr_4207[(12)] = inst_4116);
(statearr_4207[(13)] = inst_4115);
(statearr_4207[(15)] = inst_4114);
(statearr_4207[(16)] = inst_4117);
return statearr_4207;
})();
var statearr_4208_4243 = state_4173__$1;
(statearr_4208_4243[(2)] = null);
(statearr_4208_4243[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4174 === (10))){
var inst_4116 = (state_4173[(12)]);
var inst_4115 = (state_4173[(13)]);
var inst_4114 = (state_4173[(15)]);
var inst_4117 = (state_4173[(16)]);
var inst_4122 = cljs.core._nth.call(null,inst_4115,inst_4117);
var inst_4123 = cljs.core.async.muxch_STAR_.call(null,inst_4122);
var inst_4124 = cljs.core.async.close_BANG_.call(null,inst_4123);
var inst_4125 = (inst_4117 + (1));
var tmp4203 = inst_4116;
var tmp4204 = inst_4115;
var tmp4205 = inst_4114;
var inst_4114__$1 = tmp4205;
var inst_4115__$1 = tmp4204;
var inst_4116__$1 = tmp4203;
var inst_4117__$1 = inst_4125;
var state_4173__$1 = (function (){var statearr_4209 = state_4173;
(statearr_4209[(12)] = inst_4116__$1);
(statearr_4209[(13)] = inst_4115__$1);
(statearr_4209[(15)] = inst_4114__$1);
(statearr_4209[(17)] = inst_4124);
(statearr_4209[(16)] = inst_4117__$1);
return statearr_4209;
})();
var statearr_4210_4244 = state_4173__$1;
(statearr_4210_4244[(2)] = null);
(statearr_4210_4244[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4174 === (18))){
var inst_4143 = (state_4173[(2)]);
var state_4173__$1 = state_4173;
var statearr_4211_4245 = state_4173__$1;
(statearr_4211_4245[(2)] = inst_4143);
(statearr_4211_4245[(1)] = (15));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4174 === (8))){
var inst_4116 = (state_4173[(12)]);
var inst_4117 = (state_4173[(16)]);
var inst_4119 = (inst_4117 < inst_4116);
var inst_4120 = inst_4119;
var state_4173__$1 = state_4173;
if(cljs.core.truth_(inst_4120)){
var statearr_4212_4246 = state_4173__$1;
(statearr_4212_4246[(1)] = (10));
} else {
var statearr_4213_4247 = state_4173__$1;
(statearr_4213_4247[(1)] = (11));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__2891__auto__ = null;
var cljs$core$async$state_machine__2891__auto____0 = (function (){
var statearr_4214 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_4214[(0)] = cljs$core$async$state_machine__2891__auto__);
(statearr_4214[(1)] = (1));
return statearr_4214;
});
var cljs$core$async$state_machine__2891__auto____1 = (function (state_4173){
while(true){
var ret_value__2892__auto__ = (function (){try{while(true){
var result__2893__auto__ = switch__2890__auto__.call(null,state_4173);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2893__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2893__auto__;
}
break;
}
}catch (e4215){if((e4215 instanceof Object)){
var ex__2894__auto__ = e4215;
var statearr_4216_4248 = state_4173;
(statearr_4216_4248[(5)] = ex__2894__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_4173);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e4215;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2892__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__4249 = state_4173;
state_4173 = G__4249;
continue;
} else {
return ret_value__2892__auto__;
}
break;
}
});
cljs$core$async$state_machine__2891__auto__ = function(state_4173){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__2891__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__2891__auto____1.call(this,state_4173);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__2891__auto____0;
cljs$core$async$state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__2891__auto____1;
return cljs$core$async$state_machine__2891__auto__;
})()
})();
var state__2987__auto__ = (function (){var statearr_4217 = f__2986__auto__.call(null);
(statearr_4217[(6)] = c__2985__auto___4219);
return statearr_4217;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2987__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__4251 = arguments.length;
switch (G__4251) {
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.call(null,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_.call(null,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_.call(null,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__4254 = arguments.length;
switch (G__4254) {
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_.call(null,p);
}));
(cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$2 = (function (p,topic){
return cljs.core.async.unsub_all_STAR_.call(null,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__4257 = arguments.length;
switch (G__4257) {
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.call(null,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.call(null,chs);
var out = cljs.core.async.chan.call(null,buf_or_n);
var cnt = cljs.core.count.call(null,chs__$1);
var rets = cljs.core.object_array.call(null,cnt);
var dchan = cljs.core.async.chan.call(null,(1));
var dctr = cljs.core.atom.call(null,null);
var done = cljs.core.mapv.call(null,(function (i){
return (function (ret){
(rets[i] = ret);
if((cljs.core.swap_BANG_.call(null,dctr,cljs.core.dec) === (0))){
return cljs.core.async.put_BANG_.call(null,dchan,rets.slice((0)));
} else {
return null;
}
});
}),cljs.core.range.call(null,cnt));
var c__2985__auto___4324 = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__2986__auto__ = (function (){var switch__2890__auto__ = (function (state_4296){
var state_val_4297 = (state_4296[(1)]);
if((state_val_4297 === (7))){
var state_4296__$1 = state_4296;
var statearr_4298_4325 = state_4296__$1;
(statearr_4298_4325[(2)] = null);
(statearr_4298_4325[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4297 === (1))){
var state_4296__$1 = state_4296;
var statearr_4299_4326 = state_4296__$1;
(statearr_4299_4326[(2)] = null);
(statearr_4299_4326[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4297 === (4))){
var inst_4260 = (state_4296[(7)]);
var inst_4262 = (inst_4260 < cnt);
var state_4296__$1 = state_4296;
if(cljs.core.truth_(inst_4262)){
var statearr_4300_4327 = state_4296__$1;
(statearr_4300_4327[(1)] = (6));
} else {
var statearr_4301_4328 = state_4296__$1;
(statearr_4301_4328[(1)] = (7));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4297 === (15))){
var inst_4292 = (state_4296[(2)]);
var state_4296__$1 = state_4296;
var statearr_4302_4329 = state_4296__$1;
(statearr_4302_4329[(2)] = inst_4292);
(statearr_4302_4329[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4297 === (13))){
var inst_4285 = cljs.core.async.close_BANG_.call(null,out);
var state_4296__$1 = state_4296;
var statearr_4303_4330 = state_4296__$1;
(statearr_4303_4330[(2)] = inst_4285);
(statearr_4303_4330[(1)] = (15));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4297 === (6))){
var state_4296__$1 = state_4296;
var statearr_4304_4331 = state_4296__$1;
(statearr_4304_4331[(2)] = null);
(statearr_4304_4331[(1)] = (11));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4297 === (3))){
var inst_4294 = (state_4296[(2)]);
var state_4296__$1 = state_4296;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_4296__$1,inst_4294);
} else {
if((state_val_4297 === (12))){
var inst_4282 = (state_4296[(8)]);
var inst_4282__$1 = (state_4296[(2)]);
var inst_4283 = cljs.core.some.call(null,cljs.core.nil_QMARK_,inst_4282__$1);
var state_4296__$1 = (function (){var statearr_4305 = state_4296;
(statearr_4305[(8)] = inst_4282__$1);
return statearr_4305;
})();
if(cljs.core.truth_(inst_4283)){
var statearr_4306_4332 = state_4296__$1;
(statearr_4306_4332[(1)] = (13));
} else {
var statearr_4307_4333 = state_4296__$1;
(statearr_4307_4333[(1)] = (14));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4297 === (2))){
var inst_4259 = cljs.core.reset_BANG_.call(null,dctr,cnt);
var inst_4260 = (0);
var state_4296__$1 = (function (){var statearr_4308 = state_4296;
(statearr_4308[(7)] = inst_4260);
(statearr_4308[(9)] = inst_4259);
return statearr_4308;
})();
var statearr_4309_4334 = state_4296__$1;
(statearr_4309_4334[(2)] = null);
(statearr_4309_4334[(1)] = (4));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4297 === (11))){
var inst_4260 = (state_4296[(7)]);
var _ = cljs.core.async.impl.ioc_helpers.add_exception_frame.call(null,state_4296,(10),Object,null,(9));
var inst_4269 = chs__$1.call(null,inst_4260);
var inst_4270 = done.call(null,inst_4260);
var inst_4271 = cljs.core.async.take_BANG_.call(null,inst_4269,inst_4270);
var state_4296__$1 = state_4296;
var statearr_4310_4335 = state_4296__$1;
(statearr_4310_4335[(2)] = inst_4271);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_4296__$1);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4297 === (9))){
var inst_4260 = (state_4296[(7)]);
var inst_4273 = (state_4296[(2)]);
var inst_4274 = (inst_4260 + (1));
var inst_4260__$1 = inst_4274;
var state_4296__$1 = (function (){var statearr_4311 = state_4296;
(statearr_4311[(7)] = inst_4260__$1);
(statearr_4311[(10)] = inst_4273);
return statearr_4311;
})();
var statearr_4312_4336 = state_4296__$1;
(statearr_4312_4336[(2)] = null);
(statearr_4312_4336[(1)] = (4));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4297 === (5))){
var inst_4280 = (state_4296[(2)]);
var state_4296__$1 = (function (){var statearr_4313 = state_4296;
(statearr_4313[(11)] = inst_4280);
return statearr_4313;
})();
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_4296__$1,(12),dchan);
} else {
if((state_val_4297 === (14))){
var inst_4282 = (state_4296[(8)]);
var inst_4287 = cljs.core.apply.call(null,f,inst_4282);
var state_4296__$1 = state_4296;
return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_4296__$1,(16),out,inst_4287);
} else {
if((state_val_4297 === (16))){
var inst_4289 = (state_4296[(2)]);
var state_4296__$1 = (function (){var statearr_4314 = state_4296;
(statearr_4314[(12)] = inst_4289);
return statearr_4314;
})();
var statearr_4315_4337 = state_4296__$1;
(statearr_4315_4337[(2)] = null);
(statearr_4315_4337[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4297 === (10))){
var inst_4264 = (state_4296[(2)]);
var inst_4265 = cljs.core.swap_BANG_.call(null,dctr,cljs.core.dec);
var state_4296__$1 = (function (){var statearr_4316 = state_4296;
(statearr_4316[(13)] = inst_4264);
return statearr_4316;
})();
var statearr_4317_4338 = state_4296__$1;
(statearr_4317_4338[(2)] = inst_4265);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_4296__$1);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4297 === (8))){
var inst_4278 = (state_4296[(2)]);
var state_4296__$1 = state_4296;
var statearr_4318_4339 = state_4296__$1;
(statearr_4318_4339[(2)] = inst_4278);
(statearr_4318_4339[(1)] = (5));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__2891__auto__ = null;
var cljs$core$async$state_machine__2891__auto____0 = (function (){
var statearr_4319 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_4319[(0)] = cljs$core$async$state_machine__2891__auto__);
(statearr_4319[(1)] = (1));
return statearr_4319;
});
var cljs$core$async$state_machine__2891__auto____1 = (function (state_4296){
while(true){
var ret_value__2892__auto__ = (function (){try{while(true){
var result__2893__auto__ = switch__2890__auto__.call(null,state_4296);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2893__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2893__auto__;
}
break;
}
}catch (e4320){if((e4320 instanceof Object)){
var ex__2894__auto__ = e4320;
var statearr_4321_4340 = state_4296;
(statearr_4321_4340[(5)] = ex__2894__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_4296);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e4320;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2892__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__4341 = state_4296;
state_4296 = G__4341;
continue;
} else {
return ret_value__2892__auto__;
}
break;
}
});
cljs$core$async$state_machine__2891__auto__ = function(state_4296){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__2891__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__2891__auto____1.call(this,state_4296);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__2891__auto____0;
cljs$core$async$state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__2891__auto____1;
return cljs$core$async$state_machine__2891__auto__;
})()
})();
var state__2987__auto__ = (function (){var statearr_4322 = f__2986__auto__.call(null);
(statearr_4322[(6)] = c__2985__auto___4324);
return statearr_4322;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2987__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__4344 = arguments.length;
switch (G__4344) {
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.call(null,chs,null);
}));
(cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2 = (function (chs,buf_or_n){
var out = cljs.core.async.chan.call(null,buf_or_n);
var c__2985__auto___4398 = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__2986__auto__ = (function (){var switch__2890__auto__ = (function (state_4376){
var state_val_4377 = (state_4376[(1)]);
if((state_val_4377 === (7))){
var inst_4356 = (state_4376[(7)]);
var inst_4355 = (state_4376[(8)]);
var inst_4355__$1 = (state_4376[(2)]);
var inst_4356__$1 = cljs.core.nth.call(null,inst_4355__$1,(0),null);
var inst_4357 = cljs.core.nth.call(null,inst_4355__$1,(1),null);
var inst_4358 = (inst_4356__$1 == null);
var state_4376__$1 = (function (){var statearr_4378 = state_4376;
(statearr_4378[(9)] = inst_4357);
(statearr_4378[(7)] = inst_4356__$1);
(statearr_4378[(8)] = inst_4355__$1);
return statearr_4378;
})();
if(cljs.core.truth_(inst_4358)){
var statearr_4379_4399 = state_4376__$1;
(statearr_4379_4399[(1)] = (8));
} else {
var statearr_4380_4400 = state_4376__$1;
(statearr_4380_4400[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4377 === (1))){
var inst_4345 = cljs.core.vec.call(null,chs);
var inst_4346 = inst_4345;
var state_4376__$1 = (function (){var statearr_4381 = state_4376;
(statearr_4381[(10)] = inst_4346);
return statearr_4381;
})();
var statearr_4382_4401 = state_4376__$1;
(statearr_4382_4401[(2)] = null);
(statearr_4382_4401[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4377 === (4))){
var inst_4346 = (state_4376[(10)]);
var state_4376__$1 = state_4376;
return cljs.core.async.ioc_alts_BANG_.call(null,state_4376__$1,(7),inst_4346);
} else {
if((state_val_4377 === (6))){
var inst_4372 = (state_4376[(2)]);
var state_4376__$1 = state_4376;
var statearr_4383_4402 = state_4376__$1;
(statearr_4383_4402[(2)] = inst_4372);
(statearr_4383_4402[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4377 === (3))){
var inst_4374 = (state_4376[(2)]);
var state_4376__$1 = state_4376;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_4376__$1,inst_4374);
} else {
if((state_val_4377 === (2))){
var inst_4346 = (state_4376[(10)]);
var inst_4348 = cljs.core.count.call(null,inst_4346);
var inst_4349 = (inst_4348 > (0));
var state_4376__$1 = state_4376;
if(cljs.core.truth_(inst_4349)){
var statearr_4385_4403 = state_4376__$1;
(statearr_4385_4403[(1)] = (4));
} else {
var statearr_4386_4404 = state_4376__$1;
(statearr_4386_4404[(1)] = (5));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4377 === (11))){
var inst_4346 = (state_4376[(10)]);
var inst_4365 = (state_4376[(2)]);
var tmp4384 = inst_4346;
var inst_4346__$1 = tmp4384;
var state_4376__$1 = (function (){var statearr_4387 = state_4376;
(statearr_4387[(11)] = inst_4365);
(statearr_4387[(10)] = inst_4346__$1);
return statearr_4387;
})();
var statearr_4388_4405 = state_4376__$1;
(statearr_4388_4405[(2)] = null);
(statearr_4388_4405[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4377 === (9))){
var inst_4356 = (state_4376[(7)]);
var state_4376__$1 = state_4376;
return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_4376__$1,(11),out,inst_4356);
} else {
if((state_val_4377 === (5))){
var inst_4370 = cljs.core.async.close_BANG_.call(null,out);
var state_4376__$1 = state_4376;
var statearr_4389_4406 = state_4376__$1;
(statearr_4389_4406[(2)] = inst_4370);
(statearr_4389_4406[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4377 === (10))){
var inst_4368 = (state_4376[(2)]);
var state_4376__$1 = state_4376;
var statearr_4390_4407 = state_4376__$1;
(statearr_4390_4407[(2)] = inst_4368);
(statearr_4390_4407[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4377 === (8))){
var inst_4357 = (state_4376[(9)]);
var inst_4346 = (state_4376[(10)]);
var inst_4356 = (state_4376[(7)]);
var inst_4355 = (state_4376[(8)]);
var inst_4360 = (function (){var cs = inst_4346;
var vec__4351 = inst_4355;
var v = inst_4356;
var c = inst_4357;
return (function (p1__4342_SHARP_){
return cljs.core.not_EQ_.call(null,c,p1__4342_SHARP_);
});
})();
var inst_4361 = cljs.core.filterv.call(null,inst_4360,inst_4346);
var inst_4346__$1 = inst_4361;
var state_4376__$1 = (function (){var statearr_4391 = state_4376;
(statearr_4391[(10)] = inst_4346__$1);
return statearr_4391;
})();
var statearr_4392_4408 = state_4376__$1;
(statearr_4392_4408[(2)] = null);
(statearr_4392_4408[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__2891__auto__ = null;
var cljs$core$async$state_machine__2891__auto____0 = (function (){
var statearr_4393 = [null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_4393[(0)] = cljs$core$async$state_machine__2891__auto__);
(statearr_4393[(1)] = (1));
return statearr_4393;
});
var cljs$core$async$state_machine__2891__auto____1 = (function (state_4376){
while(true){
var ret_value__2892__auto__ = (function (){try{while(true){
var result__2893__auto__ = switch__2890__auto__.call(null,state_4376);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2893__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2893__auto__;
}
break;
}
}catch (e4394){if((e4394 instanceof Object)){
var ex__2894__auto__ = e4394;
var statearr_4395_4409 = state_4376;
(statearr_4395_4409[(5)] = ex__2894__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_4376);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e4394;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2892__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__4410 = state_4376;
state_4376 = G__4410;
continue;
} else {
return ret_value__2892__auto__;
}
break;
}
});
cljs$core$async$state_machine__2891__auto__ = function(state_4376){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__2891__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__2891__auto____1.call(this,state_4376);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__2891__auto____0;
cljs$core$async$state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__2891__auto____1;
return cljs$core$async$state_machine__2891__auto__;
})()
})();
var state__2987__auto__ = (function (){var statearr_4396 = f__2986__auto__.call(null);
(statearr_4396[(6)] = c__2985__auto___4398);
return statearr_4396;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2987__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.call(null,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__4412 = arguments.length;
switch (G__4412) {
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.call(null,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.call(null,buf_or_n);
var c__2985__auto___4457 = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__2986__auto__ = (function (){var switch__2890__auto__ = (function (state_4436){
var state_val_4437 = (state_4436[(1)]);
if((state_val_4437 === (7))){
var inst_4418 = (state_4436[(7)]);
var inst_4418__$1 = (state_4436[(2)]);
var inst_4419 = (inst_4418__$1 == null);
var inst_4420 = cljs.core.not.call(null,inst_4419);
var state_4436__$1 = (function (){var statearr_4438 = state_4436;
(statearr_4438[(7)] = inst_4418__$1);
return statearr_4438;
})();
if(inst_4420){
var statearr_4439_4458 = state_4436__$1;
(statearr_4439_4458[(1)] = (8));
} else {
var statearr_4440_4459 = state_4436__$1;
(statearr_4440_4459[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4437 === (1))){
var inst_4413 = (0);
var state_4436__$1 = (function (){var statearr_4441 = state_4436;
(statearr_4441[(8)] = inst_4413);
return statearr_4441;
})();
var statearr_4442_4460 = state_4436__$1;
(statearr_4442_4460[(2)] = null);
(statearr_4442_4460[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4437 === (4))){
var state_4436__$1 = state_4436;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_4436__$1,(7),ch);
} else {
if((state_val_4437 === (6))){
var inst_4431 = (state_4436[(2)]);
var state_4436__$1 = state_4436;
var statearr_4443_4461 = state_4436__$1;
(statearr_4443_4461[(2)] = inst_4431);
(statearr_4443_4461[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4437 === (3))){
var inst_4433 = (state_4436[(2)]);
var inst_4434 = cljs.core.async.close_BANG_.call(null,out);
var state_4436__$1 = (function (){var statearr_4444 = state_4436;
(statearr_4444[(9)] = inst_4433);
return statearr_4444;
})();
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_4436__$1,inst_4434);
} else {
if((state_val_4437 === (2))){
var inst_4413 = (state_4436[(8)]);
var inst_4415 = (inst_4413 < n);
var state_4436__$1 = state_4436;
if(cljs.core.truth_(inst_4415)){
var statearr_4445_4462 = state_4436__$1;
(statearr_4445_4462[(1)] = (4));
} else {
var statearr_4446_4463 = state_4436__$1;
(statearr_4446_4463[(1)] = (5));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4437 === (11))){
var inst_4413 = (state_4436[(8)]);
var inst_4423 = (state_4436[(2)]);
var inst_4424 = (inst_4413 + (1));
var inst_4413__$1 = inst_4424;
var state_4436__$1 = (function (){var statearr_4447 = state_4436;
(statearr_4447[(8)] = inst_4413__$1);
(statearr_4447[(10)] = inst_4423);
return statearr_4447;
})();
var statearr_4448_4464 = state_4436__$1;
(statearr_4448_4464[(2)] = null);
(statearr_4448_4464[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4437 === (9))){
var state_4436__$1 = state_4436;
var statearr_4449_4465 = state_4436__$1;
(statearr_4449_4465[(2)] = null);
(statearr_4449_4465[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4437 === (5))){
var state_4436__$1 = state_4436;
var statearr_4450_4466 = state_4436__$1;
(statearr_4450_4466[(2)] = null);
(statearr_4450_4466[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4437 === (10))){
var inst_4428 = (state_4436[(2)]);
var state_4436__$1 = state_4436;
var statearr_4451_4467 = state_4436__$1;
(statearr_4451_4467[(2)] = inst_4428);
(statearr_4451_4467[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4437 === (8))){
var inst_4418 = (state_4436[(7)]);
var state_4436__$1 = state_4436;
return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_4436__$1,(11),out,inst_4418);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__2891__auto__ = null;
var cljs$core$async$state_machine__2891__auto____0 = (function (){
var statearr_4452 = [null,null,null,null,null,null,null,null,null,null,null];
(statearr_4452[(0)] = cljs$core$async$state_machine__2891__auto__);
(statearr_4452[(1)] = (1));
return statearr_4452;
});
var cljs$core$async$state_machine__2891__auto____1 = (function (state_4436){
while(true){
var ret_value__2892__auto__ = (function (){try{while(true){
var result__2893__auto__ = switch__2890__auto__.call(null,state_4436);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2893__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2893__auto__;
}
break;
}
}catch (e4453){if((e4453 instanceof Object)){
var ex__2894__auto__ = e4453;
var statearr_4454_4468 = state_4436;
(statearr_4454_4468[(5)] = ex__2894__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_4436);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e4453;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2892__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__4469 = state_4436;
state_4436 = G__4469;
continue;
} else {
return ret_value__2892__auto__;
}
break;
}
});
cljs$core$async$state_machine__2891__auto__ = function(state_4436){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__2891__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__2891__auto____1.call(this,state_4436);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__2891__auto____0;
cljs$core$async$state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__2891__auto____1;
return cljs$core$async$state_machine__2891__auto__;
})()
})();
var state__2987__auto__ = (function (){var statearr_4455 = f__2986__auto__.call(null);
(statearr_4455[(6)] = c__2985__auto___4457);
return statearr_4455;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2987__auto__);
}));
return out;
}));
(cljs.core.async.take.cljs$lang$maxFixedArity = 3);
/**
* Deprecated - this function will be removed. Use transducer instead
*/
cljs.core.async.map_LT_ = (function cljs$core$async$map_LT_(f,ch){
if((typeof cljs !== 'undefined') && (typeof cljs.core !== 'undefined') && (typeof cljs.core.async !== 'undefined') && (typeof cljs.core.async.t_cljs$core$async4471 !== 'undefined')){
} else {
/**
* @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$async4471 = (function (f,ch,meta4472){
this.f = f;
this.ch = ch;
this.meta4472 = meta4472;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async4471.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_4473,meta4472__$1){
var self__ = this;
var _4473__$1 = this;
return (new cljs.core.async.t_cljs$core$async4471(self__.f,self__.ch,meta4472__$1));
}));
(cljs.core.async.t_cljs$core$async4471.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_4473){
var self__ = this;
var _4473__$1 = this;
return self__.meta4472;
}));
(cljs.core.async.t_cljs$core$async4471.prototype.cljs$core$async$impl$protocols$Channel$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async4471.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_.call(null,self__.ch);
}));
(cljs.core.async.t_cljs$core$async4471.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_.call(null,self__.ch);
}));
(cljs.core.async.t_cljs$core$async4471.prototype.cljs$core$async$impl$protocols$ReadPort$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async4471.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_.call(null,self__.ch,(function (){
if((typeof cljs !== 'undefined') && (typeof cljs.core !== 'undefined') && (typeof cljs.core.async !== 'undefined') && (typeof cljs.core.async.t_cljs$core$async4474 !== 'undefined')){
} else {
/**
* @constructor
* @implements {cljs.core.async.impl.protocols.Handler}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async4474 = (function (f,ch,meta4472,_,fn1,meta4475){
this.f = f;
this.ch = ch;
this.meta4472 = meta4472;
this._ = _;
this.fn1 = fn1;
this.meta4475 = meta4475;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async4474.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_4476,meta4475__$1){
var self__ = this;
var _4476__$1 = this;
return (new cljs.core.async.t_cljs$core$async4474(self__.f,self__.ch,self__.meta4472,self__._,self__.fn1,meta4475__$1));
}));
(cljs.core.async.t_cljs$core$async4474.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_4476){
var self__ = this;
var _4476__$1 = this;
return self__.meta4475;
}));
(cljs.core.async.t_cljs$core$async4474.prototype.cljs$core$async$impl$protocols$Handler$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async4474.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_.call(null,self__.fn1);
}));
(cljs.core.async.t_cljs$core$async4474.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$async4474.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.call(null,self__.fn1);
return (function (p1__4470_SHARP_){
return f1.call(null,(((p1__4470_SHARP_ == null))?null:self__.f.call(null,p1__4470_SHARP_)));
});
}));
(cljs.core.async.t_cljs$core$async4474.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,"meta4472","meta4472",-1018233276,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$async4471","cljs.core.async/t_cljs$core$async4471",2122038949,null)], null)),new cljs.core.Symbol(null,"fn1","fn1",895834444,null),new cljs.core.Symbol(null,"meta4475","meta4475",1676539066,null)], null);
}));
(cljs.core.async.t_cljs$core$async4474.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async4474.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async4474");
(cljs.core.async.t_cljs$core$async4474.cljs$lang$ctorPrWriter = (function (this__4428__auto__,writer__4429__auto__,opt__4430__auto__){
return cljs.core._write.call(null,writer__4429__auto__,"cljs.core.async/t_cljs$core$async4474");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async4474.
*/
cljs.core.async.__GT_t_cljs$core$async4474 = (function cljs$core$async$map_LT__$___GT_t_cljs$core$async4474(f__$1,ch__$1,meta4472__$1,___$2,fn1__$1,meta4475){
return (new cljs.core.async.t_cljs$core$async4474(f__$1,ch__$1,meta4472__$1,___$2,fn1__$1,meta4475));
});
}
return (new cljs.core.async.t_cljs$core$async4474(self__.f,self__.ch,self__.meta4472,___$1,fn1,cljs.core.PersistentArrayMap.EMPTY));
})()
);
if(cljs.core.truth_((function (){var and__4174__auto__ = ret;
if(cljs.core.truth_(and__4174__auto__)){
return (!((cljs.core.deref.call(null,ret) == null)));
} else {
return and__4174__auto__;
}
})())){
return cljs.core.async.impl.channels.box.call(null,self__.f.call(null,cljs.core.deref.call(null,ret)));
} else {
return ret;
}
}));
(cljs.core.async.t_cljs$core$async4471.prototype.cljs$core$async$impl$protocols$WritePort$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async4471.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_.call(null,self__.ch,val,fn1);
}));
(cljs.core.async.t_cljs$core$async4471.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,"meta4472","meta4472",-1018233276,null)], null);
}));
(cljs.core.async.t_cljs$core$async4471.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async4471.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async4471");
(cljs.core.async.t_cljs$core$async4471.cljs$lang$ctorPrWriter = (function (this__4428__auto__,writer__4429__auto__,opt__4430__auto__){
return cljs.core._write.call(null,writer__4429__auto__,"cljs.core.async/t_cljs$core$async4471");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async4471.
*/
cljs.core.async.__GT_t_cljs$core$async4471 = (function cljs$core$async$map_LT__$___GT_t_cljs$core$async4471(f__$1,ch__$1,meta4472){
return (new cljs.core.async.t_cljs$core$async4471(f__$1,ch__$1,meta4472));
});
}
return (new cljs.core.async.t_cljs$core$async4471(f,ch,cljs.core.PersistentArrayMap.EMPTY));
});
/**
* Deprecated - this function will be removed. Use transducer instead
*/
cljs.core.async.map_GT_ = (function cljs$core$async$map_GT_(f,ch){
if((typeof cljs !== 'undefined') && (typeof cljs.core !== 'undefined') && (typeof cljs.core.async !== 'undefined') && (typeof cljs.core.async.t_cljs$core$async4477 !== 'undefined')){
} else {
/**
* @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$async4477 = (function (f,ch,meta4478){
this.f = f;
this.ch = ch;
this.meta4478 = meta4478;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async4477.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_4479,meta4478__$1){
var self__ = this;
var _4479__$1 = this;
return (new cljs.core.async.t_cljs$core$async4477(self__.f,self__.ch,meta4478__$1));
}));
(cljs.core.async.t_cljs$core$async4477.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_4479){
var self__ = this;
var _4479__$1 = this;
return self__.meta4478;
}));
(cljs.core.async.t_cljs$core$async4477.prototype.cljs$core$async$impl$protocols$Channel$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async4477.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_.call(null,self__.ch);
}));
(cljs.core.async.t_cljs$core$async4477.prototype.cljs$core$async$impl$protocols$ReadPort$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async4477.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_.call(null,self__.ch,fn1);
}));
(cljs.core.async.t_cljs$core$async4477.prototype.cljs$core$async$impl$protocols$WritePort$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async4477.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_.call(null,self__.ch,self__.f.call(null,val),fn1);
}));
(cljs.core.async.t_cljs$core$async4477.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,"meta4478","meta4478",-1445529421,null)], null);
}));
(cljs.core.async.t_cljs$core$async4477.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async4477.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async4477");
(cljs.core.async.t_cljs$core$async4477.cljs$lang$ctorPrWriter = (function (this__4428__auto__,writer__4429__auto__,opt__4430__auto__){
return cljs.core._write.call(null,writer__4429__auto__,"cljs.core.async/t_cljs$core$async4477");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async4477.
*/
cljs.core.async.__GT_t_cljs$core$async4477 = (function cljs$core$async$map_GT__$___GT_t_cljs$core$async4477(f__$1,ch__$1,meta4478){
return (new cljs.core.async.t_cljs$core$async4477(f__$1,ch__$1,meta4478));
});
}
return (new cljs.core.async.t_cljs$core$async4477(f,ch,cljs.core.PersistentArrayMap.EMPTY));
});
/**
* Deprecated - this function will be removed. Use transducer instead
*/
cljs.core.async.filter_GT_ = (function cljs$core$async$filter_GT_(p,ch){
if((typeof cljs !== 'undefined') && (typeof cljs.core !== 'undefined') && (typeof cljs.core.async !== 'undefined') && (typeof cljs.core.async.t_cljs$core$async4480 !== 'undefined')){
} else {
/**
* @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$async4480 = (function (p,ch,meta4481){
this.p = p;
this.ch = ch;
this.meta4481 = meta4481;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async4480.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_4482,meta4481__$1){
var self__ = this;
var _4482__$1 = this;
return (new cljs.core.async.t_cljs$core$async4480(self__.p,self__.ch,meta4481__$1));
}));
(cljs.core.async.t_cljs$core$async4480.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_4482){
var self__ = this;
var _4482__$1 = this;
return self__.meta4481;
}));
(cljs.core.async.t_cljs$core$async4480.prototype.cljs$core$async$impl$protocols$Channel$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async4480.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_.call(null,self__.ch);
}));
(cljs.core.async.t_cljs$core$async4480.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_.call(null,self__.ch);
}));
(cljs.core.async.t_cljs$core$async4480.prototype.cljs$core$async$impl$protocols$ReadPort$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async4480.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_.call(null,self__.ch,fn1);
}));
(cljs.core.async.t_cljs$core$async4480.prototype.cljs$core$async$impl$protocols$WritePort$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async4480.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.call(null,val))){
return cljs.core.async.impl.protocols.put_BANG_.call(null,self__.ch,val,fn1);
} else {
return cljs.core.async.impl.channels.box.call(null,cljs.core.not.call(null,cljs.core.async.impl.protocols.closed_QMARK_.call(null,self__.ch)));
}
}));
(cljs.core.async.t_cljs$core$async4480.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,"meta4481","meta4481",-1956240194,null)], null);
}));
(cljs.core.async.t_cljs$core$async4480.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async4480.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async4480");
(cljs.core.async.t_cljs$core$async4480.cljs$lang$ctorPrWriter = (function (this__4428__auto__,writer__4429__auto__,opt__4430__auto__){
return cljs.core._write.call(null,writer__4429__auto__,"cljs.core.async/t_cljs$core$async4480");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async4480.
*/
cljs.core.async.__GT_t_cljs$core$async4480 = (function cljs$core$async$filter_GT__$___GT_t_cljs$core$async4480(p__$1,ch__$1,meta4481){
return (new cljs.core.async.t_cljs$core$async4480(p__$1,ch__$1,meta4481));
});
}
return (new cljs.core.async.t_cljs$core$async4480(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_.call(null,cljs.core.complement.call(null,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__4484 = arguments.length;
switch (G__4484) {
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_.call(null,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.call(null,buf_or_n);
var c__2985__auto___4524 = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__2986__auto__ = (function (){var switch__2890__auto__ = (function (state_4505){
var state_val_4506 = (state_4505[(1)]);
if((state_val_4506 === (7))){
var inst_4501 = (state_4505[(2)]);
var state_4505__$1 = state_4505;
var statearr_4507_4525 = state_4505__$1;
(statearr_4507_4525[(2)] = inst_4501);
(statearr_4507_4525[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4506 === (1))){
var state_4505__$1 = state_4505;
var statearr_4508_4526 = state_4505__$1;
(statearr_4508_4526[(2)] = null);
(statearr_4508_4526[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4506 === (4))){
var inst_4487 = (state_4505[(7)]);
var inst_4487__$1 = (state_4505[(2)]);
var inst_4488 = (inst_4487__$1 == null);
var state_4505__$1 = (function (){var statearr_4509 = state_4505;
(statearr_4509[(7)] = inst_4487__$1);
return statearr_4509;
})();
if(cljs.core.truth_(inst_4488)){
var statearr_4510_4527 = state_4505__$1;
(statearr_4510_4527[(1)] = (5));
} else {
var statearr_4511_4528 = state_4505__$1;
(statearr_4511_4528[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4506 === (6))){
var inst_4487 = (state_4505[(7)]);
var inst_4492 = p.call(null,inst_4487);
var state_4505__$1 = state_4505;
if(cljs.core.truth_(inst_4492)){
var statearr_4512_4529 = state_4505__$1;
(statearr_4512_4529[(1)] = (8));
} else {
var statearr_4513_4530 = state_4505__$1;
(statearr_4513_4530[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4506 === (3))){
var inst_4503 = (state_4505[(2)]);
var state_4505__$1 = state_4505;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_4505__$1,inst_4503);
} else {
if((state_val_4506 === (2))){
var state_4505__$1 = state_4505;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_4505__$1,(4),ch);
} else {
if((state_val_4506 === (11))){
var inst_4495 = (state_4505[(2)]);
var state_4505__$1 = state_4505;
var statearr_4514_4531 = state_4505__$1;
(statearr_4514_4531[(2)] = inst_4495);
(statearr_4514_4531[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4506 === (9))){
var state_4505__$1 = state_4505;
var statearr_4515_4532 = state_4505__$1;
(statearr_4515_4532[(2)] = null);
(statearr_4515_4532[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4506 === (5))){
var inst_4490 = cljs.core.async.close_BANG_.call(null,out);
var state_4505__$1 = state_4505;
var statearr_4516_4533 = state_4505__$1;
(statearr_4516_4533[(2)] = inst_4490);
(statearr_4516_4533[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4506 === (10))){
var inst_4498 = (state_4505[(2)]);
var state_4505__$1 = (function (){var statearr_4517 = state_4505;
(statearr_4517[(8)] = inst_4498);
return statearr_4517;
})();
var statearr_4518_4534 = state_4505__$1;
(statearr_4518_4534[(2)] = null);
(statearr_4518_4534[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4506 === (8))){
var inst_4487 = (state_4505[(7)]);
var state_4505__$1 = state_4505;
return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_4505__$1,(11),out,inst_4487);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__2891__auto__ = null;
var cljs$core$async$state_machine__2891__auto____0 = (function (){
var statearr_4519 = [null,null,null,null,null,null,null,null,null];
(statearr_4519[(0)] = cljs$core$async$state_machine__2891__auto__);
(statearr_4519[(1)] = (1));
return statearr_4519;
});
var cljs$core$async$state_machine__2891__auto____1 = (function (state_4505){
while(true){
var ret_value__2892__auto__ = (function (){try{while(true){
var result__2893__auto__ = switch__2890__auto__.call(null,state_4505);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2893__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2893__auto__;
}
break;
}
}catch (e4520){if((e4520 instanceof Object)){
var ex__2894__auto__ = e4520;
var statearr_4521_4535 = state_4505;
(statearr_4521_4535[(5)] = ex__2894__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_4505);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e4520;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2892__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__4536 = state_4505;
state_4505 = G__4536;
continue;
} else {
return ret_value__2892__auto__;
}
break;
}
});
cljs$core$async$state_machine__2891__auto__ = function(state_4505){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__2891__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__2891__auto____1.call(this,state_4505);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__2891__auto____0;
cljs$core$async$state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__2891__auto____1;
return cljs$core$async$state_machine__2891__auto__;
})()
})();
var state__2987__auto__ = (function (){var statearr_4522 = f__2986__auto__.call(null);
(statearr_4522[(6)] = c__2985__auto___4524);
return statearr_4522;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2987__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__4538 = arguments.length;
switch (G__4538) {
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_.call(null,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_.call(null,cljs.core.complement.call(null,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__2985__auto__ = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__2986__auto__ = (function (){var switch__2890__auto__ = (function (state_4601){
var state_val_4602 = (state_4601[(1)]);
if((state_val_4602 === (7))){
var inst_4597 = (state_4601[(2)]);
var state_4601__$1 = state_4601;
var statearr_4603_4641 = state_4601__$1;
(statearr_4603_4641[(2)] = inst_4597);
(statearr_4603_4641[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4602 === (20))){
var inst_4567 = (state_4601[(7)]);
var inst_4578 = (state_4601[(2)]);
var inst_4579 = cljs.core.next.call(null,inst_4567);
var inst_4553 = inst_4579;
var inst_4554 = null;
var inst_4555 = (0);
var inst_4556 = (0);
var state_4601__$1 = (function (){var statearr_4604 = state_4601;
(statearr_4604[(8)] = inst_4554);
(statearr_4604[(9)] = inst_4553);
(statearr_4604[(10)] = inst_4578);
(statearr_4604[(11)] = inst_4555);
(statearr_4604[(12)] = inst_4556);
return statearr_4604;
})();
var statearr_4605_4642 = state_4601__$1;
(statearr_4605_4642[(2)] = null);
(statearr_4605_4642[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4602 === (1))){
var state_4601__$1 = state_4601;
var statearr_4606_4643 = state_4601__$1;
(statearr_4606_4643[(2)] = null);
(statearr_4606_4643[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4602 === (4))){
var inst_4542 = (state_4601[(13)]);
var inst_4542__$1 = (state_4601[(2)]);
var inst_4543 = (inst_4542__$1 == null);
var state_4601__$1 = (function (){var statearr_4607 = state_4601;
(statearr_4607[(13)] = inst_4542__$1);
return statearr_4607;
})();
if(cljs.core.truth_(inst_4543)){
var statearr_4608_4644 = state_4601__$1;
(statearr_4608_4644[(1)] = (5));
} else {
var statearr_4609_4645 = state_4601__$1;
(statearr_4609_4645[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4602 === (15))){
var state_4601__$1 = state_4601;
var statearr_4613_4646 = state_4601__$1;
(statearr_4613_4646[(2)] = null);
(statearr_4613_4646[(1)] = (16));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4602 === (21))){
var state_4601__$1 = state_4601;
var statearr_4614_4647 = state_4601__$1;
(statearr_4614_4647[(2)] = null);
(statearr_4614_4647[(1)] = (23));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4602 === (13))){
var inst_4554 = (state_4601[(8)]);
var inst_4553 = (state_4601[(9)]);
var inst_4555 = (state_4601[(11)]);
var inst_4556 = (state_4601[(12)]);
var inst_4563 = (state_4601[(2)]);
var inst_4564 = (inst_4556 + (1));
var tmp4610 = inst_4554;
var tmp4611 = inst_4553;
var tmp4612 = inst_4555;
var inst_4553__$1 = tmp4611;
var inst_4554__$1 = tmp4610;
var inst_4555__$1 = tmp4612;
var inst_4556__$1 = inst_4564;
var state_4601__$1 = (function (){var statearr_4615 = state_4601;
(statearr_4615[(8)] = inst_4554__$1);
(statearr_4615[(9)] = inst_4553__$1);
(statearr_4615[(11)] = inst_4555__$1);
(statearr_4615[(14)] = inst_4563);
(statearr_4615[(12)] = inst_4556__$1);
return statearr_4615;
})();
var statearr_4616_4648 = state_4601__$1;
(statearr_4616_4648[(2)] = null);
(statearr_4616_4648[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4602 === (22))){
var state_4601__$1 = state_4601;
var statearr_4617_4649 = state_4601__$1;
(statearr_4617_4649[(2)] = null);
(statearr_4617_4649[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4602 === (6))){
var inst_4542 = (state_4601[(13)]);
var inst_4551 = f.call(null,inst_4542);
var inst_4552 = cljs.core.seq.call(null,inst_4551);
var inst_4553 = inst_4552;
var inst_4554 = null;
var inst_4555 = (0);
var inst_4556 = (0);
var state_4601__$1 = (function (){var statearr_4618 = state_4601;
(statearr_4618[(8)] = inst_4554);
(statearr_4618[(9)] = inst_4553);
(statearr_4618[(11)] = inst_4555);
(statearr_4618[(12)] = inst_4556);
return statearr_4618;
})();
var statearr_4619_4650 = state_4601__$1;
(statearr_4619_4650[(2)] = null);
(statearr_4619_4650[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4602 === (17))){
var inst_4567 = (state_4601[(7)]);
var inst_4571 = cljs.core.chunk_first.call(null,inst_4567);
var inst_4572 = cljs.core.chunk_rest.call(null,inst_4567);
var inst_4573 = cljs.core.count.call(null,inst_4571);
var inst_4553 = inst_4572;
var inst_4554 = inst_4571;
var inst_4555 = inst_4573;
var inst_4556 = (0);
var state_4601__$1 = (function (){var statearr_4620 = state_4601;
(statearr_4620[(8)] = inst_4554);
(statearr_4620[(9)] = inst_4553);
(statearr_4620[(11)] = inst_4555);
(statearr_4620[(12)] = inst_4556);
return statearr_4620;
})();
var statearr_4621_4651 = state_4601__$1;
(statearr_4621_4651[(2)] = null);
(statearr_4621_4651[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4602 === (3))){
var inst_4599 = (state_4601[(2)]);
var state_4601__$1 = state_4601;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_4601__$1,inst_4599);
} else {
if((state_val_4602 === (12))){
var inst_4587 = (state_4601[(2)]);
var state_4601__$1 = state_4601;
var statearr_4622_4652 = state_4601__$1;
(statearr_4622_4652[(2)] = inst_4587);
(statearr_4622_4652[(1)] = (9));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4602 === (2))){
var state_4601__$1 = state_4601;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_4601__$1,(4),in$);
} else {
if((state_val_4602 === (23))){
var inst_4595 = (state_4601[(2)]);
var state_4601__$1 = state_4601;
var statearr_4623_4653 = state_4601__$1;
(statearr_4623_4653[(2)] = inst_4595);
(statearr_4623_4653[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4602 === (19))){
var inst_4582 = (state_4601[(2)]);
var state_4601__$1 = state_4601;
var statearr_4624_4654 = state_4601__$1;
(statearr_4624_4654[(2)] = inst_4582);
(statearr_4624_4654[(1)] = (16));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4602 === (11))){
var inst_4567 = (state_4601[(7)]);
var inst_4553 = (state_4601[(9)]);
var inst_4567__$1 = cljs.core.seq.call(null,inst_4553);
var state_4601__$1 = (function (){var statearr_4625 = state_4601;
(statearr_4625[(7)] = inst_4567__$1);
return statearr_4625;
})();
if(inst_4567__$1){
var statearr_4626_4655 = state_4601__$1;
(statearr_4626_4655[(1)] = (14));
} else {
var statearr_4627_4656 = state_4601__$1;
(statearr_4627_4656[(1)] = (15));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4602 === (9))){
var inst_4589 = (state_4601[(2)]);
var inst_4590 = cljs.core.async.impl.protocols.closed_QMARK_.call(null,out);
var state_4601__$1 = (function (){var statearr_4628 = state_4601;
(statearr_4628[(15)] = inst_4589);
return statearr_4628;
})();
if(cljs.core.truth_(inst_4590)){
var statearr_4629_4657 = state_4601__$1;
(statearr_4629_4657[(1)] = (21));
} else {
var statearr_4630_4658 = state_4601__$1;
(statearr_4630_4658[(1)] = (22));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4602 === (5))){
var inst_4545 = cljs.core.async.close_BANG_.call(null,out);
var state_4601__$1 = state_4601;
var statearr_4631_4659 = state_4601__$1;
(statearr_4631_4659[(2)] = inst_4545);
(statearr_4631_4659[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4602 === (14))){
var inst_4567 = (state_4601[(7)]);
var inst_4569 = cljs.core.chunked_seq_QMARK_.call(null,inst_4567);
var state_4601__$1 = state_4601;
if(inst_4569){
var statearr_4632_4660 = state_4601__$1;
(statearr_4632_4660[(1)] = (17));
} else {
var statearr_4633_4661 = state_4601__$1;
(statearr_4633_4661[(1)] = (18));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4602 === (16))){
var inst_4585 = (state_4601[(2)]);
var state_4601__$1 = state_4601;
var statearr_4634_4662 = state_4601__$1;
(statearr_4634_4662[(2)] = inst_4585);
(statearr_4634_4662[(1)] = (12));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4602 === (10))){
var inst_4554 = (state_4601[(8)]);
var inst_4556 = (state_4601[(12)]);
var inst_4561 = cljs.core._nth.call(null,inst_4554,inst_4556);
var state_4601__$1 = state_4601;
return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_4601__$1,(13),out,inst_4561);
} else {
if((state_val_4602 === (18))){
var inst_4567 = (state_4601[(7)]);
var inst_4576 = cljs.core.first.call(null,inst_4567);
var state_4601__$1 = state_4601;
return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_4601__$1,(20),out,inst_4576);
} else {
if((state_val_4602 === (8))){
var inst_4555 = (state_4601[(11)]);
var inst_4556 = (state_4601[(12)]);
var inst_4558 = (inst_4556 < inst_4555);
var inst_4559 = inst_4558;
var state_4601__$1 = state_4601;
if(cljs.core.truth_(inst_4559)){
var statearr_4635_4663 = state_4601__$1;
(statearr_4635_4663[(1)] = (10));
} else {
var statearr_4636_4664 = state_4601__$1;
(statearr_4636_4664[(1)] = (11));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$mapcat_STAR__$_state_machine__2891__auto__ = null;
var cljs$core$async$mapcat_STAR__$_state_machine__2891__auto____0 = (function (){
var statearr_4637 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_4637[(0)] = cljs$core$async$mapcat_STAR__$_state_machine__2891__auto__);
(statearr_4637[(1)] = (1));
return statearr_4637;
});
var cljs$core$async$mapcat_STAR__$_state_machine__2891__auto____1 = (function (state_4601){
while(true){
var ret_value__2892__auto__ = (function (){try{while(true){
var result__2893__auto__ = switch__2890__auto__.call(null,state_4601);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2893__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2893__auto__;
}
break;
}
}catch (e4638){if((e4638 instanceof Object)){
var ex__2894__auto__ = e4638;
var statearr_4639_4665 = state_4601;
(statearr_4639_4665[(5)] = ex__2894__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_4601);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e4638;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2892__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__4666 = state_4601;
state_4601 = G__4666;
continue;
} else {
return ret_value__2892__auto__;
}
break;
}
});
cljs$core$async$mapcat_STAR__$_state_machine__2891__auto__ = function(state_4601){
switch(arguments.length){
case 0:
return cljs$core$async$mapcat_STAR__$_state_machine__2891__auto____0.call(this);
case 1:
return cljs$core$async$mapcat_STAR__$_state_machine__2891__auto____1.call(this,state_4601);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$mapcat_STAR__$_state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$mapcat_STAR__$_state_machine__2891__auto____0;
cljs$core$async$mapcat_STAR__$_state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$mapcat_STAR__$_state_machine__2891__auto____1;
return cljs$core$async$mapcat_STAR__$_state_machine__2891__auto__;
})()
})();
var state__2987__auto__ = (function (){var statearr_4640 = f__2986__auto__.call(null);
(statearr_4640[(6)] = c__2985__auto__);
return statearr_4640;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2987__auto__);
}));
return c__2985__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__4668 = arguments.length;
switch (G__4668) {
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_.call(null,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.call(null,buf_or_n);
cljs.core.async.mapcat_STAR_.call(null,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__4671 = arguments.length;
switch (G__4671) {
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_.call(null,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.call(null,buf_or_n);
cljs.core.async.mapcat_STAR_.call(null,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__4674 = arguments.length;
switch (G__4674) {
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.call(null,ch,null);
}));
(cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2 = (function (ch,buf_or_n){
var out = cljs.core.async.chan.call(null,buf_or_n);
var c__2985__auto___4721 = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__2986__auto__ = (function (){var switch__2890__auto__ = (function (state_4698){
var state_val_4699 = (state_4698[(1)]);
if((state_val_4699 === (7))){
var inst_4693 = (state_4698[(2)]);
var state_4698__$1 = state_4698;
var statearr_4700_4722 = state_4698__$1;
(statearr_4700_4722[(2)] = inst_4693);
(statearr_4700_4722[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4699 === (1))){
var inst_4675 = null;
var state_4698__$1 = (function (){var statearr_4701 = state_4698;
(statearr_4701[(7)] = inst_4675);
return statearr_4701;
})();
var statearr_4702_4723 = state_4698__$1;
(statearr_4702_4723[(2)] = null);
(statearr_4702_4723[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4699 === (4))){
var inst_4678 = (state_4698[(8)]);
var inst_4678__$1 = (state_4698[(2)]);
var inst_4679 = (inst_4678__$1 == null);
var inst_4680 = cljs.core.not.call(null,inst_4679);
var state_4698__$1 = (function (){var statearr_4703 = state_4698;
(statearr_4703[(8)] = inst_4678__$1);
return statearr_4703;
})();
if(inst_4680){
var statearr_4704_4724 = state_4698__$1;
(statearr_4704_4724[(1)] = (5));
} else {
var statearr_4705_4725 = state_4698__$1;
(statearr_4705_4725[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4699 === (6))){
var state_4698__$1 = state_4698;
var statearr_4706_4726 = state_4698__$1;
(statearr_4706_4726[(2)] = null);
(statearr_4706_4726[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4699 === (3))){
var inst_4695 = (state_4698[(2)]);
var inst_4696 = cljs.core.async.close_BANG_.call(null,out);
var state_4698__$1 = (function (){var statearr_4707 = state_4698;
(statearr_4707[(9)] = inst_4695);
return statearr_4707;
})();
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_4698__$1,inst_4696);
} else {
if((state_val_4699 === (2))){
var state_4698__$1 = state_4698;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_4698__$1,(4),ch);
} else {
if((state_val_4699 === (11))){
var inst_4678 = (state_4698[(8)]);
var inst_4687 = (state_4698[(2)]);
var inst_4675 = inst_4678;
var state_4698__$1 = (function (){var statearr_4708 = state_4698;
(statearr_4708[(7)] = inst_4675);
(statearr_4708[(10)] = inst_4687);
return statearr_4708;
})();
var statearr_4709_4727 = state_4698__$1;
(statearr_4709_4727[(2)] = null);
(statearr_4709_4727[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4699 === (9))){
var inst_4678 = (state_4698[(8)]);
var state_4698__$1 = state_4698;
return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_4698__$1,(11),out,inst_4678);
} else {
if((state_val_4699 === (5))){
var inst_4678 = (state_4698[(8)]);
var inst_4675 = (state_4698[(7)]);
var inst_4682 = cljs.core._EQ_.call(null,inst_4678,inst_4675);
var state_4698__$1 = state_4698;
if(inst_4682){
var statearr_4711_4728 = state_4698__$1;
(statearr_4711_4728[(1)] = (8));
} else {
var statearr_4712_4729 = state_4698__$1;
(statearr_4712_4729[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4699 === (10))){
var inst_4690 = (state_4698[(2)]);
var state_4698__$1 = state_4698;
var statearr_4713_4730 = state_4698__$1;
(statearr_4713_4730[(2)] = inst_4690);
(statearr_4713_4730[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4699 === (8))){
var inst_4675 = (state_4698[(7)]);
var tmp4710 = inst_4675;
var inst_4675__$1 = tmp4710;
var state_4698__$1 = (function (){var statearr_4714 = state_4698;
(statearr_4714[(7)] = inst_4675__$1);
return statearr_4714;
})();
var statearr_4715_4731 = state_4698__$1;
(statearr_4715_4731[(2)] = null);
(statearr_4715_4731[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__2891__auto__ = null;
var cljs$core$async$state_machine__2891__auto____0 = (function (){
var statearr_4716 = [null,null,null,null,null,null,null,null,null,null,null];
(statearr_4716[(0)] = cljs$core$async$state_machine__2891__auto__);
(statearr_4716[(1)] = (1));
return statearr_4716;
});
var cljs$core$async$state_machine__2891__auto____1 = (function (state_4698){
while(true){
var ret_value__2892__auto__ = (function (){try{while(true){
var result__2893__auto__ = switch__2890__auto__.call(null,state_4698);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2893__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2893__auto__;
}
break;
}
}catch (e4717){if((e4717 instanceof Object)){
var ex__2894__auto__ = e4717;
var statearr_4718_4732 = state_4698;
(statearr_4718_4732[(5)] = ex__2894__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_4698);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e4717;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2892__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__4733 = state_4698;
state_4698 = G__4733;
continue;
} else {
return ret_value__2892__auto__;
}
break;
}
});
cljs$core$async$state_machine__2891__auto__ = function(state_4698){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__2891__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__2891__auto____1.call(this,state_4698);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__2891__auto____0;
cljs$core$async$state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__2891__auto____1;
return cljs$core$async$state_machine__2891__auto__;
})()
})();
var state__2987__auto__ = (function (){var statearr_4719 = f__2986__auto__.call(null);
(statearr_4719[(6)] = c__2985__auto___4721);
return statearr_4719;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2987__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__4735 = arguments.length;
switch (G__4735) {
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.call(null,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.call(null,buf_or_n);
var c__2985__auto___4801 = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__2986__auto__ = (function (){var switch__2890__auto__ = (function (state_4773){
var state_val_4774 = (state_4773[(1)]);
if((state_val_4774 === (7))){
var inst_4769 = (state_4773[(2)]);
var state_4773__$1 = state_4773;
var statearr_4775_4802 = state_4773__$1;
(statearr_4775_4802[(2)] = inst_4769);
(statearr_4775_4802[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4774 === (1))){
var inst_4736 = (new Array(n));
var inst_4737 = inst_4736;
var inst_4738 = (0);
var state_4773__$1 = (function (){var statearr_4776 = state_4773;
(statearr_4776[(7)] = inst_4738);
(statearr_4776[(8)] = inst_4737);
return statearr_4776;
})();
var statearr_4777_4803 = state_4773__$1;
(statearr_4777_4803[(2)] = null);
(statearr_4777_4803[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4774 === (4))){
var inst_4741 = (state_4773[(9)]);
var inst_4741__$1 = (state_4773[(2)]);
var inst_4742 = (inst_4741__$1 == null);
var inst_4743 = cljs.core.not.call(null,inst_4742);
var state_4773__$1 = (function (){var statearr_4778 = state_4773;
(statearr_4778[(9)] = inst_4741__$1);
return statearr_4778;
})();
if(inst_4743){
var statearr_4779_4804 = state_4773__$1;
(statearr_4779_4804[(1)] = (5));
} else {
var statearr_4780_4805 = state_4773__$1;
(statearr_4780_4805[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4774 === (15))){
var inst_4763 = (state_4773[(2)]);
var state_4773__$1 = state_4773;
var statearr_4781_4806 = state_4773__$1;
(statearr_4781_4806[(2)] = inst_4763);
(statearr_4781_4806[(1)] = (14));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4774 === (13))){
var state_4773__$1 = state_4773;
var statearr_4782_4807 = state_4773__$1;
(statearr_4782_4807[(2)] = null);
(statearr_4782_4807[(1)] = (14));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4774 === (6))){
var inst_4738 = (state_4773[(7)]);
var inst_4759 = (inst_4738 > (0));
var state_4773__$1 = state_4773;
if(cljs.core.truth_(inst_4759)){
var statearr_4783_4808 = state_4773__$1;
(statearr_4783_4808[(1)] = (12));
} else {
var statearr_4784_4809 = state_4773__$1;
(statearr_4784_4809[(1)] = (13));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4774 === (3))){
var inst_4771 = (state_4773[(2)]);
var state_4773__$1 = state_4773;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_4773__$1,inst_4771);
} else {
if((state_val_4774 === (12))){
var inst_4737 = (state_4773[(8)]);
var inst_4761 = cljs.core.vec.call(null,inst_4737);
var state_4773__$1 = state_4773;
return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_4773__$1,(15),out,inst_4761);
} else {
if((state_val_4774 === (2))){
var state_4773__$1 = state_4773;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_4773__$1,(4),ch);
} else {
if((state_val_4774 === (11))){
var inst_4753 = (state_4773[(2)]);
var inst_4754 = (new Array(n));
var inst_4737 = inst_4754;
var inst_4738 = (0);
var state_4773__$1 = (function (){var statearr_4785 = state_4773;
(statearr_4785[(7)] = inst_4738);
(statearr_4785[(8)] = inst_4737);
(statearr_4785[(10)] = inst_4753);
return statearr_4785;
})();
var statearr_4786_4810 = state_4773__$1;
(statearr_4786_4810[(2)] = null);
(statearr_4786_4810[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4774 === (9))){
var inst_4737 = (state_4773[(8)]);
var inst_4751 = cljs.core.vec.call(null,inst_4737);
var state_4773__$1 = state_4773;
return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_4773__$1,(11),out,inst_4751);
} else {
if((state_val_4774 === (5))){
var inst_4738 = (state_4773[(7)]);
var inst_4741 = (state_4773[(9)]);
var inst_4737 = (state_4773[(8)]);
var inst_4746 = (state_4773[(11)]);
var inst_4745 = (inst_4737[inst_4738] = inst_4741);
var inst_4746__$1 = (inst_4738 + (1));
var inst_4747 = (inst_4746__$1 < n);
var state_4773__$1 = (function (){var statearr_4787 = state_4773;
(statearr_4787[(12)] = inst_4745);
(statearr_4787[(11)] = inst_4746__$1);
return statearr_4787;
})();
if(cljs.core.truth_(inst_4747)){
var statearr_4788_4811 = state_4773__$1;
(statearr_4788_4811[(1)] = (8));
} else {
var statearr_4789_4812 = state_4773__$1;
(statearr_4789_4812[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4774 === (14))){
var inst_4766 = (state_4773[(2)]);
var inst_4767 = cljs.core.async.close_BANG_.call(null,out);
var state_4773__$1 = (function (){var statearr_4791 = state_4773;
(statearr_4791[(13)] = inst_4766);
return statearr_4791;
})();
var statearr_4792_4813 = state_4773__$1;
(statearr_4792_4813[(2)] = inst_4767);
(statearr_4792_4813[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4774 === (10))){
var inst_4757 = (state_4773[(2)]);
var state_4773__$1 = state_4773;
var statearr_4793_4814 = state_4773__$1;
(statearr_4793_4814[(2)] = inst_4757);
(statearr_4793_4814[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4774 === (8))){
var inst_4737 = (state_4773[(8)]);
var inst_4746 = (state_4773[(11)]);
var tmp4790 = inst_4737;
var inst_4737__$1 = tmp4790;
var inst_4738 = inst_4746;
var state_4773__$1 = (function (){var statearr_4794 = state_4773;
(statearr_4794[(7)] = inst_4738);
(statearr_4794[(8)] = inst_4737__$1);
return statearr_4794;
})();
var statearr_4795_4815 = state_4773__$1;
(statearr_4795_4815[(2)] = null);
(statearr_4795_4815[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__2891__auto__ = null;
var cljs$core$async$state_machine__2891__auto____0 = (function (){
var statearr_4796 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_4796[(0)] = cljs$core$async$state_machine__2891__auto__);
(statearr_4796[(1)] = (1));
return statearr_4796;
});
var cljs$core$async$state_machine__2891__auto____1 = (function (state_4773){
while(true){
var ret_value__2892__auto__ = (function (){try{while(true){
var result__2893__auto__ = switch__2890__auto__.call(null,state_4773);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2893__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2893__auto__;
}
break;
}
}catch (e4797){if((e4797 instanceof Object)){
var ex__2894__auto__ = e4797;
var statearr_4798_4816 = state_4773;
(statearr_4798_4816[(5)] = ex__2894__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_4773);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e4797;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2892__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__4817 = state_4773;
state_4773 = G__4817;
continue;
} else {
return ret_value__2892__auto__;
}
break;
}
});
cljs$core$async$state_machine__2891__auto__ = function(state_4773){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__2891__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__2891__auto____1.call(this,state_4773);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__2891__auto____0;
cljs$core$async$state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__2891__auto____1;
return cljs$core$async$state_machine__2891__auto__;
})()
})();
var state__2987__auto__ = (function (){var statearr_4799 = f__2986__auto__.call(null);
(statearr_4799[(6)] = c__2985__auto___4801);
return statearr_4799;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2987__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__4819 = arguments.length;
switch (G__4819) {
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.call(null,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.call(null,buf_or_n);
var c__2985__auto___4889 = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__2986__auto__ = (function (){var switch__2890__auto__ = (function (state_4861){
var state_val_4862 = (state_4861[(1)]);
if((state_val_4862 === (7))){
var inst_4857 = (state_4861[(2)]);
var state_4861__$1 = state_4861;
var statearr_4863_4890 = state_4861__$1;
(statearr_4863_4890[(2)] = inst_4857);
(statearr_4863_4890[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4862 === (1))){
var inst_4820 = [];
var inst_4821 = inst_4820;
var inst_4822 = new cljs.core.Keyword("cljs.core.async","nothing","cljs.core.async/nothing",-69252123);
var state_4861__$1 = (function (){var statearr_4864 = state_4861;
(statearr_4864[(7)] = inst_4821);
(statearr_4864[(8)] = inst_4822);
return statearr_4864;
})();
var statearr_4865_4891 = state_4861__$1;
(statearr_4865_4891[(2)] = null);
(statearr_4865_4891[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4862 === (4))){
var inst_4825 = (state_4861[(9)]);
var inst_4825__$1 = (state_4861[(2)]);
var inst_4826 = (inst_4825__$1 == null);
var inst_4827 = cljs.core.not.call(null,inst_4826);
var state_4861__$1 = (function (){var statearr_4866 = state_4861;
(statearr_4866[(9)] = inst_4825__$1);
return statearr_4866;
})();
if(inst_4827){
var statearr_4867_4892 = state_4861__$1;
(statearr_4867_4892[(1)] = (5));
} else {
var statearr_4868_4893 = state_4861__$1;
(statearr_4868_4893[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4862 === (15))){
var inst_4851 = (state_4861[(2)]);
var state_4861__$1 = state_4861;
var statearr_4869_4894 = state_4861__$1;
(statearr_4869_4894[(2)] = inst_4851);
(statearr_4869_4894[(1)] = (14));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4862 === (13))){
var state_4861__$1 = state_4861;
var statearr_4870_4895 = state_4861__$1;
(statearr_4870_4895[(2)] = null);
(statearr_4870_4895[(1)] = (14));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4862 === (6))){
var inst_4821 = (state_4861[(7)]);
var inst_4846 = inst_4821.length;
var inst_4847 = (inst_4846 > (0));
var state_4861__$1 = state_4861;
if(cljs.core.truth_(inst_4847)){
var statearr_4871_4896 = state_4861__$1;
(statearr_4871_4896[(1)] = (12));
} else {
var statearr_4872_4897 = state_4861__$1;
(statearr_4872_4897[(1)] = (13));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4862 === (3))){
var inst_4859 = (state_4861[(2)]);
var state_4861__$1 = state_4861;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_4861__$1,inst_4859);
} else {
if((state_val_4862 === (12))){
var inst_4821 = (state_4861[(7)]);
var inst_4849 = cljs.core.vec.call(null,inst_4821);
var state_4861__$1 = state_4861;
return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_4861__$1,(15),out,inst_4849);
} else {
if((state_val_4862 === (2))){
var state_4861__$1 = state_4861;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_4861__$1,(4),ch);
} else {
if((state_val_4862 === (11))){
var inst_4825 = (state_4861[(9)]);
var inst_4829 = (state_4861[(10)]);
var inst_4839 = (state_4861[(2)]);
var inst_4840 = [];
var inst_4841 = inst_4840.push(inst_4825);
var inst_4821 = inst_4840;
var inst_4822 = inst_4829;
var state_4861__$1 = (function (){var statearr_4873 = state_4861;
(statearr_4873[(7)] = inst_4821);
(statearr_4873[(11)] = inst_4841);
(statearr_4873[(12)] = inst_4839);
(statearr_4873[(8)] = inst_4822);
return statearr_4873;
})();
var statearr_4874_4898 = state_4861__$1;
(statearr_4874_4898[(2)] = null);
(statearr_4874_4898[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4862 === (9))){
var inst_4821 = (state_4861[(7)]);
var inst_4837 = cljs.core.vec.call(null,inst_4821);
var state_4861__$1 = state_4861;
return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_4861__$1,(11),out,inst_4837);
} else {
if((state_val_4862 === (5))){
var inst_4825 = (state_4861[(9)]);
var inst_4829 = (state_4861[(10)]);
var inst_4822 = (state_4861[(8)]);
var inst_4829__$1 = f.call(null,inst_4825);
var inst_4830 = cljs.core._EQ_.call(null,inst_4829__$1,inst_4822);
var inst_4831 = cljs.core.keyword_identical_QMARK_.call(null,inst_4822,new cljs.core.Keyword("cljs.core.async","nothing","cljs.core.async/nothing",-69252123));
var inst_4832 = ((inst_4830) || (inst_4831));
var state_4861__$1 = (function (){var statearr_4875 = state_4861;
(statearr_4875[(10)] = inst_4829__$1);
return statearr_4875;
})();
if(cljs.core.truth_(inst_4832)){
var statearr_4876_4899 = state_4861__$1;
(statearr_4876_4899[(1)] = (8));
} else {
var statearr_4877_4900 = state_4861__$1;
(statearr_4877_4900[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4862 === (14))){
var inst_4854 = (state_4861[(2)]);
var inst_4855 = cljs.core.async.close_BANG_.call(null,out);
var state_4861__$1 = (function (){var statearr_4879 = state_4861;
(statearr_4879[(13)] = inst_4854);
return statearr_4879;
})();
var statearr_4880_4901 = state_4861__$1;
(statearr_4880_4901[(2)] = inst_4855);
(statearr_4880_4901[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4862 === (10))){
var inst_4844 = (state_4861[(2)]);
var state_4861__$1 = state_4861;
var statearr_4881_4902 = state_4861__$1;
(statearr_4881_4902[(2)] = inst_4844);
(statearr_4881_4902[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_4862 === (8))){
var inst_4825 = (state_4861[(9)]);
var inst_4821 = (state_4861[(7)]);
var inst_4829 = (state_4861[(10)]);
var inst_4834 = inst_4821.push(inst_4825);
var tmp4878 = inst_4821;
var inst_4821__$1 = tmp4878;
var inst_4822 = inst_4829;
var state_4861__$1 = (function (){var statearr_4882 = state_4861;
(statearr_4882[(7)] = inst_4821__$1);
(statearr_4882[(14)] = inst_4834);
(statearr_4882[(8)] = inst_4822);
return statearr_4882;
})();
var statearr_4883_4903 = state_4861__$1;
(statearr_4883_4903[(2)] = null);
(statearr_4883_4903[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__2891__auto__ = null;
var cljs$core$async$state_machine__2891__auto____0 = (function (){
var statearr_4884 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_4884[(0)] = cljs$core$async$state_machine__2891__auto__);
(statearr_4884[(1)] = (1));
return statearr_4884;
});
var cljs$core$async$state_machine__2891__auto____1 = (function (state_4861){
while(true){
var ret_value__2892__auto__ = (function (){try{while(true){
var result__2893__auto__ = switch__2890__auto__.call(null,state_4861);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2893__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2893__auto__;
}
break;
}
}catch (e4885){if((e4885 instanceof Object)){
var ex__2894__auto__ = e4885;
var statearr_4886_4904 = state_4861;
(statearr_4886_4904[(5)] = ex__2894__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_4861);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e4885;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2892__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__4905 = state_4861;
state_4861 = G__4905;
continue;
} else {
return ret_value__2892__auto__;
}
break;
}
});
cljs$core$async$state_machine__2891__auto__ = function(state_4861){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__2891__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__2891__auto____1.call(this,state_4861);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__2891__auto____0;
cljs$core$async$state_machine__2891__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__2891__auto____1;
return cljs$core$async$state_machine__2891__auto__;
})()
})();
var state__2987__auto__ = (function (){var statearr_4887 = f__2986__auto__.call(null);
(statearr_4887[(6)] = c__2985__auto___4889);
return statearr_4887;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2987__auto__);
}));
return out;
}));
(cljs.core.async.partition_by.cljs$lang$maxFixedArity = 3);
//# sourceMappingURL=async.js.map