mini-program-cljs
Version:
1 lines • 110 kB
JSON
["^ ","~:output",["^ ","~:js","goog.provide('shadow.cljs.devtools.client.env');\ngoog.require('cljs.core');\ngoog.require('goog.object');\ngoog.require('clojure.string');\ngoog.require('cljs.tools.reader');\ngoog.require('cljs.pprint');\ngoog.require('clojure.set');\nif((typeof shadow !== 'undefined') && (typeof shadow.cljs !== 'undefined') && (typeof shadow.cljs.devtools !== 'undefined') && (typeof shadow.cljs.devtools.client !== 'undefined') && (typeof shadow.cljs.devtools.client.env !== 'undefined') && (typeof shadow.cljs.devtools.client.env.active_modules_ref !== 'undefined')){\n} else {\nshadow.cljs.devtools.client.env.active_modules_ref = cljs.core.volatile_BANG_(cljs.core.PersistentHashSet.EMPTY);\n}\nshadow.cljs.devtools.client.env.module_loaded = (function shadow$cljs$devtools$client$env$module_loaded(name){\nreturn shadow.cljs.devtools.client.env.active_modules_ref.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(shadow.cljs.devtools.client.env.active_modules_ref.cljs$core$IDeref$_deref$arity$1(null),cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(name)));\n});\nshadow.cljs.devtools.client.env.module_is_active_QMARK_ = (function shadow$cljs$devtools$client$env$module_is_active_QMARK_(module){\nreturn cljs.core.contains_QMARK_(cljs.core.deref(shadow.cljs.devtools.client.env.active_modules_ref),module);\n});\nif((typeof shadow !== 'undefined') && (typeof shadow.cljs !== 'undefined') && (typeof shadow.cljs.devtools !== 'undefined') && (typeof shadow.cljs.devtools.client !== 'undefined') && (typeof shadow.cljs.devtools.client.env !== 'undefined') && (typeof shadow.cljs.devtools.client.env.runtime_id !== 'undefined')){\n} else {\nshadow.cljs.devtools.client.env.runtime_id = cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.random_uuid());\n}\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.enabled = goog.define(\"shadow.cljs.devtools.client.env.enabled\",false);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.autoload = goog.define(\"shadow.cljs.devtools.client.env.autoload\",true);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.module_format = goog.define(\"shadow.cljs.devtools.client.env.module_format\",\"goog\");\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.reload_with_state = goog.define(\"shadow.cljs.devtools.client.env.reload_with_state\",false);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.build_id = goog.define(\"shadow.cljs.devtools.client.env.build_id\",\"\");\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.proc_id = goog.define(\"shadow.cljs.devtools.client.env.proc_id\",\"\");\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.server_host = goog.define(\"shadow.cljs.devtools.client.env.server_host\",\"\");\n/**\n * @define {number}\n */\nshadow.cljs.devtools.client.env.server_port = goog.define(\"shadow.cljs.devtools.client.env.server_port\",(8200));\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.repl_pprint = goog.define(\"shadow.cljs.devtools.client.env.repl_pprint\",false);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.use_document_host = goog.define(\"shadow.cljs.devtools.client.env.use_document_host\",true);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.devtools_url = goog.define(\"shadow.cljs.devtools.client.env.devtools_url\",\"\");\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.reload_strategy = goog.define(\"shadow.cljs.devtools.client.env.reload_strategy\",\"optimized\");\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.ssl = goog.define(\"shadow.cljs.devtools.client.env.ssl\",false);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.ignore_warnings = goog.define(\"shadow.cljs.devtools.client.env.ignore_warnings\",false);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.log_style = goog.define(\"shadow.cljs.devtools.client.env.log_style\",\"font-weight: bold;\");\nshadow.cljs.devtools.client.env.devtools_info = (function shadow$cljs$devtools$client$env$devtools_info(){\nreturn ({\"server-port\": shadow.cljs.devtools.client.env.server_port, \"server-host\": shadow.cljs.devtools.client.env.server_host, \"build-id\": shadow.cljs.devtools.client.env.build_id, \"proc-id\": shadow.cljs.devtools.client.env.proc_id, \"runtime-id\": shadow.cljs.devtools.client.env.runtime_id});\n});\nshadow.cljs.devtools.client.env.get_server_host = (function shadow$cljs$devtools$client$env$get_server_host(){\nif(cljs.core.truth_(((shadow.cljs.devtools.client.env.use_document_host)?(function (){var and__4174__auto__ = goog.global.document;\nif(cljs.core.truth_(and__4174__auto__)){\nvar and__4174__auto____$1 = goog.global.document.location;\nif(cljs.core.truth_(and__4174__auto____$1)){\nreturn cljs.core.seq(goog.global.document.location.hostname);\n} else {\nreturn and__4174__auto____$1;\n}\n} else {\nreturn and__4174__auto__;\n}\n})():false))){\nreturn document.location.hostname;\n} else {\nif(cljs.core.seq(shadow.cljs.devtools.client.env.server_host)){\nreturn shadow.cljs.devtools.client.env.server_host;\n} else {\nreturn \"localhost\";\n\n}\n}\n});\nshadow.cljs.devtools.client.env.get_url_base = (function shadow$cljs$devtools$client$env$get_url_base(){\nif(cljs.core.seq(shadow.cljs.devtools.client.env.devtools_url)){\nreturn shadow.cljs.devtools.client.env.devtools_url;\n} else {\nreturn [\"http\",((shadow.cljs.devtools.client.env.ssl)?\"s\":null),\"://\",cljs.core.str.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.env.get_server_host()),\":\",cljs.core.str.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.env.server_port)].join('');\n}\n});\nshadow.cljs.devtools.client.env.get_ws_url_base = (function shadow$cljs$devtools$client$env$get_ws_url_base(){\nreturn clojure.string.replace(shadow.cljs.devtools.client.env.get_url_base(),/^http/,\"ws\");\n});\nshadow.cljs.devtools.client.env.ws_url = (function shadow$cljs$devtools$client$env$ws_url(runtime_type){\nif((runtime_type instanceof cljs.core.Keyword)){\n} else {\nthrow (new Error(\"Assert failed: (keyword? runtime-type)\"));\n}\n\nreturn [shadow.cljs.devtools.client.env.get_ws_url_base(),\"/ws/worker/\",shadow.cljs.devtools.client.env.build_id,\"/\",shadow.cljs.devtools.client.env.proc_id,\"/\",shadow.cljs.devtools.client.env.runtime_id,\"/\",cljs.core.name(runtime_type)].join('');\n});\nshadow.cljs.devtools.client.env.ws_listener_url = (function shadow$cljs$devtools$client$env$ws_listener_url(client_type){\nreturn [shadow.cljs.devtools.client.env.get_ws_url_base(),\"/ws/listener/\",shadow.cljs.devtools.client.env.build_id,\"/\",shadow.cljs.devtools.client.env.proc_id,\"/\",shadow.cljs.devtools.client.env.runtime_id].join('');\n});\nshadow.cljs.devtools.client.env.files_url = (function shadow$cljs$devtools$client$env$files_url(){\nreturn [shadow.cljs.devtools.client.env.get_url_base(),\"/worker/files/\",shadow.cljs.devtools.client.env.build_id,\"/\",shadow.cljs.devtools.client.env.proc_id,\"/\",shadow.cljs.devtools.client.env.runtime_id].join('');\n});\nshadow.cljs.devtools.client.env.repl_print_fn = (((!(shadow.cljs.devtools.client.env.repl_pprint)))?cljs.core.pr_str:(function shadow$cljs$devtools$client$env$repl_pprint(obj){\nvar sb__4720__auto__ = (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__34297_34423 = cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__34298_34424 = cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__34299_34425 = true;\nvar _STAR_print_fn_STAR__temp_val__34300_34426 = (function (x__4721__auto__){\nreturn sb__4720__auto__.append(x__4721__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ = _STAR_print_newline_STAR__temp_val__34299_34425);\n\n(cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__temp_val__34300_34426);\n\ntry{cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$1(obj);\n}finally {(cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__orig_val__34298_34424);\n\n(cljs.core._STAR_print_newline_STAR_ = _STAR_print_newline_STAR__orig_val__34297_34423);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__4720__auto__);\n}));\nshadow.cljs.devtools.client.env.repl_error = (function shadow$cljs$devtools$client$env$repl_error(e){\nvar G__34301 = new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\"type\",\"type\",1174270348),new cljs.core.Keyword(\"repl\",\"invoke-error\",\"repl/invoke-error\",839951858),new cljs.core.Keyword(null,\"error\",\"error\",-978969032),e.message], null);\nif(cljs.core.truth_(e.hasOwnProperty(\"stack\"))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__34301,new cljs.core.Keyword(null,\"stack\",\"stack\",-793405930),e.stack);\n} else {\nreturn G__34301;\n}\n});\nif((typeof shadow !== 'undefined') && (typeof shadow.cljs !== 'undefined') && (typeof shadow.cljs.devtools !== 'undefined') && (typeof shadow.cljs.devtools.client !== 'undefined') && (typeof shadow.cljs.devtools.client.env !== 'undefined') && (typeof shadow.cljs.devtools.client.env.repl_results_ref !== 'undefined')){\n} else {\nshadow.cljs.devtools.client.env.repl_results_ref = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\n}\nshadow.cljs.devtools.client.env.repl_call = (function shadow$cljs$devtools$client$env$repl_call(repl_expr,repl_error){\ntry{var result_id = cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.random_uuid());\nvar result = new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\"type\",\"type\",1174270348),new cljs.core.Keyword(\"repl\",\"result\",\"repl/result\",1421065572),new cljs.core.Keyword(null,\"result-id\",\"result-id\",-2004530966),result_id], null);\nvar start = Date.now();\nvar ret = (repl_expr.cljs$core$IFn$_invoke$arity$0 ? repl_expr.cljs$core$IFn$_invoke$arity$0() : repl_expr.call(null));\nvar runtime = (Date.now() - start);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.cljs.devtools.client.env.repl_results_ref,cljs.core.assoc,result_id,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\"timestamp\",\"timestamp\",579478971),Date.now(),new cljs.core.Keyword(null,\"result\",\"result\",1415092211),ret], null));\n\n(cljs.core._STAR_3 = cljs.core._STAR_2);\n\n(cljs.core._STAR_2 = cljs.core._STAR_1);\n\n(cljs.core._STAR_1 = ret);\n\ntry{var printed = (shadow.cljs.devtools.client.env.repl_print_fn.cljs$core$IFn$_invoke$arity$1 ? shadow.cljs.devtools.client.env.repl_print_fn.cljs$core$IFn$_invoke$arity$1(ret) : shadow.cljs.devtools.client.env.repl_print_fn.call(null,ret));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.cljs.devtools.client.env.repl_results_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [result_id,new cljs.core.Keyword(null,\"printed\",\"printed\",1871492381)], null),printed);\n\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(result,new cljs.core.Keyword(null,\"value\",\"value\",305978217),printed,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\"ms\",\"ms\",-1152709733),runtime], 0));\n}catch (e34306){var e = e34306;\nconsole.log(\"encoding of result failed\",e,ret);\n\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(result,new cljs.core.Keyword(null,\"error\",\"error\",-978969032),\"ENCODING FAILED, check host console\");\n}}catch (e34302){var e = e34302;\n(cljs.core._STAR_e = e);\n\nreturn (repl_error.cljs$core$IFn$_invoke$arity$1 ? repl_error.cljs$core$IFn$_invoke$arity$1(e) : repl_error.call(null,e));\n}});\nif((typeof shadow !== 'undefined') && (typeof shadow.cljs !== 'undefined') && (typeof shadow.cljs.devtools !== 'undefined') && (typeof shadow.cljs.devtools.client !== 'undefined') && (typeof shadow.cljs.devtools.client.env !== 'undefined') && (typeof shadow.cljs.devtools.client.env.reset_print_fn_ref !== 'undefined')){\n} else {\nshadow.cljs.devtools.client.env.reset_print_fn_ref = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);\n}\nshadow.cljs.devtools.client.env.set_print_fns_BANG_ = (function shadow$cljs$devtools$client$env$set_print_fns_BANG_(msg_fn){\nvar original_print_fn = cljs.core._STAR_print_fn_STAR_;\nvar original_print_err_fn = cljs.core._STAR_print_err_fn_STAR_;\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.env.reset_print_fn_ref,(function shadow$cljs$devtools$client$env$set_print_fns_BANG__$_reset_print_fns_BANG_(){\ncljs.core.set_print_fn_BANG_(original_print_fn);\n\nreturn cljs.core.set_print_err_fn_BANG_(original_print_err_fn);\n}));\n\ncljs.core.set_print_fn_BANG_((function() { \nvar shadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_fn__delegate = function (args){\nvar G__34310_34427 = new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\"type\",\"type\",1174270348),new cljs.core.Keyword(\"repl\",\"out\",\"repl/out\",-905715102),new cljs.core.Keyword(null,\"text\",\"text\",-1790561697),clojure.string.join.cljs$core$IFn$_invoke$arity$2(\"\",args)], null);\n(msg_fn.cljs$core$IFn$_invoke$arity$1 ? msg_fn.cljs$core$IFn$_invoke$arity$1(G__34310_34427) : msg_fn.call(null,G__34310_34427));\n\nif(cljs.core.truth_(original_print_fn)){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(original_print_fn,args);\n} else {\nreturn null;\n}\n};\nvar shadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_fn = function (var_args){\nvar args = null;\nif (arguments.length > 0) {\nvar G__34428__i = 0, G__34428__a = new Array(arguments.length - 0);\nwhile (G__34428__i < G__34428__a.length) {G__34428__a[G__34428__i] = arguments[G__34428__i + 0]; ++G__34428__i;}\n args = new cljs.core.IndexedSeq(G__34428__a,0,null);\n} \nreturn shadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_fn__delegate.call(this,args);};\nshadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_fn.cljs$lang$maxFixedArity = 0;\nshadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_fn.cljs$lang$applyTo = (function (arglist__34430){\nvar args = cljs.core.seq(arglist__34430);\nreturn shadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_fn__delegate(args);\n});\nshadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_fn.cljs$core$IFn$_invoke$arity$variadic = shadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_fn__delegate;\nreturn shadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_fn;\n})()\n);\n\nreturn cljs.core.set_print_err_fn_BANG_((function() { \nvar shadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_err_fn__delegate = function (args){\nvar G__34311_34432 = new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\"type\",\"type\",1174270348),new cljs.core.Keyword(\"repl\",\"err\",\"repl/err\",-2086562244),new cljs.core.Keyword(null,\"text\",\"text\",-1790561697),clojure.string.join.cljs$core$IFn$_invoke$arity$2(\"\",args)], null);\n(msg_fn.cljs$core$IFn$_invoke$arity$1 ? msg_fn.cljs$core$IFn$_invoke$arity$1(G__34311_34432) : msg_fn.call(null,G__34311_34432));\n\nif(cljs.core.truth_(original_print_err_fn)){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(original_print_err_fn,args);\n} else {\nreturn null;\n}\n};\nvar shadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_err_fn = function (var_args){\nvar args = null;\nif (arguments.length > 0) {\nvar G__34434__i = 0, G__34434__a = new Array(arguments.length - 0);\nwhile (G__34434__i < G__34434__a.length) {G__34434__a[G__34434__i] = arguments[G__34434__i + 0]; ++G__34434__i;}\n args = new cljs.core.IndexedSeq(G__34434__a,0,null);\n} \nreturn shadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_err_fn__delegate.call(this,args);};\nshadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_err_fn.cljs$lang$maxFixedArity = 0;\nshadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_err_fn.cljs$lang$applyTo = (function (arglist__34435){\nvar args = cljs.core.seq(arglist__34435);\nreturn shadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_err_fn__delegate(args);\n});\nshadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_err_fn.cljs$core$IFn$_invoke$arity$variadic = shadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_err_fn__delegate;\nreturn shadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_err_fn;\n})()\n);\n});\nshadow.cljs.devtools.client.env.reset_print_fns_BANG_ = (function shadow$cljs$devtools$client$env$reset_print_fns_BANG_(){\nvar temp__5735__auto__ = cljs.core.deref(shadow.cljs.devtools.client.env.reset_print_fn_ref);\nif(cljs.core.truth_(temp__5735__auto__)){\nvar x = temp__5735__auto__;\n(x.cljs$core$IFn$_invoke$arity$0 ? x.cljs$core$IFn$_invoke$arity$0() : x.call(null));\n\nreturn cljs.core.reset_BANG_(shadow.cljs.devtools.client.env.reset_print_fn_ref,null);\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.env.async_ops = new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(\"repl\",\"session-start\",\"repl/session-start\",-1824978454),null,new cljs.core.Keyword(\"repl\",\"init\",\"repl/init\",-1883779019),null,new cljs.core.Keyword(\"repl\",\"require\",\"repl/require\",-497010086),null], null), null);\nshadow.cljs.devtools.client.env.repl_queue_ref = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false);\nif((typeof shadow !== 'undefined') && (typeof shadow.cljs !== 'undefined') && (typeof shadow.cljs.devtools !== 'undefined') && (typeof shadow.cljs.devtools.client !== 'undefined') && (typeof shadow.cljs.devtools.client.env !== 'undefined') && (typeof shadow.cljs.devtools.client.env.repl_queue_arr !== 'undefined')){\n} else {\nshadow.cljs.devtools.client.env.repl_queue_arr = [];\n}\nshadow.cljs.devtools.client.env.process_next_BANG_ = (function shadow$cljs$devtools$client$env$process_next_BANG_(){\nif(cljs.core.truth_(cljs.core.deref(shadow.cljs.devtools.client.env.repl_queue_ref))){\nreturn null;\n} else {\nvar temp__5739__auto__ = shadow.cljs.devtools.client.env.repl_queue_arr.shift();\nif((temp__5739__auto__ == null)){\nreturn null;\n} else {\nvar task = temp__5739__auto__;\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.env.repl_queue_ref,true);\n\nreturn (task.cljs$core$IFn$_invoke$arity$0 ? task.cljs$core$IFn$_invoke$arity$0() : task.call(null));\n}\n}\n});\nshadow.cljs.devtools.client.env.done_BANG_ = (function shadow$cljs$devtools$client$env$done_BANG_(){\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.env.repl_queue_ref,false);\n\nreturn shadow.cljs.devtools.client.env.process_next_BANG_();\n});\nshadow.cljs.devtools.client.env.process_ws_msg = (function shadow$cljs$devtools$client$env$process_ws_msg(text,handler){\nvar _STAR_default_data_reader_fn_STAR__orig_val__34316 = cljs.tools.reader._STAR_default_data_reader_fn_STAR_;\nvar _STAR_default_data_reader_fn_STAR__temp_val__34317 = (function (tag,value){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\"tagged-literal\",\"tagged-literal\",1758013066),tag,value], null);\n});\n(cljs.tools.reader._STAR_default_data_reader_fn_STAR_ = _STAR_default_data_reader_fn_STAR__temp_val__34317);\n\ntry{try{var msg_34439 = cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$1(text);\nshadow.cljs.devtools.client.env.repl_queue_arr.push((function (){\nreturn (handler.cljs$core$IFn$_invoke$arity$2 ? handler.cljs$core$IFn$_invoke$arity$2(msg_34439,shadow.cljs.devtools.client.env.done_BANG_) : handler.call(null,msg_34439,shadow.cljs.devtools.client.env.done_BANG_));\n}));\n\nreturn shadow.cljs.devtools.client.env.process_next_BANG_();\n}catch (e34318){var e = e34318;\nconsole.warn(\"failed to parse websocket message\",text,e);\n\nthrow e;\n}}finally {(cljs.tools.reader._STAR_default_data_reader_fn_STAR_ = _STAR_default_data_reader_fn_STAR__orig_val__34316);\n}});\nshadow.cljs.devtools.client.env.make_task_fn = (function shadow$cljs$devtools$client$env$make_task_fn(p__34322,p__34323){\nvar map__34325 = p__34322;\nvar map__34325__$1 = (((((!((map__34325 == null))))?(((((map__34325.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__34325.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__34325):map__34325);\nvar log_missing_fn = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34325__$1,new cljs.core.Keyword(null,\"log-missing-fn\",\"log-missing-fn\",732676765));\nvar log_call_async = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34325__$1,new cljs.core.Keyword(null,\"log-call-async\",\"log-call-async\",183826192));\nvar log_call = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34325__$1,new cljs.core.Keyword(null,\"log-call\",\"log-call\",412404391));\nvar map__34326 = p__34323;\nvar map__34326__$1 = (((((!((map__34326 == null))))?(((((map__34326.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__34326.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__34326):map__34326);\nvar fn_sym = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34326__$1,new cljs.core.Keyword(null,\"fn-sym\",\"fn-sym\",1423988510));\nvar fn_str = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34326__$1,new cljs.core.Keyword(null,\"fn-str\",\"fn-str\",-1348506402));\nvar async = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34326__$1,new cljs.core.Keyword(null,\"async\",\"async\",1050769601));\nreturn (function (next){\ntry{var fn_obj = goog.getObjectByName(fn_str,$CLJS);\nif((fn_obj == null)){\nif(cljs.core.truth_(log_missing_fn)){\n(log_missing_fn.cljs$core$IFn$_invoke$arity$1 ? log_missing_fn.cljs$core$IFn$_invoke$arity$1(fn_sym) : log_missing_fn.call(null,fn_sym));\n} else {\n}\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n} else {\nif(cljs.core.truth_(async)){\nif(cljs.core.truth_(log_call_async)){\n(log_call_async.cljs$core$IFn$_invoke$arity$1 ? log_call_async.cljs$core$IFn$_invoke$arity$1(fn_sym) : log_call_async.call(null,fn_sym));\n} else {\n}\n\nreturn fn_obj(next);\n} else {\nif(cljs.core.truth_(log_call)){\n(log_call.cljs$core$IFn$_invoke$arity$1 ? log_call.cljs$core$IFn$_invoke$arity$1(fn_sym) : log_call.call(null,fn_sym));\n} else {\n}\n\nfn_obj();\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n\n}\n}\n}catch (e34332){var ex = e34332;\nconsole.warn(\"error when calling lifecycle function\",cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym),ex);\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n}});\n});\nshadow.cljs.devtools.client.env.do_js_reload_STAR_ = (function shadow$cljs$devtools$client$env$do_js_reload_STAR_(failure_fn,p__34337){\nvar vec__34338 = p__34337;\nvar seq__34339 = cljs.core.seq(vec__34338);\nvar first__34340 = cljs.core.first(seq__34339);\nvar seq__34339__$1 = cljs.core.next(seq__34339);\nvar task = first__34340;\nvar remaining_tasks = seq__34339__$1;\nif(cljs.core.truth_(task)){\ntry{var G__34342 = (function (){\nreturn (shadow.cljs.devtools.client.env.do_js_reload_STAR_.cljs$core$IFn$_invoke$arity$2 ? shadow.cljs.devtools.client.env.do_js_reload_STAR_.cljs$core$IFn$_invoke$arity$2(failure_fn,remaining_tasks) : shadow.cljs.devtools.client.env.do_js_reload_STAR_.call(null,failure_fn,remaining_tasks));\n});\nreturn (task.cljs$core$IFn$_invoke$arity$1 ? task.cljs$core$IFn$_invoke$arity$1(G__34342) : task.call(null,G__34342));\n}catch (e34341){var e = e34341;\nreturn (failure_fn.cljs$core$IFn$_invoke$arity$3 ? failure_fn.cljs$core$IFn$_invoke$arity$3(e,task,remaining_tasks) : failure_fn.call(null,e,task,remaining_tasks));\n}} else {\nreturn null;\n}\n});\n/**\n * should pass the :build-complete message and an additional callback\n * which performs the actual loading of the code (sync)\n * will call all before/after callbacks in order\n */\nshadow.cljs.devtools.client.env.do_js_reload = (function shadow$cljs$devtools$client$env$do_js_reload(var_args){\nvar G__34348 = arguments.length;\nswitch (G__34348) {\ncase 2:\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\"Invalid arity: \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));\n\n}\n});\n\n(shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$2 = (function (msg,load_code_fn){\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$3(msg,load_code_fn,(function (){\nreturn null;\n}));\n}));\n\n(shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$3 = (function (msg,load_code_fn,complete_fn){\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$4(msg,load_code_fn,complete_fn,(function (error,task,remaining){\nreturn console.warn(\"JS reload failed\",error);\n}));\n}));\n\n(shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$4 = (function (p__34350,load_code_fn,complete_fn,failure_fn){\nvar map__34351 = p__34350;\nvar map__34351__$1 = (((((!((map__34351 == null))))?(((((map__34351.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__34351.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__34351):map__34351);\nvar msg = map__34351__$1;\nvar reload_info = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34351__$1,new cljs.core.Keyword(null,\"reload-info\",\"reload-info\",1648088086));\nvar load_tasks = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.reverse(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__34344_SHARP_){\nreturn shadow.cljs.devtools.client.env.make_task_fn(msg,p1__34344_SHARP_);\n}),new cljs.core.Keyword(null,\"before-load\",\"before-load\",-2060117064).cljs$core$IFn$_invoke$arity$1(reload_info)))),(function (next){\n(load_code_fn.cljs$core$IFn$_invoke$arity$0 ? load_code_fn.cljs$core$IFn$_invoke$arity$0() : load_code_fn.call(null));\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n})),cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p1__34345_SHARP_){\nreturn shadow.cljs.devtools.client.env.make_task_fn(msg,p1__34345_SHARP_);\n})),new cljs.core.Keyword(null,\"after-load\",\"after-load\",-1278503285).cljs$core$IFn$_invoke$arity$1(reload_info)),(function (next){\n(complete_fn.cljs$core$IFn$_invoke$arity$0 ? complete_fn.cljs$core$IFn$_invoke$arity$0() : complete_fn.call(null));\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n}));\nreturn shadow.cljs.devtools.client.env.do_js_reload_STAR_(failure_fn,load_tasks);\n}));\n\n(shadow.cljs.devtools.client.env.do_js_reload.cljs$lang$maxFixedArity = 4);\n\nshadow.cljs.devtools.client.env.before_load_src = (function shadow$cljs$devtools$client$env$before_load_src(p__34353){\nvar map__34354 = p__34353;\nvar map__34354__$1 = (((((!((map__34354 == null))))?(((((map__34354.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__34354.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__34354):map__34354);\nvar src = map__34354__$1;\nvar type = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34354__$1,new cljs.core.Keyword(null,\"type\",\"type\",1174270348));\nvar ns = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34354__$1,new cljs.core.Keyword(null,\"ns\",\"ns\",441598760));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\"cljs\",\"cljs\",1492417629),type)){\nvar seq__34356 = cljs.core.seq(goog.global.SHADOW_NS_RESET);\nvar chunk__34357 = null;\nvar count__34358 = (0);\nvar i__34359 = (0);\nwhile(true){\nif((i__34359 < count__34358)){\nvar x = chunk__34357.cljs$core$IIndexed$_nth$arity$2(null,i__34359);\n(x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(ns) : x.call(null,ns));\n\n\nvar G__34461 = seq__34356;\nvar G__34462 = chunk__34357;\nvar G__34463 = count__34358;\nvar G__34464 = (i__34359 + (1));\nseq__34356 = G__34461;\nchunk__34357 = G__34462;\ncount__34358 = G__34463;\ni__34359 = G__34464;\ncontinue;\n} else {\nvar temp__5735__auto__ = cljs.core.seq(seq__34356);\nif(temp__5735__auto__){\nvar seq__34356__$1 = temp__5735__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__34356__$1)){\nvar c__4609__auto__ = cljs.core.chunk_first(seq__34356__$1);\nvar G__34466 = cljs.core.chunk_rest(seq__34356__$1);\nvar G__34467 = c__4609__auto__;\nvar G__34468 = cljs.core.count(c__4609__auto__);\nvar G__34469 = (0);\nseq__34356 = G__34466;\nchunk__34357 = G__34467;\ncount__34358 = G__34468;\ni__34359 = G__34469;\ncontinue;\n} else {\nvar x = cljs.core.first(seq__34356__$1);\n(x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(ns) : x.call(null,ns));\n\n\nvar G__34472 = cljs.core.next(seq__34356__$1);\nvar G__34473 = null;\nvar G__34474 = (0);\nvar G__34475 = (0);\nseq__34356 = G__34472;\nchunk__34357 = G__34473;\ncount__34358 = G__34474;\ni__34359 = G__34475;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n});\nif((typeof shadow !== 'undefined') && (typeof shadow.cljs !== 'undefined') && (typeof shadow.cljs.devtools !== 'undefined') && (typeof shadow.cljs.devtools.client !== 'undefined') && (typeof shadow.cljs.devtools.client.env !== 'undefined') && (typeof shadow.cljs.devtools.client.env.custom_msg_subscribers_ref !== 'undefined')){\n} else {\nshadow.cljs.devtools.client.env.custom_msg_subscribers_ref = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\n}\nshadow.cljs.devtools.client.env.subscribe_BANG_ = (function shadow$cljs$devtools$client$env$subscribe_BANG_(sub_id,callback){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.cljs.devtools.client.env.custom_msg_subscribers_ref,cljs.core.assoc,sub_id,callback);\n});\nshadow.cljs.devtools.client.env.publish_BANG_ = (function shadow$cljs$devtools$client$env$publish_BANG_(msg){\nvar seq__34363 = cljs.core.seq(cljs.core.deref(shadow.cljs.devtools.client.env.custom_msg_subscribers_ref));\nvar chunk__34364 = null;\nvar count__34365 = (0);\nvar i__34366 = (0);\nwhile(true){\nif((i__34366 < count__34365)){\nvar vec__34377 = chunk__34364.cljs$core$IIndexed$_nth$arity$2(null,i__34366);\nvar id = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__34377,(0),null);\nvar callback = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__34377,(1),null);\ntry{(callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(msg) : callback.call(null,msg));\n}catch (e34380){var e_34477 = e34380;\nconsole.warn(\"failed to handle custom msg\",id,msg);\n}\n\nvar G__34479 = seq__34363;\nvar G__34480 = chunk__34364;\nvar G__34481 = count__34365;\nvar G__34482 = (i__34366 + (1));\nseq__34363 = G__34479;\nchunk__34364 = G__34480;\ncount__34365 = G__34481;\ni__34366 = G__34482;\ncontinue;\n} else {\nvar temp__5735__auto__ = cljs.core.seq(seq__34363);\nif(temp__5735__auto__){\nvar seq__34363__$1 = temp__5735__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__34363__$1)){\nvar c__4609__auto__ = cljs.core.chunk_first(seq__34363__$1);\nvar G__34485 = cljs.core.chunk_rest(seq__34363__$1);\nvar G__34486 = c__4609__auto__;\nvar G__34487 = cljs.core.count(c__4609__auto__);\nvar G__34488 = (0);\nseq__34363 = G__34485;\nchunk__34364 = G__34486;\ncount__34365 = G__34487;\ni__34366 = G__34488;\ncontinue;\n} else {\nvar vec__34381 = cljs.core.first(seq__34363__$1);\nvar id = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__34381,(0),null);\nvar callback = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__34381,(1),null);\ntry{(callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(msg) : callback.call(null,msg));\n}catch (e34384){var e_34490 = e34384;\nconsole.warn(\"failed to handle custom msg\",id,msg);\n}\n\nvar G__34491 = cljs.core.next(seq__34363__$1);\nvar G__34492 = null;\nvar G__34493 = (0);\nvar G__34494 = (0);\nseq__34363 = G__34491;\nchunk__34364 = G__34492;\ncount__34365 = G__34493;\ni__34366 = G__34494;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.env.goog_is_loaded_QMARK_ = (function shadow$cljs$devtools$client$env$goog_is_loaded_QMARK_(name){\nreturn $CLJS.SHADOW_ENV.isLoaded(name);\n});\nshadow.cljs.devtools.client.env.goog_base_rc = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\"shadow.build.classpath\",\"resource\",\"shadow.build.classpath/resource\",-879517823),\"goog/base.js\"], null);\nshadow.cljs.devtools.client.env.src_is_loaded_QMARK_ = (function shadow$cljs$devtools$client$env$src_is_loaded_QMARK_(p__34386){\nvar map__34387 = p__34386;\nvar map__34387__$1 = (((((!((map__34387 == null))))?(((((map__34387.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__34387.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__34387):map__34387);\nvar src = map__34387__$1;\nvar resource_id = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34387__$1,new cljs.core.Keyword(null,\"resource-id\",\"resource-id\",-1308422582));\nvar output_name = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34387__$1,new cljs.core.Keyword(null,\"output-name\",\"output-name\",-1769107767));\nvar or__4185__auto__ = cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(shadow.cljs.devtools.client.env.goog_base_rc,resource_id);\nif(or__4185__auto__){\nreturn or__4185__auto__;\n} else {\nreturn shadow.cljs.devtools.client.env.goog_is_loaded_QMARK_(output_name);\n}\n});\nshadow.cljs.devtools.client.env.prefilter_sources = (function shadow$cljs$devtools$client$env$prefilter_sources(reload_info,sources){\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p__34389){\nvar map__34390 = p__34389;\nvar map__34390__$1 = (((((!((map__34390 == null))))?(((((map__34390.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__34390.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__34390):map__34390);\nvar ns = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34390__$1,new cljs.core.Keyword(null,\"ns\",\"ns\",441598760));\nreturn cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\"never-load\",\"never-load\",1300896819).cljs$core$IFn$_invoke$arity$1(reload_info),ns);\n}),cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p__34392){\nvar map__34393 = p__34392;\nvar map__34393__$1 = (((((!((map__34393 == null))))?(((((map__34393.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__34393.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__34393):map__34393);\nvar rc = map__34393__$1;\nvar module = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34393__$1,new cljs.core.Keyword(null,\"module\",\"module\",1424618191));\nreturn ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\"js\",shadow.cljs.devtools.client.env.module_format)) || (shadow.cljs.devtools.client.env.module_is_active_QMARK_(module)));\n}),sources));\n});\nshadow.cljs.devtools.client.env.filter_sources_to_get_optimized = (function shadow$cljs$devtools$client$env$filter_sources_to_get_optimized(p__34395,reload_info){\nvar map__34396 = p__34395;\nvar map__34396__$1 = (((((!((map__34396 == null))))?(((((map__34396.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__34396.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__34396):map__34396);\nvar info = map__34396__$1;\nvar sources = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34396__$1,new cljs.core.Keyword(null,\"sources\",\"sources\",-321166424));\nvar compiled = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34396__$1,new cljs.core.Keyword(null,\"compiled\",\"compiled\",850043082));\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p__34398){\nvar map__34399 = p__34398;\nvar map__34399__$1 = (((((!((map__34399 == null))))?(((((map__34399.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__34399.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__34399):map__34399);\nvar src = map__34399__$1;\nvar ns = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34399__$1,new cljs.core.Keyword(null,\"ns\",\"ns\",441598760));\nvar resource_id = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34399__$1,new cljs.core.Keyword(null,\"resource-id\",\"resource-id\",-1308422582));\nreturn ((cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\"always-load\",\"always-load\",66405637).cljs$core$IFn$_invoke$arity$1(reload_info),ns)) || (cljs.core.not(shadow.cljs.devtools.client.env.src_is_loaded_QMARK_(src))) || (((cljs.core.contains_QMARK_(compiled,resource_id)) && (cljs.core.not(new cljs.core.Keyword(null,\"from-jar\",\"from-jar\",1050932827).cljs$core$IFn$_invoke$arity$1(src))))));\n}),shadow.cljs.devtools.client.env.prefilter_sources(reload_info,sources)));\n});\nshadow.cljs.devtools.client.env.filter_sources_to_get_full = (function shadow$cljs$devtools$client$env$filter_sources_to_get_full(p__34401,reload_info){\nvar map__34402 = p__34401;\nvar map__34402__$1 = (((((!((map__34402 == null))))?(((((map__34402.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__34402.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__34402):map__34402);\nvar info = map__34402__$1;\nvar sources = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34402__$1,new cljs.core.Keyword(null,\"sources\",\"sources\",-321166424));\nvar compiled = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34402__$1,new cljs.core.Keyword(null,\"compiled\",\"compiled\",850043082));\nvar affected = cljs.core.PersistentHashSet.EMPTY;\nvar sources_to_get = cljs.core.PersistentVector.EMPTY;\nvar G__34407 = shadow.cljs.devtools.client.env.prefilter_sources(reload_info,sources);\nvar vec__34408 = G__34407;\nvar seq__34409 = cljs.core.seq(vec__34408);\nvar first__34410 = cljs.core.first(seq__34409);\nvar seq__34409__$1 = cljs.core.next(seq__34409);\nvar src = first__34410;\nvar more = seq__34409__$1;\nvar affected__$1 = affected;\nvar sources_to_get__$1 = sources_to_get;\nvar G__34407__$1 = G__34407;\nwhile(true){\nvar affected__$2 = affected__$1;\nvar sources_to_get__$2 = sources_to_get__$1;\nvar vec__34418 = G__34407__$1;\nvar seq__34419 = cljs.core.seq(vec__34418);\nvar first__34420 = cljs.core.first(seq__34419);\nvar seq__34419__$1 = cljs.core.next(seq__34419);\nvar src__$1 = first__34420;\nvar more__$1 = seq__34419__$1;\nif(cljs.core.not(src__$1)){\nreturn sources_to_get__$2;\n} else {\nvar map__34421 = src__$1;\nvar map__34421__$1 = (((((!((map__34421 == null))))?(((((map__34421.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__34421.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__34421):map__34421);\nvar ns = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34421__$1,new cljs.core.Keyword(null,\"ns\",\"ns\",441598760));\nvar resource_id = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34421__$1,new cljs.core.Keyword(null,\"resource-id\",\"resource-id\",-1308422582));\nvar deps = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34421__$1,new cljs.core.Keyword(null,\"deps\",\"deps\",1883360319));\nvar provides = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34421__$1,new cljs.core.Keyword(null,\"provides\",\"provides\",-1634397992));\nvar should_reload_QMARK_ = (function (){var or__4185__auto__ = cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\"always-load\",\"always-load\",66405637).cljs$core$IFn$_invoke$arity$1(reload_info),ns);\nif(or__4185__auto__){\nreturn or__4185__auto__;\n} else {\nvar or__4185__auto____$1 = cljs.core.not(shadow.cljs.devtools.client.env.src_is_loaded_QMARK_(src__$1));\nif(or__4185__auto____$1){\nreturn or__4185__auto____$1;\n} else {\nvar and__4174__auto__ = (function (){var or__4185__auto____$2 = cljs.core.contains_QMARK_(compiled,resource_id);\nif(or__4185__auto____$2){\nreturn or__4185__auto____$2;\n} else {\nreturn cljs.core.some(affected__$2,deps);\n}\n})();\nif(cljs.core.truth_(and__4174__auto__)){\nreturn cljs.core.not(new cljs.core.Keyword(null,\"from-jar\",\"from-jar\",1050932827).cljs$core$IFn$_invoke$arity$1(src__$1));\n} else {\nreturn and__4174__auto__;\n}\n}\n}\n})();\nif(cljs.core.not(should_reload_QMARK_)){\nvar G__34519 = affected__$2;\nvar G__34520 = sources_to_get__$2;\nvar G__34521 = more__$1;\naffected__$1 = G__34519;\nsources_to_get__$1 = G__34520;\nG__34407__$1 = G__34521;\ncontinue;\n} else {\nvar G__34522 = clojure.set.union.cljs$core$IFn$_invoke$arity$2(affected__$2,provides);\nvar G__34523 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(sources_to_get__$2,src__$1);\nvar G__34524 = more__$1;\naffected__$1 = G__34522;\nsources_to_get__$1 = G__34523;\nG__34407__$1 = G__34524;\ncontinue;\n}\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.env.filter_reload_sources = (function shadow$cljs$devtools$client$env$filter_reload_sources(info,reload_info){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\"full\",shadow.cljs.devtools.client.env.reload_strategy)){\nreturn shadow.cljs.devtools.client.env.filter_sources_to_get_full(info,reload_info);\n} else {\nreturn shadow.cljs.devtools.client.env.filter_sources_to_get_optimized(info,reload_info);\n}\n});\n","~:ns-info",["^ ","~:rename-macros",null,"~:renames",["^ "],"~:meta",["^ ","~:file","shadow/cljs/devtools/client/env.cljs","~:line",1,"~:column",5,"~:end-line",1,"~:end-column",36],"~:ns-aliases",["^ ","~$cljs.loader","~$shadow.loader"],"~:use-macros",null,"~:excludes",["~#set",[]],"~:name","~$shadow.cljs.devtools.client.env","~:op","~:ns","~:imports",null,"~:requires",["^ ","~$set","~$clojure.set","~$cljs.tools.reader","^I","~$cljs.core","^J","~$gobj","~$goog.object","~$goog","^M","^L","^L","^H","^H","~$cljs.pprint","^N","~$str","~$clojure.string","^P","^P","~$reader","^I"],"~:seen",["^@",["~:require"]],"~:uses",["^ ","~$pprint","^N"],"~:require-macros",["^ ","^J","^J","^N","^N"],"~:form",["~#list",["~$ns","^B",["^X",["^S",["^L","~:as","^K"],["^P","^Z","^O"],["^I","^Z","^Q"],["^N","~:refer",["^X",["^U"]]],["^H","^Z","^G"]]]]],"~:flags",["^ ","^S",["^@",[]]],"~:js-deps",["^ "],"~:deps",["^M","^J","^L","^P","^I","^N","^H"]],"^D","^B","~:resource-id",["~:shadow.build.classpath/resource","shadow/cljs/devtools/client/env.cljs"],"~:compiled-at",1584073478904,"~:resource-name","shadow/cljs/devtools/client/env.cljs","~:warnings",[],"~:source","(ns shadow.cljs.devtools.client.env\n (:require\n [goog.object :as gobj]\n [clojure.string :as str]\n [cljs.tools.reader :as reader]\n [cljs.pprint :refer (pprint)]\n [clojure.set :as set]))\n\n(defonce active-modules-ref\n (volatile! #{}))\n\n(defn module-loaded [name]\n (vswap! active-modules-ref conj (keyword name)))\n\n(defn module-is-active? [module]\n (contains? @active-modules-ref module))\n\n;; FIXME: make this persistent somehow?\n(defonce runtime-id (str (random-uuid)))\n\n(goog-define enabled false)\n\n(goog-define autoload true)\n\n(goog-define module-format \"goog\")\n\n(goog-define reload-with-state false)\n\n(goog-define build-id \"\")\n\n(goog-define proc-id \"\")\n\n(goog-define server-host \"\")\n\n(goog-define server-port 8200)\n\n(goog-define repl-pprint false)\n\n(goog-define use-document-host true)\n\n(goog-define devtools-url \"\")\n\n(goog-define reload-strategy \"optimized\")\n\n(goog-define ssl false)\n\n(goog-define ignore-warnings false)\n\n(goog-define log-style \"font-weight: bold;\")\n\n(defn devtools-info []\n #js {:server-port server-port\n :server-host server-host\n :build-id build-id\n :proc-id proc-id\n :runtime-id runtime-id})\n\n(defn get-server-host []\n (cond\n (and use-document-host\n js/goog.global.document\n js/goog.global.document.location\n (seq js/goog.global.document.location.hostname))\n js/document.location.hostname\n\n (seq server-host)\n server-host\n\n :else\n \"localhost\"))\n\n(defn get-url-base []\n (if (seq devtools-url)\n devtools-url\n (str \"http\" (when ssl \"s\") \"://\" (get-server-host) \":\" server-port)))\n\n(defn get-ws-url-base []\n (-> (get-url-base)\n (str/replace #\"^http\" \"ws\")))\n\n(defn ws-url [runtime-type]\n {:pre [(keyword? runtime-type)]}\n (str (get-ws-url-base) \"/ws/worker/\" build-id \"/\" proc-id \"/\" runtime-id \"/\" (name runtime-type)))\n\n(defn ws-listener-url [client-type]\n (str (get-ws-url-base) \"/ws/listener/\" build-id \"/\" proc-id \"/\" runtime-id))\n\n(defn files-url []\n (str (get-url-base) \"/worker/files/\" build-id \"/\" proc-id \"/\" runtime-id))\n\n(def repl-print-fn\n (if-not repl-pprint\n pr-str\n (fn repl-pprint [obj]\n (with-out-str\n (pprint obj)\n ))))\n\n(defn repl-error [e]\n (-> {:type :repl/invoke-error\n ;; FIXME: may contain non-printable things and would break the client read\n ;; :ex-data (ex-data e)\n :error (.-message e)}\n (cond->\n (.hasOwnProperty e \"stack\")\n (assoc :stack (.-stack e)))))\n\n(defonce repl-results-ref (atom {}))\n\n(defn repl-call [repl-expr repl-error]\n (try\n (let [result-id (str (random-uuid))\n result {:type :repl/result\n :result-id result-id}\n\n start (js/Date.now)\n ret (repl-expr)\n runtime (- (js/Date.now) start)]\n\n ;; FIXME: this needs some kind of GC, shouldn't keep every single result forever\n (swap! repl-results-ref assoc result-id {:timestamp (js/Date.now)\n :result ret})\n\n ;; FIXME: these are nonsense with multiple sessions. refactor this properly\n (set! *3 *2)\n (set! *2 *1)\n (set! *1 ret)\n\n (try\n (let [printed (repl-print-fn ret)]\n (swap! repl-results-ref assoc-in [result-id :printed] printed)\n (assoc result :value printed :ms runtime))\n (catch :default e\n (js/console.log \"encoding of result failed\" e ret)\n (assoc result :error \"ENCODING FAILED, check host console\"))))\n (catch :default e\n (set! *e e)\n (repl-error e)\n )))\n\n;; FIXME: this need to become idempotent somehow\n;; but is something sets a print-fn we can't tell if that\n;; will actually call ours. only a problem if the websocket is\n;; reconnected though\n(defonce reset-print-fn-ref (atom nil))\n\n(defn set-print-fns! [msg-fn]\n ;; cannot capture these before as they may change in between loading this file\n ;; and running the websocket connect. the user code is loaded after this file\n (let [original-print-fn cljs.core/*print-fn*\n original-print-err-fn cljs.core/*print-err-fn*]\n\n (reset! reset-print-fn-ref\n (fn reset-print-fns! []\n (set-print-fn! original-print-fn)\n (set-print-err-fn! original-print-err-fn)))\n\n (set-print-fn!\n (fn repl-print-fn [& args]\n (msg-fn {:type :repl/out :text (str/join \"\" args)})\n (when original-print-fn\n (apply original-print-fn args))))\n\n (set-print-err-fn!\n (fn repl-print-err-fn [& args]\n (msg-fn {:type :repl/err :text (str/join \"\" args)})\n (when original-print-err-fn\n (apply original-print-err-fn args))))))\n\n(defn reset-print-fns! []\n (when-let [x @reset-print-fn-ref]\n (x)\n (reset! reset-print-fn-ref nil)))\n\n(def async-ops #{:repl/require :repl/init :repl/session-start})\n\n(def repl-queue-ref (atom false))\n(defonce repl-queue-arr (array))\n\n(defn process-next! []\n (when-not @repl-queue-ref\n (when-some [task (.shift repl-queue-arr)]\n (reset! repl-queue-ref true)\n (task))))\n\n(defn done! []\n (reset! repl-queue-ref false)\n (process-next!))\n\n(defn process-ws-msg [text handler]\n (binding [reader/*default-data-reader-fn*\n (fn [tag value]\n [:tagged-literal tag value])]\n (try\n (let [msg (reader/read-string text)]\n (.push repl-queue-arr #(handler msg done!)))\n (process-next!)\n (catch :default e\n (js/console.warn \"failed to parse websocket message\" text e)\n (throw e)))))\n\n(defn make-task-fn [{:keys [log-missing-fn log-call-async log-call]} {:keys [fn-sym fn-str async]}]\n (fn [next]\n (try\n (let [fn-obj (js/goog.getObjectByName fn-str js/$CLJS)]\n (cond\n (nil? fn-obj)\n (do (when log-missing-fn\n (log-missing-fn fn-sym))\n (next))\n\n async\n (do (when log-call-async\n (log-call-async fn-sym))\n (fn-obj next))\n\n :else\n (do (when log-call\n (log-call fn-sym))\n (fn-obj)\n (next))))\n (catch :default ex\n (js/console.warn