fix chat-demo

- dependencies updated
- removed old netty adapter code
- generally converted it into something more resembling a modern clojure
  web app
This commit is contained in:
Gered 2016-05-07 16:20:54 -04:00
parent 03c4abba20
commit 0e76a0347c
16 changed files with 529 additions and 369 deletions

View file

@ -1 +1 @@
web: lein trampoline run -m chat-demo.core
web: lein trampoline run -m chat-demo.server

View file

@ -1,52 +0,0 @@
(ns bc.core
(:require
[bc.dom-helpers :as dom]
[goog.net.BrowserChannel :as goog-browserchannel]
[goog.events :as events]
[goog.events.KeyCodes :as key-codes]
[goog.events.KeyHandler :as key-handler]))
(defn handler []
(let [h (goog.net.BrowserChannel.Handler.)]
(set! (.-channelOpened h)
(fn [channel]
(enable-chat)))
(set! (.-channelHandleArray h)
(fn [x data]
(let [msg (aget data "msg")]
(dom/append (dom/get-element "room") (dom/element :div (str "MSG::" msg))))))
h))
(defn say [text]
(.sendMap channel (doto (js-obj)
(aset "msg" text)) ))
(defn enable-chat []
(let [msg-input (dom/get-element "msg-input")
send-button (dom/get-element "send-button")
handler (fn [e]
(say (dom/value msg-input))
(dom/set-value msg-input ""))]
(dom/set-disabled msg-input false)
(dom/set-disabled send-button false)
(events/listen (goog.events.KeyHandler. msg-input)
"key"
(fn [e]
(when (= (.-keyCode e) key-codes/ENTER)
(handler e))))
(events/listen send-button
"click"
handler)))
(def channel (goog.net.BrowserChannel.))
(defn ^:export run []
(events/listen js/window "unload" #(do
(.disconnect channel ())
(events/removeAll)))
(doto (.. channel getChannelDebug getLogger)
(.setLevel goog.debug.Logger.Level.OFF))
(doto channel
(.setHandler (handler))
(.connect "/channel/test" "/channel/bind")
))

View file

@ -1,141 +0,0 @@
; Copyright (c) Rich Hickey. All rights reserved.
; The use and distribution terms for this software are covered by the
; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
; which can be found in the file epl-v10.html at the root of this distribution.
; By using this software in any fashion, you are agreeing to be bound by
; the terms of this license.
; You must not remove this notice, or any other, from this software.
(ns bc.dom-helpers
(:require [clojure.string :as string]
[goog.style :as style]
[goog.dom :as dom]
[goog.dom.classes :as classes]
[goog.dom.forms :as forms]
[goog.fx :as fx]
[goog.fx.dom :as fx-dom]
[goog.Timer :as timer]
))
(defn get-element
"Return the element with the passed id."
[id]
(dom/getElement (name id)))
(defn show-element [e b]
(style/showElement e b))
(defn add-remove-class [e add-classes remove-classes]
(classes/addRemove e remove-classes add-classes))
(defn get-radio-value [form-name name]
(forms/getValueByName (get-element form-name) name))
(defn value [element]
(forms/getValue element))
(defn set-value [element]
(forms/setValue element))
(defn set-disabled [element disabled]
(forms/setDisabled element disabled))
(defn append
"Append all children to parent."
[parent & children]
(do (doseq [child children]
(dom/appendChild parent child))
parent))
(defn set-text
"Set the text content for the passed element returning the
element. If a keyword is passed in the place of e, the element with
that id will be used and returned."
[e s]
(let [e (if (or (keyword? e) (string? e)) (get-element e) e)]
(doto e
(dom/setTextContent s))))
(defn normalize-args [tag args]
(let [parts (string/split tag #"(\.|#)")
[tag attrs] [(first parts)
(apply hash-map (map #(cond (= % ".") :class
(= % "#") :id
:else %)
(rest parts)))]]
(if (map? (first args))
[tag (merge attrs (first args)) (rest args)]
[tag attrs args])))
;; TODO: replace call to .strobj with whatever we come up with for
;; creating js objects from Clojure maps.
(defn element
"Create a dom element using a keyword for the element name and a map
for the attributes. Append all children to parent. If the first
child is a string then the string will be set as the text content of
the parent and all remaining children will be appended."
[tag & args]
(let [[tag attrs children] (normalize-args tag args)
;; keyword/string mangling screws up (name tag)
parent (dom/createDom (subs tag 1)
(. (reduce (fn [m [k v]]
(assoc m k v))
{}
(map #(vector (name %1) %2)
(keys attrs)
(vals attrs))) -strobj))
[parent children] (if (string? (first children))
[(set-text (element tag attrs) (first children))
(rest children)]
[parent children])]
(apply append parent children)))
(defn remove-children
"Remove all children from the element with the passed id."
[parent-el]
(dom/removeChildren parent-el))
(defn html
"Create a dom element from an html string."
[s]
(dom/htmlToDocumentFragment s))
(defn- element-arg? [x]
(or (keyword? x)
(map? x)
(string? x)))
(defn build
"Build up a dom element from nested vectors."
[x]
(if (vector? x)
(let [[parent children] (if (keyword? (first x))
[(apply element (take-while element-arg? x))
(drop-while element-arg? x)]
[(first x) (rest x)])
children (map build children)]
(apply append parent children))
x))
(defn insert-at
"Insert a child element at a specific location."
[parent child index]
(dom/insertChildAt parent child index))
(defn set-timeout [func ttime]
(timer/callOnce func ttime))
(defn set-position [e x y]
(style/setPosition e x y))
(defn get-position [e]
(style/getPosition e))
(defn toggle-class [el classname]
(classes/toggle el classname))
(defn add-class [el classname]
(classes/add el classname))
(defn remove-class [el classname]
(classes/remove el classname))

View file

@ -1,11 +1,44 @@
(defproject chat-demo "0.0.1"
:description "Example for using BrowserChannel and a client side with ClojureScript"
:dependencies [[org.clojure/clojure "1.3.0"]
[ring/ring-core "1.1.0-SNAPSHOT" :exclusions [javax.servlet/servlet-api]]
[org.clojure/clojurescript "0.0-1011" :exclusions [org.clojure/google-closure-library]]
[net.thegeez/google-closure-library "0.0-1698"]
[net.thegeez/clj-browserchannel-server "0.0.4"]
[net.thegeez/clj-browserchannel-jetty-adapter "0.0.1"]
#_[net.thegeez/clj-browserchannel-netty-adapter "0.0.1"]
]
:description "Example for using BrowserChannel and a client side with ClojureScript"
:main chat-demo.server
:dependencies [[org.clojure/clojure "1.8.0"]
[org.clojure/clojurescript "1.8.51"]
[ring/ring-defaults "0.2.0" :exclusions [javax.servlet/servlet-api]]
[ring/ring-devel "1.4.0"]
[compojure "1.4.0"]
[clj-pebble "0.2.0"]
[prismatic/dommy "1.1.0"]
[net.thegeez/clj-browserchannel-server "0.2.1"]
[net.thegeez/clj-browserchannel-jetty-adapter "0.0.8"]
[environ "1.0.3"]]
:plugins [[lein-cljsbuild "1.1.3"]
[lein-environ "1.0.3"]]
:clean-targets ^{:protect false} [:target-path
[:cljsbuild :builds :main :compiler :output-dir]
[:cljsbuild :builds :main :compiler :output-to]]
:cljsbuild {:builds {:main
{:source-paths ["src"]
:compiler {:output-to "resources/public/cljs/app.js"
:output-dir "resources/public/cljs/target"
:source-map true
:optimizations :none
:pretty-print true}}}}
:profiles {:dev {:env {:dev "true"}}
:uberjar {:env {}
:aot :all
:hooks [leiningen.cljsbuild]
:cljsbuild {:jar true
:builds {:main
{:compiler ^:replace {:output-to "resources/public/cljs/app.js"
:optimizations :advanced
:pretty-print false}}}}}}
:aliases {"uberjar" ["do" ["clean"] ["uberjar"]]}
)

View file

@ -1,37 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BrowserChannel</title>
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link rel="stylesheet" href="css/default.css" media="screen" />
</head>
<body>
<div id="room">
</div>
<div id="type-bar">
<input id="msg-input" size="30" type="text" disabled="disabled"/>
<input id="send-button" type="button" value="Send" disabled="disabled"/>
</div>
<div class="about"><a href="https://github.com/thegeez/clj-browserchannel-demo">clj-browserchannel-demo</a></div>
<div class="about">
Written by: Gijs Stuurman
/ <a href="http://twitter.com/thegeez">@thegeez</a>
/ <a href="http://thegeez.github.com">Blog</a> / <a href="https://github.com/thegeez">GitHub</a></div>
<script>
var CLOSURE_NO_DEPS = true;
</script>
<script type="text/javascript" src="js/bc-dev.js"></script>
<script>
goog.require('bc.core');
</script>
<script>
bc.core.run();
bc.core.connect();
</script>
</body>
</html>

View file

@ -8,7 +8,7 @@
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link rel="stylesheet" href="css/default.css" media="screen" />
<link rel="stylesheet" href="default.css" media="screen" />
</head>
<body>
<div id="room">
@ -17,14 +17,16 @@
<input id="msg-input" size="30" type="text" disabled="disabled"/>
<input id="send-button" type="button" value="Send" disabled="disabled"/>
</div>
<div class="about"><a href="https://github.com/thegeez/clj-browserchannel-demo">clj-browserchannel-demo</a></div>
<div class="about"><a href="https://github.com/thegeez/clj-browserchannel">clj-browserchannel-demo</a></div>
<div class="about">
Written by: Gijs Stuurman
/ <a href="http://twitter.com/thegeez">@thegeez</a>
/ <a href="http://thegeez.github.com">Blog</a> / <a href="https://github.com/thegeez">GitHub</a></div>
<script type="text/javascript" src="js/bc.js"></script>
{% if dev %}<script type="text/javascript" src="cljs/target/goog/base.js"></script>{% endif %}
<script type="text/javascript" src="cljs/app.js"></script>
{% if dev %}<script type="text/javascript">goog.require('chat_demo.client');</script>{% endif %}
<script type="text/javascript">
bc.core.run();
chat_demo.client.run();
</script>
</body>
</html>

View file

