{:rename-macros {}, :renames {}, :externs {Error {}, Array {}, Object {}}, :use-macros {go cljs.core.async.macros, go-loop cljs.core.async.macros}, :excludes #{reduce take map transduce into partition merge partition-by}, :name cljs.core.async, :imports nil, :requires {cljs.core.async.impl.channels cljs.core.async.impl.channels, cljs.core.async.impl.dispatch cljs.core.async.impl.dispatch, helpers cljs.core.async.impl.ioc-helpers, impl cljs.core.async.impl.protocols, channels cljs.core.async.impl.channels, cljs.core.async.impl.buffers cljs.core.async.impl.buffers, cljs.core.async.impl.protocols cljs.core.async.impl.protocols, timers cljs.core.async.impl.timers, dispatch cljs.core.async.impl.dispatch, cljs.core.async.impl.ioc-helpers cljs.core.async.impl.ioc-helpers, buffers cljs.core.async.impl.buffers, cljs.core.async.impl.timers cljs.core.async.impl.timers}, :cljs.spec/speced-vars [], :uses nil, :defs {Pub {:meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 599, :column 14, :end-line 599, :end-column 17, :doc nil, :protocol-symbol true, :jsdoc ("@interface"), :protocol-info {:methods {sub* [[p v ch close?]], unsub* [[p v ch]], unsub-all* [[p] [p v]]}}}, :protocol-symbol true, :name cljs.core.async/Pub, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 17, :column 1, :line 599, :protocol-info {:methods {sub* [[p v ch close?]], unsub* [[p v ch]], unsub-all* [[p] [p v]]}}, :info nil, :end-line 599, :tag any, :impls #{cljs.core.async/t_cljs$core$async43363}, :doc nil, :jsdoc ("@interface")}, ->t_cljs$core$async43744 {:protocol-inline nil, :meta {:anonymous true, :protocols #{cljs.core.async.impl.protocols/Channel cljs.core.async.impl.protocols/WritePort cljs.core.async.impl.protocols/ReadPort cljs.core/IMeta cljs.core/IWithMeta}, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}, :factory :positional, :arglists (quote ([p ch meta43745])), :file nil}, :protocols #{cljs.core.async.impl.protocols/Channel cljs.core.async.impl.protocols/WritePort cljs.core.async.impl.protocols/ReadPort cljs.core/IMeta cljs.core/IWithMeta}, :name cljs.core.async/->t_cljs$core$async43744, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :method-params ([p ch meta43745]), :protocol-impl nil, :arglists-meta (nil nil), :anonymous true, :column 3, :factory :positional, :line 805, :max-fixed-arity 3, :fn-var true, :arglists (quote ([p ch meta43745])), :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, reduce {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 359, :column 7, :end-line 359, :end-column 13, :arglists (quote ([f init ch])), :doc "f should be a function of 2 arguments. Returns a channel containing\n the single result of applying f to init and the first item from the\n channel, then applying f to that result and the 2nd item, etc. If\n the channel closes without yielding items, returns init and f is not\n called. ch must close before reduce produces a result."}, :name cljs.core.async/reduce, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 13, :method-params ([f init ch]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 359, :end-line 359, :max-fixed-arity 3, :fn-var true, :arglists (quote ([f init ch])), :doc "f should be a function of 2 arguments. Returns a channel containing\n the single result of applying f to init and the first item from the\n channel, then applying f to that result and the 2nd item, etc. If\n the channel closes without yielding items, returns init and f is not\n called. ch must close before reduce produces a result."}, remove> {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 819, :column 7, :end-line 819, :end-column 14, :arglists (quote ([p ch])), :doc "Deprecated - this function will be removed. Use transducer instead"}, :name cljs.core.async/remove>, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 14, :method-params ([p ch]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 819, :end-line 819, :max-fixed-arity 2, :fn-var true, :arglists (quote ([p ch])), :doc "Deprecated - this function will be removed. Use transducer instead"}, timeout {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 78, :column 7, :end-line 78, :end-column 14, :arglists (quote ([msecs])), :doc "Returns a channel that will close after msecs"}, :name cljs.core.async/timeout, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 14, :method-params ([msecs]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 78, :end-line 78, :max-fixed-arity 1, :fn-var true, :arglists (quote ([msecs])), :doc "Returns a channel that will close after msecs"}, unsub* {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 601, :column 4, :end-line 601, :end-column 10, :protocol cljs.core.async/Pub, :doc nil, :arglists (quote ([p v ch]))}, :protocol cljs.core.async/Pub, :name cljs.core.async/unsub*, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 10, :method-params ([p v ch]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 599, :end-line 601, :max-fixed-arity 3, :fn-var true, :arglists (quote ([p v ch])), :doc nil}, admix* {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 479, :column 4, :end-line 479, :end-column 10, :protocol cljs.core.async/Mix, :doc nil, :arglists (quote ([m ch]))}, :protocol cljs.core.async/Mix, :name cljs.core.async/admix*, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 10, :method-params ([m ch]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 478, :end-line 479, :max-fixed-arity 2, :fn-var true, :arglists (quote ([m ch])), :doc nil}, unmix* {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 480, :column 4, :end-line 480, :end-column 10, :protocol cljs.core.async/Mix, :doc nil, :arglists (quote ([m ch]))}, :protocol cljs.core.async/Mix, :name cljs.core.async/unmix*, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 10, :method-params ([m ch]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 478, :end-line 480, :max-fixed-arity 2, :fn-var true, :arglists (quote ([m ch])), :doc nil}, mapcat* {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 843, :column 8, :end-line 843, :end-column 15, :private true, :arglists (quote ([f in out]))}, :private true, :name cljs.core.async/mapcat*, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 15, :method-params ([f in out]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 843, :end-line 843, :max-fixed-arity 3, :fn-var true, :arglists (quote ([f in out]))}, mix {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 496, :column 7, :end-line 496, :end-column 10, :arglists (quote ([out])), :doc "Creates and returns a mix of one or more input channels which will\n be put on the supplied out channel. Input sources can be added to\n the mix with 'admix', and removed with 'unmix'. A mix supports\n soloing, muting and pausing multiple inputs atomically using\n 'toggle', and can solo using either muting or pausing as determined\n by 'solo-mode'.\n\n Each channel can have zero or more boolean modes set via 'toggle':\n\n :solo - when true, only this (ond other soloed) channel(s) will appear\n in the mix output channel. :mute and :pause states of soloed\n channels are ignored. If solo-mode is :mute, non-soloed\n channels are muted, if :pause, non-soloed channels are\n paused.\n\n :mute - muted channels will have their contents consumed but not included in the mix\n :pause - paused channels will not have their contents consumed (and thus also not included in the mix)\n"}, :name cljs.core.async/mix, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 10, :method-params ([out]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 496, :end-line 496, :max-fixed-arity 1, :fn-var true, :arglists (quote ([out])), :doc "Creates and returns a mix of one or more input channels which will\n be put on the supplied out channel. Input sources can be added to\n the mix with 'admix', and removed with 'unmix'. A mix supports\n soloing, muting and pausing multiple inputs atomically using\n 'toggle', and can solo using either muting or pausing as determined\n by 'solo-mode'.\n\n Each channel can have zero or more boolean modes set via 'toggle':\n\n :solo - when true, only this (ond other soloed) channel(s) will appear\n in the mix output channel. :mute and :pause states of soloed\n channels are ignored. If solo-mode is :mute, non-soloed\n channels are muted, if :pause, non-soloed channels are\n paused.\n\n :mute - muted channels will have their contents consumed but not included in the mix\n :pause - paused channels will not have their contents consumed (and thus also not included in the mix)\n"}, pub {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 604, :column 7, :end-line 604, :end-column 10, :arglists (quote ([ch topic-fn] [ch topic-fn buf-fn])), :doc "Creates and returns a pub(lication) of the supplied channel,\n partitioned into topics by the topic-fn. topic-fn will be applied to\n each value on the channel and the result will determine the 'topic'\n on which that value will be put. Channels can be subscribed to\n receive copies of topics using 'sub', and unsubscribed using\n 'unsub'. Each topic will be handled by an internal mult on a\n dedicated channel. By default these internal channels are\n unbuffered, but a buf-fn can be supplied which, given a topic,\n creates a buffer with desired properties.\n\n Each item is distributed to all subs in parallel and synchronously,\n i.e. each sub must accept before the next item is distributed. Use\n buffering/windowing to prevent slow subs from holding up the pub.\n\n Items received when there are no matching subs get dropped.\n\n Note that if buf-fns are used then each topic is handled\n asynchronously, i.e. if a channel is subscribed to more than one\n topic it should not expect them to be interleaved identically with\n the source.", :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([ch topic-fn] [ch topic-fn buf-fn]), :arglists ([ch topic-fn] [ch topic-fn buf-fn]), :arglists-meta (nil nil)}}, :name cljs.core.async/pub, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 10, :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([ch topic-fn] [ch topic-fn buf-fn]), :arglists ([ch topic-fn] [ch topic-fn buf-fn]), :arglists-meta (nil nil)}, :method-params ([ch topic-fn] [ch topic-fn buf-fn]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 604, :end-line 604, :max-fixed-arity 3, :fn-var true, :arglists ([ch topic-fn] [ch topic-fn buf-fn]), :doc "Creates and returns a pub(lication) of the supplied channel,\n partitioned into topics by the topic-fn. topic-fn will be applied to\n each value on the channel and the result will determine the 'topic'\n on which that value will be put. Channels can be subscribed to\n receive copies of topics using 'sub', and unsubscribed using\n 'unsub'. Each topic will be handled by an internal mult on a\n dedicated channel. By default these internal channels are\n unbuffered, but a buf-fn can be supplied which, given a topic,\n creates a buffer with desired properties.\n\n Each item is distributed to all subs in parallel and synchronously,\n i.e. each sub must accept before the next item is distributed. Use\n buffering/windowing to prevent slow subs from holding up the pub.\n\n Items received when there are no matching subs get dropped.\n\n Note that if buf-fns are used then each topic is handled\n asynchronously, i.e. if a channel is subscribed to more than one\n topic it should not expect them to be interleaved identically with\n the source."}, take {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 741, :column 7, :end-line 741, :end-column 11, :arglists (quote ([n ch] [n ch buf-or-n])), :doc "Returns a channel that will return, at most, n items from ch. After n items\n have been returned, or ch has been closed, the return chanel will close.\n\n The output channel is unbuffered by default, unless buf-or-n is given.", :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([n ch] [n ch buf-or-n]), :arglists ([n ch] [n ch buf-or-n]), :arglists-meta (nil nil)}}, :name cljs.core.async/take, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 11, :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([n ch] [n ch buf-or-n]), :arglists ([n ch] [n ch buf-or-n]), :arglists-meta (nil nil)}, :method-params ([n ch] [n ch buf-or-n]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 741, :end-line 741, :max-fixed-arity 3, :fn-var true, :arglists ([n ch] [n ch buf-or-n]), :doc "Returns a channel that will return, at most, n items from ch. After n items\n have been returned, or ch has been closed, the return chanel will close.\n\n The output channel is unbuffered by default, unless buf-or-n is given."}, unsub-all* {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 602, :column 4, :end-line 602, :end-column 14, :protocol cljs.core.async/Pub, :doc nil, :arglists (quote ([p] [p v])), :top-fn {:variadic false, :max-fixed-arity 2, :method-params ([p] [p v]), :arglists ([p] [p v]), :arglists-meta (nil nil)}}, :protocol cljs.core.async/Pub, :name cljs.core.async/unsub-all*, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 14, :top-fn {:variadic false, :max-fixed-arity 2, :method-params ([p] [p v]), :arglists ([p] [p v]), :arglists-meta (nil nil)}, :method-params ([p] [p v]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 599, :end-line 602, :max-fixed-arity 2, :fn-var true, :arglists ([p] [p v]), :doc nil}, {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 861, :column 7, :end-line 861, :end-column 14, :arglists (quote ([f out] [f out buf-or-n])), :doc "Deprecated - this function will be removed. Use transducer instead", :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([f out] [f out buf-or-n]), :arglists ([f out] [f out buf-or-n]), :arglists-meta (nil nil)}}, :name cljs.core.async/mapcat>, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 14, :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([f out] [f out buf-or-n]), :arglists ([f out] [f out buf-or-n]), :arglists-meta (nil nil)}, :method-params ([f out] [f out buf-or-n]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 861, :end-line 861, :max-fixed-arity 3, :fn-var true, :arglists ([f out] [f out buf-or-n]), :doc "Deprecated - this function will be removed. Use transducer instead"}, fhnop {:name cljs.core.async/fhnop, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 106, :column 1, :end-line 106, :end-column 21, :private true, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 106, :column 16, :end-line 106, :end-column 21, :private true}, :tag any}, t_cljs$core$async42310 {:num-fields 3, :protocols #{cljs.core.async.impl.protocols/Handler cljs.core/IMeta cljs.core/IWithMeta}, :name cljs.core.async/t_cljs$core$async42310, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :type true, :anonymous true, :column 4, :line 15, :record false, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, buffer {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 21, :column 7, :end-line 21, :end-column 13, :arglists (quote ([n])), :doc "Returns a fixed buffer of size n. When full, puts will block/park."}, :name cljs.core.async/buffer, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 13, :method-params ([n]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 21, :end-line 21, :max-fixed-arity 1, :fn-var true, :arglists (quote ([n])), :doc "Returns a fixed buffer of size n. When full, puts will block/park."}, close! {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 134, :column 7, :end-line 134, :end-column 13, :arglists (quote ([port]))}, :name cljs.core.async/close!, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 13, :method-params ([port]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 134, :end-line 134, :max-fixed-arity 1, :fn-var true, :arglists (quote ([port]))}, t_cljs$core$async42335 {:num-fields 3, :protocols #{cljs.core.async.impl.protocols/Handler cljs.core/IMeta cljs.core/IWithMeta}, :name cljs.core.async/t_cljs$core$async42335, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :type true, :anonymous true, :column 3, :line 164, :record false, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, t_cljs$core$async43363 {:num-fields 6, :protocols #{cljs.core.async/Pub cljs.core/IMeta cljs.core.async/Mux cljs.core/IWithMeta}, :name cljs.core.async/t_cljs$core$async43363, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :type true, :anonymous true, :column 14, :line 633, :record false, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, ->t_cljs$core$async43735 {:protocol-inline nil, :meta {:anonymous true, :protocols #{cljs.core.async.impl.protocols/Channel cljs.core.async.impl.protocols/WritePort cljs.core.async.impl.protocols/ReadPort cljs.core/IMeta cljs.core/IWithMeta}, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}, :factory :positional, :arglists (quote ([f ch meta43736])), :file nil}, :protocols #{cljs.core.async.impl.protocols/Channel cljs.core.async.impl.protocols/WritePort cljs.core.async.impl.protocols/ReadPort cljs.core/IMeta cljs.core/IWithMeta}, :name cljs.core.async/->t_cljs$core$async43735, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :method-params ([f ch meta43736]), :protocol-impl nil, :arglists-meta (nil nil), :anonymous true, :column 3, :factory :positional, :line 764, :max-fixed-arity 3, :fn-var true, :arglists (quote ([f ch meta43736])), :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, ->t_cljs$core$async42332 {:protocol-inline nil, :meta {:anonymous true, :protocols #{cljs.core.async.impl.protocols/Handler cljs.core/IMeta cljs.core/IWithMeta}, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}, :factory :positional, :arglists (quote ([flag meta42333])), :file nil}, :protocols #{cljs.core.async.impl.protocols/Handler cljs.core/IMeta cljs.core/IWithMeta}, :name cljs.core.async/->t_cljs$core$async42332, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :method-params ([flag meta42333]), :protocol-impl nil, :arglists-meta (nil nil), :anonymous true, :column 5, :factory :positional, :line 155, :max-fixed-arity 2, :fn-var true, :arglists (quote ([flag meta42333])), :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, offer! {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 224, :column 7, :end-line 224, :end-column 13, :arglists (quote ([port val])), :doc "Puts a val into port if it's possible to do so immediately.\n nil values are not allowed. Never blocks. Returns true if offer succeeds."}, :name cljs.core.async/offer!, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 13, :method-params ([port val]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 224, :end-line 224, :max-fixed-arity 2, :fn-var true, :arglists (quote ([port val])), :doc "Puts a val into port if it's possible to do so immediately.\n nil values are not allowed. Never blocks. Returns true if offer succeeds."}, chan {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 45, :column 7, :end-line 45, :end-column 11, :arglists (quote ([] [buf-or-n] [buf-or-n xform] [buf-or-n xform ex-handler])), :doc "Creates a channel with an optional buffer, an optional transducer (like (map f),\n (filter p) etc or a composition thereof), and an optional exception handler.\n If buf-or-n is a number, will create and use a fixed buffer of that size. If a\n transducer is supplied a buffer must be specified. ex-handler must be a\n fn of one argument - if an exception occurs during transformation it will be called\n with the thrown value as an argument, and any non-nil return value will be placed\n in the channel.", :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([] [buf-or-n] [buf-or-n xform] [buf-or-n xform ex-handler]), :arglists ([] [buf-or-n] [buf-or-n xform] [buf-or-n xform ex-handler]), :arglists-meta (nil nil nil nil)}}, :name cljs.core.async/chan, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 11, :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([] [buf-or-n] [buf-or-n xform] [buf-or-n xform ex-handler]), :arglists ([] [buf-or-n] [buf-or-n xform] [buf-or-n xform ex-handler]), :arglists-meta (nil nil nil nil)}, :method-params ([] [buf-or-n] [buf-or-n xform] [buf-or-n xform ex-handler]), :protocol-impl nil, :arglists-meta (nil nil nil nil), :column 1, :line 45, :end-line 45, :max-fixed-arity 3, :fn-var true, :arglists ([] [buf-or-n] [buf-or-n xform] [buf-or-n xform ex-handler]), :doc "Creates a channel with an optional buffer, an optional transducer (like (map f),\n (filter p) etc or a composition thereof), and an optional exception handler.\n If buf-or-n is a number, will create and use a fixed buffer of that size. If a\n transducer is supplied a buffer must be specified. ex-handler must be a\n fn of one argument - if an exception occurs during transformation it will be called\n with the thrown value as an argument, and any non-nil return value will be placed\n in the channel."}, solo-mode* {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 483, :column 4, :end-line 483, :end-column 14, :protocol cljs.core.async/Mix, :doc nil, :arglists (quote ([m mode]))}, :protocol cljs.core.async/Mix, :name cljs.core.async/solo-mode*, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 14, :method-params ([m mode]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 478, :end-line 483, :max-fixed-arity 2, :fn-var true, :arglists (quote ([m mode])), :doc nil}, tap {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 461, :column 7, :end-line 461, :end-column 10, :arglists (quote ([mult ch] [mult ch close?])), :doc "Copies the mult source onto the supplied channel.\n\n By default the channel will be closed when the source closes,\n but can be determined by the close? parameter.", :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([mult ch] [mult ch close?]), :arglists ([mult ch] [mult ch close?]), :arglists-meta (nil nil)}}, :name cljs.core.async/tap, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 10, :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([mult ch] [mult ch close?]), :arglists ([mult ch] [mult ch close?]), :arglists-meta (nil nil)}, :method-params ([mult ch] [mult ch close?]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 461, :end-line 461, :max-fixed-arity 3, :fn-var true, :arglists ([mult ch] [mult ch close?]), :doc "Copies the mult source onto the supplied channel.\n\n By default the channel will be closed when the source closes,\n but can be determined by the close? parameter."}, ->t_cljs$core$async43738 {:protocol-inline nil, :meta {:anonymous true, :protocols #{cljs.core.async.impl.protocols/Handler cljs.core/IMeta cljs.core/IWithMeta}, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}, :factory :positional, :arglists (quote ([f ch meta43736 _ fn1 meta43739])), :file nil}, :protocols #{cljs.core.async.impl.protocols/Handler cljs.core/IMeta cljs.core/IWithMeta}, :name cljs.core.async/->t_cljs$core$async43738, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :method-params ([f ch meta43736 _ fn1 meta43739]), :protocol-impl nil, :arglists-meta (nil nil), :anonymous true, :column 10, :factory :positional, :line 773, :max-fixed-arity 6, :fn-var true, :arglists (quote ([f ch meta43736 _ fn1 meta43739])), :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, admix {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 566, :column 7, :end-line 566, :end-column 12, :arglists (quote ([mix ch])), :doc "Adds ch as an input to the mix"}, :name cljs.core.async/admix, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 12, :method-params ([mix ch]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 566, :end-line 566, :max-fixed-arity 2, :fn-var true, :arglists (quote ([mix ch])), :doc "Adds ch as an input to the mix"}, promise-chan {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 67, :column 7, :end-line 67, :end-column 19, :arglists (quote ([] [xform] [xform ex-handler])), :doc "Creates a promise channel with an optional transducer, and an optional\n exception-handler. A promise channel can take exactly one value that consumers\n will receive. Once full, puts complete but val is dropped (no transfer).\n Consumers will block until either a value is placed in the channel or the\n channel is closed. See chan for the semantics of xform and ex-handler.", :top-fn {:variadic false, :max-fixed-arity 2, :method-params ([] [xform] [xform ex-handler]), :arglists ([] [xform] [xform ex-handler]), :arglists-meta (nil nil nil)}}, :name cljs.core.async/promise-chan, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 19, :top-fn {:variadic false, :max-fixed-arity 2, :method-params ([] [xform] [xform ex-handler]), :arglists ([] [xform] [xform ex-handler]), :arglists-meta (nil nil nil)}, :method-params ([] [xform] [xform ex-handler]), :protocol-impl nil, :arglists-meta (nil nil nil), :column 1, :line 67, :end-line 67, :max-fixed-arity 2, :fn-var true, :arglists ([] [xform] [xform ex-handler]), :doc "Creates a promise channel with an optional transducer, and an optional\n exception-handler. A promise channel can take exactly one value that consumers\n will receive. Once full, puts complete but val is dropped (no transfer).\n Consumers will block until either a value is placed in the channel or the\n channel is closed. See chan for the semantics of xform and ex-handler."}, unique {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 869, :column 7, :end-line 869, :end-column 13, :arglists (quote ([ch] [ch buf-or-n])), :doc "Deprecated - this function will be removed. Use transducer instead", :top-fn {:variadic false, :max-fixed-arity 2, :method-params ([ch] [ch buf-or-n]), :arglists ([ch] [ch buf-or-n]), :arglists-meta (nil nil)}}, :name cljs.core.async/unique, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 13, :top-fn {:variadic false, :max-fixed-arity 2, :method-params ([ch] [ch buf-or-n]), :arglists ([ch] [ch buf-or-n]), :arglists-meta (nil nil)}, :method-params ([ch] [ch buf-or-n]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 869, :end-line 869, :max-fixed-arity 2, :fn-var true, :arglists ([ch] [ch buf-or-n]), :doc "Deprecated - this function will be removed. Use transducer instead"}, muxch* {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 411, :column 4, :end-line 411, :end-column 10, :protocol cljs.core.async/Mux, :doc nil, :arglists (quote ([_]))}, :protocol cljs.core.async/Mux, :name cljs.core.async/muxch*, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 10, :method-params ([_]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 410, :end-line 411, :max-fixed-arity 1, :fn-var true, :arglists (quote ([_])), :doc nil}, solo-mode {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 593, :column 7, :end-line 593, :end-column 16, :arglists (quote ([mix mode])), :doc "Sets the solo mode of the mix. mode must be one of :mute or :pause"}, :name cljs.core.async/solo-mode, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 16, :method-params ([mix mode]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 593, :end-line 593, :max-fixed-arity 2, :fn-var true, :arglists (quote ([mix mode])), :doc "Sets the solo mode of the mix. mode must be one of :mute or :pause"}, transduce {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 375, :column 7, :end-line 375, :end-column 16, :arglists (quote ([xform f init ch])), :doc "async/reduces a channel with a transformation (xform f).\n Returns a channel containing the result. ch must close before\n transduce produces a result."}, :name cljs.core.async/transduce, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 16, :method-params ([xform f init ch]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 375, :end-line 375, :max-fixed-arity 4, :fn-var true, :arglists (quote ([xform f init ch])), :doc "async/reduces a channel with a transformation (xform f).\n Returns a channel containing the result. ch must close before\n transduce produces a result."}, onto-chan {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 385, :column 7, :end-line 385, :end-column 16, :arglists (quote ([ch coll] [ch coll close?])), :doc "Puts the contents of coll into the supplied channel.\n\n By default the channel will be closed after the items are copied,\n but can be determined by the close? parameter.\n\n Returns a channel which will close after the items are copied.", :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([ch coll] [ch coll close?]), :arglists ([ch coll] [ch coll close?]), :arglists-meta (nil nil)}}, :name cljs.core.async/onto-chan, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 16, :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([ch coll] [ch coll close?]), :arglists ([ch coll] [ch coll close?]), :arglists-meta (nil nil)}, :method-params ([ch coll] [ch coll close?]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 385, :end-line 385, :max-fixed-arity 3, :fn-var true, :arglists ([ch coll] [ch coll close?]), :doc "Puts the contents of coll into the supplied channel.\n\n By default the channel will be closed after the items are copied,\n but can be determined by the close? parameter.\n\n Returns a channel which will close after the items are copied."}, to-chan {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 401, :column 7, :end-line 401, :end-column 14, :arglists (quote ([coll])), :doc "Creates and returns a channel which contains the contents of coll,\n closing when exhausted."}, :name cljs.core.async/to-chan, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 14, :method-params ([coll]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 401, :end-line 401, :max-fixed-arity 1, :fn-var true, :arglists (quote ([coll])), :doc "Creates and returns a channel which contains the contents of coll,\n closing when exhausted."}, dropping-buffer {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 26, :column 7, :end-line 26, :end-column 22, :arglists (quote ([n])), :doc "Returns a buffer of size n. When full, puts will complete but\n val will be dropped (no transfer)."}, :name cljs.core.async/dropping-buffer, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 22, :method-params ([n]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 26, :end-line 26, :max-fixed-arity 1, :fn-var true, :arglists (quote ([n])), :doc "Returns a buffer of size n. When full, puts will complete but\n val will be dropped (no transfer)."}, untap-all {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 474, :column 7, :end-line 474, :end-column 16, :arglists (quote ([mult])), :doc "Disconnects all target channels from a mult"}, :name cljs.core.async/untap-all, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 16, :method-params ([mult]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 474, :end-line 474, :max-fixed-arity 1, :fn-var true, :arglists (quote ([mult])), :doc "Disconnects all target channels from a mult"}, into {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 734, :column 7, :end-line 734, :end-column 11, :arglists (quote ([coll ch])), :doc "Returns a channel containing the single (collection) result of the\n items taken from the channel conjoined to the supplied\n collection. ch must close before into produces a result."}, :name cljs.core.async/into, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 11, :method-params ([coll ch]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 734, :end-line 734, :max-fixed-arity 2, :fn-var true, :arglists (quote ([coll ch])), :doc "Returns a channel containing the single (collection) result of the\n items taken from the channel conjoined to the supplied\n collection. ch must close before into produces a result."}, t_cljs$core$async42846 {:num-fields 3, :protocols #{cljs.core.async/Mult cljs.core/IMeta cljs.core.async/Mux cljs.core/IWithMeta}, :name cljs.core.async/t_cljs$core$async42846, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :type true, :anonymous true, :column 11, :line 432, :record false, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, pipeline {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 321, :column 7, :end-line 321, :end-column 15, :arglists (quote ([n to xf from] [n to xf from close?] [n to xf from close? ex-handler])), :doc "Takes elements from the from channel and supplies them to the to\n channel, subject to the transducer xf, with parallelism n. Because\n it is parallel, the transducer will be applied independently to each\n element, not across elements, and may produce zero or more outputs\n per input. Outputs will be returned in order relative to the\n inputs. By default, the to channel will be closed when the from\n channel closes, but can be determined by the close? parameter. Will\n stop consuming the from channel if the to channel closes.\n\n Note this is supplied for API compatibility with the Clojure version.\n Values of N > 1 will not result in actual concurrency in a\n single-threaded runtime.", :top-fn {:variadic false, :max-fixed-arity 6, :method-params ([n to xf from] [n to xf from close?] [n to xf from close? ex-handler]), :arglists ([n to xf from] [n to xf from close?] [n to xf from close? ex-handler]), :arglists-meta (nil nil nil)}}, :name cljs.core.async/pipeline, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 15, :top-fn {:variadic false, :max-fixed-arity 6, :method-params ([n to xf from] [n to xf from close?] [n to xf from close? ex-handler]), :arglists ([n to xf from] [n to xf from close?] [n to xf from close? ex-handler]), :arglists-meta (nil nil nil)}, :method-params ([n to xf from] [n to xf from close?] [n to xf from close? ex-handler]), :protocol-impl nil, :arglists-meta (nil nil nil), :column 1, :line 321, :end-line 321, :max-fixed-arity 6, :fn-var true, :arglists ([n to xf from] [n to xf from close?] [n to xf from close? ex-handler]), :doc "Takes elements from the from channel and supplies them to the to\n channel, subject to the transducer xf, with parallelism n. Because\n it is parallel, the transducer will be applied independently to each\n element, not across elements, and may produce zero or more outputs\n per input. Outputs will be returned in order relative to the\n inputs. By default, the to channel will be closed when the from\n channel closes, but can be determined by the close? parameter. Will\n stop consuming the from channel if the to channel closes.\n\n Note this is supplied for API compatibility with the Clojure version.\n Values of N > 1 will not result in actual concurrency in a\n single-threaded runtime."}, sub {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 659, :column 7, :end-line 659, :end-column 10, :arglists (quote ([p topic ch] [p topic ch close?])), :doc "Subscribes a channel to a topic of a pub.\n\n By default the channel will be closed when the source closes,\n but can be determined by the close? parameter.", :top-fn {:variadic false, :max-fixed-arity 4, :method-params ([p topic ch] [p topic ch close?]), :arglists ([p topic ch] [p topic ch close?]), :arglists-meta (nil nil)}}, :name cljs.core.async/sub, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 10, :top-fn {:variadic false, :max-fixed-arity 4, :method-params ([p topic ch] [p topic ch close?]), :arglists ([p topic ch] [p topic ch close?]), :arglists-meta (nil nil)}, :method-params ([p topic ch] [p topic ch close?]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 659, :end-line 659, :max-fixed-arity 4, :fn-var true, :arglists ([p topic ch] [p topic ch close?]), :doc "Subscribes a channel to a topic of a pub.\n\n By default the channel will be closed when the source closes,\n but can be determined by the close? parameter."}, ->t_cljs$core$async43363 {:protocol-inline nil, :meta {:anonymous true, :protocols #{cljs.core.async/Pub cljs.core/IMeta cljs.core.async/Mux cljs.core/IWithMeta}, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}, :factory :positional, :arglists (quote ([ch topic-fn buf-fn mults ensure-mult meta43364])), :file nil}, :protocols #{cljs.core.async/Pub cljs.core/IMeta cljs.core.async/Mux cljs.core/IWithMeta}, :name cljs.core.async/->t_cljs$core$async43363, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :method-params ([ch topic-fn buf-fn mults ensure-mult meta43364]), :protocol-impl nil, :arglists-meta (nil nil), :anonymous true, :column 14, :factory :positional, :line 633, :max-fixed-arity 6, :fn-var true, :arglists (quote ([ch topic-fn buf-fn mults ensure-mult meta43364])), :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, alt-flag {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 153, :column 8, :end-line 153, :end-column 16, :private true, :arglists (quote ([]))}, :private true, :name cljs.core.async/alt-flag, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 16, :method-params ([]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 153, :end-line 153, :max-fixed-arity 0, :fn-var true, :arglists (quote ([]))}, map> {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 788, :column 7, :end-line 788, :end-column 11, :arglists (quote ([f ch])), :doc "Deprecated - this function will be removed. Use transducer instead"}, :name cljs.core.async/map>, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 11, :method-params ([f ch]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 788, :end-line 788, :max-fixed-arity 2, :fn-var true, :arglists (quote ([f ch])), :doc "Deprecated - this function will be removed. Use transducer instead"}, pipeline* {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 256, :column 8, :end-line 256, :end-column 17, :private true, :arglists (quote ([n to xf from close? ex-handler type]))}, :private true, :name cljs.core.async/pipeline*, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 17, :method-params ([n to xf from close? ex-handler type]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 256, :end-line 256, :max-fixed-arity 7, :fn-var true, :arglists (quote ([n to xf from close? ex-handler type]))}, pipe {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 240, :column 7, :end-line 240, :end-column 11, :arglists (quote ([from to] [from to close?])), :doc "Takes elements from the from channel and supplies them to the to\n channel. By default, the to channel will be closed when the from\n channel closes, but can be determined by the close? parameter. Will\n stop consuming the from channel if the to channel closes", :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([from to] [from to close?]), :arglists ([from to] [from to close?]), :arglists-meta (nil nil)}}, :name cljs.core.async/pipe, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 11, :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([from to] [from to close?]), :arglists ([from to] [from to close?]), :arglists-meta (nil nil)}, :method-params ([from to] [from to close?]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 240, :end-line 240, :max-fixed-arity 3, :fn-var true, :arglists ([from to] [from to close?]), :doc "Takes elements from the from channel and supplies them to the to\n channel. By default, the to channel will be closed when the from\n channel closes, but can be determined by the close? parameter. Will\n stop consuming the from channel if the to channel closes"}, t_cljs$core$async43735 {:num-fields 3, :protocols #{cljs.core.async.impl.protocols/Channel cljs.core.async.impl.protocols/WritePort cljs.core.async.impl.protocols/ReadPort cljs.core/IMeta cljs.core/IWithMeta}, :name cljs.core.async/t_cljs$core$async43735, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :type true, :anonymous true, :column 3, :line 764, :record false, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, unmix {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 571, :column 7, :end-line 571, :end-column 12, :arglists (quote ([mix ch])), :doc "Removes ch as an input to the mix"}, :name cljs.core.async/unmix, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 12, :method-params ([mix ch]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 571, :end-line 571, :max-fixed-arity 2, :fn-var true, :arglists (quote ([mix ch])), :doc "Removes ch as an input to the mix"}, t_cljs$core$async42332 {:num-fields 2, :protocols #{cljs.core.async.impl.protocols/Handler cljs.core/IMeta cljs.core/IWithMeta}, :name cljs.core.async/t_cljs$core$async42332, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :type true, :anonymous true, :column 5, :line 155, :record false, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, filter< {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 824, :column 7, :end-line 824, :end-column 14, :arglists (quote ([p ch] [p ch buf-or-n])), :doc "Deprecated - this function will be removed. Use transducer instead", :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([p ch] [p ch buf-or-n]), :arglists ([p ch] [p ch buf-or-n]), :arglists-meta (nil nil)}}, :name cljs.core.async/filter<, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 14, :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([p ch] [p ch buf-or-n]), :arglists ([p ch] [p ch buf-or-n]), :arglists-meta (nil nil)}, :method-params ([p ch] [p ch buf-or-n]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 824, :end-line 824, :max-fixed-arity 3, :fn-var true, :arglists ([p ch] [p ch buf-or-n]), :doc "Deprecated - this function will be removed. Use transducer instead"}, sub* {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 600, :column 4, :end-line 600, :end-column 8, :protocol cljs.core.async/Pub, :doc nil, :arglists (quote ([p v ch close?]))}, :protocol cljs.core.async/Pub, :name cljs.core.async/sub*, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 8, :method-params ([p v ch close?]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 599, :end-line 600, :max-fixed-arity 4, :fn-var true, :arglists (quote ([p v ch close?])), :doc nil}, remove< {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 838, :column 7, :end-line 838, :end-column 14, :arglists (quote ([p ch] [p ch buf-or-n])), :doc "Deprecated - this function will be removed. Use transducer instead", :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([p ch] [p ch buf-or-n]), :arglists ([p ch] [p ch buf-or-n]), :arglists-meta (nil nil)}}, :name cljs.core.async/remove<, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 14, :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([p ch] [p ch buf-or-n]), :arglists ([p ch] [p ch buf-or-n]), :arglists-meta (nil nil)}, :method-params ([p ch] [p ch buf-or-n]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 838, :end-line 838, :max-fixed-arity 3, :fn-var true, :arglists ([p ch] [p ch buf-or-n]), :doc "Deprecated - this function will be removed. Use transducer instead"}, untap* {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 415, :column 4, :end-line 415, :end-column 10, :protocol cljs.core.async/Mult, :doc nil, :arglists (quote ([m ch]))}, :protocol cljs.core.async/Mult, :name cljs.core.async/untap*, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 10, :method-params ([m ch]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 413, :end-line 415, :max-fixed-arity 2, :fn-var true, :arglists (quote ([m ch])), :doc nil}, toggle {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 581, :column 7, :end-line 581, :end-column 13, :arglists (quote ([mix state-map])), :doc "Atomically sets the state(s) of one or more channels in a mix. The\n state map is a map of channels -> channel-state-map. A\n channel-state-map is a map of attrs -> boolean, where attr is one or\n more of :mute, :pause or :solo. Any states supplied are merged with\n the current state.\n\n Note that channels can be added to a mix via toggle, which can be\n used to add channels in a particular (e.g. paused) state."}, :name cljs.core.async/toggle, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 13, :method-params ([mix state-map]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 581, :end-line 581, :max-fixed-arity 2, :fn-var true, :arglists (quote ([mix state-map])), :doc "Atomically sets the state(s) of one or more channels in a mix. The\n state map is a map of channels -> channel-state-map. A\n channel-state-map is a map of attrs -> boolean, where attr is one or\n more of :mute, :pause or :solo. Any states supplied are merged with\n the current state.\n\n Note that channels can be added to a mix via toggle, which can be\n used to add channels in a particular (e.g. paused) state."}, untap-all* {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 416, :column 4, :end-line 416, :end-column 14, :protocol cljs.core.async/Mult, :doc nil, :arglists (quote ([m]))}, :protocol cljs.core.async/Mult, :name cljs.core.async/untap-all*, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 14, :method-params ([m]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 413, :end-line 416, :max-fixed-arity 1, :fn-var true, :arglists (quote ([m])), :doc nil}, ->t_cljs$core$async43144 {:protocol-inline nil, :meta {:anonymous true, :protocols #{cljs.core/IMeta cljs.core.async/Mix cljs.core.async/Mux cljs.core/IWithMeta}, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}, :factory :positional, :arglists (quote ([out cs solo-modes attrs solo-mode change changed pick calc-state meta43145])), :file nil}, :protocols #{cljs.core/IMeta cljs.core.async/Mix cljs.core.async/Mux cljs.core/IWithMeta}, :name cljs.core.async/->t_cljs$core$async43144, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :method-params ([out cs solo-modes attrs solo-mode change changed pick calc-state meta43145]), :protocol-impl nil, :arglists-meta (nil nil), :anonymous true, :column 11, :factory :positional, :line 541, :max-fixed-arity 10, :fn-var true, :arglists (quote ([out cs solo-modes attrs solo-mode change changed pick calc-state meta43145])), :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, sliding-buffer {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 32, :column 7, :end-line 32, :end-column 21, :arglists (quote ([n])), :doc "Returns a buffer of size n. When full, puts will complete, and be\n buffered, but oldest elements in buffer will be dropped (not\n transferred)."}, :name cljs.core.async/sliding-buffer, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 21, :method-params ([n]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 32, :end-line 32, :max-fixed-arity 1, :fn-var true, :arglists (quote ([n])), :doc "Returns a buffer of size n. When full, puts will complete, and be\n buffered, but oldest elements in buffer will be dropped (not\n transferred)."}, partition {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 885, :column 7, :end-line 885, :end-column 16, :arglists (quote ([n ch] [n ch buf-or-n])), :doc "Deprecated - this function will be removed. Use transducer instead", :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([n ch] [n ch buf-or-n]), :arglists ([n ch] [n ch buf-or-n]), :arglists-meta (nil nil)}}, :name cljs.core.async/partition, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 16, :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([n ch] [n ch buf-or-n]), :arglists ([n ch] [n ch buf-or-n]), :arglists-meta (nil nil)}, :method-params ([n ch] [n ch buf-or-n]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 885, :end-line 885, :max-fixed-arity 3, :fn-var true, :arglists ([n ch] [n ch buf-or-n]), :doc "Deprecated - this function will be removed. Use transducer instead"}, t_cljs$core$async43744 {:num-fields 3, :protocols #{cljs.core.async.impl.protocols/Channel cljs.core.async.impl.protocols/WritePort cljs.core.async.impl.protocols/ReadPort cljs.core/IMeta cljs.core/IWithMeta}, :name cljs.core.async/t_cljs$core$async43744, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :type true, :anonymous true, :column 3, :line 805, :record false, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, ->t_cljs$core$async42335 {:protocol-inline nil, :meta {:anonymous true, :protocols #{cljs.core.async.impl.protocols/Handler cljs.core/IMeta cljs.core/IWithMeta}, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}, :factory :positional, :arglists (quote ([flag cb meta42336])), :file nil}, :protocols #{cljs.core.async.impl.protocols/Handler cljs.core/IMeta cljs.core/IWithMeta}, :name cljs.core.async/->t_cljs$core$async42335, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :method-params ([flag cb meta42336]), :protocol-impl nil, :arglists-meta (nil nil), :anonymous true, :column 3, :factory :positional, :line 164, :max-fixed-arity 3, :fn-var true, :arglists (quote ([flag cb meta42336])), :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, Mult {:meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 413, :column 14, :end-line 413, :end-column 18, :doc nil, :protocol-symbol true, :jsdoc ("@interface"), :protocol-info {:methods {tap* [[m ch close?]], untap* [[m ch]], untap-all* [[m]]}}}, :protocol-symbol true, :name cljs.core.async/Mult, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 18, :column 1, :line 413, :protocol-info {:methods {tap* [[m ch close?]], untap* [[m ch]], untap-all* [[m]]}}, :info nil, :end-line 413, :tag any, :impls #{cljs.core.async/t_cljs$core$async42846}, :doc nil, :jsdoc ("@interface")}, merge {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 716, :column 7, :end-line 716, :end-column 12, :arglists (quote ([chs] [chs buf-or-n])), :doc "Takes a collection of source channels and returns a channel which\n contains all values taken from them. The returned channel will be\n unbuffered by default, or a buf-or-n can be supplied. The channel\n will close after all the source channels have closed.", :top-fn {:variadic false, :max-fixed-arity 2, :method-params ([chs] [chs buf-or-n]), :arglists ([chs] [chs buf-or-n]), :arglists-meta (nil nil)}}, :name cljs.core.async/merge, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 12, :top-fn {:variadic false, :max-fixed-arity 2, :method-params ([chs] [chs buf-or-n]), :arglists ([chs] [chs buf-or-n]), :arglists-meta (nil nil)}, :method-params ([chs] [chs buf-or-n]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 716, :end-line 716, :max-fixed-arity 2, :fn-var true, :arglists ([chs] [chs buf-or-n]), :doc "Takes a collection of source channels and returns a channel which\n contains all values taken from them. The returned channel will be\n unbuffered by default, or a buf-or-n can be supplied. The channel\n will close after all the source channels have closed."}, partition-by {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 907, :column 7, :end-line 907, :end-column 19, :arglists (quote ([f ch] [f ch buf-or-n])), :doc "Deprecated - this function will be removed. Use transducer instead", :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([f ch] [f ch buf-or-n]), :arglists ([f ch] [f ch buf-or-n]), :arglists-meta (nil nil)}}, :name cljs.core.async/partition-by, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 19, :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([f ch] [f ch buf-or-n]), :arglists ([f ch] [f ch buf-or-n]), :arglists-meta (nil nil)}, :method-params ([f ch] [f ch buf-or-n]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 907, :end-line 907, :max-fixed-arity 3, :fn-var true, :arglists ([f ch] [f ch buf-or-n]), :doc "Deprecated - this function will be removed. Use transducer instead"}, unsub-all {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 672, :column 7, :end-line 672, :end-column 16, :arglists (quote ([p] [p topic])), :doc "Unsubscribes all channels from a pub, or a topic of a pub", :top-fn {:variadic false, :max-fixed-arity 2, :method-params ([p] [p topic]), :arglists ([p] [p topic]), :arglists-meta (nil nil)}}, :name cljs.core.async/unsub-all, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 16, :top-fn {:variadic false, :max-fixed-arity 2, :method-params ([p] [p topic]), :arglists ([p] [p topic]), :arglists-meta (nil nil)}, :method-params ([p] [p topic]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 672, :end-line 672, :max-fixed-arity 2, :fn-var true, :arglists ([p] [p topic]), :doc "Unsubscribes all channels from a pub, or a topic of a pub"}, >! {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 108, :column 7, :end-line 108, :end-column 9, :arglists (quote ([port val])), :doc "puts a val into port. nil values are not allowed. Must be called\n inside a (go ...) block. Will park if no buffer space is available.\n Returns true unless port is already closed."}, :name cljs.core.async/>!, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 9, :method-params ([port val]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 108, :end-line 108, :max-fixed-arity 2, :fn-var true, :arglists (quote ([port val])), :doc "puts a val into port. nil values are not allowed. Must be called\n inside a (go ...) block. Will park if no buffer space is available.\n Returns true unless port is already closed."}, ->t_cljs$core$async42846 {:protocol-inline nil, :meta {:anonymous true, :protocols #{cljs.core.async/Mult cljs.core/IMeta cljs.core.async/Mux cljs.core/IWithMeta}, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}, :factory :positional, :arglists (quote ([ch cs meta42847])), :file nil}, :protocols #{cljs.core.async/Mult cljs.core/IMeta cljs.core.async/Mux cljs.core/IWithMeta}, :name cljs.core.async/->t_cljs$core$async42846, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :method-params ([ch cs meta42847]), :protocol-impl nil, :arglists-meta (nil nil), :anonymous true, :column 11, :factory :positional, :line 432, :max-fixed-arity 3, :fn-var true, :arglists (quote ([ch cs meta42847])), :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, unmix-all* {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 481, :column 4, :end-line 481, :end-column 14, :protocol cljs.core.async/Mix, :doc nil, :arglists (quote ([m]))}, :protocol cljs.core.async/Mix, :name cljs.core.async/unmix-all*, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 14, :method-params ([m]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 478, :end-line 481, :max-fixed-arity 1, :fn-var true, :arglists (quote ([m])), :doc nil}, nop {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 105, :column 8, :end-line 105, :end-column 11, :private true, :arglists (quote ([_]))}, :private true, :name cljs.core.async/nop, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 11, :method-params ([_]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 105, :end-line 105, :max-fixed-arity 1, :fn-var true, :arglists (quote ([_]))}, split {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 338, :column 7, :end-line 338, :end-column 12, :arglists (quote ([p ch] [p ch t-buf-or-n f-buf-or-n])), :doc "Takes a predicate and a source channel and returns a vector of two\n channels, the first of which will contain the values for which the\n predicate returned true, the second those for which it returned\n false.\n\n The out channels will be unbuffered by default, or two buf-or-ns can\n be supplied. The channels will close after the source channel has\n closed.", :top-fn {:variadic false, :max-fixed-arity 4, :method-params ([p ch] [p ch t-buf-or-n f-buf-or-n]), :arglists ([p ch] [p ch t-buf-or-n f-buf-or-n]), :arglists-meta (nil nil)}}, :name cljs.core.async/split, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 12, :top-fn {:variadic false, :max-fixed-arity 4, :method-params ([p ch] [p ch t-buf-or-n f-buf-or-n]), :arglists ([p ch] [p ch t-buf-or-n f-buf-or-n]), :arglists-meta (nil nil)}, :method-params ([p ch] [p ch t-buf-or-n f-buf-or-n]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 338, :end-line 338, :max-fixed-arity 4, :fn-var true, :arglists ([p ch] [p ch t-buf-or-n f-buf-or-n]), :doc "Takes a predicate and a source channel and returns a vector of two\n channels, the first of which will contain the values for which the\n predicate returned true, the second those for which it returned\n false.\n\n The out channels will be unbuffered by default, or two buf-or-ns can\n be supplied. The channels will close after the source channel has\n closed."}, unmix-all {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 576, :column 7, :end-line 576, :end-column 16, :arglists (quote ([mix])), :doc "removes all inputs from the mix"}, :name cljs.core.async/unmix-all, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 16, :method-params ([mix]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 576, :end-line 576, :max-fixed-arity 1, :fn-var true, :arglists (quote ([mix])), :doc "removes all inputs from the mix"}, filter> {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 802, :column 7, :end-line 802, :end-column 14, :arglists (quote ([p ch])), :doc "Deprecated - this function will be removed. Use transducer instead"}, :name cljs.core.async/filter>, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 14, :method-params ([p ch]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 802, :end-line 802, :max-fixed-arity 2, :fn-var true, :arglists (quote ([p ch])), :doc "Deprecated - this function will be removed. Use transducer instead"}, tap* {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 414, :column 4, :end-line 414, :end-column 8, :protocol cljs.core.async/Mult, :doc nil, :arglists (quote ([m ch close?]))}, :protocol cljs.core.async/Mult, :name cljs.core.async/tap*, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 8, :method-params ([m ch close?]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 413, :end-line 414, :max-fixed-arity 3, :fn-var true, :arglists (quote ([m ch close?])), :doc nil}, t_cljs$core$async43741 {:num-fields 3, :protocols #{cljs.core.async.impl.protocols/Channel cljs.core.async.impl.protocols/WritePort cljs.core.async.impl.protocols/ReadPort cljs.core/IMeta cljs.core/IWithMeta}, :name cljs.core.async/t_cljs$core$async43741, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :type true, :anonymous true, :column 3, :line 791, :record false, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, untap {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 469, :column 7, :end-line 469, :end-column 12, :arglists (quote ([mult ch])), :doc "Disconnects a target channel from a mult"}, :name cljs.core.async/untap, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 12, :method-params ([mult ch]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 469, :end-line 469, :max-fixed-arity 2, :fn-var true, :arglists (quote ([mult ch])), :doc "Disconnects a target channel from a mult"}, alt-handler {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 163, :column 8, :end-line 163, :end-column 19, :private true, :arglists (quote ([flag cb]))}, :private true, :name cljs.core.async/alt-handler, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 19, :method-params ([flag cb]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 163, :end-line 163, :max-fixed-arity 2, :fn-var true, :arglists (quote ([flag cb]))}, alts! {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 198, :column 7, :end-line 198, :end-column 12, :arglists (quote ([ports & {:as opts}])), :doc "Completes at most one of several channel operations. Must be called\n inside a (go ...) block. ports is a vector of channel endpoints,\n which can be either a channel to take from or a vector of\n [channel-to-put-to val-to-put], in any combination. Takes will be\n made as if by !. Unless\n the :priority option is true, if more than one port operation is\n ready a non-deterministic choice will be made. If no operation is\n ready and a :default value is supplied, [default-val :default] will\n be returned, otherwise alts! will park until the first operation to\n become ready completes. Returns [val port] of the completed\n operation, where val is the value taken for takes, and a\n boolean (true unless already closed, as per put!) for puts.\n\n opts are passed as :key val ... Supported options:\n\n :default val - the value to use if none of the operations are immediately ready\n :priority true - (default nil) when true, the operations will be tried in order.\n\n Note: there is no guarantee that the port exps or val exprs will be\n used, nor in what order should they be, so they should not be\n depended upon for side effects.", :top-fn {:variadic true, :max-fixed-arity 1, :method-params [(ports {:as opts})], :arglists ([ports & {:as opts}]), :arglists-meta (nil)}}, :name cljs.core.async/alts!, :variadic true, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 12, :top-fn {:variadic true, :max-fixed-arity 1, :method-params [(ports {:as opts})], :arglists ([ports & {:as opts}]), :arglists-meta (nil)}, :method-params [(ports {:as opts})], :protocol-impl nil, :arglists-meta (nil), :column 1, :line 198, :end-line 198, :max-fixed-arity 1, :fn-var true, :arglists ([ports & {:as opts}]), :doc "Completes at most one of several channel operations. Must be called\n inside a (go ...) block. ports is a vector of channel endpoints,\n which can be either a channel to take from or a vector of\n [channel-to-put-to val-to-put], in any combination. Takes will be\n made as if by !. Unless\n the :priority option is true, if more than one port operation is\n ready a non-deterministic choice will be made. If no operation is\n ready and a :default value is supplied, [default-val :default] will\n be returned, otherwise alts! will park until the first operation to\n become ready completes. Returns [val port] of the completed\n operation, where val is the value taken for takes, and a\n boolean (true unless already closed, as per put!) for puts.\n\n opts are passed as :key val ... Supported options:\n\n :default val - the value to use if none of the operations are immediately ready\n :priority true - (default nil) when true, the operations will be tried in order.\n\n Note: there is no guarantee that the port exps or val exprs will be\n used, nor in what order should they be, so they should not be\n depended upon for side effects."}, ->t_cljs$core$async42310 {:protocol-inline nil, :meta {:anonymous true, :protocols #{cljs.core.async.impl.protocols/Handler cljs.core/IMeta cljs.core/IWithMeta}, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}, :factory :positional, :arglists (quote ([f blockable meta42311])), :file nil}, :protocols #{cljs.core.async.impl.protocols/Handler cljs.core/IMeta cljs.core/IWithMeta}, :name cljs.core.async/->t_cljs$core$async42310, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :method-params ([f blockable meta42311]), :protocol-impl nil, :arglists-meta (nil nil), :anonymous true, :column 4, :factory :positional, :line 15, :max-fixed-arity 3, :fn-var true, :arglists (quote ([f blockable meta42311])), :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, unsub {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 667, :column 7, :end-line 667, :end-column 12, :arglists (quote ([p topic ch])), :doc "Unsubscribes a channel from a topic of a pub"}, :name cljs.core.async/unsub, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 12, :method-params ([p topic ch]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 667, :end-line 667, :max-fixed-arity 3, :fn-var true, :arglists (quote ([p topic ch])), :doc "Unsubscribes a channel from a topic of a pub"}, poll! {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 231, :column 7, :end-line 231, :end-column 12, :arglists (quote ([port])), :doc "Takes a val from port if it's possible to do so immediately.\n Never blocks. Returns value if successful, nil otherwise."}, :name cljs.core.async/poll!, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 12, :method-params ([port]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 231, :end-line 231, :max-fixed-arity 1, :fn-var true, :arglists (quote ([port])), :doc "Takes a val from port if it's possible to do so immediately.\n Never blocks. Returns value if successful, nil otherwise."}, ->t_cljs$core$async43741 {:protocol-inline nil, :meta {:anonymous true, :protocols #{cljs.core.async.impl.protocols/Channel cljs.core.async.impl.protocols/WritePort cljs.core.async.impl.protocols/ReadPort cljs.core/IMeta cljs.core/IWithMeta}, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}, :factory :positional, :arglists (quote ([f ch meta43742])), :file nil}, :protocols #{cljs.core.async.impl.protocols/Channel cljs.core.async.impl.protocols/WritePort cljs.core.async.impl.protocols/ReadPort cljs.core/IMeta cljs.core/IWithMeta}, :name cljs.core.async/->t_cljs$core$async43741, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :method-params ([f ch meta43742]), :protocol-impl nil, :arglists-meta (nil nil), :anonymous true, :column 3, :factory :positional, :line 791, :max-fixed-arity 3, :fn-var true, :arglists (quote ([f ch meta43742])), :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}, map< {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 761, :column 7, :end-line 761, :end-column 11, :arglists (quote ([f ch])), :doc "Deprecated - this function will be removed. Use transducer instead"}, :name cljs.core.async/map<, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 11, :method-params ([f ch]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 761, :end-line 761, :max-fixed-arity 2, :fn-var true, :arglists (quote ([f ch])), :doc "Deprecated - this function will be removed. Use transducer instead"}, fn-handler {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 12, :column 8, :end-line 12, :end-column 18, :private true, :arglists (quote ([f] [f blockable])), :top-fn {:variadic false, :max-fixed-arity 2, :method-params ([f] [f blockable]), :arglists ([f] [f blockable]), :arglists-meta (nil nil)}}, :private true, :name cljs.core.async/fn-handler, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 18, :top-fn {:variadic false, :max-fixed-arity 2, :method-params ([f] [f blockable]), :arglists ([f] [f blockable]), :arglists-meta (nil nil)}, :method-params ([f] [f blockable]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 12, :end-line 12, :max-fixed-arity 2, :fn-var true, :arglists ([f] [f blockable])}, do-alts {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 172, :column 7, :end-line 172, :end-column 14, :arglists (quote ([fret ports opts])), :doc "returns derefable [val port] if immediate, nil if enqueued"}, :name cljs.core.async/do-alts, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 14, :method-params ([fret ports opts]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 172, :end-line 172, :max-fixed-arity 3, :fn-var true, :arglists (quote ([fret ports opts])), :doc "returns derefable [val port] if immediate, nil if enqueued"}, random-array {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 139, :column 8, :end-line 139, :end-column 20, :private true, :arglists (quote ([n]))}, :private true, :name cljs.core.async/random-array, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 20, :method-params ([n]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 139, :end-line 139, :max-fixed-arity 1, :fn-var true, :arglists (quote ([n]))}, pipeline-async {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 306, :column 7, :end-line 306, :end-column 21, :arglists (quote ([n to af from] [n to af from close?])), :doc "Takes elements from the from channel and supplies them to the to\n channel, subject to the async function af, with parallelism n. af\n must be a function of two arguments, the first an input value and\n the second a channel on which to place the result(s). af must close!\n the channel before returning. The presumption is that af will\n return immediately, having launched some asynchronous operation\n whose completion/callback will manipulate the result channel. Outputs\n will be returned in order relative to the inputs. By default, the to\n channel will be closed when the from channel closes, but can be\n determined by the close? parameter. Will stop consuming the from\n channel if the to channel closes.", :top-fn {:variadic false, :max-fixed-arity 5, :method-params ([n to af from] [n to af from close?]), :arglists ([n to af from] [n to af from close?]), :arglists-meta (nil nil)}}, :name cljs.core.async/pipeline-async, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 21, :top-fn {:variadic false, :max-fixed-arity 5, :method-params ([n to af from] [n to af from close?]), :arglists ([n to af from] [n to af from close?]), :arglists-meta (nil nil)}, :method-params ([n to af from] [n to af from close?]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 306, :end-line 306, :max-fixed-arity 5, :fn-var true, :arglists ([n to af from] [n to af from close?]), :doc "Takes elements from the from channel and supplies them to the to\n channel, subject to the async function af, with parallelism n. af\n must be a function of two arguments, the first an input value and\n the second a channel on which to place the result(s). af must close!\n the channel before returning. The presumption is that af will\n return immediately, having launched some asynchronous operation\n whose completion/callback will manipulate the result channel. Outputs\n will be returned in order relative to the inputs. By default, the to\n channel will be closed when the from channel closes, but can be\n determined by the close? parameter. Will stop consuming the from\n channel if the to channel closes."}, Mix {:meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 478, :column 14, :end-line 478, :end-column 17, :doc nil, :protocol-symbol true, :jsdoc ("@interface"), :protocol-info {:methods {admix* [[m ch]], unmix* [[m ch]], unmix-all* [[m]], toggle* [[m state-map]], solo-mode* [[m mode]]}}}, :protocol-symbol true, :name cljs.core.async/Mix, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 17, :column 1, :line 478, :protocol-info {:methods {admix* [[m ch]], unmix* [[m ch]], unmix-all* [[m]], toggle* [[m state-map]], solo-mode* [[m mode]]}}, :info nil, :end-line 478, :tag any, :impls #{cljs.core.async/t_cljs$core$async43144}, :doc nil, :jsdoc ("@interface")}, toggle* {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 482, :column 4, :end-line 482, :end-column 11, :protocol cljs.core.async/Mix, :doc nil, :arglists (quote ([m state-map]))}, :protocol cljs.core.async/Mix, :name cljs.core.async/toggle*, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 11, :method-params ([m state-map]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 478, :end-line 482, :max-fixed-arity 2, :fn-var true, :arglists (quote ([m state-map])), :doc nil}, mult {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 418, :column 7, :end-line 418, :end-column 11, :arglists (quote ([ch])), :doc "Creates and returns a mult(iple) of the supplied channel. Channels\n containing copies of the channel can be created with 'tap', and\n detached with 'untap'.\n\n Each item is distributed to all taps in parallel and synchronously,\n i.e. each tap must accept before the next item is distributed. Use\n buffering/windowing to prevent slow taps from holding up the mult.\n\n Items received when there are no taps get dropped.\n\n If a tap puts to a closed channel, it will be removed from the mult."}, :name cljs.core.async/mult, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 11, :method-params ([ch]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 418, :end-line 418, :max-fixed-arity 1, :fn-var true, :arglists (quote ([ch])), :doc "Creates and returns a mult(iple) of the supplied channel. Channels\n containing copies of the channel can be created with 'tap', and\n detached with 'untap'.\n\n Each item is distributed to all taps in parallel and synchronously,\n i.e. each tap must accept before the next item is distributed. Use\n buffering/windowing to prevent slow taps from holding up the mult.\n\n Items received when there are no taps get dropped.\n\n If a tap puts to a closed channel, it will be removed from the mult."}, mapcat< {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 853, :column 7, :end-line 853, :end-column 14, :arglists (quote ([f in] [f in buf-or-n])), :doc "Deprecated - this function will be removed. Use transducer instead", :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([f in] [f in buf-or-n]), :arglists ([f in] [f in buf-or-n]), :arglists-meta (nil nil)}}, :name cljs.core.async/mapcat<, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 14, :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([f in] [f in buf-or-n]), :arglists ([f in] [f in buf-or-n]), :arglists-meta (nil nil)}, :method-params ([f in] [f in buf-or-n]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 853, :end-line 853, :max-fixed-arity 3, :fn-var true, :arglists ([f in] [f in buf-or-n]), :doc "Deprecated - this function will be removed. Use transducer instead"}, ioc-alts! {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 485, :column 7, :end-line 485, :end-column 16, :arglists (quote ([state cont-block ports & {:as opts}])), :top-fn {:variadic true, :max-fixed-arity 3, :method-params [(state cont-block ports {:as opts})], :arglists ([state cont-block ports & {:as opts}]), :arglists-meta (nil)}}, :name cljs.core.async/ioc-alts!, :variadic true, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 16, :top-fn {:variadic true, :max-fixed-arity 3, :method-params [(state cont-block ports {:as opts})], :arglists ([state cont-block ports & {:as opts}]), :arglists-meta (nil)}, :method-params [(state cont-block ports {:as opts})], :protocol-impl nil, :arglists-meta (nil), :column 1, :line 485, :end-line 485, :max-fixed-arity 3, :fn-var true, :arglists ([state cont-block ports & {:as opts}])}, unblocking-buffer? {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 39, :column 7, :end-line 39, :end-column 25, :arglists (quote ([buff])), :doc "Returns true if a channel created with buff will never block. That is to say,\n puts into this buffer will never cause the buffer to be full. "}, :name cljs.core.async/unblocking-buffer?, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 25, :method-params ([buff]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 39, :end-line 39, :max-fixed-arity 1, :fn-var true, :arglists (quote ([buff])), :doc "Returns true if a channel created with buff will never block. That is to say,\n puts into this buffer will never cause the buffer to be full. "}, put! {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 115, :column 7, :end-line 115, :end-column 11, :arglists (quote ([port val] [port val fn1] [port val fn1 on-caller?])), :doc "Asynchronously puts a val into port, calling fn0 (if supplied) when\n complete. nil values are not allowed. Will throw if closed. If\n on-caller? (default true) is true, and the put is immediately\n accepted, will call fn0 on calling thread. Returns nil.", :top-fn {:variadic false, :max-fixed-arity 4, :method-params ([port val] [port val fn1] [port val fn1 on-caller?]), :arglists ([port val] [port val fn1] [port val fn1 on-caller?]), :arglists-meta (nil nil nil)}}, :name cljs.core.async/put!, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 11, :top-fn {:variadic false, :max-fixed-arity 4, :method-params ([port val] [port val fn1] [port val fn1 on-caller?]), :arglists ([port val] [port val fn1] [port val fn1 on-caller?]), :arglists-meta (nil nil nil)}, :method-params ([port val] [port val fn1] [port val fn1 on-caller?]), :protocol-impl nil, :arglists-meta (nil nil nil), :column 1, :line 115, :end-line 115, :max-fixed-arity 4, :fn-var true, :arglists ([port val] [port val fn1] [port val fn1 on-caller?]), :doc "Asynchronously puts a val into port, calling fn0 (if supplied) when\n complete. nil values are not allowed. Will throw if closed. If\n on-caller? (default true) is true, and the put is immediately\n accepted, will call fn0 on calling thread. Returns nil."}, take! {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/core/async.cljs", :line 90, :column 7, :end-line 90, :end-column 12, :arglists (quote ([port fn1] [port fn1 on-caller?])), :doc "Asynchronously takes a val from port, passing to fn1. Will pass nil\n if closed. If on-caller? (default true) is true, and value is\n immediately available, will call fn1 on calling thread.\n Returns nil.", :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([port fn1] [port fn1 on-caller?]), :arglists ([port fn1] [port fn1 on-caller?]), :arglists-meta (nil nil)}}, :name cljs.core.async/take!, :variadic false, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :end-column 12, :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([port fn1] [port fn1 on-caller?]), :arglists ([port fn1] [port fn1 on-caller?]), :arglists-meta (nil nil)}, :method-params ([port fn1] [port fn1 on-caller?]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 90, :end-line 90, :max-fixed-arity 3, :fn-var true, :arglists ([port fn1] [port fn1 on-caller?]), :doc "Asynchronously takes a val from port, passing to fn1. Will pass nil\n if closed. If on-caller? (default true) is true, and value is\n immediately available, will call fn1 on calling thread.\n Returns nil."}, t_cljs$core$async43144 {:num-fields 10, :protocols #{cljs.core/IMeta cljs.core.async/Mix cljs.core.async/Mux cljs.core/IWithMeta}, :name cljs.core.async/t_cljs$core$async43144, :file "target/cljsbuild/public/js/out/cljs/core/async.cljs", :type true, :anonymous true, :column 11, :line 541, :record false, :skip-protocol-flag #{cljs.core/IMeta cljs.core/IWithMeta}}}, :cljs.spec/registry-ref [], :require-macros {ioc cljs.core.async.impl.ioc-macros, cljs.core.async.impl.ioc-macros cljs.core.async.impl.ioc-macros, cljs.core.async.macros cljs.core.async.macros}, :cljs.analyzer/constants {:seen #{:async change p :mutes blockable :solo meta42847 :cljs.core.async/nothing meta42333 :else :default cb buf-fn solo-mode :compute mults fn1 :recur _ meta42311 cljs.core.async/t_cljs$core$async43735 pick flag ensure-mult cs meta43742 :priority :solos meta43736 ch calc-state :pause topic-fn :tag out meta42336 meta43145 changed solo-modes meta43364 meta43745 meta43739 :mute attrs :reads f}, :order [f blockable meta42311 flag meta42333 cb meta42336 :priority :default :recur :else :async :compute ch cs meta42847 :pause :mute :solo :solos :mutes :reads out solo-modes attrs solo-mode change changed pick calc-state meta43145 topic-fn buf-fn mults ensure-mult meta43364 meta43736 _ :tag cljs.core.async/t_cljs$core$async43735 fn1 meta43739 meta43742 p meta43745 :cljs.core.async/nothing]}, :doc nil}