@ -0,0 +1,357 @@
if(typeof Math.imul == "undefined" || (Math.imul(0xffffffff,5) == 0)) {
Math.imul = function (a, b) {
var ah = (a >>> 16) & 0xffff;
var al = a & 0xffff;
var bh = (b >>> 16) & 0xffff;
var bl = b & 0xffff;
// the shift by 0 fixes the sign on the high part
// the final |0 converts the unsigned value into a signed value
return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0)|0);
}
}
;(function(){
var f,aa=aa||{},r=this;function ba(){}
function v(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
else if("function"==b&&"undefined"==typeof a.call)return"object";return b}function ca(a){return"array"==v(a)}function da(a){var b=v(a);return"array"==b||"object"==b&&"number"==typeof a.length}function fa(a){return"string"==typeof a}function ga(a){return"number"==typeof a}function ia(a){return"function"==v(a)}var ka="closure_uid_"+(1E9*Math.random()>>>0),na=0;function oa(a,b,c){return a.call.apply(a.bind,arguments)}
function pa(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}}function w(a,b,c){w=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?oa:pa;return w.apply(null,arguments)}var ra=Date.now||function(){return+new Date};
function sa(a,b){function c(){}c.prototype=b.prototype;a.Jb=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.Lc=function(a,c,g){for(var h=Array(arguments.length-2),k=2;k<arguments.length;k++)h[k-2]=arguments[k];return b.prototype[c].apply(a,h)}};function ta(a,b){for(var c=a.split("%s"),d="",e=Array.prototype.slice.call(arguments,1);e.length&&1<c.length;)d+=c.shift()+e.shift();return d+c.join("%s")}var va=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},wa=/&/g,xa=/</g,za=/>/g,Aa=/"/g,Ba=/'/g,Da=/\x00/g,Ea=/[\x00&<>"']/,Fa={"\x00":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\x0B",'"':'\\"',"\\":"\\\\","\x3c":"\x3c"},Ga={"'":"\\'"};
function Ha(a,b){return a<b?-1:a>b?1:0};function Ja(a,b,c){for(var d in a)b.call(c,a[d],d,a)}function Ka(a,b){for(var c in a)if(b.call(void 0,a[c],c,a))return!0;return!1}function La(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b}function Ma(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b}function Na(a){return null!==a&&"withCredentials"in a}var Oa="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
function Pa(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var g=0;g<Oa.length;g++)c=Oa[g],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};function Ra(a,b){null!=a&&this.append.apply(this,arguments)}f=Ra.prototype;f.Kb="";f.set=function(a){this.Kb=""+a};f.append=function(a,b,c){this.Kb+=a;if(null!=b)for(var d=1;d<arguments.length;d++)this.Kb+=arguments[d];return this};f.clear=function(){this.Kb=""};f.toString=function(){return this.Kb};function Sa(a){if(Error.captureStackTrace)Error.captureStackTrace(this,Sa);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a))}sa(Sa,Error);Sa.prototype.name="CustomError";function Ta(a,b){b.unshift(a);Sa.call(this,ta.apply(null,b));b.shift()}sa(Ta,Sa);Ta.prototype.name="AssertionError";function Ua(a,b){throw new Ta("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1));};var Va=Array.prototype,Wa=Va.indexOf?function(a,b,c){return Va.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(fa(a))return fa(b)&&1==b.length?a.indexOf(b,c):-1;for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1},Xa=Va.forEach?function(a,b,c){Va.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=fa(a)?a.split(""):a,g=0;g<d;g++)g in e&&b.call(c,e[g],g,a)};
function Za(a){var b;a:{b=$a;for(var c=a.length,d=fa(a)?a.split(""):a,e=0;e<c;e++)if(e in d&&b.call(void 0,d[e],e,a)){b=e;break a}b=-1}return 0>b?null:fa(a)?a.charAt(b):a[b]}function ab(a){return Va.concat.apply(Va,arguments)}function bb(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]};var cb;if("undefined"===typeof db)var db=function(){throw Error("No *print-fn* fn set for evaluation environment");};if("undefined"===typeof eb)var eb=function(){throw Error("No *print-err-fn* fn set for evaluation environment");};var gb=null;if("undefined"===typeof hb)var hb=null;function ib(){return new jb(null,5,[kb,!0,lb,!0,mb,!1,nb,!1,ob,null],null)}function x(a){return null!=a&&!1!==a}function pb(a){return a instanceof Array}function B(a,b){return a[v(null==b?null:b)]?!0:a._?!0:!1}
function D(a,b){var c=null==b?null:b.constructor,c=x(x(c)?c.de:c)?c.Pc:v(b);return Error(["No protocol method ",a," defined for type ",c,": ",b].join(""))}function qb(a){var b=a.Pc;return x(b)?b:""+E(a)}var rb="undefined"!==typeof Symbol&&"function"===v(Symbol)?Symbol.iterator:"@@iterator";function tb(a){for(var b=a.length,c=Array(b),d=0;;)if(d<b)c[d]=a[d],d+=1;else break;return c}function ub(a){function b(a,b){a.push(b);return a}var c=[];return vb?vb(b,c,a):wb.call(null,b,c,a)}function xb(){}
function yb(){}var zb=function zb(b){if(null!=b&&null!=b.da)return b.da(b);var c=zb[v(null==b?null:b)];if(null!=c)return c.b?c.b(b):c.call(null,b);c=zb._;if(null!=c)return c.b?c.b(b):c.call(null,b);throw D("ICounted.-count",b);},Ab=function Ab(b){if(null!=b&&null!=b.ea)return b.ea(b);var c=Ab[v(null==b?null:b)];if(null!=c)return c.b?c.b(b):c.call(null,b);c=Ab._;if(null!=c)return c.b?c.b(b):c.call(null,b);throw D("IEmptyableCollection.-empty",b);};function Bb(){}
var Cb=function Cb(b,c){if(null!=b&&null!=b.Y)return b.Y(b,c);var d=Cb[v(null==b?null:b)];if(null!=d)return d.a?d.a(b,c):d.call(null,b,c);d=Cb._;if(null!=d)return d.a?d.a(b,c):d.call(null,b,c);throw D("ICollection.-conj",b);};function Db(){}
var F=function F(b){for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;switch(c.length){case 2:return F.a(arguments[0],arguments[1]);case 3:return F.g(arguments[0],arguments[1],arguments[2]);default:throw Error([E("Invalid arity: "),E(c.length)].join(""));}};
F.a=function(a,b){if(null!=a&&null!=a.T)return a.T(a,b);var c=F[v(null==a?null:a)];if(null!=c)return c.a?c.a(a,b):c.call(null,a,b);c=F._;if(null!=c)return c.a?c.a(a,b):c.call(null,a,b);throw D("IIndexed.-nth",a);};F.g=function(a,b,c){if(null!=a&&null!=a.ya)return a.ya(a,b,c);var d=F[v(null==a?null:a)];if(null!=d)return d.g?d.g(a,b,c):d.call(null,a,b,c);d=F._;if(null!=d)return d.g?d.g(a,b,c):d.call(null,a,b,c);throw D("IIndexed.-nth",a);};F.$=3;function Eb(){}
var G=function G(b){if(null!=b&&null!=b.ja)return b.ja(b);var c=G[v(null==b?null:b)];if(null!=c)return c.b?c.b(b):c.call(null,b);c=G._;if(null!=c)return c.b?c.b(b):c.call(null,b);throw D("ISeq.-first",b);},H=function H(b){if(null!=b&&null!=b.va)return b.va(b);var c=H[v(null==b?null:b)];if(null!=c)return c.b?c.b(b):c.call(null,b);c=H._;if(null!=c)return c.b?c.b(b):c.call(null,b);throw D("ISeq.-rest",b);};function Fb(){}function Gb(){}
var I=function I(b){for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;switch(c.length){case 2:return I.a(arguments[0],arguments[1]);case 3:return I.g(arguments[0],arguments[1],arguments[2]);default:throw Error([E("Invalid arity: "),E(c.length)].join(""));}};
I.a=function(a,b){if(null!=a&&null!=a.J)return a.J(a,b);var c=I[v(null==a?null:a)];if(null!=c)return c.a?c.a(a,b):c.call(null,a,b);c=I._;if(null!=c)return c.a?c.a(a,b):c.call(null,a,b);throw D("ILookup.-lookup",a);};I.g=function(a,b,c){if(null!=a&&null!=a.H)return a.H(a,b,c);var d=I[v(null==a?null:a)];if(null!=d)return d.g?d.g(a,b,c):d.call(null,a,b,c);d=I._;if(null!=d)return d.g?d.g(a,b,c):d.call(null,a,b,c);throw D("ILookup.-lookup",a);};I.$=3;
var Hb=function Hb(b,c){if(null!=b&&null!=b.ud)return b.ud(b,c);var d=Hb[v(null==b?null:b)];if(null!=d)return d.a?d.a(b,c):d.call(null,b,c);d=Hb._;if(null!=d)return d.a?d.a(b,c):d.call(null,b,c);throw D("IAssociative.-contains-key?",b);},Kb=function Kb(b,c,d){if(null!=b&&null!=b.qc)return b.qc(b,c,d);var e=Kb[v(null==b?null:b)];if(null!=e)return e.g?e.g(b,c,d):e.call(null,b,c,d);e=Kb._;if(null!=e)return e.g?e.g(b,c,d):e.call(null,b,c,d);throw D("IAssociative.-assoc",b);};function Lb(){}
function Mb(){}var Nb=function Nb(b){if(null!=b&&null!=b.yd)return b.yd();var c=Nb[v(null==b?null:b)];if(null!=c)return c.b?c.b(b):c.call(null,b);c=Nb._;if(null!=c)return c.b?c.b(b):c.call(null,b);throw D("IMapEntry.-key",b);},Ob=function Ob(b){if(null!=b&&null!=b.zd)return b.zd();var c=Ob[v(null==b?null:b)];if(null!=c)return c.b?c.b(b):c.call(null,b);c=Ob._;if(null!=c)return c.b?c.b(b):c.call(null,b);throw D("IMapEntry.-val",b);};function Pb(){}function Qb(){}
var Rb=function Rb(b,c,d){if(null!=b&&null!=b.Ad)return b.Ad(b,c,d);var e=Rb[v(null==b?null:b)];if(null!=e)return e.g?e.g(b,c,d):e.call(null,b,c,d);e=Rb._;if(null!=e)return e.g?e.g(b,c,d):e.call(null,b,c,d);throw D("IVector.-assoc-n",b);};function Sb(){}
var Tb=function Tb(b){if(null!=b&&null!=b.O)return b.O(b);var c=Tb[v(null==b?null:b)];if(null!=c)return c.b?c.b(b):c.call(null,b);c=Tb._;if(null!=c)return c.b?c.b(b):c.call(null,b);throw D("IMeta.-meta",b);},Ub=function Ub(b,c){if(null!=b&&null!=b.P)return b.P(b,c);var d=Ub[v(null==b?null:b)];if(null!=d)return d.a?d.a(b,c):d.call(null,b,c);d=Ub._;if(null!=d)return d.a?d.a(b,c):d.call(null,b,c);throw D("IWithMeta.-with-meta",b);};function Vb(){}
var Wb=function Wb(b){for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;switch(c.length){case 2:return Wb.a(arguments[0],arguments[1]);case 3:return Wb.g(arguments[0],arguments[1],arguments[2]);default:throw Error([E("Invalid arity: "),E(c.length)].join(""));}};
Wb.a=function(a,b){if(null!=a&&null!=a.ha)return a.ha(a,b);var c=Wb[v(null==a?null:a)];if(null!=c)return c.a?c.a(a,b):c.call(null,a,b);c=Wb._;if(null!=c)return c.a?c.a(a,b):c.call(null,a,b);throw D("IReduce.-reduce",a);};Wb.g=function(a,b,c){if(null!=a&&null!=a.ia)return a.ia(a,b,c);var d=Wb[v(null==a?null:a)];if(null!=d)return d.g?d.g(a,b,c):d.call(null,a,b,c);d=Wb._;if(null!=d)return d.g?d.g(a,b,c):d.call(null,a,b,c);throw D("IReduce.-reduce",a);};Wb.$=3;
var Xb=function Xb(b,c){if(null!=b&&null!=b.u)return b.u(b,c);var d=Xb[v(null==b?null:b)];if(null!=d)return d.a?d.a(b,c):d.call(null,b,c);d=Xb._;if(null!=d)return d.a?d.a(b,c):d.call(null,b,c);throw D("IEquiv.-equiv",b);},Yb=function Yb(b){if(null!=b&&null!=b.N)return b.N(b);var c=Yb[v(null==b?null:b)];if(null!=c)return c.b?c.b(b):c.call(null,b);c=Yb._;if(null!=c)return c.b?c.b(b):c.call(null,b);throw D("IHash.-hash",b);};function Zb(){}
var $b=function $b(b){if(null!=b&&null!=b.Z)return b.Z(b);var c=$b[v(null==b?null:b)];if(null!=c)return c.b?c.b(b):c.call(null,b);c=$b._;if(null!=c)return c.b?c.b(b):c.call(null,b);throw D("ISeqable.-seq",b);};function bc(){}function cc(){}
var K=function K(b,c){if(null!=b&&null!=b.ce)return b.ce(0,c);var d=K[v(null==b?null:b)];if(null!=d)return d.a?d.a(b,c):d.call(null,b,c);d=K._;if(null!=d)return d.a?d.a(b,c):d.call(null,b,c);throw D("IWriter.-write",b);},dc=function dc(b){if(null!=b&&null!=b.ac)return b.ac(b);var c=dc[v(null==b?null:b)];if(null!=c)return c.b?c.b(b):c.call(null,b);c=dc._;if(null!=c)return c.b?c.b(b):c.call(null,b);throw D("IEditableCollection.-as-transient",b);},ec=function ec(b,c){if(null!=b&&null!=b.sc)return b.sc(b,
c);var d=ec[v(null==b?null:b)];if(null!=d)return d.a?d.a(b,c):d.call(null,b,c);d=ec._;if(null!=d)return d.a?d.a(b,c):d.call(null,b,c);throw D("ITransientCollection.-conj!",b);},fc=function fc(b){if(null!=b&&null!=b.tc)return b.tc(b);var c=fc[v(null==b?null:b)];if(null!=c)return c.b?c.b(b):c.call(null,b);c=fc._;if(null!=c)return c.b?c.b(b):c.call(null,b);throw D("ITransientCollection.-persistent!",b);},gc=function gc(b,c,d){if(null!=b&&null!=b.rc)return b.rc(b,c,d);var e=gc[v(null==b?null:b)];if(null!=
e)return e.g?e.g(b,c,d):e.call(null,b,c,d);e=gc._;if(null!=e)return e.g?e.g(b,c,d):e.call(null,b,c,d);throw D("ITransientAssociative.-assoc!",b);},hc=function hc(b,c,d){if(null!=b&&null!=b.be)return b.be(0,c,d);var e=hc[v(null==b?null:b)];if(null!=e)return e.g?e.g(b,c,d):e.call(null,b,c,d);e=hc._;if(null!=e)return e.g?e.g(b,c,d):e.call(null,b,c,d);throw D("ITransientVector.-assoc-n!",b);},ic=function ic(b){if(null!=b&&null!=b.$d)return b.$d();var c=ic[v(null==b?null:b)];if(null!=c)return c.b?c.b(b):
c.call(null,b);c=ic._;if(null!=c)return c.b?c.b(b):c.call(null,b);throw D("IChunk.-drop-first",b);},jc=function jc(b){if(null!=b&&null!=b.wd)return b.wd(b);var c=jc[v(null==b?null:b)];if(null!=c)return c.b?c.b(b):c.call(null,b);c=jc._;if(null!=c)return c.b?c.b(b):c.call(null,b);throw D("IChunkedSeq.-chunked-first",b);},kc=function kc(b){if(null!=b&&null!=b.xd)return b.xd(b);var c=kc[v(null==b?null:b)];if(null!=c)return c.b?c.b(b):c.call(null,b);c=kc._;if(null!=c)return c.b?c.b(b):c.call(null,b);throw D("IChunkedSeq.-chunked-rest",
b);},lc=function lc(b){if(null!=b&&null!=b.vd)return b.vd(b);var c=lc[v(null==b?null:b)];if(null!=c)return c.b?c.b(b):c.call(null,b);c=lc._;if(null!=c)return c.b?c.b(b):c.call(null,b);throw D("IChunkedNext.-chunked-next",b);},mc=function mc(b){if(null!=b&&null!=b.nb)return b.nb(b);var c=mc[v(null==b?null:b)];if(null!=c)return c.b?c.b(b):c.call(null,b);c=mc._;if(null!=c)return c.b?c.b(b):c.call(null,b);throw D("IIterable.-iterator",b);};function nc(a){this.Cf=a;this.i=1073741824;this.D=0}
nc.prototype.ce=function(a,b){return this.Cf.append(b)};function oc(a){var b=new Ra;a.U(null,new nc(b),ib());return""+E(b)}var pc="undefined"!==typeof Math.imul&&0!==Math.imul(4294967295,5)?function(a,b){return Math.imul(a,b)}:function(a,b){var c=a&65535,d=b&65535;return c*d+((a>>>16&65535)*d+c*(b>>>16&65535)<<16>>>0)|0};function qc(a){a=pc(a|0,-862048943);return pc(a<<15|a>>>-15,461845907)}function rc(a,b){var c=(a|0)^(b|0);return pc(c<<13|c>>>-13,5)+-430675100|0}
function sc(a,b){var c=(a|0)^b,c=pc(c^c>>>16,-2048144789),c=pc(c^c>>>13,-1028477387);return c^c>>>16}function tc(a){var b;a:{b=1;for(var c=0;;)if(b<a.length){var d=b+2,c=rc(c,qc(a.charCodeAt(b-1)|a.charCodeAt(b)<<16));b=d}else{b=c;break a}}b=1===(a.length&1)?b^qc(a.charCodeAt(a.length-1)):b;return sc(b,pc(2,a.length))}var uc={},wc=0;
function xc(a){255<wc&&(uc={},wc=0);var b=uc[a];if("number"!==typeof b){a:if(null!=a)if(b=a.length,0<b)for(var c=0,d=0;;)if(c<b)var e=c+1,d=pc(31,d)+a.charCodeAt(c),c=e;else{b=d;break a}else b=0;else b=0;uc[a]=b;wc+=1}return a=b}
function yc(a){if(null!=a&&(a.i&4194304||a.Lf))return a.N(null);if("number"===typeof a){if(x(isFinite(a)))return Math.floor(a)%2147483647;switch(a){case Infinity:return 2146435072;case -Infinity:return-1048576;default:return 2146959360}}else return!0===a?a=1:!1===a?a=0:"string"===typeof a?(a=xc(a),0!==a&&(a=qc(a),a=rc(0,a),a=sc(a,4))):a=a instanceof Date?a.valueOf():null==a?0:Yb(a),a}function zc(a,b){return a^b+2654435769+(a<<6)+(a>>2)}
function Ac(a,b,c,d,e){this.Fc=a;this.name=b;this.Ib=c;this.Yb=d;this.ma=e;this.i=2154168321;this.D=4096}f=Ac.prototype;f.toString=function(){return this.Ib};f.equiv=function(a){return this.u(null,a)};f.u=function(a,b){return b instanceof Ac?this.Ib===b.Ib:!1};
f.call=function(){function a(a,b,c){return L.g?L.g(b,this,c):L.call(null,b,this,c)}function b(a,b){return L.a?L.a(b,this):L.call(null,b,this)}var c=null,c=function(c,e,g){switch(arguments.length){case 2:return b.call(this,0,e);case 3:return a.call(this,0,e,g)}throw Error("Invalid arity: "+arguments.length);};c.a=b;c.g=a;return c}();f.apply=function(a,b){return this.call.apply(this,[this].concat(tb(b)))};f.b=function(a){return L.a?L.a(a,this):L.call(null,a,this)};
f.a=function(a,b){return L.g?L.g(a,this,b):L.call(null,a,this,b)};f.O=function(){return this.ma};f.P=function(a,b){return new Ac(this.Fc,this.name,this.Ib,this.Yb,b)};f.N=function(){var a=this.Yb;return null!=a?a:this.Yb=a=zc(tc(this.name),xc(this.Fc))};f.U=function(a,b){return K(b,this.Ib)};
function M(a){if(null==a)return null;if(null!=a&&(a.i&8388608||a.af))return a.Z(null);if(pb(a)||"string"===typeof a)return 0===a.length?null:new N(a,0,null);if(B(Zb,a))return $b(a);throw Error([E(a),E(" is not ISeqable")].join(""));}function O(a){if(null==a)return null;if(null!=a&&(a.i&64||a.bc))return a.ja(null);a=M(a);return null==a?null:G(a)}function Bc(a){return null!=a?null!=a&&(a.i&64||a.bc)?a.va(null):(a=M(a))?H(a):P:P}
function Q(a){return null==a?null:null!=a&&(a.i&128||a.Oc)?a.qa(null):M(Bc(a))}var Cc=function Cc(b){for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;switch(c.length){case 1:return Cc.b(arguments[0]);case 2:return Cc.a(arguments[0],arguments[1]);default:return Cc.G(arguments[0],arguments[1],new N(c.slice(2),0,null))}};Cc.b=function(){return!0};Cc.a=function(a,b){return null==a?null==b:a===b||Xb(a,b)};
Cc.G=function(a,b,c){for(;;)if(Cc.a(a,b))if(Q(c))a=b,b=O(c),c=Q(c);else return Cc.a(b,O(c));else return!1};Cc.V=function(a){var b=O(a),c=Q(a);a=O(c);c=Q(c);return Cc.G(b,a,c)};Cc.$=2;function Dc(a){this.w=a}Dc.prototype.next=function(){if(null!=this.w){var a=O(this.w);this.w=Q(this.w);return{value:a,done:!1}}return{value:null,done:!0}};function Ec(a){return new Dc(M(a))}function Fc(a,b){var c=qc(a),c=rc(0,c);return sc(c,b)}
function Gc(a){var b=0,c=1;for(a=M(a);;)if(null!=a)b+=1,c=pc(31,c)+yc(O(a))|0,a=Q(a);else return Fc(c,b)}var Hc=Fc(1,0);function Ic(a){var b=0,c=0;for(a=M(a);;)if(null!=a)b+=1,c=c+yc(O(a))|0,a=Q(a);else return Fc(c,b)}var Jc=Fc(0,0);yb["null"]=!0;zb["null"]=function(){return 0};Date.prototype.u=function(a,b){return b instanceof Date&&this.valueOf()===b.valueOf()};Xb.number=function(a,b){return a===b};xb["function"]=!0;Sb["function"]=!0;Tb["function"]=function(){return null};
Yb._=function(a){return a[ka]||(a[ka]=++na)};function Kc(a,b){var c=zb(a);if(0===c)return b.I?b.I():b.call(null);for(var d=F.a(a,0),e=1;;)if(e<c)var g=F.a(a,e),d=b.a?b.a(d,g):b.call(null,d,g),e=e+1;else return d}function Lc(a,b,c){var d=zb(a),e=c;for(c=0;;)if(c<d){var g=F.a(a,c),e=b.a?b.a(e,g):b.call(null,e,g);c+=1}else return e}function Mc(a,b){var c=a.length;if(0===a.length)return b.I?b.I():b.call(null);for(var d=a[0],e=1;;)if(e<c)var g=a[e],d=b.a?b.a(d,g):b.call(null,d,g),e=e+1;else return d}
function Nc(a,b,c){var d=a.length,e=c;for(c=0;;)if(c<d){var g=a[c],e=b.a?b.a(e,g):b.call(null,e,g);c+=1}else return e}function Oc(a,b,c,d){for(var e=a.length;;)if(d<e){var g=a[d];c=b.a?b.a(c,g):b.call(null,c,g);d+=1}else return c}function Pc(a){return null!=a?a.i&2||a.Qe?!0:a.i?!1:B(yb,a):B(yb,a)}function Qc(a){return null!=a?a.i&16||a.ae?!0:a.i?!1:B(Db,a):B(Db,a)}
function S(a,b,c){var d=T.b?T.b(a):T.call(null,a);if(c>=d)return-1;!(0<c)&&0>c&&(c+=d,c=0>c?0:c);for(;;)if(c<d){if(Cc.a(Rc?Rc(a,c):Sc.call(null,a,c),b))return c;c+=1}else return-1}function U(a,b,c){var d=T.b?T.b(a):T.call(null,a);if(0===d)return-1;0<c?(--d,c=d<c?d:c):c=0>c?d+c:c;for(;;)if(0<=c){if(Cc.a(Rc?Rc(a,c):Sc.call(null,a,c),b))return c;--c}else return-1}function Tc(a,b){this.c=a;this.l=b}Tc.prototype.ra=function(){return this.l<this.c.length};
Tc.prototype.next=function(){var a=this.c[this.l];this.l+=1;return a};function N(a,b,c){this.c=a;this.l=b;this.o=c;this.i=166592766;this.D=8192}f=N.prototype;f.toString=function(){return oc(this)};f.equiv=function(a){return this.u(null,a)};f.indexOf=function(){var a=null,a=function(a,c){switch(arguments.length){case 1:return S(this,a,0);case 2:return S(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.b=function(a){return S(this,a,0)};a.a=function(a,c){return S(this,a,c)};return a}();
f.lastIndexOf=function(){function a(a){return U(this,a,T.b?T.b(this):T.call(null,this))}var b=null,b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return U(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.b=a;b.a=function(a,b){return U(this,a,b)};return b}();f.T=function(a,b){var c=b+this.l;return c<this.c.length?this.c[c]:null};f.ya=function(a,b,c){a=b+this.l;return a<this.c.length?this.c[a]:c};f.nb=function(){return new Tc(this.c,this.l)};f.O=function(){return this.o};
f.qa=function(){return this.l+1<this.c.length?new N(this.c,this.l+1,null):null};f.da=function(){var a=this.c.length-this.l;return 0>a?0:a};f.N=function(){return Gc(this)};f.u=function(a,b){return Uc.a?Uc.a(this,b):Uc.call(null,this,b)};f.ea=function(){return P};f.ha=function(a,b){return Oc(this.c,b,this.c[this.l],this.l+1)};f.ia=function(a,b,c){return Oc(this.c,b,c,this.l)};f.ja=function(){return this.c[this.l]};f.va=function(){return this.l+1<this.c.length?new N(this.c,this.l+1,null):P};
f.Z=function(){return this.l<this.c.length?this:null};f.P=function(a,b){return new N(this.c,this.l,b)};f.Y=function(a,b){return V.a?V.a(b,this):V.call(null,b,this)};N.prototype[rb]=function(){return Ec(this)};function Vc(a,b){return b<a.length?new N(a,b,null):null}
function Wc(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return Vc(arguments[0],0);case 2:return Vc(arguments[0],arguments[1]);default:throw Error([E("Invalid arity: "),E(b.length)].join(""));}}Xb._=function(a,b){return a===b};
var Xc=function Xc(b){for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;switch(c.length){case 0:return Xc.I();case 1:return Xc.b(arguments[0]);case 2:return Xc.a(arguments[0],arguments[1]);default:return Xc.G(arguments[0],arguments[1],new N(c.slice(2),0,null))}};Xc.I=function(){return Yc};Xc.b=function(a){return a};Xc.a=function(a,b){return null!=a?Cb(a,b):Cb(P,b)};Xc.G=function(a,b,c){for(;;)if(x(c))a=Xc.a(a,b),b=O(c),c=Q(c);else return Xc.a(a,b)};
Xc.V=function(a){var b=O(a),c=Q(a);a=O(c);c=Q(c);return Xc.G(b,a,c)};Xc.$=2;function T(a){if(null!=a)if(null!=a&&(a.i&2||a.Qe))a=a.da(null);else if(pb(a))a=a.length;else if("string"===typeof a)a=a.length;else if(null!=a&&(a.i&8388608||a.af))a:{a=M(a);for(var b=0;;){if(Pc(a)){a=b+zb(a);break a}a=Q(a);b+=1}}else a=zb(a);else a=0;return a}function Zc(a,b,c){for(;;){if(null==a)return c;if(0===b)return M(a)?O(a):c;if(Qc(a))return F.g(a,b,c);if(M(a))a=Q(a),--b;else return c}}
function Sc(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return Rc(arguments[0],arguments[1]);case 3:return ad(arguments[0],arguments[1],arguments[2]);default:throw Error([E("Invalid arity: "),E(b.length)].join(""));}}
function Rc(a,b){if("number"!==typeof b)throw Error("index argument to nth must be a number");if(null==a)return a;if(null!=a&&(a.i&16||a.ae))return a.T(null,b);if(pb(a))return b<a.length?a[b]:null;if("string"===typeof a)return b<a.length?a.charAt(b):null;if(null!=a&&(a.i&64||a.bc)){var c;a:{c=a;for(var d=b;;){if(null==c)throw Error("Index out of bounds");if(0===d){if(M(c)){c=O(c);break a}throw Error("Index out of bounds");}if(Qc(c)){c=F.a(c,d);break a}if(M(c))c=Q(c),--d;else throw Error("Index out of bounds");
}}return c}if(B(Db,a))return F.a(a,b);throw Error([E("nth not supported on this type "),E(qb(null==a?null:a.constructor))].join(""));}
function ad(a,b,c){if("number"!==typeof b)throw Error("index argument to nth must be a number.");if(null==a)return c;if(null!=a&&(a.i&16||a.ae))return a.ya(null,b,c);if(pb(a))return b<a.length?a[b]:c;if("string"===typeof a)return b<a.length?a.charAt(b):c;if(null!=a&&(a.i&64||a.bc))return Zc(a,b,c);if(B(Db,a))return F.a(a,b);throw Error([E("nth not supported on this type "),E(qb(null==a?null:a.constructor))].join(""));}
var L=function L(b){for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;switch(c.length){case 2:return L.a(arguments[0],arguments[1]);case 3:return L.g(arguments[0],arguments[1],arguments[2]);default:throw Error([E("Invalid arity: "),E(c.length)].join(""));}};L.a=function(a,b){return null==a?null:null!=a&&(a.i&256||a.Ve)?a.J(null,b):pb(a)?b<a.length?a[b|0]:null:"string"===typeof a?b<a.length?a[b|0]:null:B(Gb,a)?I.a(a,b):null};
L.g=function(a,b,c){return null!=a?null!=a&&(a.i&256||a.Ve)?a.H(null,b,c):pb(a)?b<a.length?a[b]:c:"string"===typeof a?b<a.length?a[b]:c:B(Gb,a)?I.g(a,b,c):c:c};L.$=3;var bd=function bd(b){for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;switch(c.length){case 3:return bd.g(arguments[0],arguments[1],arguments[2]);default:return bd.G(arguments[0],arguments[1],arguments[2],new N(c.slice(3),0,null))}};
bd.g=function(a,b,c){if(null!=a)a=Kb(a,b,c);else a:{a=[b];c=[c];b=a.length;var d=0,e;for(e=dc(cd);;)if(d<b){var g=d+1;e=e.rc(null,a[d],c[d]);d=g}else{a=fc(e);break a}}return a};bd.G=function(a,b,c,d){for(;;)if(a=bd.g(a,b,c),x(d))b=O(d),c=O(Q(d)),d=Q(Q(d));else return a};bd.V=function(a){var b=O(a),c=Q(a);a=O(c);var d=Q(c),c=O(d),d=Q(d);return bd.G(b,a,c,d)};bd.$=3;function dd(a,b){this.f=a;this.o=b;this.i=393217;this.D=0}f=dd.prototype;f.O=function(){return this.o};
f.P=function(a,b){return new dd(this.f,b)};f.Pe=!0;
f.call=function(){function a(a,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,z,J,R,ma){a=this;return ed.Nc?ed.Nc(a.f,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,z,J,R,ma):ed.call(null,a.f,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,z,J,R,ma)}function b(a,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,z,J,R){a=this;return a.f.ib?a.f.ib(b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,z,J,R):a.f.call(null,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,z,J,R)}function c(a,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,z,J){a=this;return a.f.hb?a.f.hb(b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,
z,J):a.f.call(null,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,z,J)}function d(a,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,z){a=this;return a.f.gb?a.f.gb(b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,z):a.f.call(null,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,z)}function e(a,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C){a=this;return a.f.fb?a.f.fb(b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C):a.f.call(null,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C)}function g(a,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A){a=this;return a.f.eb?a.f.eb(b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A):a.f.call(null,
b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A)}function h(a,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y){a=this;return a.f.cb?a.f.cb(b,c,d,e,g,h,k,l,n,m,p,q,t,u,y):a.f.call(null,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y)}function k(a,b,c,d,e,g,h,k,l,n,m,p,q,t,u){a=this;return a.f.bb?a.f.bb(b,c,d,e,g,h,k,l,n,m,p,q,t,u):a.f.call(null,b,c,d,e,g,h,k,l,n,m,p,q,t,u)}function l(a,b,c,d,e,g,h,k,l,n,m,p,q,t){a=this;return a.f.ab?a.f.ab(b,c,d,e,g,h,k,l,n,m,p,q,t):a.f.call(null,b,c,d,e,g,h,k,l,n,m,p,q,t)}function n(a,b,c,d,e,g,h,k,l,n,m,p,q){a=this;
return a.f.$a?a.f.$a(b,c,d,e,g,h,k,l,n,m,p,q):a.f.call(null,b,c,d,e,g,h,k,l,n,m,p,q)}function m(a,b,c,d,e,g,h,k,l,n,m,p){a=this;return a.f.Za?a.f.Za(b,c,d,e,g,h,k,l,n,m,p):a.f.call(null,b,c,d,e,g,h,k,l,n,m,p)}function p(a,b,c,d,e,g,h,k,l,n,m){a=this;return a.f.Ya?a.f.Ya(b,c,d,e,g,h,k,l,n,m):a.f.call(null,b,c,d,e,g,h,k,l,n,m)}function q(a,b,c,d,e,g,h,k,l,n){a=this;return a.f.mb?a.f.mb(b,c,d,e,g,h,k,l,n):a.f.call(null,b,c,d,e,g,h,k,l,n)}function t(a,b,c,d,e,g,h,k,l){a=this;return a.f.lb?a.f.lb(b,c,
d,e,g,h,k,l):a.f.call(null,b,c,d,e,g,h,k,l)}function u(a,b,c,d,e,g,h,k){a=this;return a.f.kb?a.f.kb(b,c,d,e,g,h,k):a.f.call(null,b,c,d,e,g,h,k)}function y(a,b,c,d,e,g,h){a=this;return a.f.jb?a.f.jb(b,c,d,e,g,h):a.f.call(null,b,c,d,e,g,h)}function A(a,b,c,d,e,g){a=this;return a.f.pa?a.f.pa(b,c,d,e,g):a.f.call(null,b,c,d,e,g)}function C(a,b,c,d,e){a=this;return a.f.ua?a.f.ua(b,c,d,e):a.f.call(null,b,c,d,e)}function J(a,b,c,d){a=this;return a.f.g?a.f.g(b,c,d):a.f.call(null,b,c,d)}function R(a,b,c){a=
this;return a.f.a?a.f.a(b,c):a.f.call(null,b,c)}function ma(a,b){a=this;return a.f.b?a.f.b(b):a.f.call(null,b)}function Jb(a){a=this;return a.f.I?a.f.I():a.f.call(null)}var z=null,z=function(z,ea,ha,ja,la,qa,ua,ya,Ca,Ia,Qa,Ya,fb,sb,Ib,ac,vc,$c,Ud,Ye,Fg,$i){switch(arguments.length){case 1:return Jb.call(this,z);case 2:return ma.call(this,z,ea);case 3:return R.call(this,z,ea,ha);case 4:return J.call(this,z,ea,ha,ja);case 5:return C.call(this,z,ea,ha,ja,la);case 6:return A.call(this,z,ea,ha,ja,la,qa);
case 7:return y.call(this,z,ea,ha,ja,la,qa,ua);case 8:return u.call(this,z,ea,ha,ja,la,qa,ua,ya);case 9:return t.call(this,z,ea,ha,ja,la,qa,ua,ya,Ca);case 10:return q.call(this,z,ea,ha,ja,la,qa,ua,ya,Ca,Ia);case 11:return p.call(this,z,ea,ha,ja,la,qa,ua,ya,Ca,Ia,Qa);case 12:return m.call(this,z,ea,ha,ja,la,qa,ua,ya,Ca,Ia,Qa,Ya);case 13:return n.call(this,z,ea,ha,ja,la,qa,ua,ya,Ca,Ia,Qa,Ya,fb);case 14:return l.call(this,z,ea,ha,ja,la,qa,ua,ya,Ca,Ia,Qa,Ya,fb,sb);case 15:return k.call(this,z,ea,ha,ja,
la,qa,ua,ya,Ca,Ia,Qa,Ya,fb,sb,Ib);case 16:return h.call(this,z,ea,ha,ja,la,qa,ua,ya,Ca,Ia,Qa,Ya,fb,sb,Ib,ac);case 17:return g.call(this,z,ea,ha,ja,la,qa,ua,ya,Ca,Ia,Qa,Ya,fb,sb,Ib,ac,vc);case 18:return e.call(this,z,ea,ha,ja,la,qa,ua,ya,Ca,Ia,Qa,Ya,fb,sb,Ib,ac,vc,$c);case 19:return d.call(this,z,ea,ha,ja,la,qa,ua,ya,Ca,Ia,Qa,Ya,fb,sb,Ib,ac,vc,$c,Ud);case 20:return c.call(this,z,ea,ha,ja,la,qa,ua,ya,Ca,Ia,Qa,Ya,fb,sb,Ib,ac,vc,$c,Ud,Ye);case 21:return b.call(this,z,ea,ha,ja,la,qa,ua,ya,Ca,Ia,Qa,Ya,
fb,sb,Ib,ac,vc,$c,Ud,Ye,Fg);case 22:return a.call(this,z,ea,ha,ja,la,qa,ua,ya,Ca,Ia,Qa,Ya,fb,sb,Ib,ac,vc,$c,Ud,Ye,Fg,$i)}throw Error("Invalid arity: "+arguments.length);};z.b=Jb;z.a=ma;z.g=R;z.ua=J;z.pa=C;z.jb=A;z.kb=y;z.lb=u;z.mb=t;z.Ya=q;z.Za=p;z.$a=m;z.ab=n;z.bb=l;z.cb=k;z.eb=h;z.fb=g;z.gb=e;z.hb=d;z.ib=c;z.Ue=b;z.Nc=a;return z}();f.apply=function(a,b){return this.call.apply(this,[this].concat(tb(b)))};f.I=function(){return this.f.I?this.f.I():this.f.call(null)};
f.b=function(a){return this.f.b?this.f.b(a):this.f.call(null,a)};f.a=function(a,b){return this.f.a?this.f.a(a,b):this.f.call(null,a,b)};f.g=function(a,b,c){return this.f.g?this.f.g(a,b,c):this.f.call(null,a,b,c)};f.ua=function(a,b,c,d){return this.f.ua?this.f.ua(a,b,c,d):this.f.call(null,a,b,c,d)};f.pa=function(a,b,c,d,e){return this.f.pa?this.f.pa(a,b,c,d,e):this.f.call(null,a,b,c,d,e)};f.jb=function(a,b,c,d,e,g){return this.f.jb?this.f.jb(a,b,c,d,e,g):this.f.call(null,a,b,c,d,e,g)};
f.kb=function(a,b,c,d,e,g,h){return this.f.kb?this.f.kb(a,b,c,d,e,g,h):this.f.call(null,a,b,c,d,e,g,h)};f.lb=function(a,b,c,d,e,g,h,k){return this.f.lb?this.f.lb(a,b,c,d,e,g,h,k):this.f.call(null,a,b,c,d,e,g,h,k)};f.mb=function(a,b,c,d,e,g,h,k,l){return this.f.mb?this.f.mb(a,b,c,d,e,g,h,k,l):this.f.call(null,a,b,c,d,e,g,h,k,l)};f.Ya=function(a,b,c,d,e,g,h,k,l,n){return this.f.Ya?this.f.Ya(a,b,c,d,e,g,h,k,l,n):this.f.call(null,a,b,c,d,e,g,h,k,l,n)};
f.Za=function(a,b,c,d,e,g,h,k,l,n,m){return this.f.Za?this.f.Za(a,b,c,d,e,g,h,k,l,n,m):this.f.call(null,a,b,c,d,e,g,h,k,l,n,m)};f.$a=function(a,b,c,d,e,g,h,k,l,n,m,p){return this.f.$a?this.f.$a(a,b,c,d,e,g,h,k,l,n,m,p):this.f.call(null,a,b,c,d,e,g,h,k,l,n,m,p)};f.ab=function(a,b,c,d,e,g,h,k,l,n,m,p,q){return this.f.ab?this.f.ab(a,b,c,d,e,g,h,k,l,n,m,p,q):this.f.call(null,a,b,c,d,e,g,h,k,l,n,m,p,q)};
f.bb=function(a,b,c,d,e,g,h,k,l,n,m,p,q,t){return this.f.bb?this.f.bb(a,b,c,d,e,g,h,k,l,n,m,p,q,t):this.f.call(null,a,b,c,d,e,g,h,k,l,n,m,p,q,t)};f.cb=function(a,b,c,d,e,g,h,k,l,n,m,p,q,t,u){return this.f.cb?this.f.cb(a,b,c,d,e,g,h,k,l,n,m,p,q,t,u):this.f.call(null,a,b,c,d,e,g,h,k,l,n,m,p,q,t,u)};f.eb=function(a,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y){return this.f.eb?this.f.eb(a,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y):this.f.call(null,a,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y)};
f.fb=function(a,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A){return this.f.fb?this.f.fb(a,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A):this.f.call(null,a,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A)};f.gb=function(a,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C){return this.f.gb?this.f.gb(a,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C):this.f.call(null,a,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C)};
f.hb=function(a,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,J){return this.f.hb?this.f.hb(a,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,J):this.f.call(null,a,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,J)};f.ib=function(a,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,J,R){return this.f.ib?this.f.ib(a,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,J,R):this.f.call(null,a,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,J,R)};
f.Ue=function(a,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,J,R,ma){return ed.Nc?ed.Nc(this.f,a,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,J,R,ma):ed.call(null,this.f,a,b,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,J,R,ma)};function fd(a,b){return ia(a)?new dd(a,b):null==a?null:Ub(a,b)}function gd(a){var b=null!=a;return(b?null!=a?a.i&131072||a.Ye||(a.i?0:B(Sb,a)):B(Sb,a):b)?Tb(a):null}function hd(a){return null==a?!1:null!=a?a.i&8||a.If?!0:a.i?!1:B(Bb,a):B(Bb,a)}
function id(a){return null==a?!1:null!=a?a.i&4096||a.Of?!0:a.i?!1:B(Pb,a):B(Pb,a)}function jd(a){return null!=a?a.i&16777216||a.Nf?!0:a.i?!1:B(bc,a):B(bc,a)}function kd(a){return null==a?!1:null!=a?a.i&1024||a.We?!0:a.i?!1:B(Lb,a):B(Lb,a)}function ld(a){return null!=a?a.i&16384||a.Pf?!0:a.i?!1:B(Qb,a):B(Qb,a)}function md(a){return null!=a?a.D&512||a.Hf?!0:!1:!1}function nd(a){var b=[];Ja(a,function(a,b){return function(a,c){return b.push(c)}}(a,b));return b}
function od(a,b,c,d,e){for(;0!==e;)c[d]=a[b],d+=1,--e,b+=1}var pd={};function qd(a){return null==a?!1:null!=a?a.i&64||a.bc?!0:a.i?!1:B(Eb,a):B(Eb,a)}function rd(a){return null==a?!1:!1===a?!1:!0}function sd(a,b){return L.g(a,b,pd)===pd?!1:!0}function td(a,b){var c=M(b);if(c){var d=O(c),c=Q(c);return vb?vb(a,d,c):wb.call(null,a,d,c)}return a.I?a.I():a.call(null)}function ud(a,b,c){for(c=M(c);;)if(c){var d=O(c);b=a.a?a.a(b,d):a.call(null,b,d);c=Q(c)}else return b}
function wb(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return b=arguments[0],c=arguments[1],null!=c&&(c.i&524288||c.$e)?c.ha(null,b):pb(c)?Mc(c,b):"string"===typeof c?Mc(c,b):B(Vb,c)?Wb.a(c,b):td(b,c);case 3:return vb(arguments[0],arguments[1],arguments[2]);default:throw Error([E("Invalid arity: "),E(b.length)].join(""));}}
function vb(a,b,c){return null!=c&&(c.i&524288||c.$e)?c.ia(null,a,b):pb(c)?Nc(c,a,b):"string"===typeof c?Nc(c,a,b):B(Vb,c)?Wb.g(c,a,b):ud(a,b,c)}function vd(a){return a}function wd(a){a=(a-a%2)/2;return 0<=a?Math.floor(a):Math.ceil(a)}function xd(a){a-=a>>1&1431655765;a=(a&858993459)+(a>>2&858993459);return 16843009*(a+(a>>4)&252645135)>>24}
var E=function E(b){for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;switch(c.length){case 0:return E.I();case 1:return E.b(arguments[0]);default:return E.G(arguments[0],new N(c.slice(1),0,null))}};E.I=function(){return""};E.b=function(a){return null==a?"":""+a};E.G=function(a,b){for(var c=new Ra(""+E(a)),d=b;;)if(x(d))c=c.append(""+E(O(d))),d=Q(d);else return c.toString()};E.V=function(a){var b=O(a);a=Q(a);return E.G(b,a)};E.$=1;
function Uc(a,b){var c;if(jd(b))if(Pc(a)&&Pc(b)&&T(a)!==T(b))c=!1;else a:{c=M(a);for(var d=M(b);;){if(null==c){c=null==d;break a}if(null!=d&&Cc.a(O(c),O(d)))c=Q(c),d=Q(d);else{c=!1;break a}}}else c=null;return rd(c)}function yd(a,b,c,d,e){this.o=a;this.first=b;this.tb=c;this.count=d;this.s=e;this.i=65937646;this.D=8192}f=yd.prototype;f.toString=function(){return oc(this)};f.equiv=function(a){return this.u(null,a)};
f.indexOf=function(){var a=null,a=function(a,c){switch(arguments.length){case 1:return S(this,a,0);case 2:return S(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.b=function(a){return S(this,a,0)};a.a=function(a,c){return S(this,a,c)};return a}();
f.lastIndexOf=function(){function a(a){return U(this,a,this.count)}var b=null,b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return U(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.b=a;b.a=function(a,b){return U(this,a,b)};return b}();f.O=function(){return this.o};f.qa=function(){return 1===this.count?null:this.tb};f.da=function(){return this.count};f.N=function(){var a=this.s;return null!=a?a:this.s=a=Gc(this)};f.u=function(a,b){return Uc(this,b)};
f.ea=function(){return Ub(P,this.o)};f.ha=function(a,b){return td(b,this)};f.ia=function(a,b,c){return ud(b,c,this)};f.ja=function(){return this.first};f.va=function(){return 1===this.count?P:this.tb};f.Z=function(){return this};f.P=function(a,b){return new yd(b,this.first,this.tb,this.count,this.s)};f.Y=function(a,b){return new yd(this.o,b,this,this.count+1,null)};yd.prototype[rb]=function(){return Ec(this)};function zd(a){this.o=a;this.i=65937614;this.D=8192}f=zd.prototype;f.toString=function(){return oc(this)};
f.equiv=function(a){return this.u(null,a)};f.indexOf=function(){var a=null,a=function(a,c){switch(arguments.length){case 1:return S(this,a,0);case 2:return S(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.b=function(a){return S(this,a,0)};a.a=function(a,c){return S(this,a,c)};return a}();
f.lastIndexOf=function(){function a(a){return U(this,a,T(this))}var b=null,b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return U(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.b=a;b.a=function(a,b){return U(this,a,b)};return b}();f.O=function(){return this.o};f.qa=function(){return null};f.da=function(){return 0};f.N=function(){return Hc};f.u=function(a,b){return(null!=b?b.i&33554432||b.Mf||(b.i?0:B(cc,b)):B(cc,b))||jd(b)?null==M(b):!1};f.ea=function(){return this};
f.ha=function(a,b){return td(b,this)};f.ia=function(a,b,c){return ud(b,c,this)};f.ja=function(){return null};f.va=function(){return P};f.Z=function(){return null};f.P=function(a,b){return new zd(b)};f.Y=function(a,b){return new yd(this.o,b,null,1,null)};var P=new zd(null);zd.prototype[rb]=function(){return Ec(this)};
function Ad(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;a:{c=0<b.length?new N(b.slice(0),0,null):null;if(c instanceof N&&0===c.l)b=c.c;else b:for(b=[];;)if(null!=c)b.push(c.ja(null)),c=c.qa(null);else break b;for(var c=b.length,e=P;;)if(0<c)d=c-1,e=e.Y(null,b[c-1]),c=d;else break a}return e}function Bd(a,b,c,d){this.o=a;this.first=b;this.tb=c;this.s=d;this.i=65929452;this.D=8192}f=Bd.prototype;f.toString=function(){return oc(this)};
f.equiv=function(a){return this.u(null,a)};f.indexOf=function(){var a=null,a=function(a,c){switch(arguments.length){case 1:return S(this,a,0);case 2:return S(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.b=function(a){return S(this,a,0)};a.a=function(a,c){return S(this,a,c)};return a}();
f.lastIndexOf=function(){function a(a){return U(this,a,T(this))}var b=null,b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return U(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.b=a;b.a=function(a,b){return U(this,a,b)};return b}();f.O=function(){return this.o};f.qa=function(){return null==this.tb?null:M(this.tb)};f.N=function(){var a=this.s;return null!=a?a:this.s=a=Gc(this)};f.u=function(a,b){return Uc(this,b)};f.ea=function(){return fd(P,this.o)};
f.ha=function(a,b){return td(b,this)};f.ia=function(a,b,c){return ud(b,c,this)};f.ja=function(){return this.first};f.va=function(){return null==this.tb?P:this.tb};f.Z=function(){return this};f.P=function(a,b){return new Bd(b,this.first,this.tb,this.s)};f.Y=function(a,b){return new Bd(null,b,this,null)};Bd.prototype[rb]=function(){return Ec(this)};function V(a,b){var c=null==b;return(c?c:null!=b&&(b.i&64||b.bc))?new Bd(null,a,b,null):new Bd(null,a,M(b),null)}
function W(a,b,c,d){this.Fc=a;this.name=b;this.Ab=c;this.Yb=d;this.i=2153775105;this.D=4096}f=W.prototype;f.toString=function(){return[E(":"),E(this.Ab)].join("")};f.equiv=function(a){return this.u(null,a)};f.u=function(a,b){return b instanceof W?this.Ab===b.Ab:!1};
f.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return L.a(c,this);case 3:return L.g(c,this,d)}throw Error("Invalid arity: "+arguments.length);};a.a=function(a,c){return L.a(c,this)};a.g=function(a,c,d){return L.g(c,this,d)};return a}();f.apply=function(a,b){return this.call.apply(this,[this].concat(tb(b)))};f.b=function(a){return L.a(a,this)};f.a=function(a,b){return L.g(a,this,b)};
f.N=function(){var a=this.Yb;return null!=a?a:this.Yb=a=zc(tc(this.name),xc(this.Fc))+2654435769|0};f.U=function(a,b){return K(b,[E(":"),E(this.Ab)].join(""))};function Cd(a){if(null!=a&&(a.D&4096||a.Ze))return a.Fc;throw Error([E("Doesn't support namespace: "),E(a)].join(""));}
var Dd=function Dd(b){for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;switch(c.length){case 1:return Dd.b(arguments[0]);case 2:return Dd.a(arguments[0],arguments[1]);default:throw Error([E("Invalid arity: "),E(c.length)].join(""));}};Dd.b=function(a){if(a instanceof W)return a;if(a instanceof Ac)return new W(Cd(a),Ed.b?Ed.b(a):Ed.call(null,a),a.Ib,null);if("string"===typeof a){var b=a.split("/");return 2===b.length?new W(b[0],b[1],a,null):new W(null,b[0],a,null)}return null};
Dd.a=function(a,b){return new W(a,b,[E(x(a)?[E(a),E("/")].join(""):null),E(b)].join(""),null)};Dd.$=2;function Fd(a,b,c,d){this.o=a;this.ec=b;this.w=c;this.s=d;this.i=32374988;this.D=1}f=Fd.prototype;f.toString=function(){return oc(this)};f.equiv=function(a){return this.u(null,a)};function Gd(a){null!=a.ec&&(a.w=a.ec.I?a.ec.I():a.ec.call(null),a.ec=null);return a.w}
f.indexOf=function(){var a=null,a=function(a,c){switch(arguments.length){case 1:return S(this,a,0);case 2:return S(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.b=function(a){return S(this,a,0)};a.a=function(a,c){return S(this,a,c)};return a}();
f.lastIndexOf=function(){function a(a){return U(this,a,T(this))}var b=null,b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return U(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.b=a;b.a=function(a,b){return U(this,a,b)};return b}();f.O=function(){return this.o};f.qa=function(){$b(this);return null==this.w?null:Q(this.w)};f.N=function(){var a=this.s;return null!=a?a:this.s=a=Gc(this)};f.u=function(a,b){return Uc(this,b)};f.ea=function(){return fd(P,this.o)};
f.ha=function(a,b){return td(b,this)};f.ia=function(a,b,c){return ud(b,c,this)};f.ja=function(){$b(this);return null==this.w?null:O(this.w)};f.va=function(){$b(this);return null!=this.w?Bc(this.w):P};f.Z=function(){Gd(this);if(null==this.w)return null;for(var a=this.w;;)if(a instanceof Fd)a=Gd(a);else return this.w=a,M(this.w)};f.P=function(a,b){return new Fd(b,this.ec,this.w,this.s)};f.Y=function(a,b){return V(b,this)};Fd.prototype[rb]=function(){return Ec(this)};
function Hd(a,b){this.rd=a;this.end=b;this.i=2;this.D=0}Hd.prototype.add=function(a){this.rd[this.end]=a;return this.end+=1};Hd.prototype.Ja=function(){var a=new Id(this.rd,0,this.end);this.rd=null;return a};Hd.prototype.da=function(){return this.end};function Id(a,b,c){this.c=a;this.W=b;this.end=c;this.i=524306;this.D=0}f=Id.prototype;f.da=function(){return this.end-this.W};f.T=function(a,b){return this.c[this.W+b]};f.ya=function(a,b,c){return 0<=b&&b<this.end-this.W?this.c[this.W+b]:c};
f.$d=function(){if(this.W===this.end)throw Error("-drop-first of empty chunk");return new Id(this.c,this.W+1,this.end)};f.ha=function(a,b){return Oc(this.c,b,this.c[this.W],this.W+1)};f.ia=function(a,b,c){return Oc(this.c,b,c,this.W)};function Jd(a,b,c,d){this.Ja=a;this.Ua=b;this.o=c;this.s=d;this.i=31850732;this.D=1536}f=Jd.prototype;f.toString=function(){return oc(this)};f.equiv=function(a){return this.u(null,a)};
f.indexOf=function(){var a=null,a=function(a,c){switch(arguments.length){case 1:return S(this,a,0);case 2:return S(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.b=function(a){return S(this,a,0)};a.a=function(a,c){return S(this,a,c)};return a}();
f.lastIndexOf=function(){function a(a){return U(this,a,T(this))}var b=null,b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return U(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.b=a;b.a=function(a,b){return U(this,a,b)};return b}();f.O=function(){return this.o};f.qa=function(){if(1<zb(this.Ja))return new Jd(ic(this.Ja),this.Ua,this.o,null);var a=$b(this.Ua);return null==a?null:a};f.N=function(){var a=this.s;return null!=a?a:this.s=a=Gc(this)};
f.u=function(a,b){return Uc(this,b)};f.ea=function(){return fd(P,this.o)};f.ja=function(){return F.a(this.Ja,0)};f.va=function(){return 1<zb(this.Ja)?new Jd(ic(this.Ja),this.Ua,this.o,null):null==this.Ua?P:this.Ua};f.Z=function(){return this};f.wd=function(){return this.Ja};f.xd=function(){return null==this.Ua?P:this.Ua};f.P=function(a,b){return new Jd(this.Ja,this.Ua,b,this.s)};f.Y=function(a,b){return V(b,this)};f.vd=function(){return null==this.Ua?null:this.Ua};Jd.prototype[rb]=function(){return Ec(this)};
function Kd(a,b){return 0===zb(a)?b:new Jd(a,b,null,null)}function Ld(a,b){a.add(b)}function Md(a){for(var b=[];;)if(M(a))b.push(O(a)),a=Q(a);else return b}function Nd(a,b){if(Pc(a))return T(a);for(var c=a,d=b,e=0;;)if(0<d&&M(c))c=Q(c),--d,e+=1;else return e}
var Od=function Od(b){return null==b?null:null==Q(b)?M(O(b)):V(O(b),Od(Q(b)))},Pd=function Pd(b){for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;switch(c.length){case 0:return Pd.I();case 1:return Pd.b(arguments[0]);case 2:return Pd.a(arguments[0],arguments[1]);default:return Pd.G(arguments[0],arguments[1],new N(c.slice(2),0,null))}};Pd.I=function(){return dc(Yc)};Pd.b=function(a){return a};Pd.a=function(a,b){return ec(a,b)};
Pd.G=function(a,b,c){for(;;)if(a=ec(a,b),x(c))b=O(c),c=Q(c);else return a};Pd.V=function(a){var b=O(a),c=Q(a);a=O(c);c=Q(c);return Pd.G(b,a,c)};Pd.$=2;
function Qd(a,b,c){var d=M(c);if(0===b)return a.I?a.I():a.call(null);c=G(d);var e=H(d);if(1===b)return a.b?a.b(c):a.b?a.b(c):a.call(null,c);var d=G(e),g=H(e);if(2===b)return a.a?a.a(c,d):a.a?a.a(c,d):a.call(null,c,d);var e=G(g),h=H(g);if(3===b)return a.g?a.g(c,d,e):a.g?a.g(c,d,e):a.call(null,c,d,e);var g=G(h),k=H(h);if(4===b)return a.ua?a.ua(c,d,e,g):a.ua?a.ua(c,d,e,g):a.call(null,c,d,e,g);var h=G(k),l=H(k);if(5===b)return a.pa?a.pa(c,d,e,g,h):a.pa?a.pa(c,d,e,g,h):a.call(null,c,d,e,g,h);var k=G(l),
n=H(l);if(6===b)return a.jb?a.jb(c,d,e,g,h,k):a.jb?a.jb(c,d,e,g,h,k):a.call(null,c,d,e,g,h,k);var l=G(n),m=H(n);if(7===b)return a.kb?a.kb(c,d,e,g,h,k,l):a.kb?a.kb(c,d,e,g,h,k,l):a.call(null,c,d,e,g,h,k,l);var n=G(m),p=H(m);if(8===b)return a.lb?a.lb(c,d,e,g,h,k,l,n):a.lb?a.lb(c,d,e,g,h,k,l,n):a.call(null,c,d,e,g,h,k,l,n);var m=G(p),q=H(p);if(9===b)return a.mb?a.mb(c,d,e,g,h,k,l,n,m):a.mb?a.mb(c,d,e,g,h,k,l,n,m):a.call(null,c,d,e,g,h,k,l,n,m);var p=G(q),t=H(q);if(10===b)return a.Ya?a.Ya(c,d,e,g,h,k,
l,n,m,p):a.Ya?a.Ya(c,d,e,g,h,k,l,n,m,p):a.call(null,c,d,e,g,h,k,l,n,m,p);var q=G(t),u=H(t);if(11===b)return a.Za?a.Za(c,d,e,g,h,k,l,n,m,p,q):a.Za?a.Za(c,d,e,g,h,k,l,n,m,p,q):a.call(null,c,d,e,g,h,k,l,n,m,p,q);var t=G(u),y=H(u);if(12===b)return a.$a?a.$a(c,d,e,g,h,k,l,n,m,p,q,t):a.$a?a.$a(c,d,e,g,h,k,l,n,m,p,q,t):a.call(null,c,d,e,g,h,k,l,n,m,p,q,t);var u=G(y),A=H(y);if(13===b)return a.ab?a.ab(c,d,e,g,h,k,l,n,m,p,q,t,u):a.ab?a.ab(c,d,e,g,h,k,l,n,m,p,q,t,u):a.call(null,c,d,e,g,h,k,l,n,m,p,q,t,u);var y=
G(A),C=H(A);if(14===b)return a.bb?a.bb(c,d,e,g,h,k,l,n,m,p,q,t,u,y):a.bb?a.bb(c,d,e,g,h,k,l,n,m,p,q,t,u,y):a.call(null,c,d,e,g,h,k,l,n,m,p,q,t,u,y);var A=G(C),J=H(C);if(15===b)return a.cb?a.cb(c,d,e,g,h,k,l,n,m,p,q,t,u,y,A):a.cb?a.cb(c,d,e,g,h,k,l,n,m,p,q,t,u,y,A):a.call(null,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A);var C=G(J),R=H(J);if(16===b)return a.eb?a.eb(c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C):a.eb?a.eb(c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C):a.call(null,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C);var J=G(R),ma=H(R);if(17===
b)return a.fb?a.fb(c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,J):a.fb?a.fb(c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,J):a.call(null,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,J);var R=G(ma),Jb=H(ma);if(18===b)return a.gb?a.gb(c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,J,R):a.gb?a.gb(c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,J,R):a.call(null,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,J,R);ma=G(Jb);Jb=H(Jb);if(19===b)return a.hb?a.hb(c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,J,R,ma):a.hb?a.hb(c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,J,R,ma):a.call(null,c,d,e,g,h,k,l,n,m,p,q,t,u,y,
A,C,J,R,ma);var z=G(Jb);H(Jb);if(20===b)return a.ib?a.ib(c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,J,R,ma,z):a.ib?a.ib(c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,J,R,ma,z):a.call(null,c,d,e,g,h,k,l,n,m,p,q,t,u,y,A,C,J,R,ma,z);throw Error("Only up to 20 arguments supported on functions");}
function ed(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return Rd(arguments[0],arguments[1]);case 3:return Sd(arguments[0],arguments[1],arguments[2]);case 4:c=arguments[0];b=V(arguments[1],V(arguments[2],arguments[3]));d=c.$;if(c.V)var e=Nd(b,d+1),c=e<=d?Qd(c,e,b):c.V(b);else c=c.apply(c,Md(b));return c;case 5:return c=arguments[0],b=V(arguments[1],V(arguments[2],V(arguments[3],arguments[4]))),d=c.$,c.V?(e=Nd(b,d+1),c=e<=d?Qd(c,e,b):
c.V(b)):c=c.apply(c,Md(b)),c;default:return c=arguments[0],b=V(arguments[1],V(arguments[2],V(arguments[3],V(arguments[4],Od(new N(b.slice(5),0,null)))))),d=c.$,c.V?(e=Nd(b,d+1),c=e<=d?Qd(c,e,b):c.V(b)):c=c.apply(c,Md(b)),c}}function Rd(a,b){var c=a.$;if(a.V){var d=Nd(b,c+1);return d<=c?Qd(a,d,b):a.V(b)}return a.apply(a,Md(b))}function Sd(a,b,c){b=V(b,c);c=a.$;if(a.V){var d=Nd(b,c+1);return d<=c?Qd(a,d,b):a.V(b)}return a.apply(a,Md(b))}
var Td=function Td(){"undefined"===typeof cb&&(cb=function(b,c){this.qf=b;this.mf=c;this.i=393216;this.D=0},cb.prototype.P=function(b,c){return new cb(this.qf,c)},cb.prototype.O=function(){return this.mf},cb.prototype.ra=function(){return!1},cb.prototype.next=function(){return Error("No such element")},cb.prototype.remove=function(){return Error("Unsupported operation")},cb.Qf=function(){return new Vd(null,2,5,Wd,[fd(Xd,new jb(null,1,[Yd,Ad(Zd,Ad(Yc))],null)),$d],null)},cb.de=!0,cb.Pc="cljs.core/t_cljs$core15223",
cb.bf=function(b){return K(b,"cljs.core/t_cljs$core15223")});return new cb(Td,ae)};function be(a,b){for(;;){if(null==M(b))return!0;var c;c=O(b);c=a.b?a.b(c):a.call(null,c);if(x(c)){c=a;var d=Q(b);a=c;b=d}else return!1}}
var X=function X(b){for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;switch(c.length){case 1:return X.b(arguments[0]);case 2:return X.a(arguments[0],arguments[1]);case 3:return X.g(arguments[0],arguments[1],arguments[2]);case 4:return X.ua(arguments[0],arguments[1],arguments[2],arguments[3]);default:return X.G(arguments[0],arguments[1],arguments[2],arguments[3],new N(c.slice(4),0,null))}};
X.b=function(a){return function(b){return function(){function c(c,d){var e=a.b?a.b(d):a.call(null,d);return b.a?b.a(c,e):b.call(null,c,e)}function d(a){return b.b?b.b(a):b.call(null,a)}function e(){return b.I?b.I():b.call(null)}var g=null,h=function(){function c(a,b,e){var g=null;if(2<arguments.length){for(var g=0,h=Array(arguments.length-2);g<h.length;)h[g]=arguments[g+2],++g;g=new N(h,0)}return d.call(this,a,b,g)}function d(c,e,g){e=Sd(a,e,g);return b.a?b.a(c,e):b.call(null,c,e)}c.$=2;c.V=function(a){var b=
O(a);a=Q(a);var c=O(a);a=Bc(a);return d(b,c,a)};c.G=d;return c}(),g=function(a,b,g){switch(arguments.length){case 0:return e.call(this);case 1:return d.call(this,a);case 2:return c.call(this,a,b);default:var m=null;if(2<arguments.length){for(var m=0,p=Array(arguments.length-2);m<p.length;)p[m]=arguments[m+2],++m;m=new N(p,0)}return h.G(a,b,m)}throw Error("Invalid arity: "+arguments.length);};g.$=2;g.V=h.V;g.I=e;g.b=d;g.a=c;g.G=h.G;return g}()}};
X.a=function(a,b){return new Fd(null,function(){var c=M(b);if(c){if(md(c)){for(var d=jc(c),e=T(d),g=new Hd(Array(e),0),h=0;;)if(h<e)Ld(g,function(){var b=F.a(d,h);return a.b?a.b(b):a.call(null,b)}()),h+=1;else break;return Kd(g.Ja(),X.a(a,kc(c)))}return V(function(){var b=O(c);return a.b?a.b(b):a.call(null,b)}(),X.a(a,Bc(c)))}return null},null,null)};
X.g=function(a,b,c){return new Fd(null,function(){var d=M(b),e=M(c);if(d&&e){var g=V,h;h=O(d);var k=O(e);h=a.a?a.a(h,k):a.call(null,h,k);d=g(h,X.g(a,Bc(d),Bc(e)))}else d=null;return d},null,null)};X.ua=function(a,b,c,d){return new Fd(null,function(){var e=M(b),g=M(c),h=M(d);if(e&&g&&h){var k=V,l;l=O(e);var n=O(g),m=O(h);l=a.g?a.g(l,n,m):a.call(null,l,n,m);e=k(l,X.ua(a,Bc(e),Bc(g),Bc(h)))}else e=null;return e},null,null)};
X.G=function(a,b,c,d,e){var g=function k(a){return new Fd(null,function(){var b=X.a(M,a);return be(vd,b)?V(X.a(O,b),k(X.a(Bc,b))):null},null,null)};return X.a(function(){return function(b){return Rd(a,b)}}(g),g(Xc.G(e,d,Wc([c,b],0))))};X.V=function(a){var b=O(a),c=Q(a);a=O(c);var d=Q(c),c=O(d),e=Q(d),d=O(e),e=Q(e);return X.G(b,a,c,d,e)};X.$=4;function ce(a,b){return null!=a?null!=a&&(a.D&4||a.Jf)?fd(fc(vb(ec,dc(a),b)),gd(a)):vb(Cb,a,b):vb(Xc,P,b)}function de(a,b){this.F=a;this.c=b}
function ee(a){return new de(a,[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null])}function fe(a){a=a.j;return 32>a?0:a-1>>>5<<5}function ge(a,b,c){for(;;){if(0===b)return c;var d=ee(a);d.c[0]=c;c=d;b-=5}}var he=function he(b,c,d,e){var g=new de(d.F,tb(d.c)),h=b.j-1>>>c&31;5===c?g.c[h]=e:(d=d.c[h],b=null!=d?he(b,c-5,d,e):ge(null,c-5,e),g.c[h]=b);return g};
function ie(a,b){throw Error([E("No item "),E(a),E(" in vector of length "),E(b)].join(""));}function je(a,b){if(b>=fe(a))return a.fa;for(var c=a.root,d=a.shift;;)if(0<d)var e=d-5,c=c.c[b>>>d&31],d=e;else return c.c}function ke(a,b){return 0<=b&&b<a.j?je(a,b):ie(b,a.j)}var le=function le(b,c,d,e,g){var h=new de(d.F,tb(d.c));if(0===c)h.c[e&31]=g;else{var k=e>>>c&31;b=le(b,c-5,d.c[k],e,g);h.c[k]=b}return h};function me(a,b,c,d,e,g){this.l=a;this.Lc=b;this.c=c;this.Va=d;this.start=e;this.end=g}
me.prototype.ra=function(){return this.l<this.end};me.prototype.next=function(){32===this.l-this.Lc&&(this.c=je(this.Va,this.l),this.Lc+=32);var a=this.c[this.l&31];this.l+=1;return a};function Vd(a,b,c,d,e,g){this.o=a;this.j=b;this.shift=c;this.root=d;this.fa=e;this.s=g;this.i=167668511;this.D=8196}f=Vd.prototype;f.toString=function(){return oc(this)};f.equiv=function(a){return this.u(null,a)};
f.indexOf=function(){var a=null,a=function(a,c){switch(arguments.length){case 1:return S(this,a,0);case 2:return S(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.b=function(a){return S(this,a,0)};a.a=function(a,c){return S(this,a,c)};return a}();
f.lastIndexOf=function(){function a(a){return U(this,a,T(this))}var b=null,b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return U(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.b=a;b.a=function(a,b){return U(this,a,b)};return b}();f.J=function(a,b){return I.g(this,b,null)};f.H=function(a,b,c){return"number"===typeof b?F.g(this,b,c):c};f.T=function(a,b){return ke(this,b)[b&31]};f.ya=function(a,b,c){return 0<=b&&b<this.j?je(this,b)[b&31]:c};
f.Ad=function(a,b,c){if(0<=b&&b<this.j)return fe(this)<=b?(a=tb(this.fa),a[b&31]=c,new Vd(this.o,this.j,this.shift,this.root,a,null)):new Vd(this.o,this.j,this.shift,le(this,this.shift,this.root,b,c),this.fa,null);if(b===this.j)return Cb(this,c);throw Error([E("Index "),E(b),E(" out of bounds [0,"),E(this.j),E("]")].join(""));};f.nb=function(){var a=this.j;return new me(0,0,0<T(this)?je(this,0):null,this,0,a)};f.O=function(){return this.o};f.da=function(){return this.j};
f.yd=function(){return F.a(this,0)};f.zd=function(){return F.a(this,1)};f.N=function(){var a=this.s;return null!=a?a:this.s=a=Gc(this)};f.u=function(a,b){if(b instanceof Vd)if(this.j===T(b))for(var c=mc(this),d=mc(b);;)if(x(c.ra())){var e=c.next(),g=d.next();if(!Cc.a(e,g))return!1}else return!0;else return!1;else return Uc(this,b)};f.ac=function(){return new ne(this.j,this.shift,oe.b?oe.b(this.root):oe.call(null,this.root),pe.b?pe.b(this.fa):pe.call(null,this.fa))};f.ea=function(){return fd(Yc,this.o)};
f.ha=function(a,b){return Kc(this,b)};f.ia=function(a,b,c){a=0;for(var d=c;;)if(a<this.j){var e=je(this,a);c=e.length;a:for(var g=0;;)if(g<c)var h=e[g],d=b.a?b.a(d,h):b.call(null,d,h),g=g+1;else{e=d;break a}a+=c;d=e}else return d};f.qc=function(a,b,c){if("number"===typeof b)return Rb(this,b,c);throw Error("Vector's key for assoc must be a number.");};
f.Z=function(){if(0===this.j)return null;if(32>=this.j)return new N(this.fa,0,null);var a;a:{a=this.root;for(var b=this.shift;;)if(0<b)b-=5,a=a.c[0];else{a=a.c;break a}}return qe?qe(this,a,0,0):re.call(null,this,a,0,0)};f.P=function(a,b){return new Vd(b,this.j,this.shift,this.root,this.fa,this.s)};
f.Y=function(a,b){if(32>this.j-fe(this)){for(var c=this.fa.length,d=Array(c+1),e=0;;)if(e<c)d[e]=this.fa[e],e+=1;else break;d[c]=b;return new Vd(this.o,this.j+1,this.shift,this.root,d,null)}c=(d=this.j>>>5>1<<this.shift)?this.shift+5:this.shift;d?(d=ee(null),d.c[0]=this.root,e=ge(null,this.shift,new de(null,this.fa)),d.c[1]=e):d=he(this,this.shift,this.root,new de(null,this.fa));return new Vd(this.o,this.j+1,c,d,[b],null)};
f.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.T(null,c);case 3:return this.ya(null,c,d)}throw Error("Invalid arity: "+arguments.length);};a.a=function(a,c){return this.T(null,c)};a.g=function(a,c,d){return this.ya(null,c,d)};return a}();f.apply=function(a,b){return this.call.apply(this,[this].concat(tb(b)))};f.b=function(a){return this.T(null,a)};f.a=function(a,b){return this.ya(null,a,b)};
var Wd=new de(null,[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]),Yc=new Vd(null,0,5,Wd,[],Hc);Vd.prototype[rb]=function(){return Ec(this)};
function se(a){if(pb(a))a:{var b=a.length;if(32>b)a=new Vd(null,b,5,Wd,a,null);else for(var c=32,d=(new Vd(null,32,5,Wd,a.slice(0,32),null)).ac(null);;)if(c<b)var e=c+1,d=Pd.a(d,a[c]),c=e;else{a=fc(d);break a}}else a=fc(vb(ec,dc(Yc),a));return a}function te(a,b,c,d,e,g){this.xa=a;this.node=b;this.l=c;this.W=d;this.o=e;this.s=g;this.i=32375020;this.D=1536}f=te.prototype;f.toString=function(){return oc(this)};f.equiv=function(a){return this.u(null,a)};
f.indexOf=function(){var a=null,a=function(a,c){switch(arguments.length){case 1:return S(this,a,0);case 2:return S(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.b=function(a){return S(this,a,0)};a.a=function(a,c){return S(this,a,c)};return a}();
f.lastIndexOf=function(){function a(a){return U(this,a,T(this))}var b=null,b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return U(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.b=a;b.a=function(a,b){return U(this,a,b)};return b}();f.O=function(){return this.o};f.qa=function(){if(this.W+1<this.node.length){var a;a=this.xa;var b=this.node,c=this.l,d=this.W+1;a=qe?qe(a,b,c,d):re.call(null,a,b,c,d);return null==a?null:a}return lc(this)};
f.N=function(){var a=this.s;return null!=a?a:this.s=a=Gc(this)};f.u=function(a,b){return Uc(this,b)};f.ea=function(){return fd(Yc,this.o)};f.ha=function(a,b){var c;c=this.xa;var d=this.l+this.W,e=T(this.xa);c=ue?ue(c,d,e):ve.call(null,c,d,e);return Kc(c,b)};f.ia=function(a,b,c){a=this.xa;var d=this.l+this.W,e=T(this.xa);a=ue?ue(a,d,e):ve.call(null,a,d,e);return Lc(a,b,c)};f.ja=function(){return this.node[this.W]};
f.va=function(){if(this.W+1<this.node.length){var a;a=this.xa;var b=this.node,c=this.l,d=this.W+1;a=qe?qe(a,b,c,d):re.call(null,a,b,c,d);return null==a?P:a}return kc(this)};f.Z=function(){return this};f.wd=function(){var a=this.node;return new Id(a,this.W,a.length)};f.xd=function(){var a=this.l+this.node.length;if(a<zb(this.xa)){var b=this.xa,c=je(this.xa,a);return qe?qe(b,c,a,0):re.call(null,b,c,a,0)}return P};
f.P=function(a,b){return we?we(this.xa,this.node,this.l,this.W,b):re.call(null,this.xa,this.node,this.l,this.W,b)};f.Y=function(a,b){return V(b,this)};f.vd=function(){var a=this.l+this.node.length;if(a<zb(this.xa)){var b=this.xa,c=je(this.xa,a);return qe?qe(b,c,a,0):re.call(null,b,c,a,0)}return null};te.prototype[rb]=function(){return Ec(this)};
function re(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return b=arguments[0],c=arguments[1],d=arguments[2],new te(b,ke(b,c),c,d,null,null);case 4:return qe(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return we(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error([E("Invalid arity: "),E(b.length)].join(""));}}function qe(a,b,c,d){return new te(a,b,c,d,null,null)}
function we(a,b,c,d,e){return new te(a,b,c,d,e,null)}function xe(a,b,c,d,e){this.o=a;this.Va=b;this.start=c;this.end=d;this.s=e;this.i=167666463;this.D=8192}f=xe.prototype;f.toString=function(){return oc(this)};f.equiv=function(a){return this.u(null,a)};
f.indexOf=function(){var a=null,a=function(a,c){switch(arguments.length){case 1:return S(this,a,0);case 2:return S(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.b=function(a){return S(this,a,0)};a.a=function(a,c){return S(this,a,c)};return a}();
f.lastIndexOf=function(){function a(a){return U(this,a,T(this))}var b=null,b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return U(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.b=a;b.a=function(a,b){return U(this,a,b)};return b}();f.J=function(a,b){return I.g(this,b,null)};f.H=function(a,b,c){return"number"===typeof b?F.g(this,b,c):c};f.T=function(a,b){return 0>b||this.end<=this.start+b?ie(b,this.end-this.start):F.a(this.Va,this.start+b)};
f.ya=function(a,b,c){return 0>b||this.end<=this.start+b?c:F.g(this.Va,this.start+b,c)};f.Ad=function(a,b,c){var d=this.start+b;a=this.o;c=bd.g(this.Va,d,c);b=this.start;var e=this.end,d=d+1,d=e>d?e:d;return ye.pa?ye.pa(a,c,b,d,null):ye.call(null,a,c,b,d,null)};f.O=function(){return this.o};f.da=function(){return this.end-this.start};f.N=function(){var a=this.s;return null!=a?a:this.s=a=Gc(this)};f.u=function(a,b){return Uc(this,b)};f.ea=function(){return fd(Yc,this.o)};
f.ha=function(a,b){return Kc(this,b)};f.ia=function(a,b,c){return Lc(this,b,c)};f.qc=function(a,b,c){if("number"===typeof b)return Rb(this,b,c);throw Error("Subvec's key for assoc must be a number.");};f.Z=function(){var a=this;return function(b){return function d(e){return e===a.end?null:V(F.a(a.Va,e),new Fd(null,function(){return function(){return d(e+1)}}(b),null,null))}}(this)(a.start)};
f.P=function(a,b){return ye.pa?ye.pa(b,this.Va,this.start,this.end,this.s):ye.call(null,b,this.Va,this.start,this.end,this.s)};f.Y=function(a,b){var c=this.o,d=Rb(this.Va,this.end,b),e=this.start,g=this.end+1;return ye.pa?ye.pa(c,d,e,g,null):ye.call(null,c,d,e,g,null)};
f.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.T(null,c);case 3:return this.ya(null,c,d)}throw Error("Invalid arity: "+arguments.length);};a.a=function(a,c){return this.T(null,c)};a.g=function(a,c,d){return this.ya(null,c,d)};return a}();f.apply=function(a,b){return this.call.apply(this,[this].concat(tb(b)))};f.b=function(a){return this.T(null,a)};f.a=function(a,b){return this.ya(null,a,b)};xe.prototype[rb]=function(){return Ec(this)};
function ye(a,b,c,d,e){for(;;)if(b instanceof xe)c=b.start+c,d=b.start+d,b=b.Va;else{var g=T(b);if(0>c||0>d||c>g||d>g)throw Error("Index out of bounds");return new xe(a,b,c,d,e)}}function ve(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return b=arguments[0],ue(b,arguments[1],T(b));case 3:return ue(arguments[0],arguments[1],arguments[2]);default:throw Error([E("Invalid arity: "),E(b.length)].join(""));}}
function ue(a,b,c){return ye(null,a,b,c,null)}function ze(a,b){return a===b.F?b:new de(a,tb(b.c))}function oe(a){return new de({},tb(a.c))}function pe(a){var b=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];od(a,0,b,0,a.length);return b}var Ae=function Ae(b,c,d,e){d=ze(b.root.F,d);var g=b.j-1>>>c&31;if(5===c)b=e;else{var h=d.c[g];b=null!=h?Ae(b,c-5,h,e):ge(b.root.F,c-5,e)}d.c[g]=b;return d};
function ne(a,b,c,d){this.j=a;this.shift=b;this.root=c;this.fa=d;this.D=88;this.i=275}f=ne.prototype;
f.sc=function(a,b){if(this.root.F){if(32>this.j-fe(this))this.fa[this.j&31]=b;else{var c=new de(this.root.F,this.fa),d=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];d[0]=b;this.fa=d;if(this.j>>>5>1<<this.shift){var d=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],e=this.shift+
5;d[0]=this.root;d[1]=ge(this.root.F,this.shift,c);this.root=new de(this.root.F,d);this.shift=e}else this.root=Ae(this,this.shift,this.root,c)}this.j+=1;return this}throw Error("conj! after persistent!");};f.tc=function(){if(this.root.F){this.root.F=null;var a=this.j-fe(this),b=Array(a);od(this.fa,0,b,0,a);return new Vd(null,this.j,this.shift,this.root,b,null)}throw Error("persistent! called twice");};
f.rc=function(a,b,c){if("number"===typeof b)return hc(this,b,c);throw Error("TransientVector's key for assoc! must be a number.");};
f.be=function(a,b,c){var d=this;if(d.root.F){if(0<=b&&b<d.j)return fe(this)<=b?d.fa[b&31]=c:(a=function(){return function g(a,k){var l=ze(d.root.F,k);if(0===a)l.c[b&31]=c;else{var n=b>>>a&31,m=g(a-5,l.c[n]);l.c[n]=m}return l}}(this).call(null,d.shift,d.root),d.root=a),this;if(b===d.j)return ec(this,c);throw Error([E("Index "),E(b),E(" out of bounds for TransientVector of length"),E(d.j)].join(""));}throw Error("assoc! after persistent!");};
f.da=function(){if(this.root.F)return this.j;throw Error("count after persistent!");};f.T=function(a,b){if(this.root.F)return ke(this,b)[b&31];throw Error("nth after persistent!");};f.ya=function(a,b,c){return 0<=b&&b<this.j?F.a(this,b):c};f.J=function(a,b){return I.g(this,b,null)};f.H=function(a,b,c){return"number"===typeof b?F.g(this,b,c):c};
f.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.J(null,c);case 3:return this.H(null,c,d)}throw Error("Invalid arity: "+arguments.length);};a.a=function(a,c){return this.J(null,c)};a.g=function(a,c,d){return this.H(null,c,d)};return a}();f.apply=function(a,b){return this.call.apply(this,[this].concat(tb(b)))};f.b=function(a){return this.J(null,a)};f.a=function(a,b){return this.H(null,a,b)};function Be(){this.i=2097152;this.D=0}
Be.prototype.equiv=function(a){return this.u(null,a)};Be.prototype.u=function(){return!1};var Ce=new Be;function De(a,b){return rd(kd(b)?T(a)===T(b)?be(vd,X.a(function(a){return Cc.a(L.g(b,O(a),Ce),O(Q(a)))},a)):null:null)}function Ee(a){this.w=a}Ee.prototype.next=function(){if(null!=this.w){var a=O(this.w),b=ad(a,0,null),a=ad(a,1,null);this.w=Q(this.w);return{value:[b,a],done:!1}}return{value:null,done:!0}};function Fe(a){this.w=a}
Fe.prototype.next=function(){if(null!=this.w){var a=O(this.w);this.w=Q(this.w);return{value:[a,a],done:!1}}return{value:null,done:!0}};
function Ge(a,b){var c;if(b instanceof W)a:{c=a.length;for(var d=b.Ab,e=0;;){if(c<=e){c=-1;break a}if(a[e]instanceof W&&d===a[e].Ab){c=e;break a}e+=2}}else if(fa(b)||"number"===typeof b)a:for(c=a.length,d=0;;){if(c<=d){c=-1;break a}if(b===a[d]){c=d;break a}d+=2}else if(b instanceof Ac)a:for(c=a.length,d=b.Ib,e=0;;){if(c<=e){c=-1;break a}if(a[e]instanceof Ac&&d===a[e].Ib){c=e;break a}e+=2}else if(null==b)a:for(c=a.length,d=0;;){if(c<=d){c=-1;break a}if(null==a[d]){c=d;break a}d+=2}else a:for(c=a.length,
d=0;;){if(c<=d){c=-1;break a}if(Cc.a(b,a[d])){c=d;break a}d+=2}return c}function He(a,b,c){this.c=a;this.l=b;this.ma=c;this.i=32374990;this.D=0}f=He.prototype;f.toString=function(){return oc(this)};f.equiv=function(a){return this.u(null,a)};f.indexOf=function(){var a=null,a=function(a,c){switch(arguments.length){case 1:return S(this,a,0);case 2:return S(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.b=function(a){return S(this,a,0)};a.a=function(a,c){return S(this,a,c)};return a}();
f.lastIndexOf=function(){function a(a){return U(this,a,T(this))}var b=null,b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return U(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.b=a;b.a=function(a,b){return U(this,a,b)};return b}();f.O=function(){return this.ma};f.qa=function(){return this.l<this.c.length-2?new He(this.c,this.l+2,this.ma):null};f.da=function(){return(this.c.length-this.l)/2};f.N=function(){return Gc(this)};
f.u=function(a,b){return Uc(this,b)};f.ea=function(){return fd(P,this.ma)};f.ha=function(a,b){return td(b,this)};f.ia=function(a,b,c){return ud(b,c,this)};f.ja=function(){return new Vd(null,2,5,Wd,[this.c[this.l],this.c[this.l+1]],null)};f.va=function(){return this.l<this.c.length-2?new He(this.c,this.l+2,this.ma):P};f.Z=function(){return this};f.P=function(a,b){return new He(this.c,this.l,b)};f.Y=function(a,b){return V(b,this)};He.prototype[rb]=function(){return Ec(this)};
function Ie(a,b,c){this.c=a;this.l=b;this.j=c}Ie.prototype.ra=function(){return this.l<this.j};Ie.prototype.next=function(){var a=new Vd(null,2,5,Wd,[this.c[this.l],this.c[this.l+1]],null);this.l+=2;return a};function jb(a,b,c,d){this.o=a;this.j=b;this.c=c;this.s=d;this.i=16647951;this.D=8196}f=jb.prototype;f.toString=function(){return oc(this)};f.equiv=function(a){return this.u(null,a)};f.keys=function(){return Ec(Je.b?Je.b(this):Je.call(null,this))};f.entries=function(){return new Ee(M(M(this)))};
f.values=function(){return Ec(Ke.b?Ke.b(this):Ke.call(null,this))};f.has=function(a){return sd(this,a)};f.get=function(a,b){return this.H(null,a,b)};f.forEach=function(a){for(var b=M(this),c=null,d=0,e=0;;)if(e<d){var g=c.T(null,e),h=ad(g,0,null),g=ad(g,1,null);a.a?a.a(g,h):a.call(null,g,h);e+=1}else if(b=M(b))md(b)?(c=jc(b),b=kc(b),h=c,d=T(c),c=h):(c=O(b),h=ad(c,0,null),g=ad(c,1,null),a.a?a.a(g,h):a.call(null,g,h),b=Q(b),c=null,d=0),e=0;else return null};f.J=function(a,b){return I.g(this,b,null)};
f.H=function(a,b,c){a=Ge(this.c,b);return-1===a?c:this.c[a+1]};f.nb=function(){return new Ie(this.c,0,2*this.j)};f.O=function(){return this.o};f.da=function(){return this.j};f.N=function(){var a=this.s;return null!=a?a:this.s=a=Ic(this)};f.u=function(a,b){if(null!=b&&(b.i&1024||b.We)){var c=this.c.length;if(this.j===b.da(null))for(var d=0;;)if(d<c){var e=b.H(null,this.c[d],pd);if(e!==pd)if(Cc.a(this.c[d+1],e))d+=2;else return!1;else return!1}else return!0;else return!1}else return De(this,b)};
f.ac=function(){return new Le({},this.c.length,tb(this.c))};f.ea=function(){return Ub(ae,this.o)};f.ha=function(a,b){return td(b,this)};f.ia=function(a,b,c){return ud(b,c,this)};f.qc=function(a,b,c){a=Ge(this.c,b);if(-1===a){if(this.j<Me){a=this.c;for(var d=a.length,e=Array(d+2),g=0;;)if(g<d)e[g]=a[g],g+=1;else break;e[d]=b;e[d+1]=c;return new jb(this.o,this.j+1,e,null)}return Ub(Kb(ce(cd,this),b,c),this.o)}if(c===this.c[a+1])return this;b=tb(this.c);b[a+1]=c;return new jb(this.o,this.j,b,null)};
f.ud=function(a,b){return-1!==Ge(this.c,b)};f.Z=function(){var a=this.c;return 0<=a.length-2?new He(a,0,null):null};f.P=function(a,b){return new jb(b,this.j,this.c,this.s)};f.Y=function(a,b){if(ld(b))return Kb(this,F.a(b,0),F.a(b,1));for(var c=this,d=M(b);;){if(null==d)return c;var e=O(d);if(ld(e))c=Kb(c,F.a(e,0),F.a(e,1)),d=Q(d);else throw Error("conj on a map takes map entries or seqables of map entries");}};
f.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.J(null,c);case 3:return this.H(null,c,d)}throw Error("Invalid arity: "+arguments.length);};a.a=function(a,c){return this.J(null,c)};a.g=function(a,c,d){return this.H(null,c,d)};return a}();f.apply=function(a,b){return this.call.apply(this,[this].concat(tb(b)))};f.b=function(a){return this.J(null,a)};f.a=function(a,b){return this.H(null,a,b)};var ae=new jb(null,0,[],Jc),Me=8;
function Ne(a){for(var b=[],c=0;;)if(c<a.length){var d=a[c],e=a[c+1];-1===Ge(b,d)&&(b.push(d),b.push(e));c+=2}else break;return new jb(null,b.length/2,b,null)}jb.prototype[rb]=function(){return Ec(this)};function Le(a,b,c){this.cc=a;this.Sb=b;this.c=c;this.i=258;this.D=56}f=Le.prototype;f.da=function(){if(x(this.cc))return wd(this.Sb);throw Error("count after persistent!");};f.J=function(a,b){return I.g(this,b,null)};
f.H=function(a,b,c){if(x(this.cc))return a=Ge(this.c,b),-1===a?c:this.c[a+1];throw Error("lookup after persistent!");};f.sc=function(a,b){if(x(this.cc)){if(null!=b?b.i&2048||b.Xe||(b.i?0:B(Mb,b)):B(Mb,b))return gc(this,Oe.b?Oe.b(b):Oe.call(null,b),Pe.b?Pe.b(b):Pe.call(null,b));for(var c=M(b),d=this;;){var e=O(c);if(x(e))c=Q(c),d=gc(d,Oe.b?Oe.b(e):Oe.call(null,e),Pe.b?Pe.b(e):Pe.call(null,e));else return d}}else throw Error("conj! after persistent!");};
f.tc=function(){if(x(this.cc))return this.cc=!1,new jb(null,wd(this.Sb),this.c,null);throw Error("persistent! called twice");};f.rc=function(a,b,c){if(x(this.cc)){a=Ge(this.c,b);if(-1===a){if(this.Sb+2<=2*Me)return this.Sb+=2,this.c.push(b),this.c.push(c),this;a=Qe.a?Qe.a(this.Sb,this.c):Qe.call(null,this.Sb,this.c);return gc(a,b,c)}c!==this.c[a+1]&&(this.c[a+1]=c);return this}throw Error("assoc! after persistent!");};
function Qe(a,b){for(var c=dc(cd),d=0;;)if(d<a)c=gc(c,b[d],b[d+1]),d+=2;else return c}function Re(){this.Wa=!1}function Se(a,b){return a===b?!0:a===b||a instanceof W&&b instanceof W&&a.Ab===b.Ab?!0:Cc.a(a,b)}function Te(a,b,c){a=tb(a);a[b]=c;return a}function Ue(a,b,c,d){a=a.Nb(b);a.c[c]=d;return a}function Ve(a,b,c,d){this.c=a;this.l=b;this.Ec=c;this.Na=d}
Ve.prototype.advance=function(){for(var a=this.c.length;;)if(this.l<a){var b=this.c[this.l],c=this.c[this.l+1];null!=b?b=this.Ec=new Vd(null,2,5,Wd,[b,c],null):null!=c?(b=mc(c),b=b.ra()?this.Na=b:!1):b=!1;this.l+=2;if(b)return!0}else return!1};Ve.prototype.ra=function(){var a=null!=this.Ec;return a?a:(a=null!=this.Na)?a:this.advance()};
Ve.prototype.next=function(){if(null!=this.Ec){var a=this.Ec;this.Ec=null;return a}if(null!=this.Na)return a=this.Na.next(),this.Na.ra()||(this.Na=null),a;if(this.advance())return this.next();throw Error("No such element");};Ve.prototype.remove=function(){return Error("Unsupported operation")};function We(a,b,c){this.F=a;this.S=b;this.c=c}f=We.prototype;f.Nb=function(a){if(a===this.F)return this;var b=xd(this.S),c=Array(0>b?4:2*(b+1));od(this.c,0,c,0,2*b);return new We(a,this.S,c)};
f.Bc=function(){return Xe?Xe(this.c):Ze.call(null,this.c)};f.Bb=function(a,b,c,d){var e=1<<(b>>>a&31);if(0===(this.S&e))return d;var g=xd(this.S&e-1),e=this.c[2*g],g=this.c[2*g+1];return null==e?g.Bb(a+5,b,c,d):Se(c,e)?g:d};
f.Ma=function(a,b,c,d,e,g){var h=1<<(c>>>b&31),k=xd(this.S&h-1);if(0===(this.S&h)){var l=xd(this.S);if(2*l<this.c.length){a=this.Nb(a);b=a.c;g.Wa=!0;a:for(c=2*(l-k),g=2*k+(c-1),l=2*(k+1)+(c-1);;){if(0===c)break a;b[l]=b[g];--l;--c;--g}b[2*k]=d;b[2*k+1]=e;a.S|=h;return a}if(16<=l){k=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];k[c>>>b&31]=$e.Ma(a,b+5,c,d,e,g);for(e=d=0;;)if(32>d)0!==
(this.S>>>d&1)&&(k[d]=null!=this.c[e]?$e.Ma(a,b+5,yc(this.c[e]),this.c[e],this.c[e+1],g):this.c[e+1],e+=2),d+=1;else break;return new af(a,l+1,k)}b=Array(2*(l+4));od(this.c,0,b,0,2*k);b[2*k]=d;b[2*k+1]=e;od(this.c,2*k,b,2*(k+1),2*(l-k));g.Wa=!0;a=this.Nb(a);a.c=b;a.S|=h;return a}l=this.c[2*k];h=this.c[2*k+1];if(null==l)return l=h.Ma(a,b+5,c,d,e,g),l===h?this:Ue(this,a,2*k+1,l);if(Se(d,l))return e===h?this:Ue(this,a,2*k+1,e);g.Wa=!0;g=b+5;d=bf?bf(a,g,l,h,c,d,e):cf.call(null,a,g,l,h,c,d,e);e=2*k;k=
2*k+1;a=this.Nb(a);a.c[e]=null;a.c[k]=d;return a};
f.La=function(a,b,c,d,e){var g=1<<(b>>>a&31),h=xd(this.S&g-1);if(0===(this.S&g)){var k=xd(this.S);if(16<=k){h=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];h[b>>>a&31]=$e.La(a+5,b,c,d,e);for(d=c=0;;)if(32>c)0!==(this.S>>>c&1)&&(h[c]=null!=this.c[d]?$e.La(a+5,yc(this.c[d]),this.c[d],this.c[d+1],e):this.c[d+1],d+=2),c+=1;else break;return new af(null,k+1,h)}a=Array(2*(k+1));od(this.c,
0,a,0,2*h);a[2*h]=c;a[2*h+1]=d;od(this.c,2*h,a,2*(h+1),2*(k-h));e.Wa=!0;return new We(null,this.S|g,a)}var l=this.c[2*h],g=this.c[2*h+1];if(null==l)return k=g.La(a+5,b,c,d,e),k===g?this:new We(null,this.S,Te(this.c,2*h+1,k));if(Se(c,l))return d===g?this:new We(null,this.S,Te(this.c,2*h+1,d));e.Wa=!0;e=this.S;k=this.c;a+=5;a=df?df(a,l,g,b,c,d):cf.call(null,a,l,g,b,c,d);c=2*h;h=2*h+1;d=tb(k);d[c]=null;d[h]=a;return new We(null,e,d)};f.nb=function(){return new Ve(this.c,0,null,null)};
var $e=new We(null,0,[]);function ef(a,b,c){this.c=a;this.l=b;this.Na=c}ef.prototype.ra=function(){for(var a=this.c.length;;){if(null!=this.Na&&this.Na.ra())return!0;if(this.l<a){var b=this.c[this.l];this.l+=1;null!=b&&(this.Na=mc(b))}else return!1}};ef.prototype.next=function(){if(this.ra())return this.Na.next();throw Error("No such element");};ef.prototype.remove=function(){return Error("Unsupported operation")};function af(a,b,c){this.F=a;this.j=b;this.c=c}f=af.prototype;
f.Nb=function(a){return a===this.F?this:new af(a,this.j,tb(this.c))};f.Bc=function(){return ff?ff(this.c):gf.call(null,this.c)};f.Bb=function(a,b,c,d){var e=this.c[b>>>a&31];return null!=e?e.Bb(a+5,b,c,d):d};f.Ma=function(a,b,c,d,e,g){var h=c>>>b&31,k=this.c[h];if(null==k)return a=Ue(this,a,h,$e.Ma(a,b+5,c,d,e,g)),a.j+=1,a;b=k.Ma(a,b+5,c,d,e,g);return b===k?this:Ue(this,a,h,b)};
f.La=function(a,b,c,d,e){var g=b>>>a&31,h=this.c[g];if(null==h)return new af(null,this.j+1,Te(this.c,g,$e.La(a+5,b,c,d,e)));a=h.La(a+5,b,c,d,e);return a===h?this:new af(null,this.j,Te(this.c,g,a))};f.nb=function(){return new ef(this.c,0,null)};function hf(a,b,c){b*=2;for(var d=0;;)if(d<b){if(Se(c,a[d]))return d;d+=2}else return-1}function jf(a,b,c,d){this.F=a;this.xb=b;this.j=c;this.c=d}f=jf.prototype;
f.Nb=function(a){if(a===this.F)return this;var b=Array(2*(this.j+1));od(this.c,0,b,0,2*this.j);return new jf(a,this.xb,this.j,b)};f.Bc=function(){return Xe?Xe(this.c):Ze.call(null,this.c)};f.Bb=function(a,b,c,d){a=hf(this.c,this.j,c);return 0>a?d:Se(c,this.c[a])?this.c[a+1]:d};
f.Ma=function(a,b,c,d,e,g){if(c===this.xb){b=hf(this.c,this.j,d);if(-1===b){if(this.c.length>2*this.j)return b=2*this.j,c=2*this.j+1,a=this.Nb(a),a.c[b]=d,a.c[c]=e,g.Wa=!0,a.j+=1,a;c=this.c.length;b=Array(c+2);od(this.c,0,b,0,c);b[c]=d;b[c+1]=e;g.Wa=!0;d=this.j+1;a===this.F?(this.c=b,this.j=d,a=this):a=new jf(this.F,this.xb,d,b);return a}return this.c[b+1]===e?this:Ue(this,a,b+1,e)}return(new We(a,1<<(this.xb>>>b&31),[null,this,null,null])).Ma(a,b,c,d,e,g)};
f.La=function(a,b,c,d,e){return b===this.xb?(a=hf(this.c,this.j,c),-1===a?(a=2*this.j,b=Array(a+2),od(this.c,0,b,0,a),b[a]=c,b[a+1]=d,e.Wa=!0,new jf(null,this.xb,this.j+1,b)):Cc.a(this.c[a],d)?this:new jf(null,this.xb,this.j,Te(this.c,a+1,d))):(new We(null,1<<(this.xb>>>a&31),[null,this])).La(a,b,c,d,e)};f.nb=function(){return new Ve(this.c,0,null,null)};
function cf(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 6:return df(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);case 7:return bf(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6]);default:throw Error([E("Invalid arity: "),E(b.length)].join(""));}}
function df(a,b,c,d,e,g){var h=yc(b);if(h===d)return new jf(null,h,2,[b,c,e,g]);var k=new Re;return $e.La(a,h,b,c,k).La(a,d,e,g,k)}function bf(a,b,c,d,e,g,h){var k=yc(c);if(k===e)return new jf(null,k,2,[c,d,g,h]);var l=new Re;return $e.Ma(a,b,k,c,d,l).Ma(a,b,e,g,h,l)}function kf(a,b,c,d,e){this.o=a;this.Db=b;this.l=c;this.w=d;this.s=e;this.i=32374860;this.D=0}f=kf.prototype;f.toString=function(){return oc(this)};f.equiv=function(a){return this.u(null,a)};
f.indexOf=function(){var a=null,a=function(a,c){switch(arguments.length){case 1:return S(this,a,0);case 2:return S(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.b=function(a){return S(this,a,0)};a.a=function(a,c){return S(this,a,c)};return a}();
f.lastIndexOf=function(){function a(a){return U(this,a,T(this))}var b=null,b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return U(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.b=a;b.a=function(a,b){return U(this,a,b)};return b}();f.O=function(){return this.o};f.N=function(){var a=this.s;return null!=a?a:this.s=a=Gc(this)};f.u=function(a,b){return Uc(this,b)};f.ea=function(){return fd(P,this.o)};f.ha=function(a,b){return td(b,this)};
f.ia=function(a,b,c){return ud(b,c,this)};f.ja=function(){return null==this.w?new Vd(null,2,5,Wd,[this.Db[this.l],this.Db[this.l+1]],null):O(this.w)};f.va=function(){if(null==this.w){var a=this.Db,b=this.l+2;return lf?lf(a,b,null):Ze.call(null,a,b,null)}var a=this.Db,b=this.l,c=Q(this.w);return lf?lf(a,b,c):Ze.call(null,a,b,c)};f.Z=function(){return this};f.P=function(a,b){return new kf(b,this.Db,this.l,this.w,this.s)};f.Y=function(a,b){return V(b,this)};kf.prototype[rb]=function(){return Ec(this)};
function Ze(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return Xe(arguments[0]);case 3:return lf(arguments[0],arguments[1],arguments[2]);default:throw Error([E("Invalid arity: "),E(b.length)].join(""));}}function Xe(a){return lf(a,0,null)}
function lf(a,b,c){if(null==c)for(c=a.length;;)if(b<c){if(null!=a[b])return new kf(null,a,b,null,null);var d=a[b+1];if(x(d)&&(d=d.Bc(),x(d)))return new kf(null,a,b+2,d,null);b+=2}else return null;else return new kf(null,a,b,c,null)}function mf(a,b,c,d,e){this.o=a;this.Db=b;this.l=c;this.w=d;this.s=e;this.i=32374860;this.D=0}f=mf.prototype;f.toString=function(){return oc(this)};f.equiv=function(a){return this.u(null,a)};
f.indexOf=function(){var a=null,a=function(a,c){switch(arguments.length){case 1:return S(this,a,0);case 2:return S(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.b=function(a){return S(this,a,0)};a.a=function(a,c){return S(this,a,c)};return a}();
f.lastIndexOf=function(){function a(a){return U(this,a,T(this))}var b=null,b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return U(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.b=a;b.a=function(a,b){return U(this,a,b)};return b}();f.O=function(){return this.o};f.N=function(){var a=this.s;return null!=a?a:this.s=a=Gc(this)};f.u=function(a,b){return Uc(this,b)};f.ea=function(){return fd(P,this.o)};f.ha=function(a,b){return td(b,this)};
f.ia=function(a,b,c){return ud(b,c,this)};f.ja=function(){return O(this.w)};f.va=function(){var a=this.Db,b=this.l,c=Q(this.w);return nf?nf(null,a,b,c):gf.call(null,null,a,b,c)};f.Z=function(){return this};f.P=function(a,b){return new mf(b,this.Db,this.l,this.w,this.s)};f.Y=function(a,b){return V(b,this)};mf.prototype[rb]=function(){return Ec(this)};
function gf(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return ff(arguments[0]);case 4:return nf(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([E("Invalid arity: "),E(b.length)].join(""));}}function ff(a){return nf(null,a,0,null)}function nf(a,b,c,d){if(null==d)for(d=b.length;;)if(c<d){var e=b[c];if(x(e)&&(e=e.Bc(),x(e)))return new mf(a,b,c+1,e,null);c+=1}else return null;else return new mf(a,b,c,d,null)}
function of(a,b,c){this.ta=a;this.Ae=b;this.Nd=c}of.prototype.ra=function(){return this.Nd&&this.Ae.ra()};of.prototype.next=function(){if(this.Nd)return this.Ae.next();this.Nd=!0;return this.ta};of.prototype.remove=function(){return Error("Unsupported operation")};function pf(a,b,c,d,e,g){this.o=a;this.j=b;this.root=c;this.sa=d;this.ta=e;this.s=g;this.i=16123663;this.D=8196}f=pf.prototype;f.toString=function(){return oc(this)};f.equiv=function(a){return this.u(null,a)};
f.keys=function(){return Ec(Je.b?Je.b(this):Je.call(null,this))};f.entries=function(){return new Ee(M(M(this)))};f.values=function(){return Ec(Ke.b?Ke.b(this):Ke.call(null,this))};f.has=function(a){return sd(this,a)};f.get=function(a,b){return this.H(null,a,b)};
f.forEach=function(a){for(var b=M(this),c=null,d=0,e=0;;)if(e<d){var g=c.T(null,e),h=ad(g,0,null),g=ad(g,1,null);a.a?a.a(g,h):a.call(null,g,h);e+=1}else if(b=M(b))md(b)?(c=jc(b),b=kc(b),h=c,d=T(c),c=h):(c=O(b),h=ad(c,0,null),g=ad(c,1,null),a.a?a.a(g,h):a.call(null,g,h),b=Q(b),c=null,d=0),e=0;else return null};f.J=function(a,b){return I.g(this,b,null)};f.H=function(a,b,c){return null==b?this.sa?this.ta:c:null==this.root?c:this.root.Bb(0,yc(b),b,c)};
f.nb=function(){var a=this.root?mc(this.root):Td;return this.sa?new of(this.ta,a,!1):a};f.O=function(){return this.o};f.da=function(){return this.j};f.N=function(){var a=this.s;return null!=a?a:this.s=a=Ic(this)};f.u=function(a,b){return De(this,b)};f.ac=function(){return new qf({},this.root,this.j,this.sa,this.ta)};f.ea=function(){return Ub(cd,this.o)};
f.qc=function(a,b,c){if(null==b)return this.sa&&c===this.ta?this:new pf(this.o,this.sa?this.j:this.j+1,this.root,!0,c,null);a=new Re;b=(null==this.root?$e:this.root).La(0,yc(b),b,c,a);return b===this.root?this:new pf(this.o,a.Wa?this.j+1:this.j,b,this.sa,this.ta,null)};f.ud=function(a,b){return null==b?this.sa:null==this.root?!1:this.root.Bb(0,yc(b),b,pd)!==pd};f.Z=function(){if(0<this.j){var a=null!=this.root?this.root.Bc():null;return this.sa?V(new Vd(null,2,5,Wd,[null,this.ta],null),a):a}return null};
f.P=function(a,b){return new pf(b,this.j,this.root,this.sa,this.ta,this.s)};f.Y=function(a,b){if(ld(b))return Kb(this,F.a(b,0),F.a(b,1));for(var c=this,d=M(b);;){if(null==d)return c;var e=O(d);if(ld(e))c=Kb(c,F.a(e,0),F.a(e,1)),d=Q(d);else throw Error("conj on a map takes map entries or seqables of map entries");}};
f.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.J(null,c);case 3:return this.H(null,c,d)}throw Error("Invalid arity: "+arguments.length);};a.a=function(a,c){return this.J(null,c)};a.g=function(a,c,d){return this.H(null,c,d)};return a}();f.apply=function(a,b){return this.call.apply(this,[this].concat(tb(b)))};f.b=function(a){return this.J(null,a)};f.a=function(a,b){return this.H(null,a,b)};var cd=new pf(null,0,null,!1,null,Jc);pf.prototype[rb]=function(){return Ec(this)};
function qf(a,b,c,d,e){this.F=a;this.root=b;this.count=c;this.sa=d;this.ta=e;this.i=258;this.D=56}function rf(a,b,c){if(a.F){if(null==b)a.ta!==c&&(a.ta=c),a.sa||(a.count+=1,a.sa=!0);else{var d=new Re;b=(null==a.root?$e:a.root).Ma(a.F,0,yc(b),b,c,d);b!==a.root&&(a.root=b);d.Wa&&(a.count+=1)}return a}throw Error("assoc! after persistent!");}f=qf.prototype;f.da=function(){if(this.F)return this.count;throw Error("count after persistent!");};
f.J=function(a,b){return null==b?this.sa?this.ta:null:null==this.root?null:this.root.Bb(0,yc(b),b)};f.H=function(a,b,c){return null==b?this.sa?this.ta:c:null==this.root?c:this.root.Bb(0,yc(b),b,c)};
f.sc=function(a,b){var c;a:if(this.F)if(null!=b?b.i&2048||b.Xe||(b.i?0:B(Mb,b)):B(Mb,b))c=rf(this,Oe.b?Oe.b(b):Oe.call(null,b),Pe.b?Pe.b(b):Pe.call(null,b));else{c=M(b);for(var d=this;;){var e=O(c);if(x(e))c=Q(c),d=rf(d,Oe.b?Oe.b(e):Oe.call(null,e),Pe.b?Pe.b(e):Pe.call(null,e));else{c=d;break a}}}else throw Error("conj! after persistent");return c};f.tc=function(){var a;if(this.F)this.F=null,a=new pf(null,this.count,this.root,this.sa,this.ta,null);else throw Error("persistent! called twice");return a};
f.rc=function(a,b,c){return rf(this,b,c)};var sf=function sf(b){for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return sf.G(0<c.length?new N(c.slice(0),0,null):null)};sf.G=function(a){for(var b=M(a),c=dc(cd);;)if(b){a=Q(Q(b));var d=O(b),b=O(Q(b)),c=gc(c,d,b),b=a}else return fc(c)};sf.$=0;sf.V=function(a){return sf.G(M(a))};
var tf=function tf(b){for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return tf.G(0<c.length?new N(c.slice(0),0,null):null)};tf.G=function(a){a=a instanceof N&&0===a.l?a.c:ub(a);return Ne(a)};tf.$=0;tf.V=function(a){return tf.G(M(a))};function uf(a,b){this.A=a;this.ma=b;this.i=32374988;this.D=0}f=uf.prototype;f.toString=function(){return oc(this)};f.equiv=function(a){return this.u(null,a)};
f.indexOf=function(){var a=null,a=function(a,c){switch(arguments.length){case 1:return S(this,a,0);case 2:return S(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.b=function(a){return S(this,a,0)};a.a=function(a,c){return S(this,a,c)};return a}();
f.lastIndexOf=function(){function a(a){return U(this,a,T(this))}var b=null,b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return U(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.b=a;b.a=function(a,b){return U(this,a,b)};return b}();f.O=function(){return this.ma};f.qa=function(){var a=(null!=this.A?this.A.i&128||this.A.Oc||(this.A.i?0:B(Fb,this.A)):B(Fb,this.A))?this.A.qa(null):Q(this.A);return null==a?null:new uf(a,this.ma)};f.N=function(){return Gc(this)};
f.u=function(a,b){return Uc(this,b)};f.ea=function(){return fd(P,this.ma)};f.ha=function(a,b){return td(b,this)};f.ia=function(a,b,c){return ud(b,c,this)};f.ja=function(){return this.A.ja(null).yd()};f.va=function(){var a=(null!=this.A?this.A.i&128||this.A.Oc||(this.A.i?0:B(Fb,this.A)):B(Fb,this.A))?this.A.qa(null):Q(this.A);return null!=a?new uf(a,this.ma):P};f.Z=function(){return this};f.P=function(a,b){return new uf(this.A,b)};f.Y=function(a,b){return V(b,this)};uf.prototype[rb]=function(){return Ec(this)};
function Je(a){return(a=M(a))?new uf(a,null):null}function Oe(a){return Nb(a)}function vf(a,b){this.A=a;this.ma=b;this.i=32374988;this.D=0}f=vf.prototype;f.toString=function(){return oc(this)};f.equiv=function(a){return this.u(null,a)};f.indexOf=function(){var a=null,a=function(a,c){switch(arguments.length){case 1:return S(this,a,0);case 2:return S(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.b=function(a){return S(this,a,0)};a.a=function(a,c){return S(this,a,c)};return a}();
f.lastIndexOf=function(){function a(a){return U(this,a,T(this))}var b=null,b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return U(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.b=a;b.a=function(a,b){return U(this,a,b)};return b}();f.O=function(){return this.ma};f.qa=function(){var a=(null!=this.A?this.A.i&128||this.A.Oc||(this.A.i?0:B(Fb,this.A)):B(Fb,this.A))?this.A.qa(null):Q(this.A);return null==a?null:new vf(a,this.ma)};f.N=function(){return Gc(this)};
f.u=function(a,b){return Uc(this,b)};f.ea=function(){return fd(P,this.ma)};f.ha=function(a,b){return td(b,this)};f.ia=function(a,b,c){return ud(b,c,this)};f.ja=function(){return this.A.ja(null).zd()};f.va=function(){var a=(null!=this.A?this.A.i&128||this.A.Oc||(this.A.i?0:B(Fb,this.A)):B(Fb,this.A))?this.A.qa(null):Q(this.A);return null!=a?new vf(a,this.ma):P};f.Z=function(){return this};f.P=function(a,b){return new vf(this.A,b)};f.Y=function(a,b){return V(b,this)};vf.prototype[rb]=function(){return Ec(this)};
function Ke(a){return(a=M(a))?new vf(a,null):null}function Pe(a){return Ob(a)}function wf(a){this.Hd=a}wf.prototype.ra=function(){return this.Hd.ra()};wf.prototype.next=function(){if(this.Hd.ra())return this.Hd.next().fa[0];throw Error("No such element");};wf.prototype.remove=function(){return Error("Unsupported operation")};function xf(a,b,c){this.o=a;this.Pb=b;this.s=c;this.i=15077647;this.D=8196}f=xf.prototype;f.toString=function(){return oc(this)};f.equiv=function(a){return this.u(null,a)};
f.keys=function(){return Ec(M(this))};f.entries=function(){return new Fe(M(M(this)))};f.values=function(){return Ec(M(this))};f.has=function(a){return sd(this,a)};f.forEach=function(a){for(var b=M(this),c=null,d=0,e=0;;)if(e<d){var g=c.T(null,e),h=ad(g,0,null),g=ad(g,1,null);a.a?a.a(g,h):a.call(null,g,h);e+=1}else if(b=M(b))md(b)?(c=jc(b),b=kc(b),h=c,d=T(c),c=h):(c=O(b),h=ad(c,0,null),g=ad(c,1,null),a.a?a.a(g,h):a.call(null,g,h),b=Q(b),c=null,d=0),e=0;else return null};
f.J=function(a,b){return I.g(this,b,null)};f.H=function(a,b,c){return Hb(this.Pb,b)?b:c};f.nb=function(){return new wf(mc(this.Pb))};f.O=function(){return this.o};f.da=function(){return zb(this.Pb)};f.N=function(){var a=this.s;return null!=a?a:this.s=a=Ic(this)};f.u=function(a,b){return id(b)&&T(this)===T(b)&&be(function(a){return function(b){return sd(a,b)}}(this),b)};f.ac=function(){return new yf(dc(this.Pb))};f.ea=function(){return fd(zf,this.o)};f.Z=function(){return Je(this.Pb)};
f.P=function(a,b){return new xf(b,this.Pb,this.s)};f.Y=function(a,b){return new xf(this.o,bd.g(this.Pb,b,null),null)};f.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.J(null,c);case 3:return this.H(null,c,d)}throw Error("Invalid arity: "+arguments.length);};a.a=function(a,c){return this.J(null,c)};a.g=function(a,c,d){return this.H(null,c,d)};return a}();f.apply=function(a,b){return this.call.apply(this,[this].concat(tb(b)))};
f.b=function(a){return this.J(null,a)};f.a=function(a,b){return this.H(null,a,b)};var zf=new xf(null,ae,Jc);xf.prototype[rb]=function(){return Ec(this)};function yf(a){this.ub=a;this.D=136;this.i=259}f=yf.prototype;f.sc=function(a,b){this.ub=gc(this.ub,b,null);return this};f.tc=function(){return new xf(null,fc(this.ub),null)};f.da=function(){return T(this.ub)};f.J=function(a,b){return I.g(this,b,null)};f.H=function(a,b,c){return I.g(this.ub,b,pd)===pd?c:b};
f.call=function(){function a(a,b,c){return I.g(this.ub,b,pd)===pd?c:b}function b(a,b){return I.g(this.ub,b,pd)===pd?null:b}var c=null,c=function(c,e,g){switch(arguments.length){case 2:return b.call(this,0,e);case 3:return a.call(this,0,e,g)}throw Error("Invalid arity: "+arguments.length);};c.a=b;c.g=a;return c}();f.apply=function(a,b){return this.call.apply(this,[this].concat(tb(b)))};f.b=function(a){return I.g(this.ub,a,pd)===pd?null:a};f.a=function(a,b){return I.g(this.ub,a,pd)===pd?b:a};
function Ed(a){if(null!=a&&(a.D&4096||a.Ze))return a.name;if("string"===typeof a)return a;throw Error([E("Doesn't support name: "),E(a)].join(""));}function Af(a){a:for(var b=a;;)if(M(b))b=Q(b);else break a;return a}
function Bf(a,b,c,d,e,g,h){var k=gb;gb=null==gb?null:gb-1;try{if(null!=gb&&0>gb)return K(a,"#");K(a,c);if(0===ob.b(g))M(h)&&K(a,function(){var a=Cf.b(g);return x(a)?a:"..."}());else{if(M(h)){var l=O(h);b.g?b.g(l,a,g):b.call(null,l,a,g)}for(var n=Q(h),m=ob.b(g)-1;;)if(!n||null!=m&&0===m){M(n)&&0===m&&(K(a,d),K(a,function(){var a=Cf.b(g);return x(a)?a:"..."}()));break}else{K(a,d);var p=O(n);c=a;h=g;b.g?b.g(p,c,h):b.call(null,p,c,h);var q=Q(n);c=m-1;n=q;m=c}}return K(a,e)}finally{gb=k}}
function Df(a,b){for(var c=M(b),d=null,e=0,g=0;;)if(g<e){var h=d.T(null,g);K(a,h);g+=1}else if(c=M(c))d=c,md(d)?(c=jc(d),e=kc(d),d=c,h=T(c),c=e,e=h):(h=O(d),K(a,h),c=Q(d),d=null,e=0),g=0;else return null}var Ef={'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"};function Ff(a){return[E('"'),E(a.replace(RegExp('[\\\\"\b\f\n\r\t]',"g"),function(a){return Ef[a]})),E('"')].join("")}
function Gf(a,b){var c=rd(L.a(a,mb));return c?(c=null!=b?b.i&131072||b.Ye?!0:!1:!1)?null!=gd(b):c:c}
function Hf(a,b,c){if(null==a)return K(b,"nil");if(Gf(c,a)){K(b,"^");var d=gd(a);Y.g?Y.g(d,b,c):Y.call(null,d,b,c);K(b," ")}if(a.de)return a.bf(b);if(null!=a&&(a.i&2147483648||a.ga))return a.U(null,b,c);if(!0===a||!1===a||"number"===typeof a)return K(b,""+E(a));if(null!=a&&a.constructor===Object)return K(b,"#js "),d=X.a(function(b){return new Vd(null,2,5,Wd,[Dd.b(b),a[b]],null)},nd(a)),If.ua?If.ua(d,Y,b,c):If.call(null,d,Y,b,c);if(pb(a))return Bf(b,Y,"#js ["," ","]",c,a);if(fa(a))return x(lb.b(c))?
K(b,Ff(a)):K(b,a);if(ia(a)){var e=a.name;c=x(function(){var a=null==e;return a?a:/^[\s\xa0]*$/.test(e)}())?"Function":e;return Df(b,Wc(["#object[",c,' "',""+E(a),'"]'],0))}if(a instanceof Date)return c=function(a,b){for(var c=""+E(a);;)if(T(c)<b)c=[E("0"),E(c)].join("");else return c},Df(b,Wc(['#inst "',""+E(a.getUTCFullYear()),"-",c(a.getUTCMonth()+1,2),"-",c(a.getUTCDate(),2),"T",c(a.getUTCHours(),2),":",c(a.getUTCMinutes(),2),":",c(a.getUTCSeconds(),2),".",c(a.getUTCMilliseconds(),3),"-",'00:00"'],
0));if(a instanceof RegExp)return Df(b,Wc(['#"',a.source,'"'],0));if(x(a.constructor.Pc))return Df(b,Wc(["#object[",a.constructor.Pc.replace(RegExp("/","g"),"."),"]"],0));e=a.constructor.name;c=x(function(){var a=null==e;return a?a:/^[\s\xa0]*$/.test(e)}())?"Object":e;return Df(b,Wc(["#object[",c," ",""+E(a),"]"],0))}function Y(a,b,c){var d=Jf.b(c);return x(d)?(c=bd.g(c,Kf,Hf),d.g?d.g(a,b,c):d.call(null,a,b,c)):Hf(a,b,c)}
function If(a,b,c,d){return Bf(c,function(a,c,d){var k=Nb(a);b.g?b.g(k,c,d):b.call(null,k,c,d);K(c," ");a=Ob(a);return b.g?b.g(a,c,d):b.call(null,a,c,d)},"{",", ","}",d,M(a))}N.prototype.ga=!0;N.prototype.U=function(a,b,c){return Bf(b,Y,"("," ",")",c,this)};Fd.prototype.ga=!0;Fd.prototype.U=function(a,b,c){return Bf(b,Y,"("," ",")",c,this)};kf.prototype.ga=!0;kf.prototype.U=function(a,b,c){return Bf(b,Y,"("," ",")",c,this)};He.prototype.ga=!0;
He.prototype.U=function(a,b,c){return Bf(b,Y,"("," ",")",c,this)};te.prototype.ga=!0;te.prototype.U=function(a,b,c){return Bf(b,Y,"("," ",")",c,this)};Bd.prototype.ga=!0;Bd.prototype.U=function(a,b,c){return Bf(b,Y,"("," ",")",c,this)};pf.prototype.ga=!0;pf.prototype.U=function(a,b,c){return If(this,Y,b,c)};mf.prototype.ga=!0;mf.prototype.U=function(a,b,c){return Bf(b,Y,"("," ",")",c,this)};xe.prototype.ga=!0;xe.prototype.U=function(a,b,c){return Bf(b,Y,"["," ","]",c,this)};xf.prototype.ga=!0;
xf.prototype.U=function(a,b,c){return Bf(b,Y,"#{"," ","}",c,this)};Jd.prototype.ga=!0;Jd.prototype.U=function(a,b,c){return Bf(b,Y,"("," ",")",c,this)};vf.prototype.ga=!0;vf.prototype.U=function(a,b,c){return Bf(b,Y,"("," ",")",c,this)};Vd.prototype.ga=!0;Vd.prototype.U=function(a,b,c){return Bf(b,Y,"["," ","]",c,this)};zd.prototype.ga=!0;zd.prototype.U=function(a,b){return K(b,"()")};jb.prototype.ga=!0;jb.prototype.U=function(a,b,c){return If(this,Y,b,c)};uf.prototype.ga=!0;
uf.prototype.U=function(a,b,c){return Bf(b,Y,"("," ",")",c,this)};yd.prototype.ga=!0;yd.prototype.U=function(a,b,c){return Bf(b,Y,"("," ",")",c,this)};function Lf(){}var Mf=function Mf(b){if(null!=b&&null!=b.Te)return b.Te(b);var c=Mf[v(null==b?null:b)];if(null!=c)return c.b?c.b(b):c.call(null,b);c=Mf._;if(null!=c)return c.b?c.b(b):c.call(null,b);throw D("IEncodeJS.-clj-\x3ejs",b);};
function Nf(a){if(null!=a?a.Se||(a.Bd?0:B(Lf,a)):B(Lf,a))a=Mf(a);else if("string"===typeof a||"number"===typeof a||a instanceof W||a instanceof Ac)a=Of.b?Of.b(a):Of.call(null,a);else{var b=Wc([a],0);a=ib();var c;(c=null==b)||(c=M(b),c=null==c?!0:!1===c?!0:!1);if(c)a="";else{c=E;var d=new Ra;a:{var e=new nc(d);Y(O(b),e,a);for(var b=M(Q(b)),g=null,h=0,k=0;;)if(k<h){var l=g.T(null,k);K(e," ");Y(l,e,a);k+=1}else if(b=M(b))g=b,md(g)?(b=jc(g),h=kc(g),g=b,l=T(b),b=h,h=l):(l=O(g),K(e," "),Y(l,e,a),b=Q(g),
g=null,h=0),k=0;else break a}a=""+c(d)}}return a}
var Of=function Of(b){if(null==b)return null;if(null!=b?b.Se||(b.Bd?0:B(Lf,b)):B(Lf,b))return Mf(b);if(b instanceof W)return Ed(b);if(b instanceof Ac)return""+E(b);if(kd(b)){var c={};b=M(b);for(var d=null,e=0,g=0;;)if(g<e){var h=d.T(null,g),k=ad(h,0,null),h=ad(h,1,null);c[Nf(k)]=Of(h);g+=1}else if(b=M(b))md(b)?(e=jc(b),b=kc(b),d=e,e=T(e)):(e=O(b),d=ad(e,0,null),e=ad(e,1,null),c[Nf(d)]=Of(e),b=Q(b),d=null,e=0),g=0;else break;return c}if(hd(b)){c=[];b=M(X.a(Of,b));d=null;for(g=e=0;;)if(g<e)k=d.T(null,
g),c.push(k),g+=1;else if(b=M(b))d=b,md(d)?(b=jc(d),g=kc(d),d=b,e=T(b),b=g):(b=O(d),c.push(b),b=Q(d),d=null,e=0),g=0;else break;return c}return b};function Pf(){}var Qf=function Qf(b,c){if(null!=b&&null!=b.Re)return b.Re(b,c);var d=Qf[v(null==b?null:b)];if(null!=d)return d.a?d.a(b,c):d.call(null,b,c);d=Qf._;if(null!=d)return d.a?d.a(b,c):d.call(null,b,c);throw D("IEncodeClojure.-js-\x3eclj",b);};
function Rf(a){var b=Wc([new jb(null,1,[Sf,!1],null)],0),c=null!=b&&(b.i&64||b.bc)?Rd(sf,b):b,d=L.a(c,Sf);return function(a,c,d,k){return function n(m){return(null!=m?m.Kf||(m.Bd?0:B(Pf,m)):B(Pf,m))?Qf(m,Rd(tf,b)):qd(m)?Af(X.a(n,m)):hd(m)?ce(null==m?null:Ab(m),X.a(n,m)):pb(m)?se(X.a(n,m)):(null==m?null:m.constructor)===Object?ce(ae,function(){return function(a,b,c,d){return function A(e){return new Fd(null,function(a,b,c,d){return function(){for(;;){var a=M(e);if(a){if(md(a)){var b=jc(a),c=T(b),g=
new Hd(Array(c),0);a:for(var h=0;;)if(h<c){var k=F.a(b,h),k=new Vd(null,2,5,Wd,[d.b?d.b(k):d.call(null,k),n(m[k])],null);g.add(k);h+=1}else{b=!0;break a}return b?Kd(g.Ja(),A(kc(a))):Kd(g.Ja(),null)}g=O(a);return V(new Vd(null,2,5,Wd,[d.b?d.b(g):d.call(null,g),n(m[g])],null),A(Bc(a)))}return null}}}(a,b,c,d),null,null)}}(a,c,d,k)(nd(m))}()):m}}(b,c,d,x(d)?Dd:E)(a)};function Tf(a){if(a.Ka&&"function"==typeof a.Ka)return a.Ka();if(fa(a))return a.split("");if(da(a)){for(var b=[],c=a.length,d=0;d<c;d++)b.push(a[d]);return b}return La(a)}
function Uf(a,b,c){if(a.forEach&&"function"==typeof a.forEach)a.forEach(b,c);else if(da(a)||fa(a))Xa(a,b,c);else{var d;if(a.qb&&"function"==typeof a.qb)d=a.qb();else if(a.Ka&&"function"==typeof a.Ka)d=void 0;else if(da(a)||fa(a)){d=[];for(var e=a.length,g=0;g<e;g++)d.push(g)}else d=Ma(a);for(var e=Tf(a),g=e.length,h=0;h<g;h++)b.call(c,e[h],d&&d[h],a)}};function Vf(a,b){this.Ta={};this.L=[];this.aa=0;var c=arguments.length;if(1<c){if(c%2)throw Error("Uneven number of arguments");for(var d=0;d<c;d+=2)this.set(arguments[d],arguments[d+1])}else a&&this.addAll(a)}f=Vf.prototype;f.Ka=function(){Wf(this);for(var a=[],b=0;b<this.L.length;b++)a.push(this.Ta[this.L[b]]);return a};f.qb=function(){Wf(this);return this.L.concat()};f.uc=function(a){return Xf(this.Ta,a)};f.clear=function(){this.Ta={};this.aa=this.L.length=0};
f.remove=function(a){return Xf(this.Ta,a)?(delete this.Ta[a],this.aa--,this.L.length>2*this.aa&&Wf(this),!0):!1};function Wf(a){if(a.aa!=a.L.length){for(var b=0,c=0;b<a.L.length;){var d=a.L[b];Xf(a.Ta,d)&&(a.L[c++]=d);b++}a.L.length=c}if(a.aa!=a.L.length){for(var e={},c=b=0;b<a.L.length;)d=a.L[b],Xf(e,d)||(a.L[c++]=d,e[d]=1),b++;a.L.length=c}}f.get=function(a,b){return Xf(this.Ta,a)?this.Ta[a]:b};f.set=function(a,b){Xf(this.Ta,a)||(this.aa++,this.L.push(a));this.Ta[a]=b};
f.addAll=function(a){var b;a instanceof Vf?(b=a.qb(),a=a.Ka()):(b=Ma(a),a=La(a));for(var c=0;c<b.length;c++)this.set(b[c],a[c])};f.forEach=function(a,b){for(var c=this.qb(),d=0;d<c.length;d++){var e=c[d],g=this.get(e);a.call(b,g,e,this)}};f.clone=function(){return new Vf(this)};function Xf(a,b){return Object.prototype.hasOwnProperty.call(a,b)};var Yf=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/;function Zf(a,b){if(a)for(var c=a.split("\x26"),d=0;d<c.length;d++){var e=c[d].indexOf("\x3d"),g=null,h=null;0<=e?(g=c[d].substring(0,e),h=c[d].substring(e+1)):g=c[d];b(g,h?decodeURIComponent(h.replace(/\+/g," ")):"")}};function $f(a,b){this.ob=this.Wb=this.Gb="";this.Tb=null;this.Ob=this.oa="";this.Ha=this.kf=!1;var c;if(a instanceof $f)this.Ha=void 0!==b?b:a.Ha,ag(this,a.Gb),c=a.Wb,bg(this),this.Wb=c,cg(this,a.ob),dg(this,a.Tb),eg(this,a.oa),fg(this,a.Pa.clone()),c=a.Ob,bg(this),this.Ob=c;else if(a&&(c=String(a).match(Yf))){this.Ha=!!b;ag(this,c[1]||"",!0);var d=c[2]||"";bg(this);this.Wb=gg(d);cg(this,c[3]||"",!0);dg(this,c[4]);eg(this,c[5]||"",!0);fg(this,c[6]||"",!0);c=c[7]||"";bg(this);this.Ob=gg(c)}else this.Ha=
!!b,this.Pa=new hg(null,0,this.Ha)}$f.prototype.toString=function(){var a=[],b=this.Gb;b&&a.push(ig(b,jg,!0),":");var c=this.ob;if(c||"file"==b)a.push("//"),(b=this.Wb)&&a.push(ig(b,jg,!0),"@"),a.push(encodeURIComponent(String(c)).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),c=this.Tb,null!=c&&a.push(":",String(c));if(c=this.oa)this.ob&&"/"!=c.charAt(0)&&a.push("/"),a.push(ig(c,"/"==c.charAt(0)?kg:lg,!0));(c=this.Pa.toString())&&a.push("?",c);(c=this.Ob)&&a.push("#",ig(c,mg));return a.join("")};
$f.prototype.resolve=function(a){var b=this.clone(),c=!!a.Gb;c?ag(b,a.Gb):c=!!a.Wb;if(c){var d=a.Wb;bg(b);b.Wb=d}else c=!!a.ob;c?cg(b,a.ob):c=null!=a.Tb;d=a.oa;if(c)dg(b,a.Tb);else if(c=!!a.oa){if("/"!=d.charAt(0))if(this.ob&&!this.oa)d="/"+d;else{var e=b.oa.lastIndexOf("/");-1!=e&&(d=b.oa.substr(0,e+1)+d)}e=d;if(".."==e||"."==e)d="";else if(-1!=e.indexOf("./")||-1!=e.indexOf("/.")){for(var d=0==e.lastIndexOf("/",0),e=e.split("/"),g=[],h=0;h<e.length;){var k=e[h++];"."==k?d&&h==e.length&&g.push(""):
".."==k?((1<g.length||1==g.length&&""!=g[0])&&g.pop(),d&&h==e.length&&g.push("")):(g.push(k),d=!0)}d=g.join("/")}else d=e}c?eg(b,d):c=""!==a.Pa.toString();c?fg(b,gg(a.Pa.toString())):c=!!a.Ob;c&&(a=a.Ob,bg(b),b.Ob=a);return b};$f.prototype.clone=function(){return new $f(this)};function ag(a,b,c){bg(a);a.Gb=c?gg(b,!0):b;a.Gb&&(a.Gb=a.Gb.replace(/:$/,""))}function cg(a,b,c){bg(a);a.ob=c?gg(b,!0):b}
function dg(a,b){bg(a);if(b){b=Number(b);if(isNaN(b)||0>b)throw Error("Bad port number "+b);a.Tb=b}else a.Tb=null}function eg(a,b,c){bg(a);a.oa=c?gg(b,!0):b}function fg(a,b,c){bg(a);b instanceof hg?(a.Pa=b,a.Pa.Od(a.Ha)):(c||(b=ig(b,ng)),a.Pa=new hg(b,0,a.Ha))}function og(a,b,c){bg(a);a.Pa.set(b,c)}function pg(a,b,c){bg(a);ca(c)||(c=[String(c)]);qg(a.Pa,b,c)}
function rg(a){bg(a);og(a,"zx",Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^ra()).toString(36));return a}function bg(a){if(a.kf)throw Error("Tried to modify a read-only Uri");}$f.prototype.Od=function(a){this.Ha=a;this.Pa&&this.Pa.Od(a);return this};function sg(a){return a instanceof $f?a.clone():new $f(a,void 0)}function tg(a,b,c,d){var e=new $f(null,void 0);a&&ag(e,a);b&&cg(e,b);c&&dg(e,c);d&&eg(e,d);return e}
function gg(a,b){return a?b?decodeURI(a.replace(/%25/g,"%2525")):decodeURIComponent(a):""}function ig(a,b,c){return fa(a)?(a=encodeURI(a).replace(b,ug),c&&(a=a.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),a):null}function ug(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)}var jg=/[#\/\?@]/g,lg=/[\#\?:]/g,kg=/[\#\?]/g,ng=/[\#\?@]/g,mg=/#/g;function hg(a,b,c){this.aa=this.K=null;this.Aa=a||null;this.Ha=!!c}
function vg(a){a.K||(a.K=new Vf,a.aa=0,a.Aa&&Zf(a.Aa,function(b,c){a.add(decodeURIComponent(b.replace(/\+/g," ")),c)}))}f=hg.prototype;f.add=function(a,b){vg(this);this.Aa=null;a=wg(this,a);var c=this.K.get(a);c||this.K.set(a,c=[]);c.push(b);this.aa++;return this};f.remove=function(a){vg(this);a=wg(this,a);return this.K.uc(a)?(this.Aa=null,this.aa-=this.K.get(a).length,this.K.remove(a)):!1};f.clear=function(){this.K=this.Aa=null;this.aa=0};f.uc=function(a){vg(this);a=wg(this,a);return this.K.uc(a)};
f.qb=function(){vg(this);for(var a=this.K.Ka(),b=this.K.qb(),c=[],d=0;d<b.length;d++)for(var e=a[d],g=0;g<e.length;g++)c.push(b[d]);return c};f.Ka=function(a){vg(this);var b=[];if(fa(a))this.uc(a)&&(b=ab(b,this.K.get(wg(this,a))));else{a=this.K.Ka();for(var c=0;c<a.length;c++)b=ab(b,a[c])}return b};f.set=function(a,b){vg(this);this.Aa=null;a=wg(this,a);this.uc(a)&&(this.aa-=this.K.get(a).length);this.K.set(a,[b]);this.aa++;return this};
f.get=function(a,b){var c=a?this.Ka(a):[];return 0<c.length?String(c[0]):b};function qg(a,b,c){a.remove(b);0<c.length&&(a.Aa=null,a.K.set(wg(a,b),bb(c)),a.aa+=c.length)}f.toString=function(){if(this.Aa)return this.Aa;if(!this.K)return"";for(var a=[],b=this.K.qb(),c=0;c<b.length;c++)for(var d=b[c],e=encodeURIComponent(String(d)),d=this.Ka(d),g=0;g<d.length;g++){var h=e;""!==d[g]&&(h+="\x3d"+encodeURIComponent(String(d[g])));a.push(h)}return this.Aa=a.join("\x26")};
f.clone=function(){var a=new hg;a.Aa=this.Aa;this.K&&(a.K=this.K.clone(),a.aa=this.aa);return a};function wg(a,b){var c=String(b);a.Ha&&(c=c.toLowerCase());return c}f.Od=function(a){a&&!this.Ha&&(vg(this),this.Aa=null,this.K.forEach(function(a,c){var d=c.toLowerCase();c!=d&&(this.remove(c),qg(this,d,a))},this));this.Ha=a};f.extend=function(a){for(var b=0;b<arguments.length;b++)Uf(arguments[b],function(a,b){this.add(b,a)},this)};function xg(){this.Fb="";this.Ie=yg}xg.prototype.ke=!0;xg.prototype.toString=function(){return"SafeUrl{"+this.Fb+"}"};var zg=/^(?:(?:https?|mailto|ftp):|[^&:/?#]*(?:[/?#]|$))/i,yg={};function Ag(){this.Fb="";this.He=Bg}Ag.prototype.ke=!0;Ag.prototype.toString=function(){return"SafeHtml{"+this.Fb+"}"};function Cg(a){if(a instanceof Ag&&a.constructor===Ag&&a.He===Bg)return a.Fb;Ua("expected object of type SafeHtml, got '"+a+"'");return"type_error:SafeHtml"}var Bg={};Ag.prototype.le=function(a){this.Fb=a;return this};var Dg;a:{var Eg=r.navigator;if(Eg){var Gg=Eg.userAgent;if(Gg){Dg=Gg;break a}}Dg=""}function Hg(a){return-1!=Dg.indexOf(a)};var Ig=Hg("Opera")||Hg("OPR"),Jg=Hg("Trident")||Hg("MSIE"),Kg=Hg("Edge"),Lg=Hg("Gecko")&&!(-1!=Dg.toLowerCase().indexOf("webkit")&&!Hg("Edge"))&&!(Hg("Trident")||Hg("MSIE"))&&!Hg("Edge"),Mg=-1!=Dg.toLowerCase().indexOf("webkit")&&!Hg("Edge");Mg&&Hg("Mobile");var Ng=Hg("Macintosh");Hg("Windows");Hg("Linux")||Hg("CrOS");var Og=r.navigator||null;Og&&(Og.appVersion||"").indexOf("X11");Hg("Android");!Hg("iPhone")||Hg("iPod")||Hg("iPad");Hg("iPad");
function Pg(){var a=Dg;if(Lg)return/rv\:([^\);]+)(\)|;)/.exec(a);if(Kg)return/Edge\/([\d\.]+)/.exec(a);if(Jg)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(Mg)return/WebKit\/(\S+)/.exec(a)}function Qg(){var a=r.document;return a?a.documentMode:void 0}var Rg=function(){if(Ig&&r.opera){var a;var b=r.opera.version;try{a=b()}catch(c){a=b}return a}a="";(b=Pg())&&(a=b?b[1]:"");return Jg&&(b=Qg(),b>parseFloat(a))?String(b):a}(),Sg={};
function Tg(a){var b;if(!(b=Sg[a])){b=0;for(var c=va(String(Rg)).split("."),d=va(String(a)).split("."),e=Math.max(c.length,d.length),g=0;0==b&&g<e;g++){var h=c[g]||"",k=d[g]||"",l=RegExp("(\\d*)(\\D*)","g"),n=RegExp("(\\d*)(\\D*)","g");do{var m=l.exec(h)||["","",""],p=n.exec(k)||["","",""];if(0==m[0].length&&0==p[0].length)break;b=Ha(0==m[1].length?0:parseInt(m[1],10),0==p[1].length?0:parseInt(p[1],10))||Ha(0==m[2].length,0==p[2].length)||Ha(m[2],p[2])}while(0==b)}b=Sg[a]=0<=b}return b}
var Ug=r.document,Vg=Ug&&Jg?Qg()||("CSS1Compat"==Ug.compatMode?parseInt(Rg,10):5):void 0;function Wg(a,b,c,d,e){this.reset(a,b,c,d,e)}Wg.prototype.fe=null;var Xg=0;Wg.prototype.reset=function(a,b,c,d,e){"number"==typeof e||Xg++;d||ra();this.Cc=a;this.nf=b;delete this.fe};Wg.prototype.Pd=function(a){this.Cc=a};function Yg(a){this.qe=a;this.ie=this.td=this.Cc=this.ad=null}function Zg(a,b){this.name=a;this.value=b}Zg.prototype.toString=function(){return this.name};var $g=new Zg("OFF",Infinity),ah=new Zg("SEVERE",1E3),bh=new Zg("WARNING",900),ch=new Zg("INFO",800),dh=new Zg("CONFIG",700),eh=new Zg("FINE",500);f=Yg.prototype;f.getName=function(){return this.qe};f.getParent=function(){return this.ad};f.Pd=function(a){this.Cc=a};
function fh(a){if(a.Cc)return a.Cc;if(a.ad)return fh(a.ad);Ua("Root logger has no level set.");return null}f.log=function(a,b,c){if(a.value>=fh(this).value)for(ia(b)&&(b=b()),a=new Wg(a,String(b),this.qe),c&&(a.fe=c),c="log:"+a.nf,r.console&&(r.console.timeStamp?r.console.timeStamp(c):r.console.markTimeline&&r.console.markTimeline(c)),r.msWriteProfilerMark&&r.msWriteProfilerMark(c),c=this;c;){b=c;var d=a;if(b.ie)for(var e=0,g=void 0;g=b.ie[e];e++)g(d);c=c.getParent()}};
f.Qa=function(a,b){this.log(ah,a,b)};f.Xb=function(a,b){this.log(bh,a,b)};f.info=function(a,b){this.log(ch,a,b)};var gh={},hh=null;function ih(a){hh||(hh=new Yg(""),gh[""]=hh,hh.Pd(dh));var b;if(!(b=gh[a])){b=new Yg(a);var c=a.lastIndexOf("."),d=a.substr(c+1),c=ih(a.substr(0,c));c.td||(c.td={});c.td[d]=b;b.ad=c;gh[a]=b}return b};function jh(){this.xe=ra()}new jh;jh.prototype.set=function(a){this.xe=a};jh.prototype.reset=function(){this.set(ra())};jh.prototype.get=function(){return this.xe};function kh(){0!=lh&&(mh[this[ka]||(this[ka]=++na)]=this);this.wc=this.wc;this.Zc=this.Zc}var lh=0,mh={};kh.prototype.wc=!1;kh.prototype.Dd=function(){if(!this.wc&&(this.wc=!0,this.za(),0!=lh)){var a=this[ka]||(this[ka]=++na);delete mh[a]}};kh.prototype.za=function(){if(this.Zc)for(;this.Zc.length;)this.Zc.shift()()};function nh(a,b){this.type=a;this.currentTarget=this.target=b;this.defaultPrevented=this.Ub=!1;this.ze=!0}nh.prototype.stopPropagation=function(){this.Ub=!0};nh.prototype.preventDefault=function(){this.defaultPrevented=!0;this.ze=!1};var oh=!Jg||9<=Vg,ph=Jg&&!Tg("9");!Mg||Tg("528");Lg&&Tg("1.9b")||Jg&&Tg("8")||Ig&&Tg("9.5")||Mg&&Tg("528");Lg&&!Tg("8")||Jg&&Tg("9");function qh(a){qh[" "](a);return a}qh[" "]=ba;function rh(a,b){nh.call(this,a?a.type:"");this.relatedTarget=this.currentTarget=this.target=null;this.charCode=this.keyCode=this.button=this.screenY=this.screenX=this.clientY=this.clientX=this.offsetY=this.offsetX=0;this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.dc=this.state=null;if(a){var c=this.type=a.type,d=a.changedTouches?a.changedTouches[0]:null;this.target=a.target||a.srcElement;this.currentTarget=b;var e=a.relatedTarget;if(e){if(Lg){var g;a:{try{qh(e.nodeName);g=!0;break a}catch(h){}g=
!1}g||(e=null)}}else"mouseover"==c?e=a.fromElement:"mouseout"==c&&(e=a.toElement);this.relatedTarget=e;null===d?(this.offsetX=Mg||void 0!==a.offsetX?a.offsetX:a.layerX,this.offsetY=Mg||void 0!==a.offsetY?a.offsetY:a.layerY,this.clientX=void 0!==a.clientX?a.clientX:a.pageX,this.clientY=void 0!==a.clientY?a.clientY:a.pageY,this.screenX=a.screenX||0,this.screenY=a.screenY||0):(this.clientX=void 0!==d.clientX?d.clientX:d.pageX,this.clientY=void 0!==d.clientY?d.clientY:d.pageY,this.screenX=d.screenX||
0,this.screenY=d.screenY||0);this.button=a.button;this.keyCode=a.keyCode||0;this.charCode=a.charCode||("keypress"==c?a.keyCode:0);this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.state=a.state;this.dc=a;a.defaultPrevented&&this.preventDefault()}}sa(rh,nh);rh.prototype.stopPropagation=function(){rh.Jb.stopPropagation.call(this);this.dc.stopPropagation?this.dc.stopPropagation():this.dc.cancelBubble=!0};
rh.prototype.preventDefault=function(){rh.Jb.preventDefault.call(this);var a=this.dc;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,ph)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};var sh="closure_listenable_"+(1E6*Math.random()|0),th=0;function uh(a,b,c,d,e){this.listener=a;this.cd=null;this.src=b;this.type=c;this.pc=!!d;this.Sc=e;this.key=++th;this.ic=this.Mc=!1}function vh(a){a.ic=!0;a.listener=null;a.cd=null;a.src=null;a.Sc=null};function wh(a){this.src=a;this.na={};this.Jc=0}f=wh.prototype;f.add=function(a,b,c,d,e){var g=a.toString();a=this.na[g];a||(a=this.na[g]=[],this.Jc++);var h=xh(a,b,d,e);-1<h?(b=a[h],c||(b.Mc=!1)):(b=new uh(b,this.src,g,!!d,e),b.Mc=c,a.push(b));return b};f.remove=function(a,b,c,d){a=a.toString();if(!(a in this.na))return!1;var e=this.na[a];b=xh(e,b,c,d);return-1<b?(vh(e[b]),Va.splice.call(e,b,1),0==e.length&&(delete this.na[a],this.Jc--),!0):!1};
function yh(a,b){var c=b.type;if(c in a.na){var d=a.na[c],e=Wa(d,b),g;(g=0<=e)&&Va.splice.call(d,e,1);g&&(vh(b),0==a.na[c].length&&(delete a.na[c],a.Jc--))}}f.fd=function(a){a=a&&a.toString();var b=0,c;for(c in this.na)if(!a||c==a){for(var d=this.na[c],e=0;e<d.length;e++)++b,vh(d[e]);delete this.na[c];this.Jc--}return b};f.Ac=function(a,b,c,d){a=this.na[a.toString()];var e=-1;a&&(e=xh(a,b,c,d));return-1<e?a[e]:null};
f.hasListener=function(a,b){var c=void 0!==a,d=c?a.toString():"",e=void 0!==b;return Ka(this.na,function(a){for(var h=0;h<a.length;++h)if(!(c&&a[h].type!=d||e&&a[h].pc!=b))return!0;return!1})};function xh(a,b,c,d){for(var e=0;e<a.length;++e){var g=a[e];if(!g.ic&&g.listener==b&&g.pc==!!c&&g.Sc==d)return e}return-1};var zh="closure_lm_"+(1E6*Math.random()|0),Ah={},Bh=0;
function Ch(a,b,c,d,e){if(ca(b)){for(var g=0;g<b.length;g++)Ch(a,b[g],c,d,e);return null}c=Dh(c);if(a&&a[sh])a=a.Yc(b,c,d,e);else{if(!b)throw Error("Invalid event type");var g=!!d,h=Eh(a);h||(a[zh]=h=new wh(a));c=h.add(b,c,!1,d,e);if(!c.cd){d=Fh();c.cd=d;d.src=a;d.listener=c;if(a.addEventListener)a.addEventListener(b.toString(),d,g);else if(a.attachEvent)a.attachEvent(Gh(b.toString()),d);else throw Error("addEventListener and attachEvent are unavailable.");Bh++}a=c}return a}
function Fh(){var a=Hh,b=oh?function(c){return a.call(b.src,b.listener,c)}:function(c){c=a.call(b.src,b.listener,c);if(!c)return c};return b}function Ih(a,b,c,d,e){if(ca(b))for(var g=0;g<b.length;g++)Ih(a,b[g],c,d,e);else c=Dh(c),a&&a[sh]?a.Rd(b,c,d,e):a&&(a=Eh(a))&&(b=a.Ac(b,c,!!d,e))&&Jh(b)}
function Jh(a){if(!ga(a)&&a&&!a.ic){var b=a.src;if(b&&b[sh])yh(b.pb,a);else{var c=a.type,d=a.cd;b.removeEventListener?b.removeEventListener(c,d,a.pc):b.detachEvent&&b.detachEvent(Gh(c),d);Bh--;(c=Eh(b))?(yh(c,a),0==c.Jc&&(c.src=null,b[zh]=null)):vh(a)}}}function Gh(a){return a in Ah?Ah[a]:Ah[a]="on"+a}function Kh(a,b,c,d){var e=!0;if(a=Eh(a))if(b=a.na[b.toString()])for(b=b.concat(),a=0;a<b.length;a++){var g=b[a];g&&g.pc==c&&!g.ic&&(g=Lh(g,d),e=e&&!1!==g)}return e}
function Lh(a,b){var c=a.listener,d=a.Sc||a.src;a.Mc&&Jh(a);return c.call(d,b)}
function Hh(a,b){if(a.ic)return!0;if(!oh){var c;if(!(c=b))a:{c=["window","event"];for(var d=r,e;e=c.shift();)if(null!=d[e])d=d[e];else{c=null;break a}c=d}e=c;c=new rh(e,this);d=!0;if(!(0>e.keyCode||void 0!=e.returnValue)){a:{var g=!1;if(0==e.keyCode)try{e.keyCode=-1;break a}catch(l){g=!0}if(g||void 0==e.returnValue)e.returnValue=!0}e=[];for(g=c.currentTarget;g;g=g.parentNode)e.push(g);for(var g=a.type,h=e.length-1;!c.Ub&&0<=h;h--){c.currentTarget=e[h];var k=Kh(e[h],g,!0,c),d=d&&k}for(h=0;!c.Ub&&h<
e.length;h++)c.currentTarget=e[h],k=Kh(e[h],g,!1,c),d=d&&k}return d}return Lh(a,new rh(b,this))}function Eh(a){a=a[zh];return a instanceof wh?a:null}var Mh="__closure_events_fn_"+(1E9*Math.random()>>>0);function Dh(a){if(ia(a))return a;a[Mh]||(a[Mh]=function(b){return a.handleEvent(b)});return a[Mh]};function Nh(){kh.call(this);this.pb=new wh(this);this.Je=this;this.Ld=null}sa(Nh,kh);Nh.prototype[sh]=!0;f=Nh.prototype;f.addEventListener=function(a,b,c,d){Ch(this,a,b,c,d)};f.removeEventListener=function(a,b,c,d){Ih(this,a,b,c,d)};
f.dispatchEvent=function(a){var b,c=this.Ld;if(c)for(b=[];c;c=c.Ld)b.push(c);var c=this.Je,d=a.type||a;if(fa(a))a=new nh(a,c);else if(a instanceof nh)a.target=a.target||c;else{var e=a;a=new nh(d,c);Pa(a,e)}var e=!0,g;if(b)for(var h=b.length-1;!a.Ub&&0<=h;h--)g=a.currentTarget=b[h],e=Oh(g,d,!0,a)&&e;a.Ub||(g=a.currentTarget=c,e=Oh(g,d,!0,a)&&e,a.Ub||(e=Oh(g,d,!1,a)&&e));if(b)for(h=0;!a.Ub&&h<b.length;h++)g=a.currentTarget=b[h],e=Oh(g,d,!1,a)&&e;return e};
f.za=function(){Nh.Jb.za.call(this);this.pb&&this.pb.fd(void 0);this.Ld=null};f.Yc=function(a,b,c,d){return this.pb.add(String(a),b,!1,c,d)};f.Rd=function(a,b,c,d){return this.pb.remove(String(a),b,c,d)};function Oh(a,b,c,d){b=a.pb.na[String(b)];if(!b)return!0;b=b.concat();for(var e=!0,g=0;g<b.length;++g){var h=b[g];if(h&&!h.ic&&h.pc==c){var k=h.listener,l=h.Sc||h.src;h.Mc&&yh(a.pb,h);e=!1!==k.call(l,d)&&e}}return e&&0!=d.ze}f.Ac=function(a,b,c,d){return this.pb.Ac(String(a),b,c,d)};
f.hasListener=function(a,b){return this.pb.hasListener(void 0!==a?String(a):void 0,b)};function Ph(a){a=String(a);if(/^\s*$/.test(a)?0:/^[\],:{}\s\u2028\u2029]*$/.test(a.replace(/\\["\\\/bfnrtu]/g,"@").replace(/"[^"\\\n\r\u2028\u2029\x00-\x08\x0a-\x1f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g,"")))try{return eval("("+a+")")}catch(b){}throw Error("Invalid JSON string: "+a);}function Qh(a){return eval("("+a+")")}function Rh(a){this.gd=a}function Sh(a,b){var c=[];Th(a,b,c);return c.join("")}
function Th(a,b,c){if(null==b)c.push("null");else{if("object"==typeof b){if(ca(b)){var d=b;b=d.length;c.push("[");for(var e="",g=0;g<b;g++)c.push(e),e=d[g],Th(a,a.gd?a.gd.call(d,String(g),e):e,c),e=",";c.push("]");return}if(b instanceof String||b instanceof Number||b instanceof Boolean)b=b.valueOf();else{c.push("{");g="";for(d in b)Object.prototype.hasOwnProperty.call(b,d)&&(e=b[d],"function"!=typeof e&&(c.push(g),Uh(d,c),c.push(":"),Th(a,a.gd?a.gd.call(b,d,e):e,c),g=","));c.push("}");return}}switch(typeof b){case "string":Uh(b,
c);break;case "number":c.push(isFinite(b)&&!isNaN(b)?String(b):"null");break;case "boolean":c.push(String(b));break;case "function":c.push("null");break;default:throw Error("Unknown type: "+typeof b);}}}var Vh={'"':'\\"',"\\":"\\\\","/":"\\/","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\u000b"},Wh=/\uffff/.test("￿")?/[\\\"\x00-\x1f\x7f-\uffff]/g:/[\\\"\x00-\x1f\x7f-\xff]/g;
function Uh(a,b){b.push('"',a.replace(Wh,function(a){var b=Vh[a];b||(b="\\u"+(a.charCodeAt(0)|65536).toString(16).substr(1),Vh[a]=b);return b}),'"')};function Xh(a,b){this.Ef=new Rh(a);this.rb=b?Qh:Ph}Xh.prototype.stringify=function(a){return Sh(this.Ef,a)};Xh.prototype.parse=function(a){return this.rb(a)};function Yh(a,b){a&&a.log(eh,b,void 0)};function Zh(a,b){Nh.call(this);this.Rb=a||1;this.kc=b||r;this.qd=w(this.Gf,this);this.Kd=ra()}sa(Zh,Nh);f=Zh.prototype;f.enabled=!1;f.ca=null;f.setInterval=function(a){this.Rb=a;this.ca&&this.enabled?(this.stop(),this.start()):this.ca&&this.stop()};
f.Gf=function(){if(this.enabled){var a=ra()-this.Kd;0<a&&a<.8*this.Rb?this.ca=this.kc.setTimeout(this.qd,this.Rb-a):(this.ca&&(this.kc.clearTimeout(this.ca),this.ca=null),this.dispatchEvent($h),this.enabled&&(this.ca=this.kc.setTimeout(this.qd,this.Rb),this.Kd=ra()))}};f.start=function(){this.enabled=!0;this.ca||(this.ca=this.kc.setTimeout(this.qd,this.Rb),this.Kd=ra())};f.stop=function(){this.enabled=!1;this.ca&&(this.kc.clearTimeout(this.ca),this.ca=null)};
f.za=function(){Zh.Jb.za.call(this);this.stop();delete this.kc};var $h="tick";function ai(a,b,c){if(ia(a))c&&(a=w(a,c));else if(a&&"function"==typeof a.handleEvent)a=w(a.handleEvent,a);else throw Error("Invalid listener argument");return 2147483647<b?-1:r.setTimeout(a,b||0)};function bi(a,b,c){kh.call(this);this.lf=null!=c?w(a,c):a;this.Rb=b;this.Ne=w(this.tf,this);this.pd=[]}sa(bi,kh);f=bi.prototype;f.hd=!1;f.Md=0;f.ca=null;f.ef=function(a){this.pd=arguments;this.ca||this.Md?this.hd=!0:ci(this)};f.stop=function(){this.ca&&(r.clearTimeout(this.ca),this.ca=null,this.hd=!1,this.pd=[])};f.pause=function(){this.Md++};f.za=function(){bi.Jb.za.call(this);this.stop()};f.tf=function(){this.ca=null;this.hd&&!this.Md&&(this.hd=!1,ci(this))};
function ci(a){a.ca=ai(a.Ne,a.Rb);a.lf.apply(null,a.pd)};function di(a){kh.call(this);this.ba=a;this.L={}}sa(di,kh);var ei=[];f=di.prototype;f.Yc=function(a,b,c,d){ca(b)||(b&&(ei[0]=b.toString()),b=ei);for(var e=0;e<b.length;e++){var g=Ch(a,b[e],c||this.handleEvent,d||!1,this.ba||this);if(!g)break;this.L[g.key]=g}return this};
f.Rd=function(a,b,c,d,e){if(ca(b))for(var g=0;g<b.length;g++)this.Rd(a,b[g],c,d,e);else c=c||this.handleEvent,e=e||this.ba||this,c=Dh(c),d=!!d,b=a&&a[sh]?a.Ac(b,c,d,e):a?(a=Eh(a))?a.Ac(b,c,d,e):null:null,b&&(Jh(b),delete this.L[b.key]);return this};f.fd=function(){Ja(this.L,function(a,b){this.L.hasOwnProperty(b)&&Jh(a)},this);this.L={}};f.za=function(){di.Jb.za.call(this);this.fd()};f.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented");};function fi(){}fi.prototype.Wd=null;function gi(a){var b;(b=a.Wd)||(b={},hi(a)&&(b[0]=!0,b[1]=!0),b=a.Wd=b);return b};var ii;function ji(){}sa(ji,fi);function ki(a){return(a=hi(a))?new ActiveXObject(a):new XMLHttpRequest}function hi(a){if(!a.je&&"undefined"==typeof XMLHttpRequest&&"undefined"!=typeof ActiveXObject){for(var b=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],c=0;c<b.length;c++){var d=b[c];try{return new ActiveXObject(d),a.je=d}catch(e){}}throw Error("Could not create ActiveXObject. ActiveX might be disabled, or MSXML might not be installed");}return a.je}ii=new ji;function li(a,b,c,d,e){this.B=a;this.h=b;this.Vb=c;this.Ga=d;this.Hc=e||1;this.jc=mi;this.Fd=new di(this);this.bd=new Zh;this.bd.setInterval(ni)}f=li.prototype;f.Ba=null;f.Ia=!1;f.nc=null;f.Td=null;f.Gc=null;f.lc=null;f.wb=null;f.Ea=null;f.Eb=null;f.X=null;f.Kc=0;f.Ra=null;f.mc=null;f.ka=null;f.M=-1;f.Be=!0;f.Lb=!1;f.hc=0;f.dd=null;var mi=45E3,ni=250;
function oi(a,b){switch(a){case 0:return"Non-200 return code ("+b+")";case 1:return"XMLHTTP failure (no data)";case 2:return"HttpConnection timeout";default:return"Unknown error"}}var pi={},qi={};f=li.prototype;f.Hb=function(a){this.Ba=a};f.setTimeout=function(a){this.jc=a};f.De=function(a){this.hc=a};function ri(a,b,c){a.lc=1;a.wb=rg(b.clone());a.Eb=c;a.ee=!0;si(a,null)}function ti(a,b,c,d,e){a.lc=1;a.wb=rg(b.clone());a.Eb=null;a.ee=c;e&&(a.Be=!1);si(a,d)}
function si(a,b){a.Gc=ra();ui(a);a.Ea=a.wb.clone();pg(a.Ea,"t",a.Hc);a.Kc=0;a.X=a.B.Cd(a.B.jd()?b:null);0<a.hc&&(a.dd=new bi(w(a.Ge,a,a.X),a.hc));a.Fd.Yc(a.X,"readystatechange",a.Af);var c;if(a.Ba){c=a.Ba;var d={},e;for(e in c)d[e]=c[e];c=d}else c={};a.Eb?(a.mc="POST",c["Content-Type"]="application/x-www-form-urlencoded",a.X.send(a.Ea,a.mc,a.Eb,c)):(a.mc="GET",a.Be&&!Mg&&(c.Connection="close"),a.X.send(a.Ea,a.mc,null,c));a.B.Oa(vi);if(d=a.Eb)for(c="",d=d.split("\x26"),e=0;e<d.length;e++){var g=d[e].split("\x3d");
if(1<g.length){var h=g[0],g=g[1],k=h.split("_");c=2<=k.length&&"type"==k[1]?c+(h+"\x3d"+g+"\x26"):c+(h+"\x3dredacted\x26")}}else c=null;a.h.info("XMLHTTP REQ ("+a.Ga+") [attempt "+a.Hc+"]: "+a.mc+"\n"+a.Ea+"\n"+c)}f.Af=function(a){a=a.target;var b=this.dd;b&&3==wi(a)?(this.h.debug("Throttling readystatechange."),b.ef()):this.Ge(a)};
f.Ge=function(a){try{if(a==this.X)a:{var b=wi(this.X),c=this.X.gc,d=xi(this.X);if(Jg&&!(10<=Vg)||Mg&&!Tg("420+")){if(4>b)break a}else if(3>b||3==b&&!Ig&&!yi(this.X))break a;this.Lb||4!=b||7==c||(8==c||0>=d?this.B.Oa(zi):this.B.Oa(Ai));Bi(this);var e=xi(this.X);this.M=e;var g=yi(this.X);g||this.h.debug("No response text for uri "+this.Ea+" status "+e);this.Ia=200==e;this.h.info("XMLHTTP RESP ("+this.Ga+") [ attempt "+this.Hc+"]: "+this.mc+"\n"+this.Ea+"\n"+b+" "+e);this.Ia?(4==b&&Ci(this),this.ee?
(Di(this,b,g),Ig&&this.Ia&&3==b&&(this.Fd.Yc(this.bd,$h,this.yf),this.bd.start())):(Ei(this.h,this.Ga,g,null),Fi(this,g)),this.Ia&&!this.Lb&&(4==b?this.B.$c(this):(this.Ia=!1,ui(this)))):(400==e&&0<g.indexOf("Unknown SID")?(this.ka=3,Z(Gi),this.h.Xb("XMLHTTP Unknown SID ("+this.Ga+")")):(this.ka=0,Z(Hi),this.h.Xb("XMLHTTP Bad status "+e+" ("+this.Ga+")")),Ci(this),Ii(this))}else this.h.Xb("Called back with an unexpected xmlhttp")}catch(h){this.h.debug("Failed call to OnXmlHttpReadyStateChanged_"),
this.X&&yi(this.X)?Ji(this.h,h,"ResponseText: "+yi(this.X)):Ji(this.h,h,"No response text")}finally{}};function Di(a,b,c){for(var d=!0;!a.Lb&&a.Kc<c.length;){var e=Ki(a,c);if(e==qi){4==b&&(a.ka=4,Z(Li),d=!1);Ei(a.h,a.Ga,null,"[Incomplete Response]");break}else if(e==pi){a.ka=4;Z(Mi);Ei(a.h,a.Ga,c,"[Invalid Chunk]");d=!1;break}else Ei(a.h,a.Ga,e,null),Fi(a,e)}4==b&&0==c.length&&(a.ka=1,Z(Ni),d=!1);a.Ia=a.Ia&&d;d||(Ei(a.h,a.Ga,c,"[Invalid Chunked Response]"),Ci(a),Ii(a))}
f.yf=function(){var a=wi(this.X),b=yi(this.X);this.Kc<b.length&&(Bi(this),Di(this,a,b),this.Ia&&4!=a&&ui(this))};function Ki(a,b){var c=a.Kc,d=b.indexOf("\n",c);if(-1==d)return qi;c=Number(b.substring(c,d));if(isNaN(c))return pi;d+=1;if(d+c>b.length)return qi;var e=b.substr(d,c);a.Kc=d+c;return e}
function Oi(a,b){a.Gc=ra();ui(a);var c=b?window.location.hostname:"";a.Ea=a.wb.clone();og(a.Ea,"DOMAIN",c);og(a.Ea,"t",a.Hc);try{a.Ra=new ActiveXObject("htmlfile")}catch(n){a.h.Qa("ActiveX blocked");Ci(a);a.ka=7;Z(Pi);Ii(a);return}var d="\x3chtml\x3e\x3cbody\x3e";if(b){for(var e="",g=0;g<c.length;g++){var h=c.charAt(g);if("\x3c"==h)e+="\\x3c";else if("\x3e"==h)e+="\\x3e";else{if(h in Ga)h=Ga[h];else if(h in Fa)h=Ga[h]=Fa[h];else{var k=h,l=h.charCodeAt(0);if(31<l&&127>l)k=h;else{if(256>l){if(k="\\x",
16>l||256<l)k+="0"}else k="\\u",4096>l&&(k+="0");k+=l.toString(16).toUpperCase()}h=Ga[h]=k}e+=h}}d+='\x3cscript\x3edocument.domain\x3d"'+e+'"\x3c/script\x3e'}c=(new Ag).le(d+"\x3c/body\x3e\x3c/html\x3e");a.Ra.open();a.Ra.write(Cg(c));a.Ra.close();a.Ra.parentWindow.m=w(a.wf,a);a.Ra.parentWindow.d=w(a.we,a,!0);a.Ra.parentWindow.rpcClose=w(a.we,a,!1);c=a.Ra.createElement("DIV");a.Ra.parentWindow.document.body.appendChild(c);d=a.Ea.toString();d instanceof xg||(d=d.ke?d.Fb:String(d),zg.test(d)||(d="about:invalid#zClosurez"),
g=new xg,g.Fb=d,d=g);d instanceof xg&&d.constructor===xg&&d.Ie===yg?d=d.Fb:(Ua("expected object of type SafeUrl, got '"+d+"'"),d="type_error:SafeUrl");Ea.test(d)&&(-1!=d.indexOf("\x26")&&(d=d.replace(wa,"\x26amp;")),-1!=d.indexOf("\x3c")&&(d=d.replace(xa,"\x26lt;")),-1!=d.indexOf("\x3e")&&(d=d.replace(za,"\x26gt;")),-1!=d.indexOf('"')&&(d=d.replace(Aa,"\x26quot;")),-1!=d.indexOf("'")&&(d=d.replace(Ba,"\x26#39;")),-1!=d.indexOf("\x00")&&(d=d.replace(Da,"\x26#0;")));c.innerHTML=Cg((new Ag).le('\x3ciframe src\x3d"'+
d+'"\x3e\x3c/iframe\x3e'));a.h.info("TRIDENT REQ ("+a.Ga+") [ attempt "+a.Hc+"]: GET\n"+a.Ea);a.B.Oa(vi)}f.wf=function(a){Qi(w(this.vf,this,a),0)};f.vf=function(a){if(!this.Lb){var b=this.h;b.info("TRIDENT TEXT ("+this.Ga+"): "+Ri(b,a));Bi(this);Fi(this,a);ui(this)}};f.we=function(a){Qi(w(this.uf,this,a),0)};f.uf=function(a){this.Lb||(this.h.info("TRIDENT TEXT ("+this.Ga+"): "+a?"success":"failure"),Ci(this),this.Ia=a,this.B.$c(this),this.B.Oa(Si))};f.cancel=function(){this.Lb=!0;Ci(this)};
function ui(a){a.Td=ra()+a.jc;Ti(a,a.jc)}function Ti(a,b){if(null!=a.nc)throw Error("WatchDog timer not null");a.nc=Qi(w(a.xf,a),b)}function Bi(a){a.nc&&(r.clearTimeout(a.nc),a.nc=null)}f.xf=function(){this.nc=null;var a=ra();0<=a-this.Td?(this.Ia&&this.h.Qa("Received watchdog timeout even though request loaded successfully"),this.h.info("TIMEOUT: "+this.Ea),2!=this.lc&&this.B.Oa(zi),Ci(this),this.ka=2,Z(Ui),Ii(this)):(this.h.Xb("WatchDog timer called too early"),Ti(this,this.Td-a))};
function Ii(a){a.B.me()||a.Lb||a.B.$c(a)}function Ci(a){Bi(a);var b=a.dd;b&&"function"==typeof b.Dd&&b.Dd();a.dd=null;a.bd.stop();a.Fd.fd();a.X&&(b=a.X,a.X=null,b.abort(),b.Dd());a.Ra&&(a.Ra=null)}f.he=function(){return this.ka};function Fi(a,b){try{a.B.te(a,b),a.B.Oa(Si)}catch(c){Ji(a.h,c,"Error in httprequest callback")}};function Vi(){this.la=ih("goog.net.BrowserChannel")}function Ei(a,b,c,d){a.info("XMLHTTP TEXT ("+b+"): "+Ri(a,c)+(d?" "+d:""))}Vi.prototype.debug=function(a){this.info(a)};function Ji(a,b,c){a.Qa((c||"Exception")+b)}Vi.prototype.info=function(a){var b=this.la;b&&b.info(a,void 0)};Vi.prototype.Xb=function(a){var b=this.la;b&&b.Xb(a,void 0)};Vi.prototype.Qa=function(a){var b=this.la;b&&b.Qa(a,void 0)};
function Ri(a,b){if(!b||b==Wi)return b;try{var c=Qh(b);if(c)for(var d=0;d<c.length;d++)if(ca(c[d])){var e=c[d];if(!(2>e.length)){var g=e[1];if(ca(g)&&!(1>g.length)){var h=g[0];if("noop"!=h&&"stop"!=h)for(var k=1;k<g.length;k++)g[k]=""}}}return Sh(new Rh(void 0),c)}catch(l){return a.debug("Exception parsing expected JS array - probably was not JS"),b}};function Xi(a,b,c,d,e){(new Vi).debug("TestLoadImageWithRetries: "+e);if(0==d)c(!1);else{var g=e||0;d--;Yi(a,b,function(e){e?c(!0):r.setTimeout(function(){Xi(a,b,c,d,g)},g)})}}
function Yi(a,b,c){var d=new Vi;d.debug("TestLoadImage: loading "+a);var e=new Image;e.onload=function(){try{d.debug("TestLoadImage: loaded"),Zi(e),c(!0)}catch(a){Ji(d,a)}};e.onerror=function(){try{d.debug("TestLoadImage: error"),Zi(e),c(!1)}catch(a){Ji(d,a)}};e.onabort=function(){try{d.debug("TestLoadImage: abort"),Zi(e),c(!1)}catch(a){Ji(d,a)}};e.ontimeout=function(){try{d.debug("TestLoadImage: timeout"),Zi(e),c(!1)}catch(a){Ji(d,a)}};r.setTimeout(function(){if(e.ontimeout)e.ontimeout()},b);e.src=
a}function Zi(a){a.onload=null;a.onerror=null;a.onabort=null;a.ontimeout=null};function aj(a,b){this.B=a;this.h=b;this.rb=new Xh(null,!0)}f=aj.prototype;f.Ba=null;f.Fa=null;f.ed=!1;f.Ee=null;f.Qc=null;f.Jd=null;f.oa=null;f.C=null;f.M=-1;f.Sa=null;f.oc=null;f.Hb=function(a){this.Ba=a};f.Ce=function(a){this.rb=a};
f.connect=function(a){this.oa=a;a=bj(this.B,this.oa);Z(cj);this.Ee=ra();var b=this.B.ff;null!=b?(this.Sa=this.B.vc(b[0]),(this.oc=b[1])?(this.C=1,dj(this)):(this.C=2,ej(this))):(pg(a,"MODE","init"),this.Fa=new li(this,this.h,void 0,void 0,void 0),this.Fa.Hb(this.Ba),ti(this.Fa,a,!1,null,!0),this.C=0)};function dj(a){var b=fj(a.B,a.oc,"/mail/images/cleardot.gif");rg(b);Xi(b.toString(),5E3,w(a.Oe,a),3,2E3);a.Oa(vi)}
f.Oe=function(a){if(a)this.C=2,ej(this);else{Z(gj);var b=this.B;b.h.debug("Test Connection Blocked");b.M=b.yb.M;hj(b,9)}a&&this.Oa(Ai)};
function ej(a){a.h.debug("TestConnection: starting stage 2");var b=a.B.Df;if(null!=b)a.h.debug("TestConnection: skipping stage 2, precomputed result is "+b?"Buffered":"Unbuffered"),Z(ij),b?(Z(jj),kj(a.B,a,!1)):(Z(lj),kj(a.B,a,!0));else if(a.Fa=new li(a,a.h,void 0,void 0,void 0),a.Fa.Hb(a.Ba),b=mj(a.B,a.Sa,a.oa),Z(ij),!Jg||10<=Vg)pg(b,"TYPE","xmlhttp"),ti(a.Fa,b,!1,a.Sa,!1);else{pg(b,"TYPE","html");var c=a.Fa;a=!!a.Sa;c.lc=3;c.wb=rg(b.clone());Oi(c,a)}}f.Cd=function(a){return this.B.Cd(a)};
f.abort=function(){this.Fa&&(this.Fa.cancel(),this.Fa=null);this.M=-1};f.me=function(){return!1};
f.te=function(a,b){this.M=a.M;if(0==this.C)if(this.h.debug("TestConnection: Got data for stage 1"),b){try{var c=this.rb.parse(b)}catch(d){Ji(this.h,d);nj(this.B,this);return}this.Sa=this.B.vc(c[0]);this.oc=c[1]}else this.h.debug("TestConnection: Null responseText"),nj(this.B,this);else if(2==this.C)if(this.ed)Z(oj),this.Jd=ra();else if("11111"==b){if(Z(pj),this.ed=!0,this.Qc=ra(),c=this.Qc-this.Ee,!Jg||10<=Vg||500>c)this.M=200,this.Fa.cancel(),this.h.debug("Test connection succeeded; using streaming connection"),
Z(lj),kj(this.B,this,!0)}else Z(qj),this.Qc=this.Jd=ra(),this.ed=!1};
f.$c=function(){this.M=this.Fa.M;if(!this.Fa.Ia)this.h.debug("TestConnection: request failed, in state "+this.C),0==this.C?Z(rj):2==this.C&&Z(sj),nj(this.B,this);else if(0==this.C)this.h.debug("TestConnection: request complete for initial check"),this.oc?(this.C=1,dj(this)):(this.C=2,ej(this));else if(2==this.C){this.h.debug("TestConnection: request complete for stage 2");var a=!1;(a=!Jg||10<=Vg?this.ed:200>this.Jd-this.Qc?!1:!0)?(this.h.debug("Test connection succeeded; using streaming connection"),
Z(lj),kj(this.B,this,!0)):(this.h.debug("Test connection failed; not using streaming"),Z(jj),kj(this.B,this,!1))}};f.jd=function(){return this.B.jd()};f.fc=function(){return this.B.fc()};f.Oa=function(a){this.B.Oa(a)};function tj(a){Nh.call(this);this.headers=new Vf;this.nd=a||null;this.vb=!1;this.md=this.v=null;this.ne=this.Xc="";this.gc=0;this.ka="";this.Qb=this.Gd=this.Tc=this.Ed=!1;this.Ic=0;this.kd=null;this.ye=uj;this.ld=this.zf=this.Fe=!1}sa(tj,Nh);var uj="";tj.prototype.la=ih("goog.net.XhrIo");var vj=/^https?$/i,wj=["POST","PUT"];f=tj.prototype;
f.send=function(a,b,c,d){if(this.v)throw Error("[goog.net.XhrIo] Object is active with another request\x3d"+this.Xc+"; newUri\x3d"+a);b=b?b.toUpperCase():"GET";this.Xc=a;this.ka="";this.gc=0;this.ne=b;this.Ed=!1;this.vb=!0;this.v=this.nd?ki(this.nd):ki(ii);this.md=this.nd?gi(this.nd):gi(ii);this.v.onreadystatechange=w(this.se,this);this.zf&&"onprogress"in this.v&&(this.v.onprogress=w(function(a){this.re(a,!0)},this),this.v.upload&&(this.v.upload.onprogress=w(this.re,this)));try{Yh(this.la,xj(this,
"Opening Xhr")),this.Gd=!0,this.v.open(b,String(a),!0),this.Gd=!1}catch(g){Yh(this.la,xj(this,"Error opening Xhr: "+g.message));yj(this,g);return}a=c||"";var e=this.headers.clone();d&&Uf(d,function(a,b){e.set(b,a)});d=Za(e.qb());c=r.FormData&&a instanceof r.FormData;!(0<=Wa(wj,b))||d||c||e.set("Content-Type","application/x-www-form-urlencoded;charset\x3dutf-8");e.forEach(function(a,b){this.v.setRequestHeader(b,a)},this);this.ye&&(this.v.responseType=this.ye);Na(this.v)&&(this.v.withCredentials=this.Fe);
try{zj(this),0<this.Ic&&(this.ld=Aj(this.v),Yh(this.la,xj(this,"Will abort after "+this.Ic+"ms if incomplete, xhr2 "+this.ld)),this.ld?(this.v.timeout=this.Ic,this.v.ontimeout=w(this.jc,this)):this.kd=ai(this.jc,this.Ic,this)),Yh(this.la,xj(this,"Sending request")),this.Tc=!0,this.v.send(a),this.Tc=!1}catch(g){Yh(this.la,xj(this,"Send error: "+g.message)),yj(this,g)}};function Aj(a){return Jg&&Tg(9)&&ga(a.timeout)&&void 0!==a.ontimeout}function $a(a){return"content-type"==a.toLowerCase()}
f.jc=function(){"undefined"!=typeof aa&&this.v&&(this.ka="Timed out after "+this.Ic+"ms, aborting",this.gc=8,Yh(this.la,xj(this,this.ka)),this.dispatchEvent("timeout"),this.abort(8))};function yj(a,b){a.vb=!1;a.v&&(a.Qb=!0,a.v.abort(),a.Qb=!1);a.ka=b;a.gc=5;Bj(a);Cj(a)}function Bj(a){a.Ed||(a.Ed=!0,a.dispatchEvent("complete"),a.dispatchEvent("error"))}
f.abort=function(a){this.v&&this.vb&&(Yh(this.la,xj(this,"Aborting")),this.vb=!1,this.Qb=!0,this.v.abort(),this.Qb=!1,this.gc=a||7,this.dispatchEvent("complete"),this.dispatchEvent("abort"),Cj(this))};f.za=function(){this.v&&(this.vb&&(this.vb=!1,this.Qb=!0,this.v.abort(),this.Qb=!1),Cj(this,!0));tj.Jb.za.call(this)};f.se=function(){this.wc||(this.Gd||this.Tc||this.Qb?Dj(this):this.sf())};f.sf=function(){Dj(this)};
function Dj(a){if(a.vb&&"undefined"!=typeof aa)if(a.md[1]&&4==wi(a)&&2==xi(a))Yh(a.la,xj(a,"Local request error detected and ignored"));else if(a.Tc&&4==wi(a))ai(a.se,0,a);else if(a.dispatchEvent("readystatechange"),4==wi(a)){Yh(a.la,xj(a,"Request complete"));a.vb=!1;try{var b=xi(a),c;a:switch(b){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:c=!0;break a;default:c=!1}var d;if(!(d=c)){var e;if(e=0===b){var g=String(a.Xc).match(Yf)[1]||null;if(!g&&r.self&&r.self.location)var h=r.self.location.protocol,
g=h.substr(0,h.length-1);e=!vj.test(g?g.toLowerCase():"")}d=e}if(d)a.dispatchEvent("complete"),a.dispatchEvent("success");else{a.gc=6;var k;try{k=2<wi(a)?a.v.statusText:""}catch(l){Yh(a.la,"Can not get status: "+l.message),k=""}a.ka=k+" ["+xi(a)+"]";Bj(a)}}finally{Cj(a)}}}f.re=function(a,b){this.dispatchEvent(Ej(a,"progress"));this.dispatchEvent(Ej(a,b?"downloadprogress":"uploadprogress"))};function Ej(a,b){return{type:b,lengthComputable:a.lengthComputable,loaded:a.loaded,total:a.total}}
function Cj(a,b){if(a.v){zj(a);var c=a.v,d=a.md[0]?ba:null;a.v=null;a.md=null;b||a.dispatchEvent("ready");try{c.onreadystatechange=d}catch(e){(c=a.la)&&c.Qa("Problem encountered resetting onreadystatechange: "+e.message,void 0)}}}function zj(a){a.v&&a.ld&&(a.v.ontimeout=null);ga(a.kd)&&(r.clearTimeout(a.kd),a.kd=null)}f.fc=function(){return!!this.v};function wi(a){return a.v?a.v.readyState:0}function xi(a){try{return 2<wi(a)?a.v.status:-1}catch(b){return-1}}
function yi(a){try{return a.v?a.v.responseText:""}catch(b){return Yh(a.la,"Can not get responseText: "+b.message),""}}f.getResponseHeader=function(a){return this.v&&4==wi(this)?this.v.getResponseHeader(a):void 0};f.getAllResponseHeaders=function(){return this.v&&4==wi(this)?this.v.getAllResponseHeaders():""};f.he=function(){return fa(this.ka)?this.ka:String(this.ka)};function xj(a,b){return b+" ["+a.ne+" "+a.Xc+" "+xi(a)+"]"};function Fj(a,b,c){this.Zd=a||null;this.C=Gj;this.wa=[];this.sb=[];this.h=new Vi;this.rb=new Xh(null,!0);this.ff=b||null;this.Df=null!=c?c:null}function Hj(a,b){this.pe=a;this.map=b;this.context=null}f=Fj.prototype;f.Ba=null;f.yc=null;f.Ca=null;f.R=null;f.oa=null;f.Rc=null;f.Vd=null;f.Sa=null;f.Le=!0;f.Dc=0;f.pf=0;f.df=!1;f.ba=null;f.zb=null;f.Xa=null;f.Mb=null;f.yb=null;f.Sd=null;f.Ke=!0;f.Wc=-1;f.oe=-1;f.M=-1;f.zc=0;f.Zb=0;f.Me=5E3;f.Bf=1E4;f.gf=2;f.ge=2E4;f.hc=0;f.Qd=!1;f.$b=8;var Gj=1,Ij=new Nh;
function Jj(a,b){nh.call(this,"statevent",a);this.stat=b}sa(Jj,nh);function Kj(a,b){nh.call(this,"timingevent",a);this.size=b}sa(Kj,nh);var vi=1,Ai=2,zi=3,Si=4;function Lj(a){nh.call(this,"serverreachability",a)}sa(Lj,nh);var cj=3,gj=4,ij=5,pj=6,oj=7,qj=8,rj=9,sj=10,jj=11,lj=12,Gi=13,Hi=14,Li=15,Mi=16,Ni=17,Ui=18,Pi=22,Wi="y2f%";f=Fj.prototype;
f.connect=function(a,b,c,d,e){this.h.debug("connect()");Z(0);this.oa=b;this.yc=c||{};d&&void 0!==e&&(this.yc.OSID=d,this.yc.OAID=e);this.h.debug("connectTest_()");this.yb=new aj(this,this.h);this.yb.Hb(this.Ba);this.yb.Ce(this.rb);this.yb.connect(a)};
f.disconnect=function(){this.h.debug("disconnect()");Mj(this);if(3==this.C){var a=this.Dc++,b=this.Rc.clone();og(b,"SID",this.Vb);og(b,"RID",a);og(b,"TYPE","terminate");Nj(this,b);a=new li(this,this.h,this.Vb,a,void 0);a.lc=2;a.wb=rg(b.clone());(new Image).src=a.wb;a.Gc=ra();ui(a)}Oj(this)};function Mj(a){a.yb&&(a.yb.abort(),a.yb=null);a.R&&(a.R.cancel(),a.R=null);a.Xa&&(r.clearTimeout(a.Xa),a.Xa=null);Pj(a);a.Ca&&(a.Ca.cancel(),a.Ca=null);a.zb&&(r.clearTimeout(a.zb),a.zb=null)}
f.Hb=function(a){this.Ba=a};f.De=function(a){this.hc=a};function Qj(){var a=Rj,b=Sj();a.ba=b}f.me=function(){return 0==this.C};f.Ce=function(a){this.rb=a};function Tj(a){a.Ca||a.zb||(a.zb=Qi(w(a.ve,a),0),a.zc=0)}
f.ve=function(a){this.zb=null;this.h.debug("startForwardChannel_");if(this.C==Gj)if(a)this.h.Qa("Not supposed to retry the open");else{this.h.debug("open_()");this.Dc=Math.floor(1E5*Math.random());a=this.Dc++;var b=new li(this,this.h,"",a,void 0);b.Hb(this.Ba);var c=Uj(this),d=this.Rc.clone();og(d,"RID",a);this.Zd&&og(d,"CVER",this.Zd);Nj(this,d);ri(b,d,c);this.Ca=b;this.C=2}else 3==this.C&&(a?Vj(this,a):0==this.wa.length?this.h.debug("startForwardChannel_ returned: nothing to send"):this.Ca?this.h.Qa("startForwardChannel_ returned: connection already in progress"):
(Vj(this),this.h.debug("startForwardChannel_ finished, sent request")))};function Vj(a,b){var c,d;b?6<a.$b?(a.wa=a.sb.concat(a.wa),a.sb.length=0,c=a.Dc-1,d=Uj(a)):(c=b.Ga,d=b.Eb):(c=a.Dc++,d=Uj(a));var e=a.Rc.clone();og(e,"SID",a.Vb);og(e,"RID",c);og(e,"AID",a.Wc);Nj(a,e);c=new li(a,a.h,a.Vb,c,a.zc+1);c.Hb(a.Ba);c.setTimeout(Math.round(.5*a.ge)+Math.round(.5*a.ge*Math.random()));a.Ca=c;ri(c,e,d)}function Nj(a,b){a.ba&&Ja({},function(a,d){og(b,d,a)})}
function Uj(a){var b=Math.min(a.wa.length,1E3),c=["count\x3d"+b],d;6<a.$b&&0<b?(d=a.wa[0].pe,c.push("ofs\x3d"+d)):d=0;for(var e=0;e<b;e++){var g=a.wa[e].pe,h=a.wa[e].map,g=6>=a.$b?e:g-d;try{Uf(h,function(a,b){c.push("req"+g+"_"+b+"\x3d"+encodeURIComponent(a))})}catch(k){c.push("req"+g+"_type\x3d"+encodeURIComponent("_badmap"))}}a.sb=a.sb.concat(a.wa.splice(0,b));return c.join("\x26")}function Wj(a){a.R||a.Xa||(a.Ud=1,a.Xa=Qi(w(a.ue,a),0),a.Zb=0)}
function Xj(a){if(a.R||a.Xa)return a.h.Qa("Request already in progress"),!1;if(3<=a.Zb)return!1;a.h.debug("Going to retry GET");a.Ud++;a.Xa=Qi(w(a.ue,a),Yj(a,a.Zb));a.Zb++;return!0}
f.ue=function(){this.Xa=null;this.h.debug("Creating new HttpRequest");this.R=new li(this,this.h,this.Vb,"rpc",this.Ud);this.R.Hb(this.Ba);this.R.De(this.hc);var a=this.Vd.clone();og(a,"RID","rpc");og(a,"SID",this.Vb);og(a,"CI",this.Sd?"0":"1");og(a,"AID",this.Wc);Nj(this,a);if(!Jg||10<=Vg)og(a,"TYPE","xmlhttp"),ti(this.R,a,!0,this.Sa,!1);else{og(a,"TYPE","html");var b=this.R,c=!!this.Sa;b.lc=3;b.wb=rg(a.clone());Oi(b,c)}this.h.debug("New Request created")};
function kj(a,b,c){a.h.debug("Test Connection Finished");a.Sd=a.Ke&&c;a.M=b.M;a.h.debug("connectChannel_()");a.cf(Gj,0);a.Rc=bj(a,a.oa);Tj(a)}function nj(a,b){a.h.debug("Test Connection Failed");a.M=b.M;hj(a,2)}
f.te=function(a,b){if(0!=this.C&&(this.R==a||this.Ca==a))if(this.M=a.M,this.Ca==a&&3==this.C)if(7<this.$b){var c;try{c=this.rb.parse(b)}catch(h){c=null}if(ca(c)&&3==c.length){var d=c;if(0==d[0])a:if(this.h.debug("Server claims our backchannel is missing."),this.Xa)this.h.debug("But we are currently starting the request.");else{if(this.R)if(this.R.Gc+3E3<this.Ca.Gc)Pj(this),this.R.cancel(),this.R=null;else break a;else this.h.Xb("We do not have a BackChannel established");Xj(this);Z(19)}else this.oe=
d[1],c=this.oe-this.Wc,0<c&&(d=d[2],this.h.debug(d+" bytes (in "+c+" arrays) are outstanding on the BackChannel"),37500>d&&this.Sd&&0==this.Zb&&!this.Mb&&(this.Mb=Qi(w(this.rf,this),6E3)))}else this.h.debug("Bad POST response data returned"),hj(this,11)}else b!=Wi&&(this.h.debug("Bad data returned - missing/invald magic cookie"),hj(this,11));else if(this.R==a&&Pj(this),!/^[\s\xa0]*$/.test(b)){c=this.rb.parse(b);for(var d=this.ba&&this.ba.sd?[]:null,e=0;e<c.length;e++){var g=c[e];this.Wc=g[0];g=g[1];
2==this.C?"c"==g[0]?(this.Vb=g[1],this.Sa=this.vc(g[2]),g=g[3],this.$b=null!=g?g:6,this.C=3,this.ba&&this.ba.Yd(this),this.Vd=mj(this,this.Sa,this.oa),Wj(this)):"stop"==g[0]&&hj(this,7):3==this.C&&("stop"==g[0]?(d&&0!=d.length&&(this.ba.sd(this,d),d.length=0),hj(this,7)):"noop"!=g[0]&&(d?d.push(g):this.ba&&this.ba.Xd(this,g)),this.Zb=0)}d&&0!=d.length&&this.ba.sd(this,d)}};f.vc=function(a){return this.Le?this.ba?this.ba.vc(a):a:null};
f.rf=function(){null!=this.Mb&&(this.Mb=null,this.R.cancel(),this.R=null,Xj(this),Z(20))};function Pj(a){null!=a.Mb&&(r.clearTimeout(a.Mb),a.Mb=null)}
f.$c=function(a){this.h.debug("Request complete");var b;if(this.R==a)Pj(this),this.R=null,b=2;else if(this.Ca==a)this.Ca=null,b=1;else return;this.M=a.M;if(0!=this.C)if(a.Ia)1==b?(ra(),Ij.dispatchEvent(new Kj(Ij,a.Eb?a.Eb.length:0)),Tj(this),this.sb.length=0):Wj(this);else{var c=a.he();if(3==c||7==c||0==c&&0<this.M)this.h.debug("Not retrying due to error type");else{this.h.debug("Maybe retrying, last error: "+oi(c,this.M));var d;if(d=1==b)this.Ca||this.zb?(this.h.Qa("Request already in progress"),
d=!1):this.C==Gj||this.zc>=(this.df?0:this.gf)?d=!1:(this.h.debug("Going to retry POST"),this.zb=Qi(w(this.ve,this,a),Yj(this,this.zc)),this.zc++,d=!0);if(d||2==b&&Xj(this))return;this.h.debug("Exceeded max number of retries")}this.h.debug("Error: HTTP request failed");switch(c){case 1:hj(this,5);break;case 4:hj(this,10);break;case 3:hj(this,6);break;case 7:hj(this,12);break;default:hj(this,2)}}};
function Yj(a,b){var c=a.Me+Math.floor(Math.random()*a.Bf);a.fc()||(a.h.debug("Inactive channel"),c*=2);return c*b}f.cf=function(a){if(!(0<=Wa(arguments,this.C)))throw Error("Unexpected channel state: "+this.C);};function hj(a,b){a.h.info("Error code "+b);if(2==b||9==b){var c=null;a.ba&&(c=null);var d=w(a.Ff,a);c||(c=new $f("//www.google.com/images/cleardot.gif"),rg(c));Yi(c.toString(),1E4,d)}else Z(2);Zj(a,b)}
f.Ff=function(a){a?(this.h.info("Successfully pinged google.com"),Z(2)):(this.h.info("Failed to ping google.com"),Z(1),Zj(this,8))};function Zj(a,b){a.h.debug("HttpChannel: error - "+b);a.C=0;Oj(a);Mj(a)}function Oj(a){a.C=0;a.M=-1;!a.ba||0==a.sb.length&&0==a.wa.length||(a.h.debug("Number of undelivered maps, pending: "+a.sb.length+", outgoing: "+a.wa.length),bb(a.sb),bb(a.wa),a.sb.length=0,a.wa.length=0)}function bj(a,b){var c=fj(a,null,b);a.h.debug("GetForwardChannelUri: "+c);return c}
function mj(a,b,c){b=fj(a,a.jd()?b:null,c);a.h.debug("GetBackChannelUri: "+b);return b}function fj(a,b,c){var d=sg(c);if(""!=d.ob)b&&cg(d,b+"."+d.ob),dg(d,d.Tb);else var e=window.location,d=tg(e.protocol,b?b+"."+e.hostname:e.hostname,e.port,c);a.yc&&Ja(a.yc,function(a,b){og(d,b,a)});og(d,"VER",a.$b);Nj(a,d);return d}f.Cd=function(a){if(a&&!this.Qd)throw Error("Can't create secondary domain capable XhrIo object.");a=new tj;a.Fe=this.Qd;return a};f.fc=function(){return!!this.ba&&this.ba.fc(this)};
function Qi(a,b){if(!ia(a))throw Error("Fn must not be null and must be a function");return r.setTimeout(function(){a()},b)}f.Oa=function(){Ij.dispatchEvent(new Lj(Ij))};function Z(a){Ij.dispatchEvent(new Jj(Ij,a))}f.jd=function(){return this.Qd||!(!Jg||10<=Vg)};function ak(){}f=ak.prototype;f.sd=null;f.Yd=function(){};f.Xd=function(){};f.fc=function(){return!0};f.vc=function(a){return a};function bk(a,b,c,d,e){if(!(Jg||Kg||Mg&&Tg("525")))return!0;if(Ng&&e)return ck(a);if(e&&!d)return!1;ga(b)&&(b=dk(b));if(!c&&(17==b||18==b||Ng&&91==b))return!1;if((Mg||Kg)&&d&&c)switch(a){case 220:case 219:case 221:case 192:case 186:case 189:case 187:case 188:case 190:case 191:case 192:case 222:return!1}if(Jg&&d&&b==a)return!1;switch(a){case 13:return!0;case 27:return!(Mg||Kg)}return ck(a)}
function ck(a){if(48<=a&&57>=a||96<=a&&106>=a||65<=a&&90>=a||(Mg||Kg)&&0==a)return!0;switch(a){case 32:case 43:case 63:case 64:case 107:case 109:case 110:case 111:case 186:case 59:case 189:case 187:case 61:case 188:case 190:case 191:case 192:case 222:case 219:case 220:case 221:return!0;default:return!1}}function dk(a){if(Lg)a=ek(a);else if(Ng&&Mg)a:switch(a){case 93:a=91;break a}return a}
function ek(a){switch(a){case 61:return 187;case 59:return 186;case 173:return 189;case 224:return 91;case 0:return 224;default:return a}};function fk(a,b){Nh.call(this);a&&(this.Vc&&this.detach(),this.xc=a,this.Uc=Ch(this.xc,"keypress",this,b),this.Id=Ch(this.xc,"keydown",this.hf,b,this),this.Vc=Ch(this.xc,"keyup",this.jf,b,this))}sa(fk,Nh);f=fk.prototype;f.xc=null;f.Uc=null;f.Id=null;f.Vc=null;f.Da=-1;f.Cb=-1;f.od=!1;
var gk={3:13,12:144,63232:38,63233:40,63234:37,63235:39,63236:112,63237:113,63238:114,63239:115,63240:116,63241:117,63242:118,63243:119,63244:120,63245:121,63246:122,63247:123,63248:44,63272:46,63273:36,63275:35,63276:33,63277:34,63289:144,63302:45},hk={Up:38,Down:40,Left:37,Right:39,Enter:13,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,"U+007F":46,Home:36,End:35,PageUp:33,PageDown:34,Insert:45},ik=Jg||Kg||Mg&&Tg("525"),jk=Ng&&Lg;f=fk.prototype;
f.hf=function(a){if(Mg||Kg)if(17==this.Da&&!a.ctrlKey||18==this.Da&&!a.altKey||Ng&&91==this.Da&&!a.metaKey)this.Cb=this.Da=-1;-1==this.Da&&(a.ctrlKey&&17!=a.keyCode?this.Da=17:a.altKey&&18!=a.keyCode?this.Da=18:a.metaKey&&91!=a.keyCode&&(this.Da=91));ik&&!bk(a.keyCode,this.Da,a.shiftKey,a.ctrlKey,a.altKey)?this.handleEvent(a):(this.Cb=dk(a.keyCode),jk&&(this.od=a.altKey))};f.jf=function(a){this.Cb=this.Da=-1;this.od=a.altKey};
f.handleEvent=function(a){var b=a.dc,c,d,e=b.altKey;Jg&&"keypress"==a.type?(c=this.Cb,d=13!=c&&27!=c?b.keyCode:0):(Mg||Kg)&&"keypress"==a.type?(c=this.Cb,d=0<=b.charCode&&63232>b.charCode&&ck(c)?b.charCode:0):Ig&&!Mg?(c=this.Cb,d=ck(c)?b.keyCode:0):(c=b.keyCode||this.Cb,d=b.charCode||0,jk&&(e=this.od),Ng&&63==d&&224==c&&(c=191));var g=c=dk(c),h=b.keyIdentifier;c?63232<=c&&c in gk?g=gk[c]:25==c&&a.shiftKey&&(g=9):h&&h in hk&&(g=hk[h]);a=g==this.Da;this.Da=g;b=new kk(g,d,a,b);b.altKey=e;this.dispatchEvent(b)};
f.detach=function(){this.Uc&&(Jh(this.Uc),Jh(this.Id),Jh(this.Vc),this.Vc=this.Id=this.Uc=null);this.xc=null;this.Cb=this.Da=-1};f.za=function(){fk.Jb.za.call(this);this.detach()};function kk(a,b,c,d){rh.call(this,d);this.type="key";this.keyCode=a;this.charCode=b;this.repeat=c}sa(kk,rh);var $d=new Ac(null,"meta15224","meta15224",-154517792,null),mb=new W(null,"meta","meta",1499536964),nb=new W(null,"dup","dup",556298533),lk=new W(null,"disabled","disabled",-1529784218),mk=new W(null,"msg","msg",-1386103444),Kf=new W(null,"fallback-impl","fallback-impl",-1501286995),kb=new W(null,"flush-on-newline","flush-on-newline",-151457939),lb=new W(null,"readably","readably",1129599760),Cf=new W(null,"more-marker","more-marker",-14717935),ob=new W(null,"print-length","print-length",1931866356),
Zd=new Ac(null,"quote","quote",1377916282,null),Yd=new W(null,"arglists","arglists",1661989754),Xd=new Ac(null,"nil-iter","nil-iter",1101030523,null),Jf=new W(null,"alt-impl","alt-impl",670969595),Sf=new W(null,"keywordize-keys","keywordize-keys",1310784252);function nk(a){return a instanceof W?[E(function(){var b=Cd(a);return null==b?null:[E(b),E("/")].join("")}()),E(Ed(a))].join(""):a};ce(ae,X.a(function(a){var b=ad(a,0,null),c=ad(a,1,null);return new Vd(null,2,5,Wd,[b,Ne([c,function(a,b,c){return function(h){return function(){return function(a){var b=a.relatedTarget,c;c=a.Rf;c=x(c)?c:a.currentTarget;b=x(b)?x(c.contains)?c.contains(b):x(c.compareDocumentPosition)?0!=(c.compareDocumentPosition(b)&16):null:b;return x(b)?null:h.b?h.b(a):h.call(null,a)}}(a,b,c)}}(a,b,c)])],null)},new jb(null,2,[new W(null,"mouseenter","mouseenter",-1792413560),new W(null,"mouseover","mouseover",-484272303),
new W(null,"mouseleave","mouseleave",531566580),new W(null,"mouseout","mouseout",2049446890)],null)));if("undefined"===typeof Rj)var Rj=new Fj;function ok(a){if(x(x(lk)?a.getAttribute(nk(lk)):null)){var b=nk(lk);x((new xf(null,new jb(null,2,["class",null,"classes",null],null),null)).call(null,b))?a.className="":a.removeAttribute(b)}else{var b=nk(lk),c=nk(lk);if(x(b)){var d=ia(b);(d?d:null!=b?b.Pe||(b.Bd?0:B(xb,b)):B(xb,b))?a[c]=b:a.setAttribute(c,b)}}}
function pk(){var a=document.getElementById("msg-input"),b=document.getElementById("send-button"),c=function(a){return function(){var b=Rj,c=Of(new jb(null,1,[mk,a.value],null));if(0==b.C)throw Error("Invalid operation: sending map when state is closed");1E3==b.wa.length&&b.h.Qa("Already have 1000 queued maps upon queueing "+Sh(new Rh(void 0),c));b.wa.push(new Hj(b.pf++,c));2!=b.C&&3!=b.C||Tj(b);a.value="";return a}}(a,b);ok(a);ok(b);var d=new fk(a);Ch(d,"key",function(a,b,c,d,l){return function(a){return Cc.a(a.keyCode,
13)?l(a):null}}(d,"key",a,b,c));return Ch(b,"click",c)}function Sj(){var a=new ak;a.Yd=function(){return function(){return pk()}}(a);a.Xd=function(){return function(a,c){var d=Rf(c),e=L.a(d,"msg"),d=document.getElementById("room"),g=document.createElement(nk("div")),e=[E("MSG::"),E(e)].join("");void 0!==g.textContent?g.textContent=e:g.innerText=e;d.appendChild(g);return d}}(a);return a}
function qk(){var a=window;Ch(a,"unload",function(){return function(){Rj.disconnect();return 0}}(a,"unload"));Rj.h.la.Pd($g);Qj();Rj.connect("/channel/test","/channel/bind");return Rj}var rk=["chat_demo","client","run"],sk=r;rk[0]in sk||!sk.execScript||sk.execScript("var "+rk[0]);for(var tk;rk.length&&(tk=rk.shift());)rk.length||void 0===qk?sk=sk[tk]?sk[tk]:sk[tk]={}:sk[tk]=qk;
})();

View file

@ -0,0 +1,62 @@
(ns chat-demo.client
(:require
[dommy.core :as dom :refer-macros [by-id]]
goog.net.BrowserChannel
goog.events.KeyHandler
[goog.events.KeyCodes :as key-codes]
[goog.events :as events]))
(defonce channel (goog.net.BrowserChannel.))
(defn say [text]
(.sendMap channel (clj->js {:msg text})))
(defn toggle-element [elem]
(if (dom/attr elem :disabled)
(dom/remove-attr! elem :disabled)
(dom/set-attr! elem :disabled)))
(defn enable-chat []
(let [msg-input (by-id "msg-input")
send-button (by-id "send-button")
send-message (fn [e]
(say (dom/value msg-input))
(dom/set-value! msg-input ""))]
(toggle-element msg-input)
(toggle-element send-button)
(events/listen
(goog.events.KeyHandler. msg-input)
"key"
(fn [e]
(when (= (.-keyCode e) key-codes/ENTER)
(send-message e))))
(events/listen
send-button
"click"
send-message)))
(defn handler []
(let [h (goog.net.BrowserChannel.Handler.)]
(set! (.-channelOpened h)
(fn [channel]
(enable-chat)))
(set! (.-channelHandleArray h)
(fn [channel data]
(let [data (js->clj data)
msg (get data "msg")]
(dom/append! (by-id "room")
(-> (dom/create-element "div")
(dom/set-text! (str "MSG::" msg)))))))
h))
(defn ^:export run []
(events/listen
js/window "unload"
(fn []
(.disconnect channel)
(events/removeAll)))
(doto (.. channel getChannelDebug getLogger)
(.setLevel goog.debug.Logger.Level.OFF))
(doto channel
(.setHandler (handler))
(.connect "/channel/test" "/channel/bind")))

View file

@ -1,75 +0,0 @@
(ns chat-demo.core
(:require [net.thegeez.browserchannel :as browserchannel]
[net.thegeez.jetty-async-adapter :as jetty]
#_[net.thegeez.netty-adapter :as netty]
[ring.middleware.resource :as resource]
[ring.middleware.file-info :as file]))
(defn handler [req]
{:status 200
:headers {"Content-Type" "text/plain"}
:body "Hello World"})
(def clients (atom #{}))
(def dev-app
(-> handler
(resource/wrap-resource "dev")
(resource/wrap-resource "public")
file/wrap-file-info
(browserchannel/wrap-browserchannel {:base "/channel"
:on-session
(fn [session-id req]
(println "session " session-id "connected")
(browserchannel/add-listener
session-id
:close
(fn [reason]
(println "session " session-id " disconnected: " reason)
(swap! clients disj session-id)
(doseq [client-id @clients]
(browserchannel/send-map client-id {"msg" (str "client " session-id " disconnected " reason)}))))
(browserchannel/add-listener
session-id
:map
(fn [map]
(println "session " session-id " sent " map)
(doseq [client-id @clients]
(browserchannel/send-map client-id map))))
(swap! clients conj session-id)
(doseq [client-id @clients]
(browserchannel/send-map client-id {"msg" (str "client " session-id " connected")})))})))
(defn -main [& args]
(println "Using Jetty adapter")
(jetty/run-jetty-async #'dev-app {:port (Integer.
(or
(System/getenv "PORT")
8080)) :join? false}))
#_(defn -main [& args]
(println "Using Netty adapter")
(netty/run-netty #'dev-app {:port (Integer.
(or
(System/getenv "PORT")
8080)) :join? false}))
(comment
(def jetty-async-server (-main))
(.stop jetty-async-server)
(do
(.stop jetty-async-server)
(def jetty-async-server (-main))
)
)
(comment
(def netty-async-server (-main))
(netty-async-server)
(do
(netty-async-server)
(def netty-async-server (-main))
)
)

View file

@ -0,0 +1,61 @@
(ns chat-demo.server
(:gen-class)
(:require
[compojure.core :refer [routes GET]]
[compojure.route :as route]
[ring.middleware.defaults :refer [wrap-defaults site-defaults]]
[ring.util.response :refer [response]]
[clj-pebble.core :as pebble]
[net.thegeez.browserchannel :as browserchannel]
[net.thegeez.jetty-async-adapter :as jetty]
[environ.core :refer [env]]))
(defonce clients (atom #{}))
(defn on-browserchannel-session
[session-id request]
(println "session " session-id "connected")
(browserchannel/add-listener
session-id
:close
(fn [request reason]
(println "session " session-id " disconnected: " reason)
(swap! clients disj session-id)
(doseq [client-id @clients]
(browserchannel/send-map client-id {"msg" (str "client " session-id " disconnected " reason)}))))
(browserchannel/add-listener
session-id
:map
(fn [request map]
(println "session " session-id " sent " map)
(doseq [client-id @clients]
(browserchannel/send-map client-id map))))
(swap! clients conj session-id)
(doseq [client-id @clients]
(browserchannel/send-map client-id {"msg" (str "client " session-id " connected")})))
(def app-routes
(routes
(GET "/" [] (pebble/render-resource "html/index.html" {:dev (boolean (env :dev))}))
(route/resources "/")
(route/not-found "not found")))
(def handler
(-> app-routes
(browserchannel/wrap-browserchannel {:base "/channel" :on-session on-browserchannel-session})
(wrap-defaults (assoc-in site-defaults [:security :anti-forgery] false))))
(defn run-jetty []
(println "Using Jetty adapter")
(jetty/run-jetty-async
#'handler
{:join? false
:port 8080}))
(defn -main [& args]
(if (env :dev) (pebble/set-options! :cache false))
(run-jetty))

View file

@ -1,6 +0,0 @@
(ns tasks.browser-repl
(require [cljs.repl :as repl])
(require [cljs.repl.browser :as browser]))
(defn -main []
(repl/repl (browser/repl-env)))

View file

@ -1,6 +0,0 @@
(ns tasks.build-advanced-js
(:require [cljs.closure :as cljs]))
(defn -main [& args]
(cljs/build "cljs" {:optimizations :advanced
:output-to "resources/public/js/bc.js"}))

View file

@ -1,38 +0,0 @@
(ns tasks.build-dev-js
(:require [cljs.closure :as cljs])
(:import [java.io File]))
(def config {:sources-path "cljs"
;; whitespace makes it a single file
:optimizations :whitespace
:output-to "resources/dev/js/bc-dev.js"})
(defn print-title [msg]
(println (str "\033]0;" msg "\007"))
(println msg))
(defn build []
(print-title "CLJSB - building")
(cljs/build (:sources-path config) (dissoc config :sources-path))
(print-title "cljsb - done"))
(defn -main [& [cmd]]
(print-title "cljsb")
(if-not (= cmd "auto")
(build)
(loop [old-entries {}]
(let [entries (into {} (for [file-dir (tree-seq #(.isDirectory %)
#(.listFiles %)
(File. (:sources-path config)))
:let [name (.getName file-dir)]
:when (and
(not (.contains name "#"))
(.endsWith name ".cljs"))]
[(.getPath file-dir) (.lastModified file-dir)]))]
(when (some (fn [[entry-path entry-stamp]]
(let [old-entry-stamp (old-entries entry-path)]
(or (nil? old-entry-stamp)
(> entry-stamp old-entry-stamp)))) entries)
(build))
(Thread/sleep 700)
(recur entries)))))