Skip to content

Instantly share code, notes, and snippets.

@bitsofparag
Last active November 16, 2016 10:56
Show Gist options
  • Save bitsofparag/f59c3b1a232c50e0c892 to your computer and use it in GitHub Desktop.
Save bitsofparag/f59c3b1a232c50e0c892 to your computer and use it in GitHub Desktop.
Testing several string matching algorithms
//---- externals/require ----
require('clj-fuzzy');
var _ = require('lodash');
//---- private ----
var html = '';
var oldCleanedHTML = '';
var newCleanedHTML = '';
var prep = function() {
document.body.innerHTML =
'<p><h4>Old cleaned html:</h4><code id="Old"></code></p> \
<p><h4>New cleaned html:</h4><code id="New"></code></p> \
<h4>Result:</h4> \
<ul id="Result"></ul>';
};
var cleanPage = function cleanPage(sampleHTML) {
var fragDiv = document.createElement('div');
fragDiv.innerHTML = sampleHTML;
var clonedDiv = (fragDiv).cloneNode(true),
iterator,
cleanedPage;
clonedDiv.normalize();
iterator = document.createNodeIterator(
clonedDiv,
NodeFilter.SHOW_ALL
);
while (iterator.nextNode()) {
var currentNode = iterator.referenceNode;
if (currentNode.parentNode) {
if (currentNode.nodeType === 3) {
iterator.referenceNode.parentNode.removeChild(iterator.referenceNode);
}
}
if (currentNode.dataset) {
for (var prop in Object.keys(currentNode.dataset)) {
var propName = 'data-' + Object.keys(currentNode.dataset)[prop];
currentNode.setAttribute(propName, '');
}
}
if (currentNode.nodeName === 'IMG') {
currentNode.removeAttribute('src', '');
}
}
cleanedPage = clonedDiv.innerHTML;
return cleanedPage;
};
var modify = function modify(sampleHTML) {
var fragDiv = document.createElement('div');
fragDiv.innerHTML = sampleHTML;
// nearly the same DOM
fragDiv.appendChild(document.createElement('div'));
// small modifications
fragDiv.querySelector('span').appendChild(document.createElement('a'));
//big modifications
///*
fragDiv.querySelector('.container').innerHTML =
'<ul><li></li><li></li></ul><span></span>';
//*/
return fragDiv.innerHTML;
};
var createResult = function displayResult(title, res) {
var li, resNode, titleNode;
if(typeof res !== 'string')
res = JSON.stringify(res);
li = document.createElement('LI');
resNode = document.createElement('STRONG');
resNode.textContent = res;
titleNode = document.createTextNode(title + ': ');
li.appendChild(titleNode);
li.appendChild(resNode);
return li;
};
// How can I paste a really large html string here?
html = '<div class="container"> \
<p>This is some content</p> \
</div> \
<span>Some inline text</span>';
prep();
oldCleanedHTML = cleanPage(html);
newCleanedHTML = _.compose(cleanPage, modify)(html);
document.querySelector('#Old').textContent = oldCleanedHTML;
document.querySelector('#New').textContent = newCleanedHTML;
var Result = document.querySelector('#Result');
Result.appendChild(
createResult(
'Dice coefficient',
clj_fuzzy.metrics.dice(newCleanedHTML, oldCleanedHTML)
)
);
Result.appendChild(
createResult(
'Sorensen coefficient',
clj_fuzzy.metrics.sorensen(oldCleanedHTML, newCleanedHTML)
)
);
Result.appendChild(
createResult(
'Hamming distance',
clj_fuzzy.metrics.hamming(newCleanedHTML, oldCleanedHTML)
)
);
// 0 meaning two identical strings and 1 two totally different ones
Result.appendChild(
createResult(
'Jaccard distance',
clj_fuzzy.metrics.jaccard(oldCleanedHTML, newCleanedHTML)
)
);
// 0 meaning two identical strings and 1 two totally different ones
Result.appendChild(
createResult(
'Tanimoto distance',
clj_fuzzy.metrics.tanimoto(oldCleanedHTML, newCleanedHTML)
)
);
// Jaro-Winkler distance
Result.appendChild(
createResult(
'Jaro distance',
clj_fuzzy.metrics.jaro(oldCleanedHTML, newCleanedHTML)
)
);
Result.appendChild(
createResult(
'Jaro-Winkler distance',
clj_fuzzy.metrics.jaro_winkler(newCleanedHTML, oldCleanedHTML)
)
);
// Compare two string using the Match Rating Approach
Result.appendChild(
createResult(
'MRA Comparison',
clj_fuzzy.metrics.mra_comparison(oldCleanedHTML, newCleanedHTML)
)
);
// Can this be useful as some kind of html signature?
Result.appendChild(
createResult(
'Lancaster stemmer',
clj_fuzzy.stemmers.lancaster(newCleanedHTML)
)
);
require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({"clj-fuzzy":[function(require,module,exports){if(typeof Math.imul=="undefined"||Math.imul(4294967295,5)==0){Math.imul=function(a,b){var ah=a>>>16&65535;var al=a&65535;var bh=b>>>16&65535;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16>>>0)|0}}(function(){var h,aa=this;function q(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}var ca="closure_uid_"+(1e9*Math.random()>>>0),da=0;function ea(a,b){var c=a.split("."),d=aa;c[0]in d||!d.execScript||d.execScript("var "+c[0]);for(var e;c.length&&(e=c.shift());)c.length||void 0===b?d=d[e]?d[e]:d[e]={}:d[e]=b}function fa(a,b){for(var c in a)b.call(void 0,a[c],c,a)}function ga(a,b){null!=a&&this.append.apply(this,arguments)}ga.prototype.Fa="";ga.prototype.append=function(a,b,c){this.Fa+=a;if(null!=b)for(var d=1;d<arguments.length;d++)this.Fa+=arguments[d];return this};ga.prototype.clear=function(){this.Fa=""};ga.prototype.toString=function(){return this.Fa};var ha=null;function ia(){return new ja(null,5,[ka,!0,la,!0,pa,!1,qa,!1,sa,null],null)}function s(a){return null!=a&&!1!==a}function ta(a){return null==a}function va(a){return s(a)?!1:!0}function t(a,b){return a[q(null==b?null:b)]?!0:a._?!0:!1}function wa(a){return null==a?null:a.constructor}function u(a,b){var c=wa(b),c=s(s(c)?c.Kb:c)?c.Jb:q(b);return Error(["No protocol method ",a," defined for type ",c,": ",b].join(""))}function xa(a){var b=a.Jb;return s(b)?b:""+v.b(a)}function za(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 Aa(a){return Array.prototype.slice.call(arguments)}var Da={},Ea={};function Fa(a){if(a?a.F:a)return a.F(a);var b;b=Fa[q(null==a?null:a)];if(!b&&(b=Fa._,!b))throw u("ICounted.-count",a);return b.call(null,a)}function Ga(a){if(a?a.K:a)return a.K(a);var b;b=Ga[q(null==a?null:a)];if(!b&&(b=Ga._,!b))throw u("IEmptyableCollection.-empty",a);return b.call(null,a)}var Ka={};function La(a,b){if(a?a.D:a)return a.D(a,b);var c;c=La[q(null==a?null:a)];if(!c&&(c=La._,!c))throw u("ICollection.-conj",a);return c.call(null,a,b)}var Ma={},w=function(){function a(a,b,c){if(a?a.V:a)return a.V(a,b,c);var g;g=w[q(null==a?null:a)];if(!g&&(g=w._,!g))throw u("IIndexed.-nth",a);return g.call(null,a,b,c)}function b(a,b){if(a?a.L:a)return a.L(a,b);var c;c=w[q(null==a?null:a)];if(!c&&(c=w._,!c))throw u("IIndexed.-nth",a);return c.call(null,a,b)}var c=null,c=function(d,c,f){switch(arguments.length){case 2:return b.call(this,d,c);case 3:return a.call(this,d,c,f)}throw Error("Invalid arity: "+arguments.length)};c.a=b;c.c=a;return c}(),Na={};function Oa(a){if(a?a.O:a)return a.O(a);var b;b=Oa[q(null==a?null:a)];if(!b&&(b=Oa._,!b))throw u("ISeq.-first",a);return b.call(null,a)}function Pa(a){if(a?a.T:a)return a.T(a);var b;b=Pa[q(null==a?null:a)];if(!b&&(b=Pa._,!b))throw u("ISeq.-rest",a);return b.call(null,a)}var Qa={},Sa={},Ta=function(){function a(a,b,c){if(a?a.t:a)return a.t(a,b,c);var g;g=Ta[q(null==a?null:a)];if(!g&&(g=Ta._,!g))throw u("ILookup.-lookup",a);return g.call(null,a,b,c)}function b(a,b){if(a?a.v:a)return a.v(a,b);var c;c=Ta[q(null==a?null:a)];if(!c&&(c=Ta._,!c))throw u("ILookup.-lookup",a);return c.call(null,a,b)}var c=null,c=function(d,c,f){switch(arguments.length){case 2:return b.call(this,d,c);case 3:return a.call(this,d,c,f)}throw Error("Invalid arity: "+arguments.length)};c.a=b;c.c=a;return c}();function Ua(a,b){if(a?a.Ya:a)return a.Ya(a,b);var c;c=Ua[q(null==a?null:a)];if(!c&&(c=Ua._,!c))throw u("IAssociative.-contains-key?",a);return c.call(null,a,b)}function Va(a,b,c){if(a?a.La:a)return a.La(a,b,c);var d;d=Va[q(null==a?null:a)];if(!d&&(d=Va._,!d))throw u("IAssociative.-assoc",a);return d.call(null,a,b,c)}var Wa={};function Ya(a,b){if(a?a.cb:a)return a.cb(a,b);var c;c=Ya[q(null==a?null:a)];if(!c&&(c=Ya._,!c))throw u("IMap.-dissoc",a);return c.call(null,a,b)}var Za={};function $a(a){if(a?a.eb:a)return a.eb();var b;b=$a[q(null==a?null:a)];if(!b&&(b=$a._,!b))throw u("IMapEntry.-key",a);return b.call(null,a)}function ab(a){if(a?a.kb:a)return a.kb();var b;b=ab[q(null==a?null:a)];if(!b&&(b=ab._,!b))throw u("IMapEntry.-val",a);return b.call(null,a)}var bb={};function cb(a,b){if(a?a.mb:a)return a.mb(0,b);var c;c=cb[q(null==a?null:a)];if(!c&&(c=cb._,!c))throw u("ISet.-disjoin",a);return c.call(null,a,b)}var eb={};function fb(a,b,c){if(a?a.fb:a)return a.fb(a,b,c);var d;d=fb[q(null==a?null:a)];if(!d&&(d=fb._,!d))throw u("IVector.-assoc-n",a);return d.call(null,a,b,c)}function gb(a){if(a?a.bb:a)return a.bb(a);var b;b=gb[q(null==a?null:a)];if(!b&&(b=gb._,!b))throw u("IDeref.-deref",a);return b.call(null,a)}var hb={};function ib(a){if(a?a.C:a)return a.C(a);var b;b=ib[q(null==a?null:a)];if(!b&&(b=ib._,!b))throw u("IMeta.-meta",a);return b.call(null,a)}var jb={};function kb(a,b){if(a?a.I:a)return a.I(a,b);var c;c=kb[q(null==a?null:a)];if(!c&&(c=kb._,!c))throw u("IWithMeta.-with-meta",a);return c.call(null,a,b)}var lb={},nb=function(){function a(a,b,c){if(a?a.N:a)return a.N(a,b,c);var g;g=nb[q(null==a?null:a)];if(!g&&(g=nb._,!g))throw u("IReduce.-reduce",a);return g.call(null,a,b,c)}function b(a,b){if(a?a.M:a)return a.M(a,b);var c;c=nb[q(null==a?null:a)];if(!c&&(c=nb._,!c))throw u("IReduce.-reduce",a);return c.call(null,a,b)}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length)};c.a=b;c.c=a;return c}();function ob(a,b){if(a?a.u:a)return a.u(a,b);var c;c=ob[q(null==a?null:a)];if(!c&&(c=ob._,!c))throw u("IEquiv.-equiv",a);return c.call(null,a,b)}function pb(a){if(a?a.B:a)return a.B(a);var b;b=pb[q(null==a?null:a)];if(!b&&(b=pb._,!b))throw u("IHash.-hash",a);return b.call(null,a)}var qb={};function tb(a){if(a?a.H:a)return a.H(a);var b;b=tb[q(null==a?null:a)];if(!b&&(b=tb._,!b))throw u("ISeqable.-seq",a);return b.call(null,a)}var ub={},vb={};function wb(a){if(a?a.Va:a)return a.Va(a);var b;b=wb[q(null==a?null:a)];if(!b&&(b=wb._,!b))throw u("IReversible.-rseq",a);return b.call(null,a)}function xb(a,b){if(a?a.pb:a)return a.pb(0,b);var c;c=xb[q(null==a?null:a)];if(!c&&(c=xb._,!c))throw u("IWriter.-write",a);return c.call(null,a,b)}var yb={};function zb(a,b,c){if(a?a.w:a)return a.w(a,b,c);var d;d=zb[q(null==a?null:a)];if(!d&&(d=zb._,!d))throw u("IPrintWithWriter.-pr-writer",a);return d.call(null,a,b,c)}function Ab(a,b,c){if(a?a.ob:a)return a.ob(0,b,c);var d;d=Ab[q(null==a?null:a)];if(!d&&(d=Ab._,!d))throw u("IWatchable.-notify-watches",a);return d.call(null,a,b,c)}function Bb(a){if(a?a.Ga:a)return a.Ga(a);var b;b=Bb[q(null==a?null:a)];if(!b&&(b=Bb._,!b))throw u("IEditableCollection.-as-transient",a);return b.call(null,a)}function Cb(a,b){if(a?a.Ba:a)return a.Ba(a,b);var c;c=Cb[q(null==a?null:a)];if(!c&&(c=Cb._,!c))throw u("ITransientCollection.-conj!",a);return c.call(null,a,b)}function Db(a){if(a?a.Ca:a)return a.Ca(a);var b;b=Db[q(null==a?null:a)];if(!b&&(b=Db._,!b))throw u("ITransientCollection.-persistent!",a);return b.call(null,a)}function Gb(a,b,c){if(a?a.Na:a)return a.Na(a,b,c);var d;d=Gb[q(null==a?null:a)];if(!d&&(d=Gb._,!d))throw u("ITransientAssociative.-assoc!",a);return d.call(null,a,b,c)}function Hb(a,b,c){if(a?a.nb:a)return a.nb(0,b,c);var d;d=Hb[q(null==a?null:a)];if(!d&&(d=Hb._,!d))throw u("ITransientVector.-assoc-n!",a);return d.call(null,a,b,c)}function Ib(a){if(a?a.ib:a)return a.ib();var b;b=Ib[q(null==a?null:a)];if(!b&&(b=Ib._,!b))throw u("IChunk.-drop-first",a);return b.call(null,a)}function Jb(a){if(a?a.$a:a)return a.$a(a);var b;b=Jb[q(null==a?null:a)];if(!b&&(b=Jb._,!b))throw u("IChunkedSeq.-chunked-first",a);return b.call(null,a)}function Kb(a){if(a?a.ab:a)return a.ab(a);var b;b=Kb[q(null==a?null:a)];if(!b&&(b=Kb._,!b))throw u("IChunkedSeq.-chunked-rest",a);return b.call(null,a)}function Lb(a){if(a?a.Za:a)return a.Za(a);var b;b=Lb[q(null==a?null:a)];if(!b&&(b=Lb._,!b))throw u("IChunkedNext.-chunked-next",a);return b.call(null,a)}function Mb(a,b){if(a?a.Eb:a)return a.Eb(a,b);var c;c=Mb[q(null==a?null:a)];if(!c&&(c=Mb._,!c))throw u("IReset.-reset!",a);return c.call(null,a,b)}var Nb=function(){function a(a,b,c,d,e){if(a?a.Ib:a)return a.Ib(a,b,c,d,e);var r;r=Nb[q(null==a?null:a)];if(!r&&(r=Nb._,!r))throw u("ISwap.-swap!",a);return r.call(null,a,b,c,d,e)}function b(a,b,c,d){if(a?a.Hb:a)return a.Hb(a,b,c,d);var e;e=Nb[q(null==a?null:a)];if(!e&&(e=Nb._,!e))throw u("ISwap.-swap!",a);return e.call(null,a,b,c,d)}function c(a,b,c){if(a?a.Gb:a)return a.Gb(a,b,c);var d;d=Nb[q(null==a?null:a)];if(!d&&(d=Nb._,!d))throw u("ISwap.-swap!",a);return d.call(null,a,b,c)}function d(a,b){if(a?a.Fb:a)return a.Fb(a,b);var c;c=Nb[q(null==a?null:a)];if(!c&&(c=Nb._,!c))throw u("ISwap.-swap!",a);return c.call(null,a,b)}var e=null,e=function(e,g,k,l,m){switch(arguments.length){case 2:return d.call(this,e,g);case 3:return c.call(this,e,g,k);case 4:return b.call(this,e,g,k,l);case 5:return a.call(this,e,g,k,l,m)}throw Error("Invalid arity: "+arguments.length)};e.a=d;e.c=c;e.m=b;e.s=a;return e}();function Ob(a){if(a?a.Ua:a)return a.Ua(a);var b;b=Ob[q(null==a?null:a)];if(!b&&(b=Ob._,!b))throw u("IIterable.-iterator",a);return b.call(null,a)}function Pb(a){this.Lb=a;this.p=0;this.i=1073741824}Pb.prototype.pb=function(a,b){return this.Lb.append(b)};function Qb(a){var b=new ga;a.w(null,new Pb(b),ia());return""+v.b(b)}var Rb="undefined"!==typeof Math.imul&&0!==(Math.imul.a?Math.imul.a(4294967295,5):Math.imul.call(null,4294967295,5))?function(a,b){return Math.imul.a?Math.imul.a(a,b):Math.imul.call(null,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 Sb(a){a=Rb(a,3432918353);return Rb(a<<15|a>>>-15,461845907)}function Tb(a,b){var c=a^b;return Rb(c<<13|c>>>-13,5)+3864292196}function Ub(a,b){var c=a^b,c=Rb(c^c>>>16,2246822507),c=Rb(c^c>>>13,3266489909);return c^c>>>16}function Vb(a){var b;a:{b=1;for(var c=0;;)if(b<a.length){var d=b+2,c=Tb(c,Sb(a.charCodeAt(b-1)|a.charCodeAt(b)<<16));b=d}else{b=c;break a}b=void 0}b=1===(a.length&1)?b^Sb(a.charCodeAt(a.length-1)):b;return Ub(b,Rb(2,a.length))}var Wb={},Xb=0;function Yb(a){255<Xb&&(Wb={},Xb=0);var b=Wb[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=Rb(31,d)+a.charCodeAt(c),c=e;else{b=d;break a}b=void 0}else b=0;else b=0;Wb[a]=b;Xb+=1}return a=b}function Zb(a){a&&(a.i&4194304||a.Qb)?a=a.B(null):"number"===typeof a?a=(Math.floor.b?Math.floor.b(a):Math.floor.call(null,a))%2147483647:!0===a?a=1:!1===a?a=0:"string"===typeof a?(a=Yb(a),0!==a&&(a=Sb(a),a=Tb(0,a),a=Ub(a,4))):a=null==a?0:pb(a);return a}function $b(a,b){return a^b+2654435769+(a<<6)+(a>>2)}function ac(a,b){if(s(x.a?x.a(a,b):x.call(null,a,b)))return 0;if(s(function(){var c=va(a.ca);return c?b.ca:c}()))return-1;if(s(a.ca)){if(va(b.ca))return 1;var c=function(){var c=a.ca,d=b.ca;return bc.a?bc.a(c,d):bc.call(null,c,d)}();if(0===c){var c=a.name,d=b.name;return bc.a?bc.a(c,d):bc.call(null,c,d)}return c}c=a.name;d=b.name;return bc.a?bc.a(c,d):bc.call(null,c,d)}function cc(a,b,c,d,e){this.ca=a;this.name=b;this.Aa=c;this.Ea=d;this.$=e;this.i=2154168321;this.p=4096}h=cc.prototype;h.w=function(a,b){return xb(b,this.Aa)};h.B=function(){var a=this.Ea;return null!=a?a:this.Ea=a=$b(Vb(this.name),Yb(this.ca))};h.I=function(a,b){return new cc(this.ca,this.name,this.Aa,this.Ea,b)};h.C=function(){return this.$};h.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return Ta.c(c,this,null);case 3:return Ta.c(c,this,d)}throw Error("Invalid arity: "+arguments.length)};a.a=function(a,c){return Ta.c(c,this,null)};a.c=function(a,c,d){return Ta.c(c,this,d)};return a}();h.apply=function(a,b){return this.call.apply(this,[this].concat(za(b)))};h.b=function(a){return Ta.c(a,this,null)};h.a=function(a,b){return Ta.c(a,this,b)};h.u=function(a,b){return b instanceof cc?this.Aa===b.Aa:!1};h.toString=function(){return this.Aa};function y(a){if(null==a)return null;if(a&&(a.i&8388608||a.Sb))return a.H(null);if(a instanceof Array||"string"===typeof a)return 0===a.length?null:new dc(a,0);if(t(qb,a))return tb(a);throw Error(""+v.b(a)+" is not ISeqable")}function A(a){if(null==a)return null;if(a&&(a.i&64||a.Ma))return a.O(null);a=y(a);return null==a?null:Oa(a)}function B(a){return null!=a?a&&(a.i&64||a.Ma)?a.T(null):(a=y(a))?Pa(a):ec:ec}function E(a){return null==a?null:a&&(a.i&128||a.lb)?a.S(null):y(B(a))}var x=function(){function a(a,b){return null==a?null==b:a===b||ob(a,b)}var b=null,c=function(){function a(b,d,k){var l=null;2<arguments.length&&(l=F(Array.prototype.slice.call(arguments,2),0));return c.call(this,b,d,l)}function c(a,d,e){for(;;)if(b.a(a,d))if(E(e))a=d,d=A(e),e=E(e);else return b.a(d,A(e));else return!1}a.k=2;a.g=function(a){var b=A(a);a=E(a);var d=A(a);a=B(a);return c(b,d,a)};a.f=c;return a}(),b=function(b,e,f){switch(arguments.length){case 1:return!0;case 2:return a.call(this,b,e);default:return c.f(b,e,F(arguments,2))}throw Error("Invalid arity: "+arguments.length)};b.k=2;b.g=c.g;b.b=function(){return!0};b.a=a;b.f=c.f;return b}();function gc(a,b){var c=Sb(a),c=Tb(0,c);return Ub(c,b)}function hc(a){var b=0,c=1;for(a=y(a);;)if(null!=a)b+=1,c=Rb(31,c)+Zb(A(a))|0,a=E(a);else return gc(c,b)}function ic(a){var b=0,c=0;for(a=y(a);;)if(null!=a)b+=1,c=c+Zb(A(a))|0,a=E(a);else return gc(c,b)}Ea["null"]=!0;Fa["null"]=function(){return 0};Date.prototype.u=function(a,b){return b instanceof Date&&this.toString()===b.toString()};ob.number=function(a,b){return a===b};hb["function"]=!0;ib["function"]=function(){return null};Da["function"]=!0;pb._=function(a){return a[ca]||(a[ca]=++da)};function jc(a){this.Z=a;this.p=0;this.i=32768}jc.prototype.bb=function(){return this.Z};function kc(a){return a instanceof jc}function lc(a){return gb(a)}var mc=function(){function a(a,b,c,d){for(var l=Fa(a);;)if(d<l){var m=w.a(a,d);c=b.a?b.a(c,m):b.call(null,c,m);if(kc(c))return gb(c);d+=1}else return c}function b(a,b,c){var d=Fa(a),l=c;for(c=0;;)if(c<d){var m=w.a(a,c),l=b.a?b.a(l,m):b.call(null,l,m);if(kc(l))return gb(l);c+=1}else return l}function c(a,b){var c=Fa(a);if(0===c)return b.n?b.n():b.call(null);for(var d=w.a(a,0),l=1;;)if(l<c){var m=w.a(a,l),d=b.a?b.a(d,m):b.call(null,d,m);if(kc(d))return gb(d);l+=1}else return d}var d=null,d=function(d,f,g,k){switch(arguments.length){case 2:return c.call(this,d,f);case 3:return b.call(this,d,f,g);case 4:return a.call(this,d,f,g,k)}throw Error("Invalid arity: "+arguments.length)};d.a=c;d.c=b;d.m=a;return d}(),nc=function(){function a(a,b,c,d){for(var l=a.length;;)if(d<l){var m=a[d];c=b.a?b.a(c,m):b.call(null,c,m);if(kc(c))return gb(c);d+=1}else return c}function b(a,b,c){var d=a.length,l=c;for(c=0;;)if(c<d){var m=a[c],l=b.a?b.a(l,m):b.call(null,l,m);if(kc(l))return gb(l);c+=1}else return l}function c(a,b){var c=a.length;if(0===a.length)return b.n?b.n():b.call(null);for(var d=a[0],l=1;;)if(l<c){var m=a[l],d=b.a?b.a(d,m):b.call(null,d,m);if(kc(d))return gb(d);l+=1}else return d}var d=null,d=function(d,f,g,k){switch(arguments.length){case 2:return c.call(this,d,f);case 3:return b.call(this,d,f,g);case 4:return a.call(this,d,f,g,k)}throw Error("Invalid arity: "+arguments.length)};d.a=c;d.c=b;d.m=a;return d}();function oc(a){return a?a.i&2||a.sb?!0:a.i?!1:t(Ea,a):t(Ea,a)}function pc(a){return a?a.i&16||a.jb?!0:a.i?!1:t(Ma,a):t(Ma,a)}function qc(a,b){this.d=a;this.j=b}qc.prototype.hb=function(){return this.j<this.d.length};qc.prototype.next=function(){var a=this.d[this.j];this.j+=1;return a};function dc(a,b){this.d=a;this.j=b;this.i=166199550;this.p=8192}h=dc.prototype;h.toString=function(){return Qb(this)};h.L=function(a,b){var c=b+this.j;return c<this.d.length?this.d[c]:null};h.V=function(a,b,c){a=b+this.j;return a<this.d.length?this.d[a]:c};h.Ua=function(){return new qc(this.d,this.j)};h.S=function(){return this.j+1<this.d.length?new dc(this.d,this.j+1):null};h.F=function(){return this.d.length-this.j};h.Va=function(){var a=Fa(this);return 0<a?new rc(this,a-1,null):null};h.B=function(){return hc(this)};h.u=function(a,b){return sc.a?sc.a(this,b):sc.call(null,this,b)};h.K=function(){return ec};h.M=function(a,b){return nc.m(this.d,b,this.d[this.j],this.j+1)};h.N=function(a,b,c){return nc.m(this.d,b,c,this.j)};h.O=function(){return this.d[this.j]};h.T=function(){return this.j+1<this.d.length?new dc(this.d,this.j+1):ec};h.H=function(){return this};h.D=function(a,b){return G.a?G.a(b,this):G.call(null,b,this)};var tc=function(){function a(a,b){return b<a.length?new dc(a,b):null}function b(a){return c.a(a,0)}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length)};c.b=b;c.a=a;return c}(),F=function(){function a(a,b){return tc.a(a,b)}function b(a){return tc.a(a,0)}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length)};c.b=b;c.a=a;return c}();function rc(a,b,c){this.Qa=a;this.j=b;this.l=c;this.i=32374990;this.p=8192}h=rc.prototype;h.toString=function(){return Qb(this)};h.C=function(){return this.l};h.S=function(){return 0<this.j?new rc(this.Qa,this.j-1,null):null};h.F=function(){return this.j+1};h.B=function(){return hc(this)};h.u=function(a,b){return sc.a?sc.a(this,b):sc.call(null,this,b)};h.K=function(){var a=this.l;return uc.a?uc.a(ec,a):uc.call(null,ec,a)};h.M=function(a,b){return vc.a?vc.a(b,this):vc.call(null,b,this)};h.N=function(a,b,c){return vc.c?vc.c(b,c,this):vc.call(null,b,c,this)};h.O=function(){return w.a(this.Qa,this.j)};h.T=function(){return 0<this.j?new rc(this.Qa,this.j-1,null):ec};h.H=function(){return this};h.I=function(a,b){return new rc(this.Qa,this.j,b)};h.D=function(a,b){return G.a?G.a(b,this):G.call(null,b,this)};function wc(a){return A(E(a))}function xc(a){for(;;){var b=E(a);if(null!=b)a=b;else return A(a)}}ob._=function(a,b){return a===b};var zc=function(){function a(a,b){return null!=a?La(a,b):La(ec,b)}var b=null,c=function(){function a(b,d,k){var l=null;2<arguments.length&&(l=F(Array.prototype.slice.call(arguments,2),0));return c.call(this,b,d,l)}function c(a,d,e){for(;;)if(s(e))a=b.a(a,d),d=A(e),e=E(e);else return b.a(a,d)}a.k=2;a.g=function(a){var b=A(a);a=E(a);var d=A(a);a=B(a);return c(b,d,a)};a.f=c;return a}(),b=function(b,e,f){switch(arguments.length){case 0:return yc;case 1:return b;case 2:return a.call(this,b,e);default:return c.f(b,e,F(arguments,2))}throw Error("Invalid arity: "+arguments.length)};b.k=2;b.g=c.g;b.n=function(){return yc};b.b=function(a){return a};b.a=a;b.f=c.f;return b}();function H(a){if(null!=a)if(a&&(a.i&2||a.sb))a=a.F(null);else if(a instanceof Array)a=a.length;else if("string"===typeof a)a=a.length;else if(t(Ea,a))a=Fa(a);else a:{a=y(a);for(var b=0;;){if(oc(a)){a=b+Fa(a);break a}a=E(a);b+=1}a=void 0}else a=0;return a}var Ac=function(){function a(a,b,c){for(;;){if(null==a)return c;if(0===b)return y(a)?A(a):c;if(pc(a))return w.c(a,b,c);if(y(a))a=E(a),b-=1;else return c}}function b(a,b){for(;;){if(null==a)throw Error("Index out of bounds");if(0===b){if(y(a))return A(a);throw Error("Index out of bounds")}if(pc(a))return w.a(a,b);if(y(a)){var c=E(a),g=b-1;a=c;b=g}else throw Error("Index out of bounds")}}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length)};c.a=b;c.c=a;return c}(),I=function(){function a(a,b,c){if("number"!==typeof b)throw Error("index argument to nth must be a number.");if(null==a)return c;if(a&&(a.i&16||a.jb))return a.V(null,b,c);if(a instanceof Array||"string"===typeof a)return b<a.length?a[b]:c;if(t(Ma,a))return w.a(a,b);if(a?a.i&64||a.Ma||(a.i?0:t(Na,a)):t(Na,a))return Ac.c(a,b,c);throw Error("nth not supported on this type "+v.b(xa(wa(a))))}function b(a,b){if("number"!==typeof b)throw Error("index argument to nth must be a number");if(null==a)return a;if(a&&(a.i&16||a.jb))return a.L(null,b);if(a instanceof Array||"string"===typeof a)return b<a.length?a[b]:null;if(t(Ma,a))return w.a(a,b);if(a?a.i&64||a.Ma||(a.i?0:t(Na,a)):t(Na,a))return Ac.a(a,b);throw Error("nth not supported on this type "+v.b(xa(wa(a))))}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length)};c.a=b;c.c=a;return c}(),Bc=function(){function a(a,b,c){return null!=a?a&&(a.i&256||a.yb)?a.t(null,b,c):a instanceof Array?b<a.length?a[b]:c:"string"===typeof a?b<a.length?a[b]:c:t(Sa,a)?Ta.c(a,b,c):c:c}function b(a,b){return null==a?null:a&&(a.i&256||a.yb)?a.v(null,b):a instanceof Array?b<a.length?a[b]:null:"string"===typeof a?b<a.length?a[b]:null:t(Sa,a)?Ta.a(a,b):null}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length)};c.a=b;c.c=a;return c}(),Dc=function(){function a(a,b,c){return null!=a?Va(a,b,c):Cc([b],[c])}var b=null,c=function(){function a(b,d,k,l){var m=null;3<arguments.length&&(m=F(Array.prototype.slice.call(arguments,3),0));return c.call(this,b,d,k,m)}function c(a,d,e,l){for(;;)if(a=b.c(a,d,e),s(l))d=A(l),e=wc(l),l=E(E(l));else return a}a.k=3;a.g=function(a){var b=A(a);a=E(a);var d=A(a);a=E(a);var l=A(a);a=B(a);return c(b,d,l,a)};a.f=c;return a}(),b=function(b,e,f,g){switch(arguments.length){case 3:return a.call(this,b,e,f);default:return c.f(b,e,f,F(arguments,3))}throw Error("Invalid arity: "+arguments.length)};b.k=3;b.g=c.g;b.c=a;b.f=c.f;return b}();function Ec(a){var b="function"==q(a);return s(b)?b:a?s(s(null)?null:a.rb)?!0:a.gb?!1:t(Da,a):t(Da,a)}function Fc(a,b){this.e=a;this.l=b;this.p=0;this.i=393217}h=Fc.prototype;h.call=function(){function a(a,b,c,d,e,f,g,k,l,m,r,n,p,C,z,D,K,P,V,L,ba,oa){a=this.e;return J.Ta?J.Ta(a,b,c,d,e,f,g,k,l,m,r,n,p,C,z,D,K,P,V,L,ba,oa):J.call(null,a,b,c,d,e,f,g,k,l,m,r,n,p,C,z,D,K,P,V,L,ba,oa)}function b(a,b,c,d,e,f,g,k,l,m,r,n,p,C,z,D,K,P,V,L,ba){a=this;return a.e.oa?a.e.oa(b,c,d,e,f,g,k,l,m,r,n,p,C,z,D,K,P,V,L,ba):a.e.call(null,b,c,d,e,f,g,k,l,m,r,n,p,C,z,D,K,P,V,L,ba)}function c(a,b,c,d,e,f,g,k,l,m,r,n,p,C,z,D,K,P,V,L){a=this;return a.e.na?a.e.na(b,c,d,e,f,g,k,l,m,r,n,p,C,z,D,K,P,V,L):a.e.call(null,b,c,d,e,f,g,k,l,m,r,n,p,C,z,D,K,P,V,L)}function d(a,b,c,d,e,f,g,k,l,m,r,n,p,C,z,D,K,P,V){a=this;return a.e.ma?a.e.ma(b,c,d,e,f,g,k,l,m,r,n,p,C,z,D,K,P,V):a.e.call(null,b,c,d,e,f,g,k,l,m,r,n,p,C,z,D,K,P,V)}function e(a,b,c,d,e,f,g,k,l,m,r,n,p,C,z,D,K,P){a=this;return a.e.la?a.e.la(b,c,d,e,f,g,k,l,m,r,n,p,C,z,D,K,P):a.e.call(null,b,c,d,e,f,g,k,l,m,r,n,p,C,z,D,K,P)}function f(a,b,c,d,e,f,g,k,l,m,r,n,p,C,z,D,K){a=this;return a.e.ka?a.e.ka(b,c,d,e,f,g,k,l,m,r,n,p,C,z,D,K):a.e.call(null,b,c,d,e,f,g,k,l,m,r,n,p,C,z,D,K)}function g(a,b,c,d,e,f,g,k,l,m,r,n,p,C,z,D){a=this;return a.e.ja?a.e.ja(b,c,d,e,f,g,k,l,m,r,n,p,C,z,D):a.e.call(null,b,c,d,e,f,g,k,l,m,r,n,p,C,z,D)}function k(a,b,c,d,e,f,g,k,l,m,r,n,p,C,z){a=this;return a.e.ia?a.e.ia(b,c,d,e,f,g,k,l,m,r,n,p,C,z):a.e.call(null,b,c,d,e,f,g,k,l,m,r,n,p,C,z)}function l(a,b,c,d,e,f,g,k,l,m,r,n,p,C){a=this;return a.e.ha?a.e.ha(b,c,d,e,f,g,k,l,m,r,n,p,C):a.e.call(null,b,c,d,e,f,g,k,l,m,r,n,p,C)}function m(a,b,c,d,e,f,g,k,l,m,r,n,p){a=this;return a.e.ga?a.e.ga(b,c,d,e,f,g,k,l,m,r,n,p):a.e.call(null,b,c,d,e,f,g,k,l,m,r,n,p)}function r(a,b,c,d,e,f,g,k,l,m,r,n){a=this;return a.e.fa?a.e.fa(b,c,d,e,f,g,k,l,m,r,n):a.e.call(null,b,c,d,e,f,g,k,l,m,r,n)}function n(a,b,c,d,e,f,g,k,l,m,r){a=this;return a.e.ea?a.e.ea(b,c,d,e,f,g,k,l,m,r):a.e.call(null,b,c,d,e,f,g,k,l,m,r)}function p(a,b,c,d,e,f,g,k,l,m){a=this;return a.e.qa?a.e.qa(b,c,d,e,f,g,k,l,m):a.e.call(null,b,c,d,e,f,g,k,l,m)}function C(a,b,c,d,e,f,g,k,l){a=this;return a.e.pa?a.e.pa(b,c,d,e,f,g,k,l):a.e.call(null,b,c,d,e,f,g,k,l)}function D(a,b,c,d,e,f,g,k){a=this;return a.e.Y?a.e.Y(b,c,d,e,f,g,k):a.e.call(null,b,c,d,e,f,g,k)}function z(a,b,c,d,e,f,g){a=this;return a.e.R?a.e.R(b,c,d,e,f,g):a.e.call(null,b,c,d,e,f,g)}function K(a,b,c,d,e,f){a=this;return a.e.s?a.e.s(b,c,d,e,f):a.e.call(null,b,c,d,e,f)}function P(a,b,c,d,e){a=this;return a.e.m?a.e.m(b,c,d,e):a.e.call(null,b,c,d,e)}function V(a,b,c,d){a=this;return a.e.c?a.e.c(b,c,d):a.e.call(null,b,c,d)}function ba(a,b,c){a=this;return a.e.a?a.e.a(b,c):a.e.call(null,b,c)}function oa(a,b){a=this;return a.e.b?a.e.b(b):a.e.call(null,b)}function Ca(a){a=this;return a.e.n?a.e.n():a.e.call(null)}var L=null,L=function(L,Z,$,ma,na,ra,ua,ya,Ba,Ha,Ia,Ja,Ra,Xa,db,mb,rb,Eb,fc,sb,Fb,Qe){switch(arguments.length){case 1:return Ca.call(this,L);case 2:return oa.call(this,L,Z);case 3:return ba.call(this,L,Z,$);case 4:return V.call(this,L,Z,$,ma);case 5:return P.call(this,L,Z,$,ma,na);case 6:return K.call(this,L,Z,$,ma,na,ra);case 7:return z.call(this,L,Z,$,ma,na,ra,ua);case 8:return D.call(this,L,Z,$,ma,na,ra,ua,ya);case 9:return C.call(this,L,Z,$,ma,na,ra,ua,ya,Ba);case 10:return p.call(this,L,Z,$,ma,na,ra,ua,ya,Ba,Ha);case 11:return n.call(this,L,Z,$,ma,na,ra,ua,ya,Ba,Ha,Ia);case 12:return r.call(this,L,Z,$,ma,na,ra,ua,ya,Ba,Ha,Ia,Ja);case 13:return m.call(this,L,Z,$,ma,na,ra,ua,ya,Ba,Ha,Ia,Ja,Ra);case 14:return l.call(this,L,Z,$,ma,na,ra,ua,ya,Ba,Ha,Ia,Ja,Ra,Xa);case 15:return k.call(this,L,Z,$,ma,na,ra,ua,ya,Ba,Ha,Ia,Ja,Ra,Xa,db);case 16:return g.call(this,L,Z,$,ma,na,ra,ua,ya,Ba,Ha,Ia,Ja,Ra,Xa,db,mb);case 17:return f.call(this,L,Z,$,ma,na,ra,ua,ya,Ba,Ha,Ia,Ja,Ra,Xa,db,mb,rb);case 18:return e.call(this,L,Z,$,ma,na,ra,ua,ya,Ba,Ha,Ia,Ja,Ra,Xa,db,mb,rb,Eb);case 19:return d.call(this,L,Z,$,ma,na,ra,ua,ya,Ba,Ha,Ia,Ja,Ra,Xa,db,mb,rb,Eb,fc);case 20:return c.call(this,L,Z,$,ma,na,ra,ua,ya,Ba,Ha,Ia,Ja,Ra,Xa,db,mb,rb,Eb,fc,sb);case 21:return b.call(this,L,Z,$,ma,na,ra,ua,ya,Ba,Ha,Ia,Ja,Ra,Xa,db,mb,rb,Eb,fc,sb,Fb);case 22:return a.call(this,L,Z,$,ma,na,ra,ua,ya,Ba,Ha,Ia,Ja,Ra,Xa,db,mb,rb,Eb,fc,sb,Fb,Qe)}throw Error("Invalid arity: "+arguments.length)};L.b=Ca;L.a=oa;L.c=ba;L.m=V;L.s=P;L.R=K;L.Y=z;L.pa=D;L.qa=C;L.ea=p;L.fa=n;L.ga=r;L.ha=m;L.ia=l;L.ja=k;L.ka=g;L.la=f;L.ma=e;L.na=d;L.oa=c;L.xb=b;L.Ta=a;return L}();h.apply=function(a,b){return this.call.apply(this,[this].concat(za(b)))};h.n=function(){return this.e.n?this.e.n():this.e.call(null)};h.b=function(a){return this.e.b?this.e.b(a):this.e.call(null,a)};h.a=function(a,b){return this.e.a?this.e.a(a,b):this.e.call(null,a,b)};h.c=function(a,b,c){return this.e.c?this.e.c(a,b,c):this.e.call(null,a,b,c)};h.m=function(a,b,c,d){return this.e.m?this.e.m(a,b,c,d):this.e.call(null,a,b,c,d)};h.s=function(a,b,c,d,e){return this.e.s?this.e.s(a,b,c,d,e):this.e.call(null,a,b,c,d,e)};h.R=function(a,b,c,d,e,f){return this.e.R?this.e.R(a,b,c,d,e,f):this.e.call(null,a,b,c,d,e,f)};h.Y=function(a,b,c,d,e,f,g){return this.e.Y?this.e.Y(a,b,c,d,e,f,g):this.e.call(null,a,b,c,d,e,f,g)};h.pa=function(a,b,c,d,e,f,g,k){return this.e.pa?this.e.pa(a,b,c,d,e,f,g,k):this.e.call(null,a,b,c,d,e,f,g,k)};h.qa=function(a,b,c,d,e,f,g,k,l){return this.e.qa?this.e.qa(a,b,c,d,e,f,g,k,l):this.e.call(null,a,b,c,d,e,f,g,k,l)};h.ea=function(a,b,c,d,e,f,g,k,l,m){return this.e.ea?this.e.ea(a,b,c,d,e,f,g,k,l,m):this.e.call(null,a,b,c,d,e,f,g,k,l,m)};h.fa=function(a,b,c,d,e,f,g,k,l,m,r){return this.e.fa?this.e.fa(a,b,c,d,e,f,g,k,l,m,r):this.e.call(null,a,b,c,d,e,f,g,k,l,m,r)};h.ga=function(a,b,c,d,e,f,g,k,l,m,r,n){return this.e.ga?this.e.ga(a,b,c,d,e,f,g,k,l,m,r,n):this.e.call(null,a,b,c,d,e,f,g,k,l,m,r,n)};h.ha=function(a,b,c,d,e,f,g,k,l,m,r,n,p){return this.e.ha?this.e.ha(a,b,c,d,e,f,g,k,l,m,r,n,p):this.e.call(null,a,b,c,d,e,f,g,k,l,m,r,n,p)};h.ia=function(a,b,c,d,e,f,g,k,l,m,r,n,p,C){return this.e.ia?this.e.ia(a,b,c,d,e,f,g,k,l,m,r,n,p,C):this.e.call(null,a,b,c,d,e,f,g,k,l,m,r,n,p,C)};h.ja=function(a,b,c,d,e,f,g,k,l,m,r,n,p,C,D){return this.e.ja?this.e.ja(a,b,c,d,e,f,g,k,l,m,r,n,p,C,D):this.e.call(null,a,b,c,d,e,f,g,k,l,m,r,n,p,C,D)};h.ka=function(a,b,c,d,e,f,g,k,l,m,r,n,p,C,D,z){return this.e.ka?this.e.ka(a,b,c,d,e,f,g,k,l,m,r,n,p,C,D,z):this.e.call(null,a,b,c,d,e,f,g,k,l,m,r,n,p,C,D,z)};h.la=function(a,b,c,d,e,f,g,k,l,m,r,n,p,C,D,z,K){return this.e.la?this.e.la(a,b,c,d,e,f,g,k,l,m,r,n,p,C,D,z,K):this.e.call(null,a,b,c,d,e,f,g,k,l,m,r,n,p,C,D,z,K)};h.ma=function(a,b,c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P){return this.e.ma?this.e.ma(a,b,c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P):this.e.call(null,a,b,c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P)};h.na=function(a,b,c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P,V){return this.e.na?this.e.na(a,b,c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P,V):this.e.call(null,a,b,c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P,V)};h.oa=function(a,b,c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P,V,ba){return this.e.oa?this.e.oa(a,b,c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P,V,ba):this.e.call(null,a,b,c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P,V,ba)};h.xb=function(a,b,c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P,V,ba,oa){var Ca=this.e;return J.Ta?J.Ta(Ca,a,b,c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P,V,ba,oa):J.call(null,Ca,a,b,c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P,V,ba,oa)};h.rb=!0;h.I=function(a,b){return new Fc(this.e,b)};h.C=function(){return this.l};function uc(a,b){return Ec(a)&&!(a?a.i&262144||a.Wb||(a.i?0:t(jb,a)):t(jb,a))?new Fc(a,b):null==a?null:kb(a,b)}function Gc(a){var b=null!=a;return(b?a?a.i&131072||a.Bb||(a.i?0:t(hb,a)):t(hb,a):b)?ib(a):null}var Hc=function(){function a(a,b){return null==a?null:cb(a,b)}var b=null,c=function(){function a(b,d,k){var l=null;2<arguments.length&&(l=F(Array.prototype.slice.call(arguments,2),0));return c.call(this,b,d,l)}function c(a,d,e){for(;;){if(null==a)return null;a=b.a(a,d);if(s(e))d=A(e),e=E(e);else return a}}a.k=2;a.g=function(a){var b=A(a);a=E(a);var d=A(a);a=B(a);return c(b,d,a)};a.f=c;return a}(),b=function(b,e,f){switch(arguments.length){case 1:return b;case 2:return a.call(this,b,e);default:return c.f(b,e,F(arguments,2))}throw Error("Invalid arity: "+arguments.length)};b.k=2;b.g=c.g;b.b=function(a){return a};b.a=a;b.f=c.f;return b}();function Ic(a){return null==a?!1:a?a.i&8||a.Ob?!0:a.i?!1:t(Ka,a):t(Ka,a)}function Jc(a){return null==a?!1:a?a.i&4096||a.Ub?!0:a.i?!1:t(bb,a):t(bb,a)}function Kc(a){return a?a.i&16777216||a.Tb?!0:a.i?!1:t(ub,a):t(ub,a)}function Lc(a){return null==a?!1:a?a.i&1024||a.zb?!0:a.i?!1:t(Wa,a):t(Wa,a)}function Mc(a){return a?a.i&16384||a.Vb?!0:a.i?!1:t(eb,a):t(eb,a)}function Nc(a){return a?a.p&512||a.Nb?!0:!1:!1}function Oc(a){var b=[];fa(a,function(a,b){return function(a,c){return b.push(c)}}(a,b));return b}function Pc(a,b,c,d,e){for(;0!==e;)c[d]=a[b],d+=1,e-=1,b+=1}function Qc(a,b,c,d,e){b+=e-1;for(d+=e-1;0!==e;)c[d]=a[b],d-=1,e-=1,b-=1}var Rc={};function Sc(a){return null==a?!1:a?a.i&64||a.Ma?!0:a.i?!1:t(Na,a):t(Na,a)}function Tc(a){return s(a)?!0:!1}function bc(a,b){if(a===b)return 0;if(null==a)return-1;if(null==b)return 1;if(wa(a)===wa(b))return a&&(a.p&2048||a.Ra)?a.Sa(null,b):a>b?1:a<b?-1:0;throw Error("compare on non-nil objects of different types")}var Uc=function(){function a(a,b,c,g){for(;;){var k=bc(I.a(a,g),I.a(b,g));if(0===k&&g+1<c)g+=1;else return k}}function b(a,b){var f=H(a),g=H(b);return f<g?-1:f>g?1:c.m(a,b,f,0)}var c=null,c=function(c,e,f,g){switch(arguments.length){case 2:return b.call(this,c,e);case 4:return a.call(this,c,e,f,g)}throw Error("Invalid arity: "+arguments.length)};c.a=b;c.m=a;return c}(),vc=function(){function a(a,b,c){for(c=y(c);;)if(c){var g=A(c);b=a.a?a.a(b,g):a.call(null,b,g);
if(kc(b))return gb(b);c=E(c)}else return b}function b(a,b){var c=y(b);if(c){var g=A(c),c=E(c);return Vc.c?Vc.c(a,g,c):Vc.call(null,a,g,c)}return a.n?a.n():a.call(null)}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length)};c.a=b;c.c=a;return c}(),Vc=function(){function a(a,b,c){return c&&(c.i&524288||c.Db)?c.N(null,a,b):c instanceof Array?nc.c(c,a,b):"string"===typeof c?nc.c(c,a,b):t(lb,c)?nb.c(c,a,b):vc.c(a,b,c)}function b(a,b){return b&&(b.i&524288||b.Db)?b.M(null,a):b instanceof Array?nc.a(b,a):"string"===typeof b?nc.a(b,a):t(lb,b)?nb.a(b,a):vc.a(a,b)}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length)};c.a=b;c.c=a;return c}();function Wc(a){return a}var Xc=function(){function a(a,b,c,g){a=a.b?a.b(b):a.call(null,b);c=Vc.c(a,c,g);return a.b?a.b(c):a.call(null,c)}function b(a,b,f){return c.m(a,b,b.n?b.n():b.call(null),f)}var c=null,c=function(c,e,f,g){switch(arguments.length){case 3:return b.call(this,c,e,f);case 4:return a.call(this,c,e,f,g)}throw Error("Invalid arity: "+arguments.length)};c.c=b;c.m=a;return c}();function Yc(a){return a-1}function ad(a){a=(a-a%2)/2;return 0<=a?Math.floor.b?Math.floor.b(a):Math.floor.call(null,a):Math.ceil.b?Math.ceil.b(a):Math.ceil.call(null,a)}function bd(a){a-=a>>1&1431655765;a=(a&858993459)+(a>>2&858993459);return 16843009*(a+(a>>4)&252645135)>>24}function cd(a){return 0===a}var v=function(){function a(a){return null==a?"":""+a}var b=null,c=function(){function a(b,d){var k=null;1<arguments.length&&(k=F(Array.prototype.slice.call(arguments,1),0));return c.call(this,b,k)}function c(a,d){for(var e=new ga(b.b(a)),l=d;;)if(s(l))e=e.append(b.b(A(l))),l=E(l);else return e.toString()}a.k=1;a.g=function(a){var b=A(a);a=B(a);return c(b,a)};a.f=c;return a}(),b=function(b,e){switch(arguments.length){case 0:return"";case 1:return a.call(this,b);default:return c.f(b,F(arguments,1))}throw Error("Invalid arity: "+arguments.length)};b.k=1;b.g=c.g;b.n=function(){return""};b.b=a;b.f=c.f;return b}(),dd=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return a.substring(c);case 3:return a.substring(c,d)}throw Error("Invalid arity: "+arguments.length)};a.a=function(a,c){return a.substring(c)};a.c=function(a,c,d){return a.substring(c,d)};return a}();function sc(a,b){var c;if(Kc(b))if(oc(a)&&oc(b)&&H(a)!==H(b))c=!1;else a:{c=y(a);for(var d=y(b);;){if(null==c){c=null==d;break a}if(null!=d&&x.a(A(c),A(d)))c=E(c),d=E(d);else{c=!1;break a}}c=void 0}else c=null;return Tc(c)}function ed(a,b,c,d,e){this.l=a;this.first=b;this.ta=c;this.count=d;this.o=e;this.i=65937646;this.p=8192}h=ed.prototype;h.toString=function(){return Qb(this)};h.C=function(){return this.l};h.S=function(){return 1===this.count?null:this.ta};h.F=function(){return this.count};h.B=function(){var a=this.o;return null!=a?a:this.o=a=hc(this)};h.u=function(a,b){return sc(this,b)};h.K=function(){return ec};h.M=function(a,b){return vc.a(b,this)};h.N=function(a,b,c){return vc.c(b,c,this)};h.O=function(){return this.first};h.T=function(){return 1===this.count?ec:this.ta};h.H=function(){return this};h.I=function(a,b){return new ed(b,this.first,this.ta,this.count,this.o)};h.D=function(a,b){return new ed(this.l,b,this,this.count+1,null)};function fd(a){this.l=a;this.i=65937614;this.p=8192}h=fd.prototype;h.toString=function(){return Qb(this)};h.C=function(){return this.l};h.S=function(){return null};h.F=function(){return 0};h.B=function(){return 0};h.u=function(a,b){return sc(this,b)};h.K=function(){return this};h.M=function(a,b){return vc.a(b,this)};h.N=function(a,b,c){return vc.c(b,c,this)};h.O=function(){return null};h.T=function(){return ec};h.H=function(){return null};h.I=function(a,b){return new fd(b)};h.D=function(a,b){return new ed(this.l,b,null,1,null)};var ec=new fd(null);function gd(a){return(a?a.i&134217728||a.Rb||(a.i?0:t(vb,a)):t(vb,a))?wb(a):Vc.c(zc,ec,a)}var M=function(){function a(a){var d=null;0<arguments.length&&(d=F(Array.prototype.slice.call(arguments,0),0));return b.call(this,d)}function b(a){var b;if(a instanceof dc&&0===a.j)b=a.d;else a:{for(b=[];;)if(null!=a)b.push(a.O(null)),a=a.S(null);else break a;b=void 0}a=b.length;for(var e=ec;;)if(0<a){var f=a-1,e=e.D(null,b[a-1]);a=f}else return e}a.k=0;a.g=function(a){a=y(a);return b(a)};a.f=b;return a}();function hd(a,b,c,d){this.l=a;this.first=b;this.ta=c;this.o=d;this.i=65929452;this.p=8192}h=hd.prototype;h.toString=function(){return Qb(this)};h.C=function(){return this.l};h.S=function(){return null==this.ta?null:y(this.ta)};h.B=function(){var a=this.o;return null!=a?a:this.o=a=hc(this)};h.u=function(a,b){return sc(this,b)};h.K=function(){return uc(ec,this.l)};h.M=function(a,b){return vc.a(b,this)};h.N=function(a,b,c){return vc.c(b,c,this)};h.O=function(){return this.first};h.T=function(){return null==this.ta?ec:this.ta};h.H=function(){return this};h.I=function(a,b){return new hd(b,this.first,this.ta,this.o)};h.D=function(a,b){return new hd(null,b,this,this.o)};function G(a,b){var c=null==b;return(c?c:b&&(b.i&64||b.Ma))?new hd(null,a,b,null):new hd(null,a,y(b),null)}function N(a,b,c,d){this.ca=a;this.name=b;this.wa=c;this.Ea=d;this.i=2153775105;this.p=4096}h=N.prototype;h.w=function(a,b){return xb(b,":"+v.b(this.wa))};h.B=function(){var a=this.Ea;return null!=a?a:this.Ea=a=$b(Vb(this.name),Yb(this.ca))+2654435769|0};h.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return Bc.a(c,this);case 3:return Bc.c(c,this,d)}throw Error("Invalid arity: "+arguments.length)};a.a=function(a,c){return Bc.a(c,this)};a.c=function(a,c,d){return Bc.c(c,this,d)};return a}();h.apply=function(a,b){return this.call.apply(this,[this].concat(za(b)))};h.b=function(a){return Bc.a(a,this)};h.a=function(a,b){return Bc.c(a,this,b)};h.u=function(a,b){return b instanceof N?this.wa===b.wa:!1};h.toString=function(){return":"+v.b(this.wa)};function id(a,b){return a===b?!0:a instanceof N&&b instanceof N?a.wa===b.wa:!1}var kd=function(){function a(a,b){return new N(a,b,""+v.b(s(a)?""+v.b(a)+"/":null)+v.b(b),null)}function b(a){if(a instanceof N)return a;if(a instanceof cc){var b;if(a&&(a.p&4096||a.Cb))b=a.ca;else throw Error("Doesn't support namespace: "+v.b(a));return new N(b,jd.b?jd.b(a):jd.call(null,a),a.Aa,null)}return"string"===typeof a?(b=a.split("/"),2===b.length?new N(b[0],b[1],a,null):new N(null,b[0],a,null)):null}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length)};c.b=b;c.a=a;return c}();function ld(a,b,c,d){this.l=a;this.Ja=b;this.A=c;this.o=d;this.p=0;this.i=32374988}h=ld.prototype;h.toString=function(){return Qb(this)};function md(a){null!=a.Ja&&(a.A=a.Ja.n?a.Ja.n():a.Ja.call(null),a.Ja=null);return a.A}h.C=function(){return this.l};h.S=function(){tb(this);return null==this.A?null:E(this.A)};h.B=function(){var a=this.o;return null!=a?a:this.o=a=hc(this)};h.u=function(a,b){return sc(this,b)};h.K=function(){return uc(ec,this.l)};h.M=function(a,b){return vc.a(b,this)};h.N=function(a,b,c){return vc.c(b,c,this)};h.O=function(){tb(this);return null==this.A?null:A(this.A)};h.T=function(){tb(this);return null!=this.A?B(this.A):ec};h.H=function(){md(this);if(null==this.A)return null;for(var a=this.A;;)if(a instanceof ld)a=md(a);else return this.A=a,y(this.A)};h.I=function(a,b){return new ld(b,this.Ja,this.A,this.o)};h.D=function(a,b){return G(b,this)};function nd(a,b){this.Xa=a;this.end=b;this.p=0;this.i=2}nd.prototype.F=function(){return this.end};nd.prototype.add=function(a){this.Xa[this.end]=a;return this.end+=1};nd.prototype.U=function(){var a=new od(this.Xa,0,this.end);this.Xa=null;return a};function od(a,b,c){this.d=a;this.J=b;this.end=c;this.p=0;this.i=524306}h=od.prototype;h.M=function(a,b){return nc.m(this.d,b,this.d[this.J],this.J+1)};h.N=function(a,b,c){return nc.m(this.d,b,c,this.J)};h.ib=function(){if(this.J===this.end)throw Error("-drop-first of empty chunk");return new od(this.d,this.J+1,this.end)};h.L=function(a,b){return this.d[this.J+b]};h.V=function(a,b,c){return 0<=b&&b<this.end-this.J?this.d[this.J+b]:c};h.F=function(){return this.end-this.J};var pd=function(){function a(a,b,c){return new od(a,b,c)}function b(a,b){return new od(a,b,a.length)}function c(a){return new od(a,0,a.length)}var d=null,d=function(d,f,g){switch(arguments.length){case 1:return c.call(this,d);case 2:return b.call(this,d,f);case 3:return a.call(this,d,f,g)}throw Error("Invalid arity: "+arguments.length)};d.b=c;d.a=b;d.c=a;return d}();function qd(a,b,c,d){this.U=a;this.da=b;this.l=c;this.o=d;this.i=31850732;this.p=1536}h=qd.prototype;h.toString=function(){return Qb(this)};h.C=function(){return this.l};h.S=function(){if(1<Fa(this.U))return new qd(Ib(this.U),this.da,this.l,null);var a=tb(this.da);return null==a?null:a};h.B=function(){var a=this.o;return null!=a?a:this.o=a=hc(this)};h.u=function(a,b){return sc(this,b)};h.K=function(){return uc(ec,this.l)};h.O=function(){return w.a(this.U,0)};h.T=function(){return 1<Fa(this.U)?new qd(Ib(this.U),this.da,this.l,null):null==this.da?ec:this.da};h.H=function(){return this};h.$a=function(){return this.U};h.ab=function(){return null==this.da?ec:this.da};h.I=function(a,b){return new qd(this.U,this.da,b,this.o)};h.D=function(a,b){return G(b,this)};h.Za=function(){return null==this.da?null:this.da};function rd(a,b){return 0===Fa(a)?b:new qd(a,b,null,null)}function sd(a,b){a.add(b)}function td(a){for(var b=[];;)if(y(a))b.push(A(a)),a=E(a);else return b}function ud(a,b){if(oc(a))return H(a);for(var c=a,d=b,e=0;;)if(0<d&&y(c))c=E(c),d-=1,e+=1;else return e}var wd=function vd(b){return null==b?null:null==E(b)?y(A(b)):G(A(b),vd(E(b)))},xd=function(){function a(a,b){return new ld(null,function(){var c=y(a);return c?Nc(c)?rd(Jb(c),d.a(Kb(c),b)):G(A(c),d.a(B(c),b)):b},null,null)}function b(a){return new ld(null,function(){return a},null,null)}function c(){return new ld(null,function(){return null},null,null)}var d=null,e=function(){function a(c,d,e){var f=null;2<arguments.length&&(f=F(Array.prototype.slice.call(arguments,2),0));return b.call(this,c,d,f)}function b(a,c,e){return function n(a,b){return new ld(null,function(){var c=y(a);return c?Nc(c)?rd(Jb(c),n(Kb(c),b)):G(A(c),n(B(c),b)):s(b)?n(A(b),E(b)):null},null,null)}(d.a(a,c),e)}a.k=2;a.g=function(a){var c=A(a);a=E(a);var d=A(a);a=B(a);return b(c,d,a)};a.f=b;return a}(),d=function(d,g,k){switch(arguments.length){case 0:return c.call(this);case 1:return b.call(this,d);case 2:return a.call(this,d,g);default:return e.f(d,g,F(arguments,2))}throw Error("Invalid arity: "+arguments.length)};d.k=2;d.g=e.g;d.n=c;d.b=b;d.a=a;d.f=e.f;return d}(),yd=function(){function a(a,b,c,d){return G(a,G(b,G(c,d)))}function b(a,b,c){return G(a,G(b,c))}var c=null,d=function(){function a(c,d,e,m,r){var n=null;4<arguments.length&&(n=F(Array.prototype.slice.call(arguments,4),0));return b.call(this,c,d,e,m,n)}function b(a,c,d,e,f){return G(a,G(c,G(d,G(e,wd(f)))))}a.k=4;a.g=function(a){var c=A(a);a=E(a);var d=A(a);a=E(a);var e=A(a);a=E(a);var r=A(a);a=B(a);return b(c,d,e,r,a)};a.f=b;return a}(),c=function(c,f,g,k,l){switch(arguments.length){case 1:return y(c);case 2:return G(c,f);case 3:return b.call(this,c,f,g);case 4:return a.call(this,c,f,g,k);default:return d.f(c,f,g,k,F(arguments,4))}throw Error("Invalid arity: "+arguments.length)};c.k=4;c.g=d.g;c.b=function(a){return y(a)};c.a=function(a,b){return G(a,b)};c.c=b;c.m=a;c.f=d.f;return c}(),zd=function(){function a(){return Bb(yc)}var b=null,c=function(){function a(c,d,k){var l=null;2<arguments.length&&(l=F(Array.prototype.slice.call(arguments,2),0));return b.call(this,c,d,l)}function b(a,c,d){for(;;)if(a=Cb(a,c),s(d))c=A(d),d=E(d);else return a}a.k=2;a.g=function(a){var c=A(a);a=E(a);var d=A(a);a=B(a);return b(c,d,a)};a.f=b;return a}(),b=function(b,e,f){switch(arguments.length){case 0:return a.call(this);case 1:return b;case 2:return Cb(b,e);default:return c.f(b,e,F(arguments,2))}throw Error("Invalid arity: "+arguments.length)};b.k=2;b.g=c.g;b.n=a;b.b=function(a){return a};b.a=function(a,b){return Cb(a,b)};b.f=c.f;return b}(),Ad=function(){var a=null,b=function(){function a(c,f,g,k){var l=null;3<arguments.length&&(l=F(Array.prototype.slice.call(arguments,3),0));return b.call(this,c,f,g,l)}function b(a,c,d,k){for(;;)if(a=Gb(a,c,d),s(k))c=A(k),d=wc(k),k=E(E(k));else return a}a.k=3;a.g=function(a){var c=A(a);a=E(a);var g=A(a);a=E(a);var k=A(a);a=B(a);return b(c,g,k,a)};a.f=b;return a}(),a=function(a,d,e,f){switch(arguments.length){case 3:return Gb(a,d,e);default:return b.f(a,d,e,F(arguments,3))}throw Error("Invalid arity: "+arguments.length)};a.k=3;a.g=b.g;a.c=function(a,b,e){return Gb(a,b,e)};a.f=b.f;return a}();function Bd(a,b,c){var d=y(c);if(0===b)return a.n?a.n():a.call(null);c=Oa(d);var e=Pa(d);if(1===b)return a.b?a.b(c):a.b?a.b(c):a.call(null,c);var d=Oa(e),f=Pa(e);if(2===b)return a.a?a.a(c,d):a.a?a.a(c,d):a.call(null,c,d);var e=Oa(f),g=Pa(f);if(3===b)return a.c?a.c(c,d,e):a.c?a.c(c,d,e):a.call(null,c,d,e);var f=Oa(g),k=Pa(g);if(4===b)return a.m?a.m(c,d,e,f):a.m?a.m(c,d,e,f):a.call(null,c,d,e,f);var g=Oa(k),l=Pa(k);if(5===b)return a.s?a.s(c,d,e,f,g):a.s?a.s(c,d,e,f,g):a.call(null,c,d,e,f,g);var k=Oa(l),m=Pa(l);if(6===b)return a.R?a.R(c,d,e,f,g,k):a.R?a.R(c,d,e,f,g,k):a.call(null,c,d,e,f,g,k);var l=Oa(m),r=Pa(m);if(7===b)return a.Y?a.Y(c,d,e,f,g,k,l):a.Y?a.Y(c,d,e,f,g,k,l):a.call(null,c,d,e,f,g,k,l);var m=Oa(r),n=Pa(r);if(8===b)return a.pa?a.pa(c,d,e,f,g,k,l,m):a.pa?a.pa(c,d,e,f,g,k,l,m):a.call(null,c,d,e,f,g,k,l,m);var r=Oa(n),p=Pa(n);if(9===b)return a.qa?a.qa(c,d,e,f,g,k,l,m,r):a.qa?a.qa(c,d,e,f,g,k,l,m,r):a.call(null,c,d,e,f,g,k,l,m,r);var n=Oa(p),C=Pa(p);if(10===b)return a.ea?a.ea(c,d,e,f,g,k,l,m,r,n):a.ea?a.ea(c,d,e,f,g,k,l,m,r,n):a.call(null,c,d,e,f,g,k,l,m,r,n);var p=Oa(C),D=Pa(C);if(11===b)return a.fa?a.fa(c,d,e,f,g,k,l,m,r,n,p):a.fa?a.fa(c,d,e,f,g,k,l,m,r,n,p):a.call(null,c,d,e,f,g,k,l,m,r,n,p);var C=Oa(D),z=Pa(D);if(12===b)return a.ga?a.ga(c,d,e,f,g,k,l,m,r,n,p,C):a.ga?a.ga(c,d,e,f,g,k,l,m,r,n,p,C):a.call(null,c,d,e,f,g,k,l,m,r,n,p,C);var D=Oa(z),K=Pa(z);if(13===b)return a.ha?a.ha(c,d,e,f,g,k,l,m,r,n,p,C,D):a.ha?a.ha(c,d,e,f,g,k,l,m,r,n,p,C,D):a.call(null,c,d,e,f,g,k,l,m,r,n,p,C,D);var z=Oa(K),P=Pa(K);if(14===b)return a.ia?a.ia(c,d,e,f,g,k,l,m,r,n,p,C,D,z):a.ia?a.ia(c,d,e,f,g,k,l,m,r,n,p,C,D,z):a.call(null,c,d,e,f,g,k,l,m,r,n,p,C,D,z);var K=Oa(P),V=Pa(P);if(15===b)return a.ja?a.ja(c,d,e,f,g,k,l,m,r,n,p,C,D,z,K):a.ja?a.ja(c,d,e,f,g,k,l,m,r,n,p,C,D,z,K):a.call(null,c,d,e,f,g,k,l,m,r,n,p,C,D,z,K);var P=Oa(V),ba=Pa(V);if(16===b)return a.ka?a.ka(c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P):a.ka?a.ka(c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P):a.call(null,c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P);var V=Oa(ba),oa=Pa(ba);if(17===b)return a.la?a.la(c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P,V):a.la?a.la(c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P,V):a.call(null,c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P,V);var ba=Oa(oa),Ca=Pa(oa);if(18===b)return a.ma?a.ma(c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P,V,ba):a.ma?a.ma(c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P,V,ba):a.call(null,c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P,V,ba);oa=Oa(Ca);Ca=Pa(Ca);if(19===b)return a.na?a.na(c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P,V,ba,oa):a.na?a.na(c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P,V,ba,oa):a.call(null,c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P,V,ba,oa);var L=Oa(Ca);Pa(Ca);if(20===b)return a.oa?a.oa(c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P,V,ba,oa,L):a.oa?a.oa(c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P,V,ba,oa,L):a.call(null,c,d,e,f,g,k,l,m,r,n,p,C,D,z,K,P,V,ba,oa,L);throw Error("Only up to 20 arguments supported on functions")}var J=function(){function a(a,b,c,d,e){b=yd.m(b,c,d,e);c=a.k;return a.g?(d=ud(b,c+1),d<=c?Bd(a,d,b):a.g(b)):a.apply(a,td(b))}function b(a,b,c,d){b=yd.c(b,c,d);c=a.k;return a.g?(d=ud(b,c+1),d<=c?Bd(a,d,b):a.g(b)):a.apply(a,td(b))}function c(a,b,c){b=yd.a(b,c);c=a.k;if(a.g){var d=ud(b,c+1);return d<=c?Bd(a,d,b):a.g(b)}return a.apply(a,td(b))}function d(a,b){var c=a.k;if(a.g){var d=ud(b,c+1);return d<=c?Bd(a,d,b):a.g(b)}return a.apply(a,td(b))}var e=null,f=function(){function a(c,d,e,f,g,C){var D=null;5<arguments.length&&(D=F(Array.prototype.slice.call(arguments,5),0));return b.call(this,c,d,e,f,g,D)}function b(a,c,d,e,f,g){c=G(c,G(d,G(e,G(f,wd(g)))));d=a.k;return a.g?(e=ud(c,d+1),e<=d?Bd(a,e,c):a.g(c)):a.apply(a,td(c))}a.k=5;a.g=function(a){var c=A(a);a=E(a);var d=A(a);a=E(a);var e=A(a);a=E(a);var f=A(a);a=E(a);var g=A(a);a=B(a);return b(c,d,e,f,g,a)};a.f=b;return a}(),e=function(e,k,l,m,r,n){switch(arguments.length){case 2:return d.call(this,e,k);case 3:return c.call(this,e,k,l);case 4:return b.call(this,e,k,l,m);case 5:return a.call(this,e,k,l,m,r);default:return f.f(e,k,l,m,r,F(arguments,5))}throw Error("Invalid arity: "+arguments.length)};e.k=5;e.g=f.g;e.a=d;e.c=c;e.m=b;e.s=a;e.f=f.f;return e}(),Cd=function(){function a(a,b){return!x.a(a,b)}var b=null,c=function(){function a(c,d,k){var l=null;2<arguments.length&&(l=F(Array.prototype.slice.call(arguments,2),0));return b.call(this,c,d,l)}function b(a,c,d){return va(J.m(x,a,c,d))}a.k=2;a.g=function(a){var c=A(a);a=E(a);var d=A(a);a=B(a);return b(c,d,a)};a.f=b;return a}(),b=function(b,e,f){switch(arguments.length){case 1:return!1;case 2:return a.call(this,b,e);default:return c.f(b,e,F(arguments,2))}throw Error("Invalid arity: "+arguments.length)};b.k=2;b.g=c.g;b.b=function(){return!1};b.a=a;b.f=c.f;return b}();function Dd(a,b){for(;;){if(null==y(b))return!0;var c;c=A(b);c=a.b?a.b(c):a.call(null,c);if(s(c)){c=a;var d=E(b);a=c;b=d}else return!1}}function Ed(a,b){for(;;)if(y(b)){var c;c=A(b);c=a.b?a.b(c):a.call(null,c);if(s(c))return c;c=a;var d=E(b);a=c;b=d}else return null}function Fd(a){return function(){function b(b,c){return va(a.a?a.a(b,c):a.call(null,b,c))}function c(b){return va(a.b?a.b(b):a.call(null,b))}function d(){return va(a.n?a.n():a.call(null))}var e=null,f=function(){function b(a,d,e){var f=null;2<arguments.length&&(f=F(Array.prototype.slice.call(arguments,2),0));return c.call(this,a,d,f)}function c(b,d,e){return va(J.m(a,b,d,e))}b.k=2;b.g=function(a){var b=A(a);a=E(a);var d=A(a);a=B(a);return c(b,d,a)};b.f=c;return b}(),e=function(a,e,l){switch(arguments.length){case 0:return d.call(this);case 1:return c.call(this,a);case 2:return b.call(this,a,e);default:return f.f(a,e,F(arguments,2))}throw Error("Invalid arity: "+arguments.length)};e.k=2;e.g=f.g;e.n=d;e.b=c;e.a=b;e.f=f.f;return e}()}var Gd=function(){function a(a,b,c){return function(){function d(k,l,m){k=c.c?c.c(k,l,m):c.call(null,k,l,m);k=b.b?b.b(k):b.call(null,k);return a.b?a.b(k):a.call(null,k)}function l(d,k){var l;l=c.a?c.a(d,k):c.call(null,d,k);l=b.b?b.b(l):b.call(null,l);return a.b?a.b(l):a.call(null,l)}function m(d){d=c.b?c.b(d):c.call(null,d);d=b.b?b.b(d):b.call(null,d);return a.b?a.b(d):a.call(null,d)}function r(){var d;d=c.n?c.n():c.call(null);d=b.b?b.b(d):b.call(null,d);return a.b?a.b(d):a.call(null,d)}var n=null,p=function(){function d(a,b,c,e){var f=null;3<arguments.length&&(f=F(Array.prototype.slice.call(arguments,3),0));return k.call(this,a,b,c,f)}function k(d,l,m,p){d=J.s(c,d,l,m,p);d=b.b?b.b(d):b.call(null,d);return a.b?a.b(d):a.call(null,d)}d.k=3;d.g=function(a){var b=A(a);a=E(a);var c=A(a);a=E(a);var d=A(a);a=B(a);return k(b,c,d,a)};d.f=k;return d}(),n=function(a,b,c,e){switch(arguments.length){case 0:return r.call(this);case 1:return m.call(this,a);case 2:return l.call(this,a,b);case 3:return d.call(this,a,b,c);default:return p.f(a,b,c,F(arguments,3))}throw Error("Invalid arity: "+arguments.length)};n.k=3;n.g=p.g;n.n=r;n.b=m;n.a=l;n.c=d;n.f=p.f;return n}()}function b(a,b){return function(){function c(d,g,k){d=b.c?b.c(d,g,k):b.call(null,d,g,k);return a.b?a.b(d):a.call(null,d)}function d(c,g){var k=b.a?b.a(c,g):b.call(null,c,g);return a.b?a.b(k):a.call(null,k)}function l(c){c=b.b?b.b(c):b.call(null,c);return a.b?a.b(c):a.call(null,c)}function m(){var c=b.n?b.n():b.call(null);return a.b?a.b(c):a.call(null,c)}var r=null,n=function(){function c(a,b,e,f){var g=null;3<arguments.length&&(g=F(Array.prototype.slice.call(arguments,3),0));return d.call(this,a,b,e,g)}function d(c,g,k,l){c=J.s(b,c,g,k,l);return a.b?a.b(c):a.call(null,c)}c.k=3;c.g=function(a){var b=A(a);a=E(a);var c=A(a);a=E(a);var e=A(a);a=B(a);return d(b,c,e,a)};c.f=d;return c}(),r=function(a,b,e,f){switch(arguments.length){case 0:return m.call(this);case 1:return l.call(this,a);case 2:return d.call(this,a,b);case 3:return c.call(this,a,b,e);default:return n.f(a,b,e,F(arguments,3))}throw Error("Invalid arity: "+arguments.length)};r.k=3;r.g=n.g;r.n=m;r.b=l;r.a=d;r.c=c;r.f=n.f;return r}()}var c=null,d=function(){function a(c,d,e,m){var r=null;3<arguments.length&&(r=F(Array.prototype.slice.call(arguments,3),0));return b.call(this,c,d,e,r)}function b(a,c,d,e){return function(a){return function(){function b(a){var d=null;0<arguments.length&&(d=F(Array.prototype.slice.call(arguments,0),0));return c.call(this,d)}function c(b){b=J.a(A(a),b);for(var d=E(a);;)if(d)b=A(d).call(null,b),d=E(d);else return b}b.k=0;b.g=function(a){a=y(a);return c(a)};b.f=c;return b}()}(gd(yd.m(a,c,d,e)))}a.k=3;a.g=function(a){var c=A(a);a=E(a);var d=A(a);a=E(a);var e=A(a);a=B(a);return b(c,d,e,a)};a.f=b;return a}(),c=function(c,f,g,k){switch(arguments.length){case 0:return Wc;case 1:return c;case 2:return b.call(this,c,f);case 3:return a.call(this,c,f,g);default:return d.f(c,f,g,F(arguments,3))}throw Error("Invalid arity: "+arguments.length)};c.k=3;c.g=d.g;c.n=function(){return Wc};c.b=function(a){return a};c.a=b;c.c=a;c.f=d.f;return c}();function Hd(a,b){return function d(b,f){return new ld(null,function(){var g=y(f);if(g){if(Nc(g)){for(var k=Jb(g),l=H(k),m=new nd(Array(l),0),r=0;;)if(r<l)sd(m,function(){var d=b+r,f=w.a(k,r);return a.a?a.a(d,f):a.call(null,d,f)}()),r+=1;else break;return rd(m.U(),d(b+l,Kb(g)))}return G(function(){var d=A(g);return a.a?a.a(b,d):a.call(null,b,d)}(),d(b+1,B(g)))}return null},null,null)}(0,b)}function Id(a,b,c,d){this.state=a;this.l=b;this.Mb=c;this.qb=d;this.i=6455296;this.p=16386}h=Id.prototype;h.B=function(){return this[ca]||(this[ca]=++da)};h.ob=function(a,b,c){for(var d=y(this.qb),e=null,f=0,g=0;;)if(g<f){a=e.L(null,g);var k=I.c(a,0,null);a=I.c(a,1,null);var l=b,m=c;a.m?a.m(k,this,l,m):a.call(null,k,this,l,m);g+=1}else if(a=y(d))d=a,Nc(d)?(e=Jb(d),d=Kb(d),a=e,f=H(e),e=a):(a=A(d),k=I.c(a,0,null),a=I.c(a,1,null),e=k,f=b,g=c,a.m?a.m(e,this,f,g):a.call(null,e,this,f,g),d=E(d),e=null,f=0),g=0;else return null};h.C=function(){return this.l};h.bb=function(){return this.state};h.u=function(a,b){return this===b};var Ld=function(){function a(a){return new Id(a,null,null,null)}var b=null,c=function(){function a(c,d){var k=null;1<arguments.length&&(k=F(Array.prototype.slice.call(arguments,1),0));return b.call(this,c,k)}function b(a,c){var d=Sc(c)?J.a(Jd,c):c,e=Bc.a(d,Kd),d=Bc.a(d,pa);return new Id(a,d,e,null)}a.k=1;a.g=function(a){var c=A(a);a=B(a);return b(c,a)};a.f=b;return a}(),b=function(b,e){switch(arguments.length){case 1:return a.call(this,b);default:return c.f(b,F(arguments,1))}throw Error("Invalid arity: "+arguments.length)};b.k=1;b.g=c.g;b.b=a;b.f=c.f;return b}();function Md(a,b){if(a instanceof Id){var c=a.Mb;if(null!=c&&!s(c.b?c.b(b):c.call(null,b)))throw Error("Assert failed: Validator rejected reference state\n"+v.b(function(){var a=M(new cc(null,"validate","validate",1439230700,null),new cc(null,"new-value","new-value",-1567397401,null));return Nd.b?Nd.b(a):Nd.call(null,a)}()));c=a.state;a.state=b;null!=a.qb&&Ab(a,c,b);return b}return Mb(a,b)}var Od=function(){function a(a,b,c,d){if(a instanceof Id){var e=a.state;b=b.c?b.c(e,c,d):b.call(null,e,c,d);a=Md(a,b)}else a=Nb.m(a,b,c,d);return a}function b(a,b,c){if(a instanceof Id){var d=a.state;b=b.a?b.a(d,c):b.call(null,d,c);a=Md(a,b)}else a=Nb.c(a,b,c);return a}function c(a,b){var c;a instanceof Id?(c=a.state,c=b.b?b.b(c):b.call(null,c),c=Md(a,c)):c=Nb.a(a,b);return c}var d=null,e=function(){function a(c,d,e,f,n){var p=null;4<arguments.length&&(p=F(Array.prototype.slice.call(arguments,4),0));return b.call(this,c,d,e,f,p)}function b(a,c,d,e,f){return a instanceof Id?Md(a,J.s(c,a.state,d,e,f)):Nb.s(a,c,d,e,f)}a.k=4;a.g=function(a){var c=A(a);a=E(a);var d=A(a);a=E(a);var e=A(a);a=E(a);var f=A(a);a=B(a);return b(c,d,e,f,a)};a.f=b;return a}(),d=function(d,g,k,l,m){switch(arguments.length){case 2:return c.call(this,d,g);case 3:return b.call(this,d,g,k);case 4:return a.call(this,d,g,k,l);default:return e.f(d,g,k,l,F(arguments,4))}throw Error("Invalid arity: "+arguments.length)};d.k=4;d.g=e.g;d.a=c;d.c=b;d.m=a;d.f=e.f;return d}(),Pd=function(){function a(a,b,c,d){return new ld(null,function(){var f=y(b),n=y(c),p=y(d);if(f&&n&&p){var C=G,D;D=A(f);var z=A(n),K=A(p);D=a.c?a.c(D,z,K):a.call(null,D,z,K);f=C(D,e.m(a,B(f),B(n),B(p)))}else f=null;return f},null,null)}function b(a,b,c){return new ld(null,function(){var d=y(b),f=y(c);if(d&&f){var n=G,p;p=A(d);var C=A(f);p=a.a?a.a(p,C):a.call(null,p,C);d=n(p,e.c(a,B(d),B(f)))}else d=null;return d},null,null)}function c(a,b){return new ld(null,function(){var c=y(b);if(c){if(Nc(c)){for(var d=Jb(c),f=H(d),n=new nd(Array(f),0),p=0;;)if(p<f)sd(n,function(){var b=w.a(d,p);return a.b?a.b(b):a.call(null,b)}()),p+=1;else break;return rd(n.U(),e.a(a,Kb(c)))}return G(function(){var b=A(c);return a.b?a.b(b):a.call(null,b)}(),e.a(a,B(c)))}return null},null,null)}function d(a){return function(b){return function(){function c(d,e){var f=a.b?a.b(e):a.call(null,e);return b.a?b.a(d,f):b.call(null,d,f)}function d(a){return b.b?b.b(a):b.call(null,a)}function e(){return b.n?b.n():b.call(null)}var f=null,p=function(){function c(a,b,e){var f=null;2<arguments.length&&(f=F(Array.prototype.slice.call(arguments,2),0));return d.call(this,a,b,f)}function d(c,e,f){e=J.c(a,e,f);return b.a?b.a(c,e):b.call(null,c,e)}c.k=2;c.g=function(a){var b=A(a);a=E(a);var c=A(a);a=B(a);return d(b,c,a)};c.f=d;return c}(),f=function(a,b,f){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:return p.f(a,b,F(arguments,2))}throw Error("Invalid arity: "+arguments.length)};f.k=2;f.g=p.g;f.n=e;f.b=d;f.a=c;f.f=p.f;return f}()}}var e=null,f=function(){function a(c,d,e,f,g){var C=null;4<arguments.length&&(C=F(Array.prototype.slice.call(arguments,4),0));return b.call(this,c,d,e,f,C)}function b(a,c,d,f,g){var k=function z(a){return new ld(null,function(){var b=e.a(y,a);return Dd(Wc,b)?G(e.a(A,b),z(e.a(B,b))):null},null,null)};return e.a(function(){return function(b){return J.a(a,b)}}(k),k(zc.f(g,f,F([d,c],0))))}a.k=4;a.g=function(a){var c=A(a);a=E(a);var d=A(a);a=E(a);var e=A(a);a=E(a);var f=A(a);a=B(a);return b(c,d,e,f,a)};a.f=b;return a}(),e=function(e,k,l,m,r){switch(arguments.length){case 1:return d.call(this,e);case 2:return c.call(this,e,k);case 3:return b.call(this,e,k,l);case 4:return a.call(this,e,k,l,m);default:return f.f(e,k,l,m,F(arguments,4))}throw Error("Invalid arity: "+arguments.length)};e.k=4;e.g=f.g;e.b=d;e.a=c;e.c=b;e.m=a;e.f=f.f;return e}(),Qd=function(){function a(a,b){return new ld(null,function(){if(0<a){var f=y(b);return f?G(A(f),c.a(a-1,B(f))):null}return null},null,null)}function b(a){return function(b){return function(a){return function(){function c(d,g){var k=gb(a),l=Od.a(a,Yc),k=0<k?b.a?b.a(d,g):b.call(null,d,g):d;return 0<l?k:new jc(k)}function d(a){return b.b?b.b(a):b.call(null,a)}function l(){return b.n?b.n():b.call(null)}var m=null,m=function(a,b){switch(arguments.length){case 0:return l.call(this);case 1:return d.call(this,a);case 2:return c.call(this,a,b)}throw Error("Invalid arity: "+arguments.length)};m.n=l;m.b=d;m.a=c;return m}()}(Ld.b(a))}}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length)};c.b=b;c.a=a;return c}(),Rd=function(){function a(a,b){return new ld(null,function(c){return function(){return c(a,b)}}(function(a,b){for(;;){var c=y(b);if(0<a&&c){var d=a-1,c=B(c);a=d;b=c}else return c}}),null,null)}function b(a){return function(b){return function(a){return function(){function c(d,g){var k=gb(a);Od.a(a,Yc);return 0<k?d:b.a?b.a(d,g):b.call(null,d,g)}function d(a){return b.b?b.b(a):b.call(null,a)}function l(){return b.n?b.n():b.call(null)}var m=null,m=function(a,b){switch(arguments.length){case 0:return l.call(this);case 1:return d.call(this,a);case 2:return c.call(this,a,b)}throw Error("Invalid arity: "+arguments.length)};m.n=l;m.b=d;m.a=c;return m}()}(Ld.b(a))}}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length)};c.b=b;c.a=a;return c}();function Sd(a,b){for(var c=y(b),d=y(Rd.a(a,b));;)if(d)c=E(c),d=E(d);else return c}var Td=function(){function a(a,b){return Qd.a(a,c.b(b))}function b(a){return new ld(null,function(){return G(a,c.b(a))},null,null)}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length)};c.b=b;c.a=a;return c}(),Ud=function(){function a(a,c){return new ld(null,function(){var f=y(a),g=y(c);return f&&g?G(A(f),G(A(g),b.a(B(f),B(g)))):null},null,null)}var b=null,c=function(){function a(b,d,k){var l=null;2<arguments.length&&(l=F(Array.prototype.slice.call(arguments,2),0));return c.call(this,b,d,l)}function c(a,d,e){return new ld(null,function(){var c=Pd.a(y,zc.f(e,d,F([a],0)));return Dd(Wc,c)?xd.a(Pd.a(A,c),J.a(b,Pd.a(B,c))):null},null,null)}a.k=2;a.g=function(a){var b=A(a);a=E(a);var d=A(a);a=B(a);return c(b,d,a)};a.f=c;return a}(),b=function(b,e,f){switch(arguments.length){case 2:return a.call(this,b,e);default:return c.f(b,e,F(arguments,2))}throw Error("Invalid arity: "+arguments.length)};b.k=2;b.g=c.g;b.a=a;b.f=c.f;return b}();function Vd(a,b){return Rd.a(1,Ud.a(Td.b(a),b))}var Xd=function(){function a(a){return Gd.a(Pd.b(a),Wd)}var b=null,c=function(){function a(c,d){var k=null;1<arguments.length&&(k=F(Array.prototype.slice.call(arguments,1),0));return b.call(this,c,k)}function b(a,c){return J.a(xd,J.c(Pd,a,c))}a.k=1;a.g=function(a){var c=A(a);a=B(a);return b(c,a)};a.f=b;return a}(),b=function(b,e){switch(arguments.length){case 1:return a.call(this,b);default:return c.f(b,F(arguments,1))}throw Error("Invalid arity: "+arguments.length)};b.k=1;b.g=c.g;b.b=a;b.f=c.f;return b}(),Yd=function(){function a(a,b){return new ld(null,function(){var f=y(b);if(f){if(Nc(f)){for(var g=Jb(f),k=H(g),l=new nd(Array(k),0),m=0;;)if(m<k){var r;r=w.a(g,m);r=a.b?a.b(r):a.call(null,r);s(r)&&(r=w.a(g,m),l.add(r));m+=1}else break;return rd(l.U(),c.a(a,Kb(f)))}g=A(f);f=B(f);return s(a.b?a.b(g):a.call(null,g))?G(g,c.a(a,f)):c.a(a,f)}return null},null,null)}function b(a){return function(b){return function(){function c(f,g){return s(a.b?a.b(g):a.call(null,g))?b.a?b.a(f,g):b.call(null,f,g):f}function g(a){return b.b?b.b(a):b.call(null,a)}function k(){return b.n?b.n():b.call(null)}var l=null,l=function(a,b){switch(arguments.length){case 0:return k.call(this);case 1:return g.call(this,a);case 2:return c.call(this,a,b)}throw Error("Invalid arity: "+arguments.length)};l.n=k;l.b=g;l.a=c;return l}()}}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length)};c.b=b;c.a=a;return c}(),Zd=function(){function a(a,b){return Yd.a(Fd(a),b)}function b(a){return Yd.b(Fd(a))}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length)};c.b=b;c.a=a;return c}();function $d(a){return function c(a){return new ld(null,function(){return G(a,s(Kc.b?Kc.b(a):Kc.call(null,a))?Xd.f(c,F([y.b?y.b(a):y.call(null,a)],0)):null)},null,null)}(a)}function ae(a){return Yd.a(function(a){return!Kc(a)},B($d(a)))}var be=function(){function a(a,b,c){a&&(a.p&4||a.tb)?(b=Xc.m(b,zd,Bb(a),c),b=Db(b),a=uc(b,Gc(a))):a=Xc.m(b,zc,a,c);return a}function b(a,b){var c;
null!=a?a&&(a.p&4||a.tb)?(c=Vc.c(Cb,Bb(a),b),c=Db(c),c=uc(c,Gc(a))):c=Vc.c(La,a,b):c=Vc.c(zc,ec,b);return c}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length)};c.a=b;c.c=a;return c}(),ce=function(){function a(a,b,c,k){return new ld(null,function(){var l=y(k);if(l){var m=Qd.a(a,l);return a===H(m)?G(m,d.m(a,b,c,Rd.a(b,l))):La(ec,Qd.a(a,xd.a(m,c)))}return null},null,null)}function b(a,b,c){return new ld(null,function(){var k=y(c);if(k){var l=Qd.a(a,k);return a===H(l)?G(l,d.c(a,b,Rd.a(b,k))):null}return null},null,null)}function c(a,b){return d.c(a,a,b)}var d=null,d=function(d,f,g,k){switch(arguments.length){case 2:return c.call(this,d,f);case 3:return b.call(this,d,f,g);case 4:return a.call(this,d,f,g,k)}throw Error("Invalid arity: "+arguments.length)};d.a=c;d.c=b;d.m=a;return d}();function de(a,b){this.q=a;this.d=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.h;return 32>a?0:a-1>>>5<<5}function ge(a,b,c){for(;;){if(0===b)return c;var d=ee(a);d.d[0]=c;c=d;b-=5}}var ie=function he(b,c,d,e){var f=new de(d.q,za(d.d)),g=b.h-1>>>c&31;5===c?f.d[g]=e:(d=d.d[g],b=null!=d?he(b,c-5,d,e):ge(null,c-5,e),f.d[g]=b);return f};function je(a,b){throw Error("No item "+v.b(a)+" in vector of length "+v.b(b))}function ke(a,b){if(b>=fe(a))return a.Q;for(var c=a.root,d=a.shift;;)if(0<d)var e=d-5,c=c.d[b>>>d&31],d=e;else return c.d}function le(a,b){return 0<=b&&b<a.h?ke(a,b):je(b,a.h)}var ne=function me(b,c,d,e,f){var g=new de(d.q,za(d.d));if(0===c)g.d[e&31]=f;else{var k=e>>>c&31;b=me(b,c-5,d.d[k],e,f);g.d[k]=b}return g};function te(a,b,c,d,e,f){this.j=a;this.Wa=b;this.d=c;this.va=d;this.start=e;this.end=f}te.prototype.hb=function(){return this.j<this.end};te.prototype.next=function(){32===this.j-this.Wa&&(this.d=ke(this.va,this.j),this.Wa+=32);var a=this.d[this.j&31];this.j+=1;return a};function O(a,b,c,d,e,f){this.l=a;this.h=b;this.shift=c;this.root=d;this.Q=e;this.o=f;this.i=167668511;this.p=8196}h=O.prototype;h.toString=function(){return Qb(this)};h.v=function(a,b){return Ta.c(this,b,null)};h.t=function(a,b,c){return"number"===typeof b?w.c(this,b,c):c};h.L=function(a,b){return le(this,b)[b&31]};h.V=function(a,b,c){return 0<=b&&b<this.h?ke(this,b)[b&31]:c};h.fb=function(a,b,c){if(0<=b&&b<this.h)return fe(this)<=b?(a=za(this.Q),a[b&31]=c,new O(this.l,this.h,this.shift,this.root,a,null)):new O(this.l,this.h,this.shift,ne(this,this.shift,this.root,b,c),this.Q,null);if(b===this.h)return La(this,c);throw Error("Index "+v.b(b)+" out of bounds [0,"+v.b(this.h)+"]")};h.Ua=function(){var a=this.h;return new te(0,0,0<H(this)?ke(this,0):null,this,0,a)};h.C=function(){return this.l};h.F=function(){return this.h};h.eb=function(){return w.a(this,0)};h.kb=function(){return w.a(this,1)};h.Va=function(){return 0<this.h?new rc(this,this.h-1,null):null};h.B=function(){var a=this.o;return null!=a?a:this.o=a=hc(this)};h.u=function(a,b){if(b instanceof O)if(this.h===H(b))for(var c=Ob(this),d=Ob(b);;)if(s(c.hb())){var e=c.next(),f=d.next();if(!x.a(e,f))return!1}else return!0;else return!1;else return sc(this,b)};h.Ga=function(){var a=this;return new ue(a.h,a.shift,function(){var b=a.root;return ve.b?ve.b(b):ve.call(null,b)}(),function(){var b=a.Q;return we.b?we.b(b):we.call(null,b)}())};h.K=function(){return uc(yc,this.l)};h.M=function(a,b){return mc.a(this,b)};h.N=function(a,b,c){a=0;for(var d=c;;)if(a<this.h){var e=ke(this,a);c=e.length;a:{for(var f=0;;)if(f<c){var g=e[f],d=b.a?b.a(d,g):b.call(null,d,g);if(kc(d)){e=d;break a}f+=1}else{e=d;break a}e=void 0}if(kc(e))return b=e,lc.b?lc.b(b):lc.call(null,b);a+=c;d=e}else return d};h.La=function(a,b,c){if("number"===typeof b)return fb(this,b,c);throw Error("Vector's key for assoc must be a number.")};h.H=function(){if(0===this.h)return null;if(32>=this.h)return new dc(this.Q,0);var a;a:{a=this.root;for(var b=this.shift;;)if(0<b)b-=5,a=a.d[0];else{a=a.d;break a}a=void 0}return xe.m?xe.m(this,a,0,0):xe.call(null,this,a,0,0)};h.I=function(a,b){return new O(b,this.h,this.shift,this.root,this.Q,this.o)};h.D=function(a,b){if(32>this.h-fe(this)){for(var c=this.Q.length,d=Array(c+1),e=0;;)if(e<c)d[e]=this.Q[e],e+=1;else break;d[c]=b;return new O(this.l,this.h+1,this.shift,this.root,d,null)}c=(d=this.h>>>5>1<<this.shift)?this.shift+5:this.shift;d?(d=ee(null),d.d[0]=this.root,e=ge(null,this.shift,new de(null,this.Q)),d.d[1]=e):d=ie(this,this.shift,this.root,new de(null,this.Q));return new O(this.l,this.h+1,c,d,[b],null)};h.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.L(null,c);case 3:return this.V(null,c,d)}throw Error("Invalid arity: "+arguments.length)};a.a=function(a,c){return this.L(null,c)};a.c=function(a,c,d){return this.V(null,c,d)};return a}();h.apply=function(a,b){return this.call.apply(this,[this].concat(za(b)))};h.b=function(a){return this.L(null,a)};h.a=function(a,b){return this.V(null,a,b)};var Q=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 O(null,0,5,Q,[],0);function ye(a){return Db(Vc.c(Cb,Bb(yc),a))}function ze(a,b,c,d,e,f){this.X=a;this.sa=b;this.j=c;this.J=d;this.l=e;this.o=f;this.i=32375020;this.p=1536}h=ze.prototype;h.toString=function(){return Qb(this)};h.C=function(){return this.l};h.S=function(){if(this.J+1<this.sa.length){var a;a=this.X;var b=this.sa,c=this.j,d=this.J+1;a=xe.m?xe.m(a,b,c,d):xe.call(null,a,b,c,d);return null==a?null:a}return Lb(this)};h.B=function(){var a=this.o;return null!=a?a:this.o=a=hc(this)};h.u=function(a,b){return sc(this,b)};h.K=function(){return uc(yc,this.l)};h.M=function(a,b){var c=this;return mc.a(function(){var a=c.X,b=c.j+c.J,f=H(c.X);return Ae.c?Ae.c(a,b,f):Ae.call(null,a,b,f)}(),b)};h.N=function(a,b,c){var d=this;return mc.c(function(){var a=d.X,b=d.j+d.J,c=H(d.X);return Ae.c?Ae.c(a,b,c):Ae.call(null,a,b,c)}(),b,c)};h.O=function(){return this.sa[this.J]};h.T=function(){if(this.J+1<this.sa.length){var a;a=this.X;var b=this.sa,c=this.j,d=this.J+1;a=xe.m?xe.m(a,b,c,d):xe.call(null,a,b,c,d);return null==a?ec:a}return Kb(this)};h.H=function(){return this};h.$a=function(){return pd.a(this.sa,this.J)};h.ab=function(){var a=this.j+this.sa.length;if(a<Fa(this.X)){var b=this.X,c=ke(this.X,a);return xe.m?xe.m(b,c,a,0):xe.call(null,b,c,a,0)}return ec};h.I=function(a,b){var c=this.X,d=this.sa,e=this.j,f=this.J;return xe.s?xe.s(c,d,e,f,b):xe.call(null,c,d,e,f,b)};h.D=function(a,b){return G(b,this)};h.Za=function(){var a=this.j+this.sa.length;if(a<Fa(this.X)){var b=this.X,c=ke(this.X,a);return xe.m?xe.m(b,c,a,0):xe.call(null,b,c,a,0)}return null};var xe=function(){function a(a,b,c,d,l){return new ze(a,b,c,d,l,null)}function b(a,b,c,d){return new ze(a,b,c,d,null,null)}function c(a,b,c){return new ze(a,le(a,b),b,c,null,null)}var d=null,d=function(d,f,g,k,l){switch(arguments.length){case 3:return c.call(this,d,f,g);case 4:return b.call(this,d,f,g,k);case 5:return a.call(this,d,f,g,k,l)}throw Error("Invalid arity: "+arguments.length)};d.c=c;d.m=b;d.s=a;return d}();function Be(a,b,c,d,e){this.l=a;this.va=b;this.start=c;this.end=d;this.o=e;this.i=166617887;this.p=8192}h=Be.prototype;h.toString=function(){return Qb(this)};h.v=function(a,b){return Ta.c(this,b,null)};h.t=function(a,b,c){return"number"===typeof b?w.c(this,b,c):c};h.L=function(a,b){return 0>b||this.end<=this.start+b?je(b,this.end-this.start):w.a(this.va,this.start+b)};h.V=function(a,b,c){return 0>b||this.end<=this.start+b?c:w.c(this.va,this.start+b,c)};h.fb=function(a,b,c){var d=this.start+b;a=this.l;c=Dc.c(this.va,d,c);b=this.start;var e=this.end,d=d+1,d=e>d?e:d;return Ce.s?Ce.s(a,c,b,d,null):Ce.call(null,a,c,b,d,null)};h.C=function(){return this.l};h.F=function(){return this.end-this.start};h.Va=function(){return this.start!==this.end?new rc(this,this.end-this.start-1,null):null};h.B=function(){var a=this.o;return null!=a?a:this.o=a=hc(this)};h.u=function(a,b){return sc(this,b)};h.K=function(){return uc(yc,this.l)};h.M=function(a,b){return mc.a(this,b)};h.N=function(a,b,c){return mc.c(this,b,c)};h.La=function(a,b,c){if("number"===typeof b)return fb(this,b,c);throw Error("Subvec's key for assoc must be a number.")};h.H=function(){var a=this;return function(b){return function d(e){return e===a.end?null:G(w.a(a.va,e),new ld(null,function(){return function(){return d(e+1)}}(b),null,null))}}(this)(a.start)};h.I=function(a,b){var c=this.va,d=this.start,e=this.end,f=this.o;return Ce.s?Ce.s(b,c,d,e,f):Ce.call(null,b,c,d,e,f)};h.D=function(a,b){var c=this.l,d=fb(this.va,this.end,b),e=this.start,f=this.end+1;return Ce.s?Ce.s(c,d,e,f,null):Ce.call(null,c,d,e,f,null)};h.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.L(null,c);case 3:return this.V(null,c,d)}throw Error("Invalid arity: "+arguments.length)};a.a=function(a,c){return this.L(null,c)};a.c=function(a,c,d){return this.V(null,c,d)};return a}();h.apply=function(a,b){return this.call.apply(this,[this].concat(za(b)))};h.b=function(a){return this.L(null,a)};h.a=function(a,b){return this.V(null,a,b)};function Ce(a,b,c,d,e){for(;;)if(b instanceof Be)c=b.start+c,d=b.start+d,b=b.va;else{var f=H(b);if(0>c||0>d||c>f||d>f)throw Error("Index out of bounds");return new Be(a,b,c,d,e)}}var Ae=function(){function a(a,b,c){return Ce(null,a,b,c,null)}function b(a,b){return c.c(a,b,H(a))}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length)};c.a=b;c.c=a;return c}();function De(a,b){return a===b.q?b:new de(a,za(b.d))}function ve(a){return new de({},za(a.d))}function we(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];Pc(a,0,b,0,a.length);return b}var Fe=function Ee(b,c,d,e){d=De(b.root.q,d);var f=b.h-1>>>c&31;if(5===c)b=e;else{var g=d.d[f];b=null!=g?Ee(b,c-5,g,e):ge(b.root.q,c-5,e)}d.d[f]=b;return d};function ue(a,b,c,d){this.h=a;this.shift=b;this.root=c;this.Q=d;this.i=275;this.p=88}h=ue.prototype;h.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.v(null,c);case 3:return this.t(null,c,d)}throw Error("Invalid arity: "+arguments.length)};a.a=function(a,c){return this.v(null,c)};a.c=function(a,c,d){return this.t(null,c,d)};return a}();h.apply=function(a,b){return this.call.apply(this,[this].concat(za(b)))};h.b=function(a){return this.v(null,a)};h.a=function(a,b){return this.t(null,a,b)};h.v=function(a,b){return Ta.c(this,b,null)};h.t=function(a,b,c){return"number"===typeof b?w.c(this,b,c):c};h.L=function(a,b){if(this.root.q)return le(this,b)[b&31];throw Error("nth after persistent!")};h.V=function(a,b,c){return 0<=b&&b<this.h?w.a(this,b):c};h.F=function(){if(this.root.q)return this.h;throw Error("count after persistent!")};h.nb=function(a,b,c){var d=this;if(d.root.q){if(0<=b&&b<d.h)return fe(this)<=b?d.Q[b&31]=c:(a=function(){return function f(a,k){var l=De(d.root.q,k);if(0===a)l.d[b&31]=c;else{var m=b>>>a&31,r=f(a-5,l.d[m]);l.d[m]=r}return l}}(this).call(null,d.shift,d.root),d.root=a),this;if(b===d.h)return Cb(this,c);throw Error("Index "+v.b(b)+" out of bounds for TransientVector of length"+v.b(d.h))}throw Error("assoc! after persistent!")};h.Na=function(a,b,c){if("number"===typeof b)return Hb(this,b,c);throw Error("TransientVector's key for assoc! must be a number.")};h.Ba=function(a,b){if(this.root.q){if(32>this.h-fe(this))this.Q[this.h&31]=b;else{var c=new de(this.root.q,this.Q),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.Q=d;if(this.h>>>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.q,this.shift,c);this.root=new de(this.root.q,d);this.shift=e}else this.root=Fe(this,this.shift,this.root,c)}this.h+=1;return this}throw Error("conj! after persistent!")};h.Ca=function(){if(this.root.q){this.root.q=null;var a=this.h-fe(this),b=Array(a);Pc(this.Q,0,b,0,a);return new O(null,this.h,this.shift,this.root,b,null)}throw Error("persistent! called twice")};function Ge(){this.p=0;this.i=2097152}Ge.prototype.u=function(){return!1};var He=new Ge;function Ie(a,b){return Tc(Lc(b)?H(a)===H(b)?Dd(Wc,Pd.a(function(a){return x.a(Bc.c(b,A(a),He),wc(a))},a)):null:null)}function Je(a,b){var c=a.d;if(b instanceof N)a:{for(var d=c.length,e=b.wa,f=0;;){if(d<=f){c=-1;break a}var g=c[f];if(g instanceof N&&e===g.wa){c=f;break a}f+=2}c=void 0}else if(d="string"==typeof b,s(s(d)?d:"number"===typeof b))a:{d=c.length;for(e=0;;){if(d<=e){c=-1;break a}if(b===c[e]){c=e;break a}e+=2}c=void 0}else if(b instanceof cc)a:{d=c.length;e=b.Aa;for(f=0;;){if(d<=f){c=-1;break a}g=c[f];if(g instanceof cc&&e===g.Aa){c=f;break a}f+=2}c=void 0}else if(null==b)a:{d=c.length;for(e=0;;){if(d<=e){c=-1;break a}if(null==c[e]){c=e;break a}e+=2}c=void 0}else a:{d=c.length;for(e=0;;){if(d<=e){c=-1;break a}if(x.a(b,c[e])){c=e;break a}e+=2}c=void 0}return c}function Ke(a,b,c){this.d=a;this.j=b;this.$=c;this.p=0;this.i=32374990}h=Ke.prototype;h.toString=function(){return Qb(this)};h.C=function(){return this.$};h.S=function(){return this.j<this.d.length-2?new Ke(this.d,this.j+2,this.$):null};h.F=function(){return(this.d.length-this.j)/2};h.B=function(){return hc(this)};h.u=function(a,b){return sc(this,b)};h.K=function(){return uc(ec,this.$)};h.M=function(a,b){return vc.a(b,this)};h.N=function(a,b,c){return vc.c(b,c,this)};h.O=function(){return new O(null,2,5,Q,[this.d[this.j],this.d[this.j+1]],null)};h.T=function(){return this.j<this.d.length-2?new Ke(this.d,this.j+2,this.$):ec};h.H=function(){return this};h.I=function(a,b){return new Ke(this.d,this.j,b)};h.D=function(a,b){return G(b,this)};function Le(a,b,c){this.d=a;this.j=b;this.h=c}Le.prototype.hb=function(){return this.j<this.h};Le.prototype.next=function(){var a=new O(null,2,5,Q,[this.d[this.j],this.d[this.j+1]],null);this.j+=2;return a};function ja(a,b,c,d){this.l=a;this.h=b;this.d=c;this.o=d;this.i=16647951;this.p=8196}h=ja.prototype;h.toString=function(){return Qb(this)};h.v=function(a,b){return Ta.c(this,b,null)};h.t=function(a,b,c){a=Je(this,b);return-1===a?c:this.d[a+1]};h.Ua=function(){return new Le(this.d,0,2*this.h)};h.C=function(){return this.l};h.F=function(){return this.h};h.B=function(){var a=this.o;return null!=a?a:this.o=a=ic(this)};h.u=function(a,b){if(b&&(b.i&1024||b.zb)){var c=this.d.length;if(this.h===b.F(null))for(var d=0;;)if(d<c){var e=b.t(null,this.d[d],Rc);if(e!==Rc)if(x.a(this.d[d+1],e))d+=2;else return!1;else return!1}else return!0;else return!1}else return Ie(this,b)};h.Ga=function(){return new Me({},this.d.length,za(this.d))};h.K=function(){return kb(Ne,this.l)};h.M=function(a,b){return vc.a(b,this)};h.N=function(a,b,c){return vc.c(b,c,this)};h.cb=function(a,b){if(0<=Je(this,b)){var c=this.d.length,d=c-2;if(0===d)return Ga(this);for(var d=Array(d),e=0,f=0;;){if(e>=c)return new ja(this.l,this.h-1,d,null);x.a(b,this.d[e])||(d[f]=this.d[e],d[f+1]=this.d[e+1],f+=2);e+=2}}else return this};h.La=function(a,b,c){a=Je(this,b);if(-1===a){if(this.h<Oe){a=this.d;for(var d=a.length,e=Array(d+2),f=0;;)if(f<d)e[f]=a[f],f+=1;else break;e[d]=b;e[d+1]=c;return new ja(this.l,this.h+1,e,null)}return kb(Va(be.a(Re,this),b,c),this.l)}if(c===this.d[a+1])return this;b=za(this.d);b[a+1]=c;return new ja(this.l,this.h,b,null)};h.Ya=function(a,b){return-1!==Je(this,b)};h.H=function(){var a=this.d;return 0<=a.length-2?new Ke(a,0,null):null};h.I=function(a,b){return new ja(b,this.h,this.d,this.o)};h.D=function(a,b){if(Mc(b))return Va(this,w.a(b,0),w.a(b,1));for(var c=this,d=y(b);;){if(null==d)return c;var e=A(d);if(Mc(e))c=Va(c,w.a(e,0),w.a(e,1)),d=E(d);else throw Error("conj on a map takes map entries or seqables of map entries")}};h.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.v(null,c);case 3:return this.t(null,c,d)}throw Error("Invalid arity: "+arguments.length)};a.a=function(a,c){return this.v(null,c)};a.c=function(a,c,d){return this.t(null,c,d)};return a}();h.apply=function(a,b){return this.call.apply(this,[this].concat(za(b)))};h.b=function(a){return this.v(null,a)};h.a=function(a,b){return this.t(null,a,b)};var Ne=new ja(null,0,[],null),Oe=8;function Me(a,b,c){this.Ha=a;this.Ka=b;this.d=c;this.p=56;this.i=258}h=Me.prototype;h.Na=function(a,b,c){var d=this;if(s(d.Ha)){a=Je(this,b);if(-1===a)return d.Ka+2<=2*Oe?(d.Ka+=2,d.d.push(b),d.d.push(c),this):Ad.c(function(){var a=d.Ka,b=d.d;return Se.a?Se.a(a,b):Se.call(null,a,b)}(),b,c);c!==d.d[a+1]&&(d.d[a+1]=c);return this}throw Error("assoc! after persistent!")};h.Ba=function(a,b){if(s(this.Ha)){if(b?b.i&2048||b.Ab||(b.i?0:t(Za,b)):t(Za,b))return Gb(this,Te.b?Te.b(b):Te.call(null,b),Ue.b?Ue.b(b):Ue.call(null,b));for(var c=y(b),d=this;;){var e=A(c);if(s(e))var f=e,c=E(c),d=Gb(d,function(){var a=f;return Te.b?Te.b(a):Te.call(null,a)}(),function(){var a=f;return Ue.b?Ue.b(a):Ue.call(null,a)}());else return d}}else throw Error("conj! after persistent!")};h.Ca=function(){if(s(this.Ha))return this.Ha=!1,new ja(null,ad(this.Ka),this.d,null);throw Error("persistent! called twice")};h.v=function(a,b){return Ta.c(this,b,null)};h.t=function(a,b,c){if(s(this.Ha))return a=Je(this,b),-1===a?c:this.d[a+1];throw Error("lookup after persistent!")};h.F=function(){if(s(this.Ha))return ad(this.Ka);throw Error("count after persistent!")};function Se(a,b){for(var c=Bb(Re),d=0;;)if(d<a)c=Ad.c(c,b[d],b[d+1]),d+=2;else return c}function Ve(){this.Z=!1}function We(a,b){return a===b?!0:id(a,b)?!0:x.a(a,b)}var Xe=function(){function a(a,b,c,g,k){a=za(a);a[b]=c;a[g]=k;return a}function b(a,b,c){a=za(a);a[b]=c;return a}var c=null,c=function(c,e,f,g,k){switch(arguments.length){case 3:return b.call(this,c,e,f);case 5:return a.call(this,c,e,f,g,k)}throw Error("Invalid arity: "+arguments.length)};c.c=b;c.s=a;return c}();function Ye(a,b){var c=Array(a.length-2);Pc(a,0,c,0,2*b);Pc(a,2*(b+1),c,2*b,c.length-2*b);return c}var Ze=function(){function a(a,b,c,g,k,l){a=a.Ia(b);a.d[c]=g;a.d[k]=l;return a}function b(a,b,c,g){a=a.Ia(b);a.d[c]=g;return a}var c=null,c=function(c,e,f,g,k,l){switch(arguments.length){case 4:return b.call(this,c,e,f,g);case 6:return a.call(this,c,e,f,g,k,l)}throw Error("Invalid arity: "+arguments.length)};c.m=b;c.R=a;return c}();function $e(a,b,c){this.q=a;this.r=b;this.d=c}h=$e.prototype;h.Ia=function(a){if(a===this.q)return this;var b=bd(this.r),c=Array(0>b?4:2*(b+1));Pc(this.d,0,c,0,2*b);return new $e(a,this.r,c)};h.Oa=function(){var a=this.d;return af.b?af.b(a):af.call(null,a)};h.xa=function(a,b,c,d){var e=1<<(b>>>a&31);if(0===(this.r&e))return d;var f=bd(this.r&e-1),e=this.d[2*f],f=this.d[2*f+1];return null==e?f.xa(a+5,b,c,d):We(c,e)?f:d};h.ba=function(a,b,c,d,e,f){var g=1<<(c>>>b&31),k=bd(this.r&g-1);if(0===(this.r&g)){var l=bd(this.r);if(2*l<this.d.length){var m=this.Ia(a),r=m.d;f.Z=!0;Qc(r,2*k,r,2*(k+1),2*(l-k));r[2*k]=d;r[2*k+1]=e;m.r|=g;return m}if(16<=l){g=[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];g[c>>>b&31]=bf.ba(a,b+5,c,d,e,f);for(m=k=0;;)if(32>k)0!==(this.r>>>k&1)&&(g[k]=null!=this.d[m]?bf.ba(a,b+5,Zb(this.d[m]),this.d[m],this.d[m+1],f):this.d[m+1],m+=2),k+=1;else break;return new cf(a,l+1,g)}r=Array(2*(l+4));Pc(this.d,0,r,0,2*k);r[2*k]=d;r[2*k+1]=e;Pc(this.d,2*k,r,2*(k+1),2*(l-k));f.Z=!0;m=this.Ia(a);m.d=r;m.r|=g;return m}var n=this.d[2*k],p=this.d[2*k+1];if(null==n)return l=p.ba(a,b+5,c,d,e,f),l===p?this:Ze.m(this,a,2*k+1,l);if(We(d,n))return e===p?this:Ze.m(this,a,2*k+1,e);f.Z=!0;return Ze.R(this,a,2*k,null,2*k+1,function(){var f=b+5;return df.Y?df.Y(a,f,n,p,c,d,e):df.call(null,a,f,n,p,c,d,e)}())};h.aa=function(a,b,c,d,e){var f=1<<(b>>>a&31),g=bd(this.r&f-1);if(0===(this.r&f)){var k=bd(this.r);if(16<=k){f=[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];f[b>>>a&31]=bf.aa(a+5,b,c,d,e);for(var l=g=0;;)if(32>g)0!==(this.r>>>g&1)&&(f[g]=null!=this.d[l]?bf.aa(a+5,Zb(this.d[l]),this.d[l],this.d[l+1],e):this.d[l+1],l+=2),g+=1;else break;return new cf(null,k+1,f)}l=Array(2*(k+1));Pc(this.d,0,l,0,2*g);l[2*g]=c;l[2*g+1]=d;Pc(this.d,2*g,l,2*(g+1),2*(k-g));e.Z=!0;return new $e(null,this.r|f,l)}var m=this.d[2*g],r=this.d[2*g+1];if(null==m)return k=r.aa(a+5,b,c,d,e),k===r?this:new $e(null,this.r,Xe.c(this.d,2*g+1,k));if(We(c,m))return d===r?this:new $e(null,this.r,Xe.c(this.d,2*g+1,d));e.Z=!0;return new $e(null,this.r,Xe.s(this.d,2*g,null,2*g+1,function(){var e=a+5;return df.R?df.R(e,m,r,b,c,d):df.call(null,e,m,r,b,c,d)}()))};h.Pa=function(a,b,c){var d=1<<(b>>>a&31);if(0===(this.r&d))return this;var e=bd(this.r&d-1),f=this.d[2*e],g=this.d[2*e+1];return null==f?(a=g.Pa(a+5,b,c),a===g?this:null!=a?new $e(null,this.r,Xe.c(this.d,2*e+1,a)):this.r===d?null:new $e(null,this.r^d,Ye(this.d,e))):We(c,f)?new $e(null,this.r^d,Ye(this.d,e)):this};var bf=new $e(null,0,[]);function cf(a,b,c){this.q=a;this.h=b;this.d=c}h=cf.prototype;h.Ia=function(a){return a===this.q?this:new cf(a,this.h,za(this.d))};h.Oa=function(){var a=this.d;return ef.b?ef.b(a):ef.call(null,a)};h.xa=function(a,b,c,d){var e=this.d[b>>>a&31];return null!=e?e.xa(a+5,b,c,d):d};h.ba=function(a,b,c,d,e,f){var g=c>>>b&31,k=this.d[g];if(null==k)return a=Ze.m(this,a,g,bf.ba(a,b+5,c,d,e,f)),a.h+=1,a;b=k.ba(a,b+5,c,d,e,f);return b===k?this:Ze.m(this,a,g,b)};h.aa=function(a,b,c,d,e){var f=b>>>a&31,g=this.d[f];if(null==g)return new cf(null,this.h+1,Xe.c(this.d,f,bf.aa(a+5,b,c,d,e)));a=g.aa(a+5,b,c,d,e);return a===g?this:new cf(null,this.h,Xe.c(this.d,f,a))};h.Pa=function(a,b,c){var d=b>>>a&31,e=this.d[d];if(null!=e){a=e.Pa(a+5,b,c);if(a===e)d=this;else if(null==a)if(8>=this.h)a:{e=this.d;a=e.length;b=Array(2*(this.h-1));c=0;for(var f=1,g=0;;)if(c<a)c!==d&&null!=e[c]&&(b[f]=e[c],f+=2,g|=1<<c),c+=1;else{d=new $e(null,g,b);break a}d=void 0}else d=new cf(null,this.h-1,Xe.c(this.d,d,a));else d=new cf(null,this.h,Xe.c(this.d,d,a));return d}return this};function ff(a,b,c){b*=2;for(var d=0;;)if(d<b){if(We(c,a[d]))return d;d+=2}else return-1}function gf(a,b,c,d){this.q=a;this.ra=b;this.h=c;this.d=d}h=gf.prototype;h.Ia=function(a){if(a===this.q)return this;var b=Array(2*(this.h+1));Pc(this.d,0,b,0,2*this.h);return new gf(a,this.ra,this.h,b)};h.Oa=function(){var a=this.d;return af.b?af.b(a):af.call(null,a)};h.xa=function(a,b,c,d){a=ff(this.d,this.h,c);return 0>a?d:We(c,this.d[a])?this.d[a+1]:d};h.ba=function(a,b,c,d,e,f){if(c===this.ra){b=ff(this.d,this.h,d);if(-1===b){if(this.d.length>2*this.h)return a=Ze.R(this,a,2*this.h,d,2*this.h+1,e),f.Z=!0,a.h+=1,a;c=this.d.length;b=Array(c+2);Pc(this.d,0,b,0,c);b[c]=d;b[c+1]=e;f.Z=!0;f=this.h+1;a===this.q?(this.d=b,this.h=f,a=this):a=new gf(this.q,this.ra,f,b);return a}return this.d[b+1]===e?this:Ze.m(this,a,b+1,e)}return new $e(a,1<<(this.ra>>>b&31),[null,this,null,null]).ba(a,b,c,d,e,f)};h.aa=function(a,b,c,d,e){return b===this.ra?(a=ff(this.d,this.h,c),-1===a?(a=2*this.h,b=Array(a+2),Pc(this.d,0,b,0,a),b[a]=c,b[a+1]=d,e.Z=!0,new gf(null,this.ra,this.h+1,b)):x.a(this.d[a],d)?this:new gf(null,this.ra,this.h,Xe.c(this.d,a+1,d))):new $e(null,1<<(this.ra>>>a&31),[null,this]).aa(a,b,c,d,e)};h.Pa=function(a,b,c){a=ff(this.d,this.h,c);return-1===a?this:1===this.h?null:new gf(null,this.ra,this.h-1,Ye(this.d,ad(a)))};var df=function(){function a(a,b,c,g,k,l,m){var r=Zb(c);if(r===k)return new gf(null,r,2,[c,g,l,m]);var n=new Ve;return bf.ba(a,b,r,c,g,n).ba(a,b,k,l,m,n)}function b(a,b,c,g,k,l){var m=Zb(b);if(m===g)return new gf(null,m,2,[b,c,k,l]);var r=new Ve;return bf.aa(a,m,b,c,r).aa(a,g,k,l,r)}var c=null,c=function(c,e,f,g,k,l,m){switch(arguments.length){case 6:return b.call(this,c,e,f,g,k,l);case 7:return a.call(this,c,e,f,g,k,l,m)}throw Error("Invalid arity: "+arguments.length)};c.R=b;c.Y=a;return c}();function hf(a,b,c,d,e){this.l=a;this.za=b;this.j=c;this.A=d;this.o=e;this.p=0;this.i=32374860}h=hf.prototype;h.toString=function(){return Qb(this)};h.C=function(){return this.l};h.B=function(){var a=this.o;return null!=a?a:this.o=a=hc(this)};h.u=function(a,b){return sc(this,b)};h.K=function(){return uc(ec,this.l)};h.M=function(a,b){return vc.a(b,this)};h.N=function(a,b,c){return vc.c(b,c,this)};h.O=function(){return null==this.A?new O(null,2,5,Q,[this.za[this.j],this.za[this.j+1]],null):A(this.A)};h.T=function(){if(null==this.A){var a=this.za,b=this.j+2;return af.c?af.c(a,b,null):af.call(null,a,b,null)}var a=this.za,b=this.j,c=E(this.A);return af.c?af.c(a,b,c):af.call(null,a,b,c)};h.H=function(){return this};h.I=function(a,b){return new hf(b,this.za,this.j,this.A,this.o)};h.D=function(a,b){return G(b,this)};var af=function(){function a(a,b,c){if(null==c)for(c=a.length;;)if(b<c){if(null!=a[b])return new hf(null,a,b,null,null);var g=a[b+1];if(s(g)&&(g=g.Oa(),s(g)))return new hf(null,a,b+2,g,null);b+=2}else return null;else return new hf(null,a,b,c,null)}function b(a){return c.c(a,0,null)}var c=null,c=function(c,e,f){switch(arguments.length){case 1:return b.call(this,c);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length)};c.b=b;c.c=a;return c}();function jf(a,b,c,d,e){this.l=a;this.za=b;this.j=c;this.A=d;this.o=e;this.p=0;this.i=32374860}h=jf.prototype;h.toString=function(){return Qb(this)};h.C=function(){return this.l};h.B=function(){var a=this.o;return null!=a?a:this.o=a=hc(this)};h.u=function(a,b){return sc(this,b)};h.K=function(){return uc(ec,this.l)};h.M=function(a,b){return vc.a(b,this)};h.N=function(a,b,c){return vc.c(b,c,this)};h.O=function(){return A(this.A)};h.T=function(){var a=this.za,b=this.j,c=E(this.A);return ef.m?ef.m(null,a,b,c):ef.call(null,null,a,b,c)};h.H=function(){return this};h.I=function(a,b){return new jf(b,this.za,this.j,this.A,this.o)};h.D=function(a,b){return G(b,this)};var ef=function(){function a(a,b,c,g){if(null==g)for(g=b.length;;)if(c<g){var k=b[c];if(s(k)&&(k=k.Oa(),s(k)))return new jf(a,b,c+1,k,null);c+=1}else return null;else return new jf(a,b,c,g,null)}function b(a){return c.m(null,a,0,null)}var c=null,c=function(c,e,f,g){switch(arguments.length){case 1:return b.call(this,c);case 4:return a.call(this,c,e,f,g)}throw Error("Invalid arity: "+arguments.length)};c.b=b;c.m=a;return c}();function kf(a,b,c,d,e,f){this.l=a;this.h=b;this.root=c;this.P=d;this.W=e;this.o=f;this.i=16123663;this.p=8196}h=kf.prototype;h.toString=function(){return Qb(this)};h.v=function(a,b){return Ta.c(this,b,null)};h.t=function(a,b,c){return null==b?this.P?this.W:c:null==this.root?c:this.root.xa(0,Zb(b),b,c)};h.C=function(){return this.l};h.F=function(){return this.h};h.B=function(){var a=this.o;return null!=a?a:this.o=a=ic(this)};h.u=function(a,b){return Ie(this,b)};h.Ga=function(){return new lf({},this.root,this.h,this.P,this.W)};h.K=function(){return kb(Re,this.l)};h.cb=function(a,b){if(null==b)return this.P?new kf(this.l,this.h-1,this.root,!1,null,null):this;if(null==this.root)return this;var c=this.root.Pa(0,Zb(b),b);return c===this.root?this:new kf(this.l,this.h-1,c,this.P,this.W,null)};h.La=function(a,b,c){if(null==b)return this.P&&c===this.W?this:new kf(this.l,this.P?this.h:this.h+1,this.root,!0,c,null);a=new Ve;b=(null==this.root?bf:this.root).aa(0,Zb(b),b,c,a);return b===this.root?this:new kf(this.l,a.Z?this.h+1:this.h,b,this.P,this.W,null)};h.Ya=function(a,b){return null==b?this.P:null==this.root?!1:this.root.xa(0,Zb(b),b,Rc)!==Rc};h.H=function(){if(0<this.h){var a=null!=this.root?this.root.Oa():null;return this.P?G(new O(null,2,5,Q,[null,this.W],null),a):a}return null};h.I=function(a,b){return new kf(b,this.h,this.root,this.P,this.W,this.o)};h.D=function(a,b){if(Mc(b))return Va(this,w.a(b,0),w.a(b,1));for(var c=this,d=y(b);;){if(null==d)return c;var e=A(d);if(Mc(e))c=Va(c,w.a(e,0),w.a(e,1)),d=E(d);else throw Error("conj on a map takes map entries or seqables of map entries")}};h.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.v(null,c);case 3:return this.t(null,c,d)}throw Error("Invalid arity: "+arguments.length)};a.a=function(a,c){return this.v(null,c)};a.c=function(a,c,d){return this.t(null,c,d)};return a}();h.apply=function(a,b){return this.call.apply(this,[this].concat(za(b)))};h.b=function(a){return this.v(null,a)};h.a=function(a,b){return this.t(null,a,b)};var Re=new kf(null,0,null,!1,null,0);function Cc(a,b){for(var c=a.length,d=0,e=Bb(Re);;)if(d<c)var f=d+1,e=e.Na(null,a[d],b[d]),d=f;else return Db(e)}function lf(a,b,c,d,e){this.q=a;this.root=b;this.count=c;this.P=d;this.W=e;this.p=56;this.i=258}h=lf.prototype;h.Na=function(a,b,c){return mf(this,b,c)};h.Ba=function(a,b){return nf(this,b)};h.Ca=function(){var a;if(this.q)this.q=null,a=new kf(null,this.count,this.root,this.P,this.W,null);else throw Error("persistent! called twice");return a};h.v=function(a,b){return null==b?this.P?this.W:null:null==this.root?null:this.root.xa(0,Zb(b),b)};h.t=function(a,b,c){return null==b?this.P?this.W:c:null==this.root?c:this.root.xa(0,Zb(b),b,c)};h.F=function(){if(this.q)return this.count;throw Error("count after persistent!")};function nf(a,b){if(a.q){if(b?b.i&2048||b.Ab||(b.i?0:t(Za,b)):t(Za,b))return mf(a,Te.b?Te.b(b):Te.call(null,b),Ue.b?Ue.b(b):Ue.call(null,b));for(var c=y(b),d=a;;){var e=A(c);if(s(e))var f=e,c=E(c),d=mf(d,function(){var a=f;return Te.b?Te.b(a):Te.call(null,a)}(),function(){var a=f;return Ue.b?Ue.b(a):Ue.call(null,a)}());else return d}}else throw Error("conj! after persistent")}function mf(a,b,c){if(a.q){if(null==b)a.W!==c&&(a.W=c),a.P||(a.count+=1,a.P=!0);else{var d=new Ve;b=(null==a.root?bf:a.root).ba(a.q,0,Zb(b),b,c,d);b!==a.root&&(a.root=b);d.Z&&(a.count+=1)}return a}throw Error("assoc! after persistent!")}var Jd=function(){function a(a){var d=null;0<arguments.length&&(d=F(Array.prototype.slice.call(arguments,0),0));return b.call(this,d)}function b(a){a=y(a);for(var b=Bb(Re);;)if(a){var e=E(E(a)),b=Ad.c(b,A(a),wc(a));a=e}else return Db(b)}a.k=0;a.g=function(a){a=y(a);return b(a)};a.f=b;return a}(),of=function(){function a(a){var d=null;0<arguments.length&&(d=F(Array.prototype.slice.call(arguments,0),0));return b.call(this,d)}function b(a){return new ja(null,ad(H(a)),J.a(Aa,a),null)}a.k=0;a.g=function(a){a=y(a);return b(a)};a.f=b;return a}();function pf(a,b){this.ya=a;this.$=b;this.p=0;this.i=32374988}h=pf.prototype;h.toString=function(){return Qb(this)};h.C=function(){return this.$};h.S=function(){var a=this.ya,a=(a?a.i&128||a.lb||(a.i?0:t(Qa,a)):t(Qa,a))?this.ya.S(null):E(this.ya);return null==a?null:new pf(a,this.$)};h.B=function(){return hc(this)};h.u=function(a,b){return sc(this,b)};h.K=function(){return uc(ec,this.$)};h.M=function(a,b){return vc.a(b,this)};h.N=function(a,b,c){return vc.c(b,c,this)};h.O=function(){return this.ya.O(null).eb()};h.T=function(){var a=this.ya,a=(a?a.i&128||a.lb||(a.i?0:t(Qa,a)):t(Qa,a))?this.ya.S(null):E(this.ya);return null!=a?new pf(a,this.$):ec};h.H=function(){return this};h.I=function(a,b){return new pf(this.ya,b)};h.D=function(a,b){return G(b,this)};function Te(a){return $a(a)}function Ue(a){return ab(a)}function qf(a,b,c){this.l=a;this.Da=b;this.o=c;this.i=15077647;this.p=8196}h=qf.prototype;h.toString=function(){return Qb(this)};h.v=function(a,b){return Ta.c(this,b,null)};h.t=function(a,b,c){return Ua(this.Da,b)?b:c};h.C=function(){return this.l};h.F=function(){return Fa(this.Da)};h.B=function(){var a=this.o;return null!=a?a:this.o=a=ic(this)};h.u=function(a,b){return Jc(b)&&H(this)===H(b)&&Dd(function(a){return function(b){return Bc.c(a,b,Rc)===Rc?!1:!0}}(this),b)};h.Ga=function(){return new rf(Bb(this.Da))
};h.K=function(){return uc(sf,this.l)};h.mb=function(a,b){return new qf(this.l,Ya(this.Da,b),null)};h.H=function(){var a=y(this.Da);return a?new pf(a,null):null};h.I=function(a,b){return new qf(b,this.Da,this.o)};h.D=function(a,b){return new qf(this.l,Dc.c(this.Da,b,null),null)};h.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.v(null,c);case 3:return this.t(null,c,d)}throw Error("Invalid arity: "+arguments.length)};a.a=function(a,c){return this.v(null,c)};a.c=function(a,c,d){return this.t(null,c,d)};return a}();h.apply=function(a,b){return this.call.apply(this,[this].concat(za(b)))};h.b=function(a){return this.v(null,a)};h.a=function(a,b){return this.t(null,a,b)};var sf=new qf(null,Ne,0);function rf(a){this.ua=a;this.i=259;this.p=136}h=rf.prototype;h.call=function(){function a(a,b,c){return Ta.c(this.ua,b,Rc)===Rc?c:b}function b(a,b){return Ta.c(this.ua,b,Rc)===Rc?null:b}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length)};c.a=b;c.c=a;return c}();h.apply=function(a,b){return this.call.apply(this,[this].concat(za(b)))};h.b=function(a){return Ta.c(this.ua,a,Rc)===Rc?null:a};h.a=function(a,b){return Ta.c(this.ua,a,Rc)===Rc?b:a};h.v=function(a,b){return Ta.c(this,b,null)};h.t=function(a,b,c){return Ta.c(this.ua,b,Rc)===Rc?c:b};h.F=function(){return H(this.ua)};h.Ba=function(a,b){this.ua=Ad.c(this.ua,b,null);return this};h.Ca=function(){return new qf(null,Db(this.ua),null)};function tf(a){a=y(a);if(null==a)return sf;if(a instanceof dc&&0===a.j){a=a.d;a:{for(var b=0,c=Bb(sf);;)if(b<a.length)var d=b+1,c=c.Ba(null,a[b]),b=d;else{a=c;break a}a=void 0}return a.Ca(null)}for(d=Bb(sf);;)if(null!=a)b=a.S(null),d=d.Ba(null,a.O(null)),a=b;else return d.Ca(null)}function jd(a){if(a&&(a.p&4096||a.Cb))return a.name;if("string"===typeof a)return a;throw Error("Doesn't support name: "+v.b(a))}var uf=function(){function a(a,b,c){return(a.b?a.b(b):a.call(null,b))>(a.b?a.b(c):a.call(null,c))?b:c}var b=null,c=function(){function a(b,d,k,l){var m=null;3<arguments.length&&(m=F(Array.prototype.slice.call(arguments,3),0));return c.call(this,b,d,k,m)}function c(a,d,e,l){return Vc.c(function(c,d){return b.c(a,c,d)},b.c(a,d,e),l)}a.k=3;a.g=function(a){var b=A(a);a=E(a);var d=A(a);a=E(a);var l=A(a);a=B(a);return c(b,d,l,a)};a.f=c;return a}(),b=function(b,e,f,g){switch(arguments.length){case 2:return e;case 3:return a.call(this,b,e,f);default:return c.f(b,e,f,F(arguments,3))}throw Error("Invalid arity: "+arguments.length)};b.k=3;b.g=c.g;b.a=function(a,b){return b};b.c=a;b.f=c.f;return b}();function vf(a){this.d=a}vf.prototype.add=function(a){return this.d.push(a)};vf.prototype.clear=function(){return this.d=[]};var wf=function(){function a(a,b){return new ld(null,function(){var f=y(b);if(f){var g;g=A(f);g=a.b?a.b(g):a.call(null,g);f=s(g)?G(A(f),c.a(a,B(f))):null}else f=null;return f},null,null)}function b(a){return function(b){return function(){function c(f,g){return s(a.b?a.b(g):a.call(null,g))?b.a?b.a(f,g):b.call(null,f,g):new jc(f)}function g(a){return b.b?b.b(a):b.call(null,a)}function k(){return b.n?b.n():b.call(null)}var l=null,l=function(a,b){switch(arguments.length){case 0:return k.call(this);case 1:return g.call(this,a);case 2:return c.call(this,a,b)}throw Error("Invalid arity: "+arguments.length)};l.n=k;l.b=g;l.a=c;return l}()}}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length)};c.b=b;c.a=a;return c}(),yf=function(){function a(a,b){return new ld(null,function(){var f=y(b);if(f){var g=A(f),k=a.b?a.b(g):a.call(null,g),g=G(g,wf.a(function(b,c){return function(b){return x.a(c,a.b?a.b(b):a.call(null,b))}}(g,k,f,f),E(f)));return G(g,c.a(a,y(Rd.a(H(g),f))))}return null},null,null)}function b(a){return function(b){var c=new vf([]),g=Ld.b?Ld.b(xf):Ld.call(null,xf);return function(c,f){return function(){function g(m,n){var p=lc.b?lc.b(f):lc.call(null,f),r=a.b?a.b(n):a.call(null,n);Md.a?Md.a(f,r):Md.call(null,f,r);if(id(p,xf)||x.a(r,p))return c.add(n),m;p=ye(c.d);c.clear();p=b.a?b.a(m,p):b.call(null,m,p);kc(p)||c.add(n);return p}function r(a){if(!s(0===c.d.length)){var d=ye(c.d);c.clear();a=b.a?b.a(a,d):b.call(null,a,d)}return b.b?b.b(a):b.call(null,a)}function n(){return b.n?b.n():b.call(null)}var p=null,p=function(a,b){switch(arguments.length){case 0:return n.call(this);case 1:return r.call(this,a);case 2:return g.call(this,a,b)}throw Error("Invalid arity: "+arguments.length)};p.n=n;p.b=r;p.a=g;return p}()}(c,g)}}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length)};c.b=b;c.a=a;return c}(),jg=function(){function a(a,b){for(;;)if(y(b)&&0<a){var c=a-1,g=E(b);a=c;b=g}else return null}function b(a){for(;;)if(y(a))a=E(a);else return null}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length)};c.b=b;c.a=a;return c}(),kg=function(){function a(a,b){jg.a(a,b);return b}function b(a){jg.b(a);return a}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length)};c.b=b;c.a=a;return c}();function lg(a,b){if("string"===typeof b){var c=a.exec(b);return null==c?null:1===H(c)?A(c):ye(c)}throw new TypeError("re-find must match against a string.")}function mg(a){if(a instanceof RegExp)return a;var b=lg(/^(?:\(\?([idmsux]*)\))?(.*)/,a);I.c(b,0,null);a=I.c(b,1,null);b=I.c(b,2,null);return new RegExp(b,a)}function ng(a,b,c,d,e,f,g){var k=ha;try{ha=null==ha?null:ha-1;if(null!=ha&&0>ha)return xb(a,"#");xb(a,c);if(y(g)){var l=A(g);b.c?b.c(l,a,f):b.call(null,l,a,f)}for(var m=E(g),r=sa.b(f)-1;;)if(!m||null!=r&&0===r){y(m)&&0===r&&(xb(a,d),xb(a,"..."));break}else{xb(a,d);var n=A(m);c=a;g=f;b.c?b.c(n,c,g):b.call(null,n,c,g);var p=E(m);c=r-1;m=p;r=c}return xb(a,e)}finally{ha=k}}var og=function(){function a(a,d){var e=null;1<arguments.length&&(e=F(Array.prototype.slice.call(arguments,1),0));return b.call(this,a,e)}function b(a,b){for(var e=y(b),f=null,g=0,k=0;;)if(k<g){var l=f.L(null,k);xb(a,l);k+=1}else if(e=y(e))f=e,Nc(f)?(e=Jb(f),g=Kb(f),f=e,l=H(e),e=g,g=l):(l=A(f),xb(a,l),e=E(f),f=null,g=0),k=0;else return null}a.k=1;a.g=function(a){var d=A(a);a=B(a);return b(d,a)};a.f=b;return a}(),pg={'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"};function qg(a){return'"'+v.b(a.replace(RegExp('[\\\\"\b\f\n\r ]',"g"),function(a){return pg[a]}))+'"'}var tg=function rg(b,c,d){if(null==b)return xb(c,"nil");if(void 0===b)return xb(c,"#<undefined>");s(function(){var c=Bc.a(d,pa);return s(c)?(c=b?b.i&131072||b.Bb?!0:b.i?!1:t(hb,b):t(hb,b))?Gc(b):c:c}())&&(xb(c,"^"),rg(Gc(b),c,d),xb(c," "));if(null==b)return xb(c,"nil");if(b.Kb)return b.Xb(b,c,d);if(b&&(b.i&2147483648||b.G))return b.w(null,c,d);if(wa(b)===Boolean||"number"===typeof b)return xb(c,""+v.b(b));if(null!=b&&b.constructor===Object){xb(c,"#js ");var e=Pd.a(function(c){return new O(null,2,5,Q,[kd.b(c),b[c]],null)},Oc(b));return sg.m?sg.m(e,rg,c,d):sg.call(null,e,rg,c,d)}return b instanceof Array?ng(c,rg,"#js ["," ","]",d,b):s("string"==typeof b)?s(la.b(d))?xb(c,qg(b)):xb(c,b):Ec(b)?og.f(c,F(["#<",""+v.b(b),">"],0)):b instanceof Date?(e=function(b,c){for(var d=""+v.b(b);;)if(H(d)<c)d="0"+v.b(d);else return d},og.f(c,F(['#inst "',""+v.b(b.getUTCFullYear()),"-",e(b.getUTCMonth()+1,2),"-",e(b.getUTCDate(),2),"T",e(b.getUTCHours(),2),":",e(b.getUTCMinutes(),2),":",e(b.getUTCSeconds(),2),".",e(b.getUTCMilliseconds(),3),"-",'00:00"'],0))):b instanceof RegExp?og.f(c,F(['#"',b.source,'"'],0)):(b?b.i&2147483648||b.G||(b.i?0:t(yb,b)):t(yb,b))?zb(b,c,d):og.f(c,F(["#<",""+v.b(b),">"],0))};function ug(a,b){var c=new ga;a:{var d=new Pb(c);tg(A(a),d,b);for(var e=y(E(a)),f=null,g=0,k=0;;)if(k<g){var l=f.L(null,k);xb(d," ");tg(l,d,b);k+=1}else if(e=y(e))f=e,Nc(f)?(e=Jb(f),g=Kb(f),f=e,l=H(e),e=g,g=l):(l=A(f),xb(d," "),tg(l,d,b),e=E(f),f=null,g=0),k=0;else break a}return c}var Nd=function(){function a(a){var d=null;0<arguments.length&&(d=F(Array.prototype.slice.call(arguments,0),0));return b.call(this,d)}function b(a){var b=ia();return null==a||va(y(a))?"":""+v.b(ug(a,b))}a.k=0;a.g=function(a){a=y(a);return b(a)};a.f=b;return a}();function sg(a,b,c,d){return ng(c,function(a,c,d){var k=$a(a);b.c?b.c(k,c,d):b.call(null,k,c,d);xb(c," ");a=ab(a);return b.c?b.c(a,c,d):b.call(null,a,c,d)},"{",", ","}",d,y(a))}dc.prototype.G=!0;dc.prototype.w=function(a,b,c){return ng(b,tg,"("," ",")",c,this)};ld.prototype.G=!0;ld.prototype.w=function(a,b,c){return ng(b,tg,"("," ",")",c,this)};hf.prototype.G=!0;hf.prototype.w=function(a,b,c){return ng(b,tg,"("," ",")",c,this)};Ke.prototype.G=!0;Ke.prototype.w=function(a,b,c){return ng(b,tg,"("," ",")",c,this)};ze.prototype.G=!0;ze.prototype.w=function(a,b,c){return ng(b,tg,"("," ",")",c,this)};hd.prototype.G=!0;hd.prototype.w=function(a,b,c){return ng(b,tg,"("," ",")",c,this)};rc.prototype.G=!0;rc.prototype.w=function(a,b,c){return ng(b,tg,"("," ",")",c,this)};kf.prototype.G=!0;kf.prototype.w=function(a,b,c){return sg(this,tg,b,c)};jf.prototype.G=!0;jf.prototype.w=function(a,b,c){return ng(b,tg,"("," ",")",c,this)};Be.prototype.G=!0;Be.prototype.w=function(a,b,c){return ng(b,tg,"["," ","]",c,this)};qf.prototype.G=!0;qf.prototype.w=function(a,b,c){return ng(b,tg,"#{"," ","}",c,this)};qd.prototype.G=!0;qd.prototype.w=function(a,b,c){return ng(b,tg,"("," ",")",c,this)};Id.prototype.G=!0;Id.prototype.w=function(a,b,c){xb(b,"#<Atom: ");tg(this.state,b,c);return xb(b,">")};O.prototype.G=!0;O.prototype.w=function(a,b,c){return ng(b,tg,"["," ","]",c,this)};fd.prototype.G=!0;fd.prototype.w=function(a,b){return xb(b,"()")};ja.prototype.G=!0;ja.prototype.w=function(a,b,c){return sg(this,tg,b,c)};pf.prototype.G=!0;pf.prototype.w=function(a,b,c){return ng(b,tg,"("," ",")",c,this)};ed.prototype.G=!0;ed.prototype.w=function(a,b,c){return ng(b,tg,"("," ",")",c,this)};O.prototype.Ra=!0;O.prototype.Sa=function(a,b){return Uc.a(this,b)};Be.prototype.Ra=!0;Be.prototype.Sa=function(a,b){return Uc.a(this,b)};N.prototype.Ra=!0;N.prototype.Sa=function(a,b){return ac(this,b)};cc.prototype.Ra=!0;cc.prototype.Sa=function(a,b){return ac(this,b)};function vg(a){return function(b,c){var d=a.a?a.a(b,c):a.call(null,b,c);return kc(d)?new jc(d):d}}function Wd(a){return function(b){return function(){function c(a,c){return Vc.c(b,a,c)}function d(b){return a.b?a.b(b):a.call(null,b)}function e(){return a.n?a.n():a.call(null)}var f=null,f=function(a,b){switch(arguments.length){case 0:return e.call(this);case 1:return d.call(this,a);case 2:return c.call(this,a,b)}throw Error("Invalid arity: "+arguments.length)};f.n=e;f.b=d;f.a=c;return f}()}(vg(a))}var wg={};function xg(a){if(a?a.wb:a)return a.wb(a);var b;b=xg[q(null==a?null:a)];if(!b&&(b=xg._,!b))throw u("IEncodeJS.-clj->js",a);return b.call(null,a)}function yg(a){return(a?s(s(null)?null:a.vb)||(a.gb?0:t(wg,a)):t(wg,a))?xg(a):"string"===typeof a||"number"===typeof a||a instanceof N||a instanceof cc?zg.b?zg.b(a):zg.call(null,a):Nd.f(F([a],0))}var zg=function Ag(b){if(null==b)return null;if(b?s(s(null)?null:b.vb)||(b.gb?0:t(wg,b)):t(wg,b))return xg(b);if(b instanceof N)return jd(b);if(b instanceof cc)return""+v.b(b);if(Lc(b)){var c={};b=y(b);for(var d=null,e=0,f=0;;)if(f<e){var g=d.L(null,f),k=I.c(g,0,null),g=I.c(g,1,null);c[yg(k)]=Ag(g);f+=1}else if(b=y(b))Nc(b)?(e=Jb(b),b=Kb(b),d=e,e=H(e)):(e=A(b),d=I.c(e,0,null),e=I.c(e,1,null),c[yg(d)]=Ag(e),b=E(b),d=null,e=0),f=0;else break;return c}if(Ic(b)){c=[];b=y(Pd.a(Ag,b));d=null;for(f=e=0;;)if(f<e)k=d.L(null,f),c.push(k),f+=1;else if(b=y(b))d=b,Nc(d)?(b=Jb(d),f=Kb(d),d=b,e=H(b),b=f):(b=A(d),c.push(b),b=E(d),d=null,e=0),f=0;else break;return c}return b},Bg={};function Cg(a,b){if(a?a.ub:a)return a.ub(a,b);var c;c=Cg[q(null==a?null:a)];if(!c&&(c=Cg._,!c))throw u("IEncodeClojure.-js->clj",a);return c.call(null,a,b)}var Eg=function(){function a(a){return b.f(a,F([new ja(null,1,[Dg,!1],null)],0))}var b=null,c=function(){function a(c,d){var k=null;1<arguments.length&&(k=F(Array.prototype.slice.call(arguments,1),0));return b.call(this,c,k)}function b(a,c){if(a?s(s(null)?null:a.Pb)||(a.gb?0:t(Bg,a)):t(Bg,a))return Cg(a,J.a(of,c));if(y(c)){var d=Sc(c)?J.a(Jd,c):c,e=Bc.a(d,Dg);return function(a,b,c,d){return function D(e){return Sc(e)?kg.b(Pd.a(D,e)):Ic(e)?be.a(null==e?null:Ga(e),Pd.a(D,e)):e instanceof Array?ye(Pd.a(D,e)):wa(e)===Object?be.a(Ne,function(){return function(a,b,c,d){return function Ca(f){return new ld(null,function(a,b,c,d){return function(){for(;;){var a=y(f);if(a){if(Nc(a)){var b=Jb(a),c=H(b),g=new nd(Array(c),0);return function(){for(var a=0;;)if(a<c){var f=w.a(b,a),k=g,l=Q,m;m=f;m=d.b?d.b(m):d.call(null,m);f=new O(null,2,5,l,[m,D(e[f])],null);k.add(f);a+=1}else return!0}()?rd(g.U(),Ca(Kb(a))):rd(g.U(),null)}var k=A(a);return G(new O(null,2,5,Q,[function(){var a=k;return d.b?d.b(a):d.call(null,a)}(),D(e[k])],null),Ca(B(a)))}return null}}}(a,b,c,d),null,null)}}(a,b,c,d)(Oc(e))}()):e}}(c,d,e,s(e)?kd:v)(a)}return null}a.k=1;a.g=function(a){var c=A(a);a=B(a);return b(c,a)};a.f=b;return a}(),b=function(b,e){switch(arguments.length){case 1:return a.call(this,b);default:return c.f(b,F(arguments,1))}throw Error("Invalid arity: "+arguments.length)};b.k=1;b.g=c.g;b.b=a;b.f=c.f;return b}();var Fg=new N(null,"L","L",-1038307519),Gg=new N(null,"M","M",-1755742206),Hg=new N(null,"SK","SK",-2019305726),Ig=new N(null,"I","I",1827140963),Jg=new N(null,"codex","codex",-1831831581),Kg=new N(null,"CC","CC",-1077285628),pa=new N(null,"meta","meta",1499536964),Lg=new N(null,"beta","beta",455605892),qa=new N(null,"dup","dup",556298533),Mg=new N(null,"R","R",-936662523),Ng=new N(null,"AA","AA",2016584549),Og=new N(null,"O","O",795252742),R=new N(null,"A","A",-1688942394),Pg=new N(null,"F","F",-1115543258),Qg=new N(null,"second","second",-444702010),xf=new N("cljs.core","none","cljs.core/none",926646439),Rg=new N(null,"W","W",-2035370425),Kd=new N(null,"validator","validator",-1966190681),Sg=new N(null,"Q","Q",663320520),Tg=new N(null,"0","0",351625802),Ug=new N(null,"P","P",1668913291),Vg=new N(null,"original","original",-445386197),Wg=new N(null,"D","D",-8015893),Xg=new N(null,"revisited","revisited",-474682004),Yg=new N(null,"refined","refined",-448168596),S=new N(null,"B","B",-1422503380),Zg=new N(null,"TS","TS",-510110068),$g=new N(null,"J","J",1394734828),ah=new N(null,"Z","Z",459124588),bh=new N(null,"KN","KN",-509476499),ch=new N(null,"T","T",175240877),T=new N(null,"C","C",-173629587),ka=new N(null,"flush-on-newline","flush-on-newline",-151457939),dh=new N(null,"similarity","similarity",1871163855),eh=new N(null,"KS","KS",-1201182352),la=new N(null,"readably","readably",1129599760),fh=new N(null,"BB","BB",1873237105),U=new N(null,"E","E",230849842),gh=new N(null,"G","G",-738544397),sa=new N(null,"print-length","print-length",1931866356),hh=new N(null,"Y","Y",-560717356),ih=new N(null,"minimum","minimum",-1621006059),jh=new N(null,"alpha","alpha",-1574982441),kh=new N(null,"symmetric","symmetric",-960442568),lh=new N(null,"TK","TK",-906932264),mh=new N(null,"X","X",1705996313),nh=new N(null,"H","H",-938148327),oh=new N(null,"V","V",-1169284006),ph=new N(null,"first","first",-644103046),qh=new N(null,"KL","KL",1621356699),rh=new N(null,"U","U",1362002044),sh=new N(null,"S","S",1267293308),Dg=new N(null,"keywordize-keys","keywordize-keys",1310784252),th=new N(null,"N","N",-640629860),W=new N(null,"K","K",711741),uh=new N(null,"match","match",1220059550);function vh(a,b,c){if("string"===typeof b)return a.replace(new RegExp(String(b).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08"),"g"),c);if(s(b.hasOwnProperty("source")))return a.replace(new RegExp(b.source,"g"),c);throw"Invalid match arg: "+v.b(b)}var Gh=function(){function a(a,b){return J.a(v,Vd(a,b))}function b(a){return J.a(v,a)}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length)};c.b=b;c.a=a;return c}();function Hh(a){return a.toUpperCase()}function Ih(a){return a.toLowerCase()}function X(a,b,c){b=0>b?H(a)+b:b;return J.a(v,Qd.a(c,Rd.a(b,a)))}function Jh(a){return dd.c(a,0,H(a)-1)}function Kh(a,b){var c=ce.a(2,b);return Vc.c(function(){return function(a,b){return J.c(vh,a,b)}}(c),a,c)}function Lh(a){return vh(a,/[^a-zA-Z]/,"")}function Y(a,b){return null!=lg(a,b)}function Mh(a){return Pd.a(A,yf.a(Wc,a))}function Nh(a){return ce.c(2,1,a)}function Oh(a,b){var c;a:{c=[a];var d=c.length;if(d<=Oe)for(var e=0,f=Bb(Ne);;)if(e<d)var g=e+1,f=Gb(f,c[e],null),e=g;else{c=new qf(null,Db(f),null);break a}else for(e=0,f=Bb(sf);;)if(e<d)g=e+1,f=Cb(f,c[e]),e=g;else{c=Db(f);break a}c=void 0}return Tc(Ed(c,b))}var Ph=Fd(Oh);var Qh=M(/alistically$/,S,/arizability$/,R,/izationally$/,S,/antialness$/,R,/arisations$/,R,/arizations$/,R,/entialness$/,R,/allically$/,T,/antaneous$/,R,/antiality$/,R,/arisation$/,R,/arization$/,R,/ationally$/,S,/ativeness$/,R,/eableness$/,U,/entations$/,R,/entiality$/,R,/entialize$/,R,/entiation$/,R,/ionalness$/,R,/istically$/,R,/itousness$/,R,/izability$/,R,/izational$/,R,/ableness$/,R,/arizable$/,R,/entation$/,R,/entially$/,R,/eousness$/,R,/ibleness$/,R,/icalness$/,R,/ionalism$/,R,/ionality$/,R,/ionalize$/,R,/iousness$/,R,/izations$/,R,/lessness$/,R,/ability$/,R,/aically$/,R,/alistic$/,S,/alities$/,R,/ariness$/,U,/aristic$/,R,/arizing$/,R,/ateness$/,R,/atingly$/,R,/ational$/,S,/atively$/,R,/ativism$/,R,/elihood$/,U,/encible$/,R,/entally$/,R,/entials$/,R,/entiate$/,R,/entness$/,R,/fulness$/,R,/ibility$/,R,/icalism$/,R,/icalist$/,R,/icality$/,R,/icalize$/,R,/ication$/,gh,/icianry$/,R,/ination$/,R,/ingness$/,R,/ionally$/,R,/isation$/,R,/ishness$/,R,/istical$/,R,/iteness$/,R,/iveness$/,R,/ivistic$/,R,/ivities$/,R,/ization$/,Pg,/izement$/,R,/oidally$/,R,/ousness$/,R,/aceous$/,R,/acious$/,S,/action$/,gh,/alness$/,R,/ancial$/,R,/ancies$/,R,/ancing$/,S,/ariser$/,R,/arized$/,R,/arizer$/,R,/atable$/,R,/ations$/,S,/atives$/,R,/eature$/,ah,/efully$/,R,/encies$/,R,/encing$/,R,/ential$/,R,/enting$/,T,/entist$/,R,/eously$/,R,/ialist$/,R,/iality$/,R,/ialize$/,R,/ically$/,R,/icance$/,R,/icians$/,R,/icists$/,R,/ifully$/,R,/ionals$/,R,/ionate$/,Wg,/ioning$/,R,/ionist$/,R,/iously$/,R,/istics$/,R,/izable$/,U,/lessly$/,R,/nesses$/,R,/oidism$/,R,/acies$/,R,/acity$/,R,/aging$/,S,/aical$/,R,/alist$/,R,/alism$/,S,/ality$/,R,/alize$/,R,/allic$/,fh,/anced$/,S,/ances$/,S,/antic$/,T,/arial$/,R,/aries$/,R,/arily$/,R,/arity$/,S,/arize$/,R,/aroid$/,R,/ately$/,R,/ating$/,Ig,/ation$/,S,/ative$/,R,/ators$/,R,/atory$/,R,/ature$/,U,/early$/,hh,/ehood$/,R,/eless$/,R,/elity$/,R,/ement$/,R,/enced$/,R,/ences$/,R,/eness$/,U,/ening$/,U,/ental$/,R,/ented$/,T,/ently$/,R,/fully$/,R,/ially$/,R,/icant$/,R,/ician$/,R,/icide$/,R,/icism$/,R,/icist$/,R,/icity$/,R,/idine$/,Ig,/iedly$/,R,/ihood$/,R,/inate$/,R,/iness$/,R,/ingly$/,S,/inism$/,$g,/inity$/,Kg,/ional$/,R,/ioned$/,R,/ished$/,R,/istic$/,R,/ities$/,R,/itous$/,R,/ively$/,R,/ivity$/,R,/izers$/,Pg,/izing$/,Pg,/oidal$/,R,/oides$/,R,/otide$/,R,/ously$/,R,/able$/,R,/ably$/,R,/ages$/,S,/ally$/,S,/ance$/,S,/ancy$/,S,/ants$/,S,/aric$/,R,/arly$/,W,/ated$/,Ig,/ates$/,R,/atic$/,S,/ator$/,R,/ealy$/,hh,/edly$/,U,/eful$/,R,/eity$/,R,/ence$/,R,/ency$/,R,/ened$/,U,/enly$/,U,/eous$/,R,/hood$/,R,/ials$/,R,/ians$/,R,/ible$/,R,/ibly$/,R,/ical$/,R,/ides$/,Fg,/iers$/,R,/iful$/,R,/ines$/,Gg,/ings$/,th,/ions$/,S,/ious$/,R,/isms$/,S,/ists$/,R,/itic$/,nh,/ized$/,Pg,/izer$/,Pg,/less$/,R,/lily$/,R,/ness$/,R,/ogen$/,R,/ward$/,R,/wise$/,R,/ying$/,S,/yish$/,R,/acy$/,R,/age$/,S,/aic$/,R,/als$/,fh,/ant$/,S,/ars$/,Og,/ary$/,Pg,/ata$/,R,/ate$/,R,/eal$/,hh,/ear$/,hh,/ely$/,U,/ene$/,U,/ent$/,T,/ery$/,U,/ese$/,R,/ful$/,R,/ial$/,R,/ian$/,R,/ics$/,R,/ide$/,Fg,/ied$/,R,/ier$/,R,/ies$/,Ug,/ily$/,R,/ine$/,Gg,/ing$/,th,/ion$/,Sg,/ish$/,T,/ism$/,S,/ist$/,R,/ite$/,Ng,/ity$/,R,/ium$/,R,/ive$/,R,/ize$/,Pg,/oid$/,R,/one$/,Mg,/ous$/,R,/ae$/,R,/al$/,fh,/ar$/,mh,/as$/,S,/ed$/,U,/en$/,Pg,/es$/,U,/ia$/,R,/ic$/,R,/is$/,R,/ly$/,S,/on$/,sh,/or$/,ch,/um$/,rh,/us$/,oh,/yl$/,Mg,/s'/,R,/'s$/,R,/a$/,R,/e$/,R,/i$/,R,/o$/,R,/s$/,Rg,/y$/,S),Rh=Cc([Fg,Gg,Ig,Kg,Mg,Ng,Og,R,Pg,Rg,Sg,Ug,Wg,S,$g,ah,ch,T,fh,U,gh,hh,mh,nh,oh,rh,sh,th,W],[function(a){return!Y(/(u|x|([^o]s))$/,a)},function(a){return!Y(/[acem]$/,a)},function(a){return!Y(/[oe]$/,a)},function(a){return Y(/l$/,a)},function(a){return Y(/[nr]$/,a)},function(a){return Y(/([dflt]|ph|th|er|or|es)$/,a)},function(a){return Y(/[li]$/,a)},function(){return!0},function(a){var b=(Rh.b?Rh.b(S):Rh.call(null,S)).call(null,a);return s(b)?Rh.a?Rh.a(U,a):Rh.call(null,U,a):b},function(a){return!Y(/[su]$/,a)},function(a){var b=(Rh.b?Rh.b(S):Rh.call(null,S)).call(null,a);return s(b)?!Y(/[ln]$/,a):b},function(a){return!Y(/c$/,a)},function(a){return 4<H(a)},function(a){return 2<H(a)},function(a){return!Y(/[ae]$/,a)},function(a){return!Y(/f$/,a)},function(a){return Y(/(s|[^o]t)$/,a)},function(a){return 3<H(a)},function(a){var b=(Rh.b?Rh.b(S):Rh.call(null,S)).call(null,a);return s(b)?!Y(/(met|ryst)/,a):b},function(a){return!Y(/e$/,a)},function(a){var b=(Rh.b?Rh.b(S):Rh.call(null,S)).call(null,a);return s(b)?Y(/f$/,a):b},function(a){return Y(/in$/,a)},function(a){return Y(/(l|i|u\we)$/,a)},function(a){return Y(/(t|ll)$/,a)},function(a){return Y(/c$/,a)},function(a){return Y(/[lmnr]$/,a)},function(a){return Y(/(dr|[^t]t)$/,a)},function(a){return Y(/s\w{2}$/,a)?(Rh.b?Rh.b(T):Rh.call(null,T)).call(null,a):(Rh.b?Rh.b(S):Rh.call(null,S)).call(null,a)},function(a){var b=(Rh.b?Rh.b(S):Rh.call(null,S)).call(null,a);return s(b)?Y(/(l|i|(u\we))$/,a):b}]),Sh=M(/iev$/,"ief",/uct$/,"uc",/umpt$/,"um",/rpt$/,"rb",/urs$/,"ur",/istr$/,"ister",/metr$/,"meter",/olv$/,"olut",/([^aoi])ul$/,"$1l",/bex$/,"bic",/dex$/,"dic",/pex$/,"pic",/tex$/,"tic",/ax$/,"ac",/ex$/,"ec",/ix$/,"ic",/lux$/,"luc",/uad$/,"uas",/vad$/,"vas",/cid$/,"cis",/lid$/,"lis",/erid$/,"eris",/pand$/,"pans",/([^s])end$/,"$1ens",/ond$/,"ons",/lud$/,"lus",/rud$/,"rus",/([^pt])her$/,"$1hes",/mit$/,"mis",/([^m])ent$/,"$1ens",/ert$/,"ers",/([^n])et$/,"$1es",/(yt|yz)$/,"ys");function Th(a){return function(b){var c=A(b);b=wc(b);c=vh(a,c,"");var d=H(c)<H(a);b=d?(d=1<H(c))?(Rh.b?Rh.b(b):Rh.call(null,b)).call(null,c):d:d;return s(b)?c:null}}function Uh(a){var b=Ed(function(b){return Y(A(b),a)?b:null},ce.a(2,Sh));if(s(b)){var c=I.c(b,0,null),b=I.c(b,1,null);return vh(a,c,b)}return a}var Vh=function(){function a(a){var d=null;0<arguments.length&&(d=F(Array.prototype.slice.call(arguments,0),0));return b.call(this,d)}function b(a){return mg("("+v.b(Gh.a("|",a))+")$")}a.k=0;a.g=function(a){a=y(a);return b(a)};a.f=b;return a}(),Wh=Vh.f(F("ational tional enci anci izer bli alli entli ousli ization ation ator alism iveness fulness ousness aliti iviti biliti logi".split(" "),0)),Xh=Vh.f(F("icate ative alize iciti ical ful ness".split(" "),0)),Yh=Vh.f(F("al ance ence er ic able ible ant ement ment ent ou ism ate iti ous ive ize".split(" "),0)),Zh=Cc("izer biliti fulness iveness logi alli ousness bli alism aliti ator ation anci ational tional iviti ization enci".split(" "),"ize ble ful ive log al ous ble al al ate ate ance ate tion ive ize ence".split(" ")),$h=new ja(null,7,"icate ic ative alize al iciti ic ical ic ful ness ".split(" "),null),ai=""+v.b("[^aeiou]")+v.b("[^aeiou]")+"*",bi=""+v.b("[aeiouy]")+v.b("[aeiouy]")+"*";function ci(a){return function(b){return Y(mg(a),b)}}var di=ci("^("+v.b(ai)+")?"+v.b(bi)+v.b(ai)),ei=ci("^("+v.b(ai)+")?"+v.b(bi)+v.b(ai)+"("+v.b(bi)+")?$"),fi=ci("^("+v.b(ai)+")?"+v.b(bi)+v.b(ai)+v.b(bi)+v.b(ai)),gi=ci("^("+v.b(ai)+")?"+v.b("[aeiouy]")),hi=ci("^"+v.b(ai)+v.b("[aeiouy]")+"[^aeiouwxy]$");function ii(a,b){var c=lg(a,b),d=I.c(c,0,null),e=I.c(c,1,null);null!=c?(c=""+v.b(d),d=b.lastIndexOf(c),c=0>d?b:""+v.b(dd.c(b,0,d))+v.b(dd.a(b,d+H(c))),e=new O(null,2,5,Q,[c,e],null)):e=new O(null,2,5,Q,[null,null],null);return e}function ji(a,b,c){var d=ii(b,a);b=I.c(d,0,null);d=I.c(d,1,null);return s(s(b)?di.b?di.b(b):di.call(null,b):b)?""+v.b(b)+v.b(Bc.a(c,d)):a}var ki;a:{var li="atque quoque neque itaque absque apsque abusque adaeque adusque denique deque susque oblique peraeque plenisque quandoque quisque quaeque cuiusque cuique quemque quamque quaque quique quorumque quarumque quibusque quosque quasque quotusquisque quousque ubique undique usque uterque utique utroque utribique torque coque concoque contorque detorque decoque excoque extorque obtorque optorque retorque recoque attorque incoque intorque praetorque".split(" "),mi=li.length;if(32>mi)ki=new O(null,mi,5,Q,li,null);else{for(var ni=32,oi=new O(null,32,5,Q,li.slice(0,32),null).Ga(null);;)if(ni<mi)var pi=ni+1,qi=zd.a(oi,li[ni]),ni=pi,oi=qi;else{ki=Db(oi);break a}ki=void 0}}var ri=new O(null,19,5,Q,[/ibus$/,/ius$/,/ae$/,/am$/,/as$/,/em$/,/es$/,/ia$/,/is$/,/nt$/,/os$/,/ud$/,/um$/,/us$/,/a$/,/e$/,/i$/,/o$/,/u$/],null),si=new O(null,25,5,Q,[M(/iuntur$/,"$1i"),M(/erunt$/,"$1i"),M(/untur$/,"$1i"),M(/iunt$/,"$1i"),M(/unt$/,"$1i"),M(/beris$/,"$1bi"),M(/bor$/,"$1bi"),M(/bo$/,"$1bi"),M(/ero$/,"$1eri"),M(/mini$/),M(/ntur$/),M(/stis$/),M(/mur$/),M(/mus$/),M(/ris$/),M(/sti$/),M(/tis$/),M(/tur$/),M(/ns$/),M(/nt$/),M(/ri$/),M(/m$/),M(/r$/),M(/s$/),M(/t$/)],null);function ti(a){var b=Ed(function(b){return Y(b,a)?b:null},ri);return s(b)?vh(a,b,""):a}function ui(a){var b=Ed(function(b){return Y(A(b),a)?b:null},si);if(s(b)){var c=s(wc(b))?mg("(.{2,})"+v.b(A(b))):A(b),d=function(){var a=wc(b);return s(a)?a:""}();return vh(a,c,d)}return a}var vi=Cc("abcdefghijlmnprstuvyz".split(""),[new O(null,2,5,Q,[M("ia","",S),M("a","",S)],null),new O(null,1,5,Q,[M("bb","b",T)],null),new O(null,3,5,Q,[M("ytic","ys",T),M("ic","",U),M("nc","nt",U)],null),new O(null,6,5,Q,[M("dd","d",T),M("ied","y",U),M("ceed","cess",T),M("eed","ee",T),M("ed","",U),M("hood","",U)],null),new O(null,1,5,Q,[M("e","",U)],null),new O(null,2,5,Q,[M("lief","liev",T),M("if","",U)],null),new O(null,4,5,Q,[M("ing","",U),M("iag","y",T),M("ag","",U),M("gg","g",T)],null),new O(null,3,5,Q,[M("th","",S),M("guish","ct",T),M("ish","",U)],null),new O(null,2,5,Q,[M("i","",S),M("i","y",U)],null),new O(null,9,5,Q,[M("ij","id",T),M("fuj","fus",T),M("uj","ud",T),M("oj","od",T),M("hej","her",T),M("verj","vert",T),M("misj","mit",T),M("nj","nd",T),M("j","s",T)],null),new O(null,13,5,Q,[M("ifiabl","",T),M("iabl","y",T),M("abl","",U),M("ibl","",T),M("bil","bl",U),M("cl","c",T),M("iful","y",T),M("ful","",U),M("ul","",T),M("ial","",U),M("ual","",U),M("al","",U),M("ll","l",T)],null),new O(null,4,5,Q,[M("ium","",T),M("um","",S),M("ism","",U),M("mm","m",T)],null),new O(null,8,5,Q,[M("sion","j",U),M("xion","ct",T),M("ion","",U),M("ian","",U),M("an","",U),M("een","",gh),M("en","",U),M("nn","n",T)],null),new O(null,2,5,Q,[M("ship","",U),M("pp","p",T)],null),new O(null,9,5,Q,[M("er","",U),M("ear","",gh),M("ar","",T),M("ior","",U),M("or","",U),M("ur","",U),M("rr","r",T),M("tr","t",U),M("ier","y",U)],null),new O(null,9,5,Q,[M("ies","y",U),M("sis","s",T),M("is","",U),M("ness","",U),M("ss","",gh),M("ous","",U),M("us","",S),M("s","",U),M("s","",T)],null),new O(null,14,5,Q,[M("plicat","ply",T),M("at","",U),M("ment","",U),M("ent","",U),M("ant","",U),M("ript","rib",T),M("orpt","orb",T),M("duct","duc",T),M("sumpt","sum",T),M("cept","ceiv",T),M("olut","olv",T),M("sist","",gh),M("ist","",U),M("tt","t",T)],null),new O(null,2,5,Q,[M("iqu","",T),M("ogu","og",T)],null),new O(null,3,5,Q,[M("siv","j",U),M("eiv","",gh),M("iv","",U)],null),new O(null,17,5,Q,[M("bly","bl",U),M("ily","y",U),M("ply","",gh),M("ly","",U),M("ogy","og",T),M("phy","ph",T),M("omy","om",T),M("opy","op",T),M("ity","",U),M("ety","",U),M("lty","l",T),M("istry","",T),M("ary","",U),M("ory","",U),M("ify","",T),M("ncy","nt",U),M("acy","",U)],null),new O(null,2,5,Q,[M("iz","",U),M("yz","ys",T)],null)]);function wi(a){return Y(/[aeiouy]/,""+v.b(a))}ea("clj_fuzzy.stemmers.lancaster",function(a){a:{a=Ih(Lh(a));for(var b=!0;;){var c;c=xc(a);c=vi.b?vi.b(c):vi.call(null,c);if(s(c)){b:{for(var d=0;;){var e=Bc.c(c,d,ec),f=A(e),g=wc(e),k=xc(e),l=H(a)-H(f);if(null==y(e)){c=new O(null,2,5,Q,[!1,a],null);break b}if(!(va(b)&&x.a(k,S)||0>l||Cd.a(dd.a(a,l),f))){if(x.a(k,gh)){c=new O(null,2,5,Q,[!1,a],null);break b}f=e=""+v.b(dd.c(a,0,l))+v.b(g);if(wi(A(f))?1<H(f):2<H(f)&&wi(f)){c=x.a(k,U)?new O(null,2,5,Q,[!0,e],null):new O(null,2,5,Q,[!1,e],null);break b}}d+=1}c=void 0}a=I.c(c,0,null);c=I.c(c,1,null);if(s(a))a=c,b=!1;else{a=c;break a}}else break a}a=void 0}return a});ea("clj_fuzzy.stemmers.lovins",function(a){a=vh(Ih(a),/[^a-zA-Z']/,"");var b=Ed(Th(a),ce.a(2,Qh));a=vh(s(b)?b:a,/([bdglmnprst])\1{1,}$/,"$1");return Uh(a)});ea("clj_fuzzy.stemmers.porter",function(a){if(!(3>H(a))){a=Ih(a);a=Y(/^y/,a)?2>H(a)?Hh(a):""+v.b(Hh(dd.c(a,0,1)))+v.b(Ih(dd.a(a,1))):a;var b=ii(/(ss|i)es$/,a),c=I.c(b,0,null),b=I.c(b,1,null),d=ii(/([^s])s$/,a),e=I.c(d,0,null),d=I.c(d,1,null);a=s(c)?""+v.b(c)+v.b(b):s(e)?""+v.b(e)+v.b(d):a;Y(/eed$/,a)?(c=dd.c(a,0,H(a)-3),c=di.b?di.b(c):di.call(null,c),a=s(c)?Jh(a):a):Y(/(ed|ing)$/,a)&&(c=ii(/(ed|ing)$/,a),b=I.c(c,0,null),I.c(c,1,null),a=s(gi.b?gi.b(b):gi.call(null,b))?Y(/(at|bl|iz)$/,b)?""+v.b(b)+"e":Y(/([^aeiouylsz])\1$/,b)?Jh(b):s(hi.b?hi.b(b):hi.call(null,b))?""+v.b(b)+"e":b:a);c=lg(/y$/,a);b=Jh(a);a=s(s(c)?gi.b?gi.b(b):gi.call(null,b):c)?""+v.b(b)+"i":a;a=ji(a,Wh,Zh);a=ji(a,Xh,$h);c=ii(Yh,a);b=I.c(c,0,null);I.c(c,1,null);s(s(b)?fi.b?fi.b(b):fi.call(null,b):b)?a=b:(b=ii(/(s|t)(ion)$/,a),c=I.c(b,0,null),b=I.c(b,1,null),b=""+v.b(c)+v.b(b),a=s(s(c)?fi.b?fi.b(b):fi.call(null,b):c)?b:a);Y(/e$/,a)&&(c=Jh(a),b=fi.b?fi.b(c):fi.call(null,c),s(b)||(b=ei.b?ei.b(c):ei.call(null,c),b=s(b)?va(hi.b?hi.b(c):hi.call(null,c)):b),a=s(b)?c:a);c=(c=Y(/ll$/,a))?fi.b?fi.b(a):fi.call(null,a):c;a=s(c)?Jh(a):a;a=x.a("Y",A(a))?"y"+v.b(Rd.a(1,a)):a}return a});ea("clj_fuzzy.stemmers.schinke",function(a){var b=zg;var c;a=Lh(Ih(a));c=Kh(a,M(/j/,"i",/v/,"u"));a=Y(/que$/,c)&&Oh(c,ki)?!1:vh(c,/que$/,"");if(s(a)){c=ti(a);var d=ui(a);a=new ja(null,2,[S,1<H(c)?c:a,T,1<H(d)?d:a],null)}else a=new ja(null,2,[S,c,T,c],null);return b(a)});function xi(a){return Y(/W|K|CZ|WITZ/,a)}function yi(a){return Y(/^A|E|I|O|U|Y$/,a)}var zi=Fd(Y);function Ai(a,b){return 0<b&&!yi(X(a,b-1,1))?new O(null,3,5,Q,[W,W,2],null):0===b?x.a("I",X(a,b+2,1))?new O(null,3,5,Q,[$g,$g,2],null):new O(null,3,5,Q,[W,W,2],null):1<b&&Y(/^B|H|D$/,X(a,b-2,1))||2<b&&Y(/^B|H|D$/,X(a,b-3,1))||3<b&&Y(/^B|H$/,X(a,b-4,1))?new O(null,3,5,Q,[null,null,2],null):2<b&&x.a("U",X(a,b-1,1))&&Y(/^C|G|L|R|T$/,X(a,b-3,1))?new O(null,3,5,Q,[Pg,Pg,2],null):0<b&&Cd.a("I",X(a,b-1,1))?new O(null,3,5,Q,[W,W,2],null):new O(null,3,5,Q,[null,null,2],null)}function Bi(a,b){return x.a(b,1)&&yi(X(a,0,1))&&!xi(a)?new O(null,3,5,Q,[bh,th,2],null):Cd.a("EY",X(a,b+2,2))&&Cd.a("Y",X(a,b+1,1))&&!xi(a)?new O(null,3,5,Q,[th,bh,2],null):new O(null,3,5,Q,[bh,bh,2],null)}function Ci(a,b){return Y(/^V(A|O)N $/,X(a,0,4))||x.a("SCH",X(a,0,3))||x.a("ET",X(a,b+1,2))?new O(null,3,5,Q,[W,W,2],null):x.a("IER ",X(a,b+1,4))?new O(null,3,5,Q,[$g,$g,2],null):new O(null,3,5,Q,[$g,W,2],null)}function Di(a,b){return x.a("H",X(a,b+1,1))?Ai(a,b):x.a("N",X(a,b+1,1))?Bi(a,b):x.a("LI",X(a,b+1,2))&&!xi(a)?new O(null,3,5,Q,[qh,Fg,2],null):0===b&&(x.a("Y",X(a,b+1,1))||Y(/^(E(S|P|B|L|Y|I|R)|I(B|L|N|E))$/,X(a,b+1,2)))?new O(null,3,5,Q,[W,$g,2],null):s(function(){var c=x.a("ER",X(a,b+1,2))||x.a("Y",X(a,b+1,1));if(c&&(c=function(){var b=/^(D|R|M)ANGER$/,c=X(a,0,6);return zi.a?zi.a(b,c):zi.call(null,b,c)}(),s(c)&&(c=function(){var c=/^E|I$/,d=X(a,b-1,1);return zi.a?zi.a(c,d):zi.call(null,c,d)}(),s(c)))){var c=/^(R|O)GY$/,d=X(a,b-1,3);return zi.a?zi.a(c,d):zi.call(null,c,d)}return c}())?new O(null,3,5,Q,[W,$g,2],null):Y(/^E|I|Y$/,X(a,b+1,1))||Y(/^(A|O)GGI$/,X(a,b-1,4))?Ci(a,b):x.a("G",X(a,b+1,1))?new O(null,3,5,Q,[W,W,2],null):new O(null,3,5,Q,[W,W,1],null)}function Ei(a,b,c){var d=x.a("R",X(a,b+1,1))?2:1;return s(function(){var d=x.a(c,b);if(d&&(d=!xi(a))&&(d=x.a("IE",X(a,b-2,2)))){var d=/^M(E|A)$/,f=X(a,b-4,2);
return zi.a?zi.a(d,f):zi.call(null,d,f)}return d}())?new O(null,3,5,Q,[null,Mg,d],null):new O(null,3,5,Q,[Mg,Mg,d],null)}var Fi=new ja(null,2,[Vg,M(/e$/,"",/^(cou|rou|tou|enou|trou)gh/,"$12f",/^gn/,"2n",/^mb/,"m2",/cq/,"2q",/ci/,"si",/ce/,"se",/cy/,"sy",/tch/,"2ch",/c/,"k",/q/,"k",/x/,"k",/v/,"f",/dg/,"2g",/tio/,"sio",/tia/,"sia",/d/,"t",/ph/,"fh",/b/,"p",/sh/,"s2",/z/,"s",/^[aieou]/,"A",/[aeiou]/,"3",/i/,"y",/^y3/,"Y3",/^y/,"A",/y/,"3",/3gh3/,"3kh3",/gh/,"22",/g/,"k",/s+/,"S",/t+/,"T",/p+/,"P",/k+/,"K",/f+/,"F",/m+/,"M",/n+/,"N",/w3/,"W3",/wh3/,"Wh3",/w$/,"3",/w/,"2",/^h/,"A",/h/,"2",/r3/,"R3",/r$/,"3",/r/,"2",/l3/,"L3",/l$/,"3",/l/,"2",/2/,"",/3$/,"A",/3/,""),Xg,M(/e$/,"",/^(cou|rou|tou|enou|trou)gh/,"$12f",/^gn/,"2n",/mb$/,"mb",/cq/,"2q",/c([iey])/,"s",/tch/,"2ch",/[cqx]/,"k",/v/,"f",/dg/,"2g",/ti([oa])/,"si",/d/,"t",/ph/,"fh",/b/,"p",/sh/,"s2",/z/,"s",/^[aeiou]/,"A",/[aeiou]/,"3",/j/,"y",/^y3/,"Y3",/^y/,"A",/y/,"3",/3gh3/,"3kh3",/gh/,"22",/g/,"k",/s+/,"S",/t+/,"T",/p+/,"P",/k+/,"K",/f+/,"F",/m+/,"M",/n+/,"N",/w3/,"W3",/wh3/,"Wh3",/w$/,"3",/w/,"2",/^h/,"A",/h/,"2",/r3/,"R3",/r$/,"3",/r/,"2",/l3/,"L3",/l$/,"3",/l/,"2",/2/,"",/3$/,"A",/3/,"")],null);function Gi(a,b){var c=Lh(Ih(a)),c=Kh(c,Fi.b?Fi.b(b):Fi.call(null,b));return dd.c(""+v.b(c)+v.b(J.a(v,Td.a(10,"1"))),0,10)}var Hi=function(){function a(a){return Gi(a,Vg)}var b=null,b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Gi(b,d)}throw Error("Invalid arity: "+arguments.length)};b.b=a;b.a=function(a,b){return Gi(a,b)};return b}();var Ii;a:{for(var Ji=Bb(Ne),Ki=y("AEIOUYWHBPFVCSKGJQXZDTLMNR"),Li=y("000000DD111122222222334556");;)if(Ki&&Li)var Mi=Ad.c(Ji,A(Ki),A(Li)),Ni=E(Ki),Oi=E(Li),Ji=Mi,Ki=Ni,Li=Oi;else{Ii=Db(Ji);break a}Ii=void 0}function Pi(a){return Ii.b?Ii.b(a):Ii.call(null,a)}function Qi(a){return dd.c(""+v.b(a)+"000",0,4)}function Ri(a){return Yd.a(function(a){return Cd.a("D",a)},Pd.a(Pi,a))}function Si(a,b){return x.a(A(a),Ii.b?Ii.b(b):Ii.call(null,b))?Rd.a(1,a):a}function Ti(a){return Zd.a(ta,a)}function Ui(a,b){return ce.a(2,Ud.a(a,xd.a(b,Td.a(H(a)-H(b),null))))}function Vi(a){return Yd.a(function(a){return Cd.a(A(a),wc(a))},a)}function Wi(a){a=Lh(Hh(a));a=J.c(v,A(a),vh(J.a(v,Rd.a(1,a)),/[AEIOU]/,""));a=Mh(a);var b;b=H(a)-3;b=3<b?3:b;return J.a(v,xd.a(Qd.a(3,a),Sd(b,a)))}var Xi=new ja(null,2,[Vg,new ja(null,2,[ph,M(/JR$/,"",/SR$/,"",/^MAC/,"MCC",/^KN/,"NN",/^K/,"C",/^(PH|PF)/,"FF",/^SCH/,"SSS",/(EE|IE)$/,"Y",/(DT|RT|RD|NT|ND)$/,"D"),Qg,M(/EV/,"AF",/[EIOU]/,"A",/Q/,"G",/Z/,"S",/(M|KN)/,"N",/K/,"C",/SCH/,"SSS",/PH/,"FF",/([^A])H/,"$1",/(.)H[^A]/,"$1",/AW/,"A",/S$/,"",/AY$/,"Y",/A$/,"")],null),Yg,new ja(null,2,[ph,M(/JR$/,"",/SR$/,"",/(S|Z)$/,"",/MAC/,"MC",/PH/,"F",/IX$/,"IC",/EX$/,"EC",/(YE|EE|IE)/,"Y",/(DT|RT|RD|NT|ND)$/,"D",/(.+)EV/,"$1EF"),Qg,M(/([AEIOU]+)W/,"$1",/[EIOU]/,"A",/AA+/,"A",/GHT/,"GT",/DG/,"G",/PH/,"F",/(.+)HA/,"$1A",/A+H/,"A",/KN/,"N",/K/,"C",/(.+)M/,"$1N",/(.+)Q/,"$1G",/(SH|SCH)/,"S",/YW/,"Y",/(.+)Y(.+)/,"$1A$2",/WR/,"R",/(.+)Z/,"$1S",/AY$/,"Y",/A+$/,"",/^\w/,"")],null)],null);function Yi(a,b){return Mh(Kh(a,b))}function Zi(a,b){return(Xi.b?Xi.b(a):Xi.call(null,a)).call(null,b)}function $i(a){return function(b){b=Lh(Hh(b).replace(/^[\s\xa0]+|[\s\xa0]+$/g,""));var c=Zi(a,ph);b=Kh(b,c);return J.a(v,xd.a(Qd.a(1,b),Yi(x.a(a,Vg)?J.a(v,Rd.a(1,b)):b,Zi(a,Qg))))}}var aj=new ja(null,2,[Vg,$i(Vg),Yg,$i(Yg)],null),bj=function(){function a(a,b){var c=kd.b(b);return(aj.b?aj.b(c):aj.call(null,c)).call(null,a)}function b(a){return(aj.b?aj.b(Vg):aj.call(null,Vg)).call(null,a)}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length)};c.b=b;c.a=a;return c}();var cj=M(/([bcdfhjklmnpqrstvwxyz])\1+/,"$1",/^ae/,"E",/^[gkp]n/,"N",/^wr/,"R",/^x/,"S",/^wh/,"W",/mb$/,"M",/(?!^)sch/,"SK",/th/,"0",/t?ch|sh/,"X",/c(?=ia)/,"X",/[st](?=i[ao])/,"X",/s?c(?=[iey])/,"S",/[cq]/,"K",/dg(?=[iey])/,"J",/d/,"T",/g(?=h[^aeiou])/,"",/gn(ed)?/,"N",/([^g]|^)g(?=[iey])/,"$1J",/g+/,"K",/ph/,"F",/([aeiou])h(?=\b|[^aeiou])/,"$1",/[wy](?![aeiou])/,"",/z/,"S",/v/,"F",/(?!^)[aeiou]+/,"");function dj(a){return Hd(function(b,c){return new O(null,3,5,Q,[Bc.a(a,b-1),c,Bc.a(a,b+1)],null)},a)}function ej(a,b){return s(function(){var c=null==a&&Oh(b,M("A","H","K","L","O","Q","R","U","X"));return c?c:(c=Oh(b,M("A","H","K","O","Q","U","X")))?(c=M("S","Z"),Ph.a?Ph.a(a,c):Ph.call(null,a,c)):c}())?4:8}function fj(a){var b=A(a),c=wc(a);a=xc(a);return Oh(c,M("A","E","I","O","U","J","Y"))?0:x.a("H",c)?null:Oh(c,M("B","P"))?1:Oh(c,M("D","T"))?Oh(a,M("C","S","Z"))?8:2:Oh(c,M("F","V","W"))?3:Oh(c,M("G","K","Q"))?4:x.a("C",c)?ej(b,a):x.a("X",c)?Oh(b,M("C","Q","K"))?8:48:x.a("L",c)?5:Oh(c,M("M","N"))?6:x.a("R",c)?7:Oh(c,M("S","Z"))?8:null}ea("clj_fuzzy.phonetics.metaphone",function(a){a=Ih(Lh(a));return Hh(Kh(a,cj))});ea("clj_fuzzy.phonetics.soundex",function(a){a=Lh(Hh(a));var b=A(a),c=Ri(J.a(v,Rd.a(1,a))),d=Si(c,b);return Qi(""+v.b(b)+v.b(J.a(v,Yd.a(function(){return function(a){return Cd.a("0",a)}}(a,b,c,d),Mh(d)))))});ea("clj_fuzzy.phonetics.nysiis",bj);ea("clj_fuzzy.phonetics.caverphone",Hi);ea("clj_fuzzy.phonetics.mra_codex",Wi);ea("clj_fuzzy.phonetics.cologne",function(a){a=dj(Lh(Kh(Hh(a),M(/\u00c4/,"A",/\u00d6/,"O",/\u00dc/,"U",/\u00df/,"SS",/PH/,"F"))));return J.a(v,Zd.a(cd,Mh(Zd.a(ta,Pd.a(fj,a)))))});ea("clj_fuzzy.phonetics.double_metaphone",function(a){var b=zg,c;a:{for(var d=""+v.b(Hh(a))+" ",e=Y(/^GN|KN|PN|WR|PS$/,X(d,0,2))?1:0,f=H(a),g=f-1,k=e,l=yc,m=yc;;){if(k>f||4<=H(l)&&4<=H(m)){c=new O(null,2,5,Q,[X(J.a(v,Pd.a(jd,l)),0,4),X(J.a(v,Pd.a(jd,m)),0,4)],null);break a}var r,n=d,p=k,C=f,D=g,z=X(n,p,1),K=void 0;if(yi(z))K=0===p?new O(null,3,5,Q,[R,R,1],null):new O(null,3,5,Q,[null,null,1],null);else{var P=void 0;if(x.a("B",z))P=new O(null,3,5,Q,[Ug,Ug,x.a("B",X(n,p+1,1))?2:1],null);else{var V=void 0;if(x.a("Ç",z))V=new O(null,3,5,Q,[sh,sh,1],null);else{var ba=void 0;if(x.a("C",z)){var oa;if(1<p&&yi(X(n,p-2,1))&&x.a("ACH",X(n,p-1,3))&&Cd.a("I",X(n,p+2,1))&&(Cd.a("E",X(n,p+2,1))||Y(/^(B|M)ACHER$/,X(n,p-2,6))))oa=new O(null,3,5,Q,[W,W,2],null);else{var Ca;if(0===p&&x.a("CAESAR",X(n,p,6)))Ca=new O(null,3,5,Q,[sh,sh,2],null);else{var L;if(x.a("CHIA",X(n,p,4)))L=new O(null,3,5,Q,[W,W,2],null);else{var Pe;if(x.a("CH",X(n,p,2))){var Z=n,$=p;Pe=0<$&&x.a("CHAE",X(Z,$,4))?new O(null,3,5,Q,[W,mh,2],null):0===$&&(Oh(X(Z,$+1,5),new O(null,2,5,Q,["HARAC","HARIS"],null))||Oh(X(Z,$+1,3),new O(null,4,5,Q,["HOR","HYM","HIA","HEM"],null)))&&Cd.a("CHORE",X(Z,0,5))?new O(null,3,5,Q,[W,W,2],null):Oh(X(Z,0,4),new O(null,2,5,Q,["VAN ","VON "],null))||x.a("SCH",X(Z,0,3))||Oh(X(Z,$-2,6),new O(null,3,5,Q,["ORCHES","ARCHIT","ORCHID"],null))||Oh(X(Z,$+2,1),new O(null,2,5,Q,["T","S"],null))||(0===$||Oh(X(Z,$-1,1),new O(null,4,5,Q,["A","O","U","E"],null)))&&Oh(X(Z,$+2,1),new O(null,10,5,Q,"LRNMBHFVW ".split(""),null))?new O(null,3,5,Q,[W,W,2],null):0<$?new O(null,3,5,Q,[x.a("MC",X(Z,0,2))?W:mh,W,2],null):new O(null,3,5,Q,[mh,mh,2],null)}else{var ma;if(x.a("CZ",X(n,p,2))&&Cd.a("WICZ",X(n,p-2,4)))ma=new O(null,3,5,Q,[sh,mh,2],null);else{var na;if(x.a("CIA",X(n,p+1,3)))na=new O(null,3,5,Q,[mh,mh,3],null);else{var ra;if(!x.a("CC",X(n,p,2))||x.a(p,1)||x.a("M",X(n,0,1))){var ua;if(Y(/^C(K|G|Q)$/,X(n,p,2)))ua=new O(null,3,5,Q,[W,W,2],null);else{var ya;if(Y(/^C(I|E|Y)$/,X(n,p,2)))ya=new O(null,3,5,Q,[sh,Y(/^CI(O|E|A)$/,X(n,p,3))?mh:sh,2],null);else{var Ba=n,Ha=p;ya=Y(/^ (C|Q|G)$/,X(Ba,Ha+1,2))?new O(null,3,5,Q,[W,W,3],null):new O(null,3,5,Q,[W,W,Y(/^C|K|Q$/,X(Ba,Ha+1,1))&&!Oh(X(Ba,Ha+1,2),new O(null,2,5,Q,["CE","CI"],null))?2:1],null)}ua=ya}ra=ua}else{var Ia=n,Ja=p;ra=Y(/^I|E|H$/,X(Ia,Ja+2,1))&&Cd.a("HU",X(Ia,Ja+2,2))?x.a(Ja,1)&&x.a("A",X(Ia,Ja-1,1))||Y(/^UCCE(E|S)$/,X(Ia,Ja-1,5))?new O(null,3,5,Q,[eh,eh,3],null):new O(null,3,5,Q,[mh,mh,3],null):new O(null,3,5,Q,[W,W,2],null)}na=ra}ma=na}Pe=ma}L=Pe}Ca=L}oa=Ca}ba=oa}else{var Ra=void 0;if(x.a("D",z))Ra=x.a("DG",X(n,p,2))?Y(/^I|E|Y$/,X(n,p+2,1))?new O(null,3,5,Q,[$g,$g,3],null):new O(null,3,5,Q,[lh,lh,2],null):new O(null,3,5,Q,[ch,ch,Y(/^D(T|D)$/,X(n,p,2))?2:1],null);else{var Xa=void 0;if(x.a("F",z))Xa=new O(null,3,5,Q,[Pg,Pg,x.a("F",X(n,p+1,1))?2:1],null);else{var db=void 0;if(x.a("G",z))db=Di(n,p);else{var mb=void 0;if(x.a("H",z))mb=(0===p||yi(X(n,p-1,1)))&&yi(X(n,p+1,1))?new O(null,3,5,Q,[nh,nh,2],null):new O(null,3,5,Q,[null,null,1],null);else{var rb=void 0;if(x.a("J",z)){var Eb;if(x.a("JOSE",X(n,p,4))||x.a("SAN ",X(n,0,4))){var fc=n;Eb=0===p&&x.a(" ",X(fc,p+4,1))||x.a("SAN ",X(fc,0,4))?new O(null,3,5,Q,[nh,nh,1],null):new O(null,3,5,Q,[$g,nh,1],null)}else{var sb=n,Fb=p,Qe=D,zf=x.a("J",X(sb,Fb+1,1))?2:1,Af;if(0===Fb&&Cd.a("JOSE",X(sb,Fb,4)))Af=new O(null,3,5,Q,[$g,R,zf],null);else{var Bf;if(yi(X(sb,Fb-1,1))&&!xi(sb)&&Y(/^A|O$/,X(sb,Fb+1,1)))Bf=new O(null,3,5,Q,[$g,nh,zf],null);else{var wh=sb,Cf=Fb,Df=zf,Ef=void 0;if(x.a(Qe,Cf))Ef=new O(null,3,5,Q,[$g,null,Df],null);else{var Ff=void 0;var Gf=void 0,xh=/^L|T|K|S|N|M|B|Z$/,yh=X(wh,Cf+1,1),Gf=zi.a?zi.a(xh,yh):zi.call(null,xh,yh);if(s(Gf))var zh=/^S|K|L$/,Ah=X(wh,Cf-1,1),Ff=zi.a?zi.a(zh,Ah):zi.call(null,zh,Ah);else Ff=Gf;Ef=s(Ff)?new O(null,3,5,Q,[$g,$g,Df],null):new O(null,3,5,Q,[null,null,Df],null)}Bf=Ef}Af=Bf}Eb=Af}rb=Eb}else{var Hf=void 0;if(x.a("K",z))Hf=new O(null,3,5,Q,[W,W,x.a("K",X(n,p+1,1))?2:1],null);else{var If=void 0;if(x.a("L",z)){var Jf;if(x.a("L",X(n,p+1,1))){var oe=n,Kf=p,Bh=D;Jf=x.a(C-3,Kf)&&Y(/^(ILL(O|A)|ALLE)$/,X(oe,Kf-1,4))||(Y(/^(A|O)S$/,X(oe,Bh-1,2))||Y(/^A|O$/,X(oe,Bh,1)))&&x.a("ALLE",X(oe,Kf-1,4))?new O(null,3,5,Q,[Fg,null,2],null):new O(null,3,5,Q,[Fg,Fg,2],null)}else Jf=new O(null,3,5,Q,[Fg,Fg,1],null);If=Jf}else{var Lf=void 0;if(x.a("M",z))Lf=x.a("UMB",X(n,p-1,3))&&(x.a(D-1,p)||x.a("ER",X(n,p+2,2)))||x.a("M",X(n,p+1,1))?new O(null,3,5,Q,[Gg,Gg,2],null):new O(null,3,5,Q,[Gg,Gg,1],null);else{var Mf=void 0;if(x.a("N",z))Mf=new O(null,3,5,Q,[th,th,x.a("N",X(n,p+1,1))?2:1],null);else{var Nf=void 0;if(x.a("Ñ",z))Nf=new O(null,3,5,Q,[th,th,1],null);else{var Of=void 0;if(x.a("P",z))Of=x.a("H",X(n,p+1,1))?new O(null,3,5,Q,[Pg,Pg,2],null):new O(null,3,5,Q,[Ug,Ug,Y(/^P|B$/,X(n,p+1,1))?2:1],null);else{var Pf=void 0;if(x.a("Q",z))Pf=new O(null,3,5,Q,[W,W,x.a("Q",X(n,p+1,1))?2:1],null);else{var Qf=void 0;if(x.a("R",z))Qf=Ei(n,p,D);else{var Rf=void 0;if(x.a("S",z)){var Sf;if(Y(/^(I|Y)SL$/,X(n,p-1,3)))Sf=new O(null,3,5,Q,[null,null,1],null);else{var Tf;if(0===p&&x.a("SUGAR",X(n,p,5)))Tf=new O(null,3,5,Q,[mh,sh,1],null);else{var Uf;if(x.a("SH",X(n,p,2)))Uf=Y(/^H(EIM|OEK|OLM|OLZ)$/,X(n,p+1,4))?new O(null,3,5,Q,[sh,sh,2],null):new O(null,3,5,Q,[mh,mh,2],null);else{var Vf;if(Y(/^SI(O|A)$/,X(n,p,3))||x.a("SIAN",X(n,p,4)))Vf=new O(null,3,5,Q,[sh,xi(n)?sh:mh,3],null);else{var Wf;if(0===p&&Y(/^M|N|L|W$/,X(n,p+1,1))||x.a("Z",X(n,p+1,1)))Wf=new O(null,3,5,Q,[sh,mh,x.a("Z",X(n,p+1,1))?2:1],null);else{var Xf;if(x.a("SC",X(n,p,2))){var Zc=n,$c=p;Xf=x.a("H",X(Zc,$c+2,1))?Y(/^OO|ER|EN|UY|ED|EM$/,X(Zc,$c+3,2))?new O(null,3,5,Q,[Y(/^E(R|N)$/,X(Zc,$c+3,2))?mh:Hg,Hg,3],null):new O(null,3,5,Q,[mh,0===$c&&!yi(X(Zc,3,1))&&Cd.a("W",X(Zc,$c+3,1))?sh:mh,3],null):Y(/^I|E|Y$/,X(Zc,$c+2,1))?new O(null,3,5,Q,[sh,sh,3],null):new O(null,3,5,Q,[Hg,Hg,3],null)}else Xf=new O(null,3,5,Q,[x.a(D,p)&&Y(/^(A|O)I$/,X(n,p-2,2))?null:sh,sh,Y(/^S|Z$/,X(n,p+1,1))?2:1],null);Wf=Xf}Vf=Wf}Uf=Vf}Tf=Uf}Sf=Tf}Rf=Sf}else{var Yf=void 0;if(x.a("T",z)){var Zf;if(x.a("TION",X(n,p,4)))Zf=new O(null,3,5,Q,[mh,mh,3],null);else{var $f;if(Y(/^T(IA|CH)$/,X(n,p,3)))$f=new O(null,3,5,Q,[mh,mh,3],null);else{var ag;if(x.a("TH",X(n,p,2))||x.a("TTH",X(n,p,3))){var bg=n;ag=Y(/^(O|A)M$/,X(bg,p+2,2))||Y(/^V(A|O)N /,X(bg,0,4))||x.a("SCH",X(bg,0,3))?new O(null,3,5,Q,[ch,ch,2],null):new O(null,3,5,Q,[Tg,ch,2],null)}else ag=new O(null,3,5,Q,[ch,ch,Y(/^T|D$/,X(n,p+1,1))?2:1],null);$f=ag}Zf=$f}Yf=Zf}else{var cg=void 0;if(x.a("V",z))cg=new O(null,3,5,Q,[Pg,Pg,x.a("V",X(n,p+1,1))?2:1],null);else{var pe=void 0;if(x.a("W",z))if(x.a("WR",X(n,p,2)))pe=new O(null,3,5,Q,[Mg,Mg,2],null);else{var dg,eg=n,qe=p;dg=0===qe&&(yi(X(eg,qe+1,1))||x.a("WH",X(eg,qe,2)))?new O(null,2,5,Q,["A",yi(X(eg,qe+1,1))?"F":"A"],null):new O(null,2,5,Q,[null,null],null);var fg=I.c(dg,0,null),gg=I.c(dg,1,null),hg;if(x.a(D,p)&&yi(X(n,p-1,1))||x.a("SCH",X(n,0,3))||Y(/^EWSKI|EWSKY|OWSKI|OWSKY$/,X(n,p-1,5))){var oj=gg;hg=new O(null,3,5,Q,[kd.b(fg),kd.b(""+v.b(oj)+"F"),1],null)}else{var ig;if(Y(/^WI(C|T)Z$/,X(n,p,4))){var pj=gg;ig=new O(null,3,5,Q,[kd.b(""+v.b(fg)+"TS"),kd.b(""+v.b(pj)+"FX"),4],null)}else ig=new O(null,3,5,Q,[kd.b(fg),kd.b(gg),1],null);hg=ig}pe=hg}else{var re=void 0;if(x.a("X",z))if(0===p)re=new O(null,3,5,Q,[sh,sh,1],null);else var Ch=Y(/^C|X$/,X(n,p+1,1))?2:1,re=x.a(D,p)&&(Y(/^(I|E)AU$/,X(n,p-3,3))||Y(/^(A|O)U$/,X(n,p-2,2)))?new O(null,3,5,Q,[null,null,Ch],null):new O(null,3,5,Q,[eh,eh,Ch],null);else{var se=void 0;if(x.a("Z",z))if(x.a("H",X(n,p+1,1)))se=new O(null,3,5,Q,[$g,$g,2],null);else var Dh=x.a("Z",X(n,p+1,1))?2:1,se=Y(/^Z(O|I|A)$/,X(n,p+1,2))||xi(n)&&0<p&&Cd.a("T",X(n,p-1,1))?new O(null,3,5,Q,[sh,Zg,Dh],null):new O(null,3,5,Q,[sh,sh,Dh],null);else se=new O(null,3,5,Q,[null,null,1],null);re=se}pe=re}cg=pe}Yf=cg}Rf=Yf}Qf=Rf}Pf=Qf}Of=Pf}Nf=Of}Mf=Nf}Lf=Mf}If=Lf}Hf=If}rb=Hf}mb=rb}db=mb}Xa=db}Ra=Xa}ba=Ra}V=ba}P=V}K=P}r=K;var Eh=I.c(r,0,null),Fh=I.c(r,1,null),qj=I.c(r,2,null)+k,rj=null==Eh?l:zc.a(l,Eh),sj=null==Fh?m:zc.a(m,Fh),k=qj,l=rj,m=sj}c=void 0}return b(c)});function gj(a,b){var c=J.c(uf,a,b);return G(c,Zd.a(function(a){return function(b){return a===b}}(c),b))}var hj=function(){function a(a,b){return H(a)<H(b)?Vc.c(zc,b,a):Vc.c(zc,a,b)}var b=null,c=function(){function a(c,d,k){var l=null;2<arguments.length&&(l=F(Array.prototype.slice.call(arguments,2),0));return b.call(this,c,d,l)}function b(a,c,d){a=gj(H,zc.f(d,c,F([a],0)));return Vc.c(be,A(a),B(a))}a.k=2;a.g=function(a){var c=A(a);a=E(a);var d=A(a);a=B(a);return b(c,d,a)};a.f=b;return a}(),b=function(b,e,f){switch(arguments.length){case 0:return sf;case 1:return b;case 2:return a.call(this,b,e);default:return c.f(b,e,F(arguments,2))}throw Error("Invalid arity: "+arguments.length)};b.k=2;b.g=c.g;b.n=function(){return sf};b.b=function(a){return a};b.a=a;b.f=c.f;return b}(),ij=function(){function a(a,b){for(;;)if(H(b)<H(a)){var c=a;a=b;b=c}else return Vc.c(function(a,b){return function(a,c){return Bc.c(b,c,Rc)!==Rc?a:Hc.a(a,c)}}(a,b),a,a)}var b=null,c=function(){function a(b,d,k){var l=null;2<arguments.length&&(l=F(Array.prototype.slice.call(arguments,2),0));return c.call(this,b,d,l)}function c(a,d,e){a=gj(function(a){return-H(a)},zc.f(e,d,F([a],0)));return Vc.c(b,A(a),B(a))}a.k=2;a.g=function(a){var b=A(a);a=E(a);var d=A(a);a=B(a);return c(b,d,a)};a.f=c;return a}(),b=function(b,e,f){switch(arguments.length){case 1:return b;case 2:return a.call(this,b,e);default:return c.f(b,e,F(arguments,2))}throw Error("Invalid arity: "+arguments.length)};b.k=2;b.g=c.g;b.b=function(a){return a};b.a=a;b.f=c.f;return b}(),jj=function(){function a(a,b){return H(a)<H(b)?Vc.c(function(a,c){return Bc.c(b,c,Rc)!==Rc?Hc.a(a,c):a},a,a):Vc.c(Hc,a,b)}var b=null,c=function(){function a(b,d,k){var l=null;2<arguments.length&&(l=F(Array.prototype.slice.call(arguments,2),0));return c.call(this,b,d,l)}function c(a,d,e){return Vc.c(b,a,zc.a(e,d))}a.k=2;a.g=function(a){var b=A(a);a=E(a);var d=A(a);a=B(a);return c(b,d,a)};a.f=c;return a}(),b=function(b,e,f){switch(arguments.length){case 1:return b;case 2:return a.call(this,b,e);default:return c.f(b,e,F(arguments,2))}throw Error("Invalid arity: "+arguments.length)};b.k=2;b.g=c.g;b.b=function(a){return a};b.a=a;b.f=c.f;return b}();function kj(a,b){return function(){function c(a){var b=null;0<arguments.length&&(b=F(Array.prototype.slice.call(arguments,0),0));return d.call(this,b)}function d(c){var d=Qd.a(b,c);c=A(Rd.a(b,c));c=Eg.f(c,F([Dg,!0],0));c=ae(y(c));return J.a(a,xd.a(d,c))}c.k=0;c.g=function(a){a=y(a);return d(a)};c.f=d;return c}()}var lj=function(){function a(a){return kj(a,0)}var b=null,b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return kj(b,d)}throw Error("Invalid arity: "+arguments.length)};b.b=a;b.a=function(a,b){return kj(a,b)};return b}();function mj(a,b){var c=tf(a),d=tf(b);return 1-H(ij.a(c,d))/H(hj.a(c,d))}function nj(a,b,c,d){a=tf(a);b=tf(b);var e=H(ij.a(a,b));return e/(e+c*H(jj.a(a,b))+d*H(jj.a(b,a)))}function tj(a,b,c,d){var e=tf(a),f=tf(b);b=H(ij.a(e,f));a=H(jj.a(e,f));var e=H(jj.a(f,e)),f=a>e?a:e,g=1-c,f=Math.pow.a?Math.pow.a(g,f):Math.pow.call(null,g,f);return b/(b+d*(c*(a<e?a:e)+f))}var uj=function(){function a(a,d,e){var f=null;2<arguments.length&&(f=F(Array.prototype.slice.call(arguments,2),0));return b.call(this,a,d,f)}function b(a,b,e){var f=Sc(e)?J.a(Jd,e):e;e=Bc.c(f,kh,!1);var g=Bc.c(f,Lg,1),f=Bc.c(f,jh,1);return(s(e)?tj:nj).call(null,a,b,f,g)}a.k=2;a.g=function(a){var d=A(a);a=E(a);var e=A(a);a=B(a);return b(d,e,a)};a.f=b;return a}();function vj(a,b){return H(a)>=H(b)?new O(null,2,5,Q,[a,b],null):new O(null,2,5,Q,[b,a],null)}function wj(a){a=(a/2|0)-1;return 0<a?a:0}function xj(a,b,c,d,e,f,g){for(var k=g;;){var l=Fd(ta).call(null,d);if(s(s(l)?d<=e:l))va(Bc.a(g,d))&&x.a(b,Bc.a(c,d))?(f=Dc.c(f,a,b),k=Dc.c(k,d,Bc.a(c,d)),d=null):d+=1;else return new O(null,2,5,Q,[f,k],null)}}function yj(a,b){for(var c=vj(a,b),d=I.c(c,0,null),c=I.c(c,1,null),e=H(d),f=H(c),g=wj(e),k=0,l=ye(Td.a(e,null)),m=ye(Td.a(e,null));;)if(k<e)var r=function(){var a=k-g;return 0<a?a:0}(),n=function(){var a=k+g+1;return a<f?a:f}(),m=xj(k,Bc.a(d,k),c,r,n,l,m),l=I.c(m,0,null),m=I.c(m,1,null),k=k+1;else return new O(null,2,5,Q,[Zd.a(ta,l),Zd.a(ta,m)],null)}function zj(a,b){var c=H(a)-H(b),d=ce.a(2,Ud.a(a,xd.a(b,Td.a(c,null))));return H(Yd.a(function(){return function(a){return Cd.a(A(a),wc(a))}}(c,d),d))/2}function Aj(a,b){var c=yj(a,b),d=I.c(c,0,null),e=I.c(c,1,null),c=H(d),d=zj(d,e);return 0===c?0:(c/H(a)+c/H(b)+(c-d)/c)/3}function Bj(a,b){if(x.a(a,b))return 1;if(2>H(a)&&2>H(b))return 0;var c=tf(Nh(Hh(vh(a,/\s+/,"")))),d=tf(Nh(Hh(vh(b,/\s+/,"")))),e=H(c)+H(d);return 2*H(ij.a(c,d))/e}ea("clj_fuzzy.metrics.levenshtein",function Cj(b,c){if(null==b||va(y(b)))return H(c);if(null==c||va(y(c)))return H(b);var d;d=(x.a(A(b),A(c))?0:1)+Cj(B(b),B(c));var e=Cj(B(b),c)+1;d=d<e?d:e;e=Cj(b,B(c))+1;return d<e?d:e});ea("clj_fuzzy.metrics.dice",Bj);ea("clj_fuzzy.metrics.sorensen",Bj);ea("clj_fuzzy.metrics.jaccard",mj);ea("clj_fuzzy.metrics.tanimoto",mj);ea("clj_fuzzy.metrics.hamming",function(a,b){var c=H(a),d=H(b);return x.a(c,d)?H(Zd.a(function(){return function(a){return x.a(A(a),wc(a))}}(c,d),ce.a(2,Ud.a(a,b)))):null});ea("clj_fuzzy.metrics.jaro",Aj);ea("clj_fuzzy.metrics.jaro_winkler",function(a,b){var c=Aj(a,b),d;a:{for(var e=d=0;;)if(4>d)x.a(Bc.a(a,d),Bc.a(b,d))?(e+=1,d+=1):d=5;else{d=e;break a}d=void 0}return c+.1*d*(1-c)});ea("clj_fuzzy.metrics.mra_comparison",function(a,b){var c=zg,d;d=Wi(a);var e=Wi(b),f=H(d)-H(e);if(3>(Math.abs.b?Math.abs.b(f):Math.abs.call(null,f))){var f=H(d)+H(e),f=4>=f?5:4<f&&7>=f?4:7<f&&11>=f?3:2,g,k;g=H(d);k=H(e);k=g>k?new O(null,2,5,Q,[d,e],null):new O(null,2,5,Q,[e,d],null);g=I.c(k,0,null);k=I.c(k,1,null);k=Vi(Ui(g,k));g=Ti(Pd.a(A,k));k=Ti(Pd.a(wc,k));g=Ui(gd(g),gd(k));g=Vi(g);g=6-H(Ti(g));d=new ja(null,4,[ih,f,dh,g,Jg,new O(null,2,5,Q,[d,e],null),uh,g>=f],null)}else d=null;return c(d)});var Dj=lj.a(uj,2);ea("clj_fuzzy.metrics.tversky",Dj)})();if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports)exports=module.exports=clj_fuzzy;exports.clj_fuzzy=clj_fuzzy}else if(typeof define==="function"&&define.amd)define("clj_fuzzy",[],function(){return clj_fuzzy})},{}]},{},[]);require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({lodash:[function(require,module,exports){(function(global){(function(){var undefined;var arrayPool=[],objectPool=[];var idCounter=0;var keyPrefix=+new Date+"";var largeArraySize=75;var maxPoolSize=40;var whitespace=" \f "+"\n\r\u2028\u2029"+" ᠎              ";var reEmptyStringLeading=/\b__p \+= '';/g,reEmptyStringMiddle=/\b(__p \+=) '' \+/g,reEmptyStringTrailing=/(__e\(.*?\)|\b__t\)) \+\n'';/g;var reEsTemplate=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;var reFlags=/\w*$/;var reFuncName=/^\s*function[ \n\r\t]+\w/;var reInterpolate=/<%=([\s\S]+?)%>/g;var reLeadingSpacesAndZeros=RegExp("^["+whitespace+"]*0+(?=.$)");var reNoMatch=/($^)/;var reThis=/\bthis\b/;var reUnescapedString=/['\n\r\t\u2028\u2029\\]/g;var contextProps=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"];var templateCounter=0;var argsClass="[object Arguments]",arrayClass="[object Array]",boolClass="[object Boolean]",dateClass="[object Date]",funcClass="[object Function]",numberClass="[object Number]",objectClass="[object Object]",regexpClass="[object RegExp]",stringClass="[object String]";var cloneableClasses={};cloneableClasses[funcClass]=false;cloneableClasses[argsClass]=cloneableClasses[arrayClass]=cloneableClasses[boolClass]=cloneableClasses[dateClass]=cloneableClasses[numberClass]=cloneableClasses[objectClass]=cloneableClasses[regexpClass]=cloneableClasses[stringClass]=true;var debounceOptions={leading:false,maxWait:0,trailing:false};var descriptor={configurable:false,enumerable:false,value:null,writable:false};var objectTypes={"boolean":false,"function":true,object:true,number:false,string:false,undefined:false};var stringEscapes={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"};var root=objectTypes[typeof window]&&window||this;var freeExports=objectTypes[typeof exports]&&exports&&!exports.nodeType&&exports;var freeModule=objectTypes[typeof module]&&module&&!module.nodeType&&module;var moduleExports=freeModule&&freeModule.exports===freeExports&&freeExports;var freeGlobal=objectTypes[typeof global]&&global;if(freeGlobal&&(freeGlobal.global===freeGlobal||freeGlobal.window===freeGlobal)){root=freeGlobal}function baseIndexOf(array,value,fromIndex){var index=(fromIndex||0)-1,length=array?array.length:0;while(++index<length){if(array[index]===value){return index}}return-1}function cacheIndexOf(cache,value){var type=typeof value;cache=cache.cache;if(type=="boolean"||value==null){return cache[value]?0:-1}if(type!="number"&&type!="string"){type="object"}var key=type=="number"?value:keyPrefix+value;cache=(cache=cache[type])&&cache[key];return type=="object"?cache&&baseIndexOf(cache,value)>-1?0:-1:cache?0:-1}function cachePush(value){var cache=this.cache,type=typeof value;if(type=="boolean"||value==null){cache[value]=true}else{if(type!="number"&&type!="string"){type="object"}var key=type=="number"?value:keyPrefix+value,typeCache=cache[type]||(cache[type]={});if(type=="object"){(typeCache[key]||(typeCache[key]=[])).push(value)}else{typeCache[key]=true}}}function charAtCallback(value){return value.charCodeAt(0)}function compareAscending(a,b){var ac=a.criteria,bc=b.criteria,index=-1,length=ac.length;while(++index<length){var value=ac[index],other=bc[index];if(value!==other){if(value>other||typeof value=="undefined"){return 1}if(value<other||typeof other=="undefined"){return-1}}}return a.index-b.index}function createCache(array){var index=-1,length=array.length,first=array[0],mid=array[length/2|0],last=array[length-1];if(first&&typeof first=="object"&&mid&&typeof mid=="object"&&last&&typeof last=="object"){return false}var cache=getObject();cache["false"]=cache["null"]=cache["true"]=cache["undefined"]=false;var result=getObject();result.array=array;result.cache=cache;result.push=cachePush;while(++index<length){result.push(array[index])}return result}function escapeStringChar(match){return"\\"+stringEscapes[match]}function getArray(){return arrayPool.pop()||[]}function getObject(){return objectPool.pop()||{array:null,cache:null,criteria:null,"false":false,index:0,"null":false,number:null,object:null,push:null,string:null,"true":false,undefined:false,value:null}}function releaseArray(array){array.length=0;if(arrayPool.length<maxPoolSize){arrayPool.push(array)}}function releaseObject(object){var cache=object.cache;if(cache){releaseObject(cache)}object.array=object.cache=object.criteria=object.object=object.number=object.string=object.value=null;if(objectPool.length<maxPoolSize){objectPool.push(object)}}function slice(array,start,end){start||(start=0);if(typeof end=="undefined"){end=array?array.length:0}var index=-1,length=end-start||0,result=Array(length<0?0:length);while(++index<length){result[index]=array[start+index]}return result}function runInContext(context){context=context?_.defaults(root.Object(),context,_.pick(root,contextProps)):root;var Array=context.Array,Boolean=context.Boolean,Date=context.Date,Function=context.Function,Math=context.Math,Number=context.Number,Object=context.Object,RegExp=context.RegExp,String=context.String,TypeError=context.TypeError;var arrayRef=[];var objectProto=Object.prototype;var oldDash=context._;var toString=objectProto.toString;var reNative=RegExp("^"+String(toString).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$");var ceil=Math.ceil,clearTimeout=context.clearTimeout,floor=Math.floor,fnToString=Function.prototype.toString,getPrototypeOf=isNative(getPrototypeOf=Object.getPrototypeOf)&&getPrototypeOf,hasOwnProperty=objectProto.hasOwnProperty,push=arrayRef.push,setTimeout=context.setTimeout,splice=arrayRef.splice,unshift=arrayRef.unshift;var defineProperty=function(){try{var o={},func=isNative(func=Object.defineProperty)&&func,result=func(o,o,o)&&func}catch(e){}return result}();var nativeCreate=isNative(nativeCreate=Object.create)&&nativeCreate,nativeIsArray=isNative(nativeIsArray=Array.isArray)&&nativeIsArray,nativeIsFinite=context.isFinite,nativeIsNaN=context.isNaN,nativeKeys=isNative(nativeKeys=Object.keys)&&nativeKeys,nativeMax=Math.max,nativeMin=Math.min,nativeParseInt=context.parseInt,nativeRandom=Math.random;var ctorByClass={};ctorByClass[arrayClass]=Array;ctorByClass[boolClass]=Boolean;ctorByClass[dateClass]=Date;ctorByClass[funcClass]=Function;ctorByClass[objectClass]=Object;ctorByClass[numberClass]=Number;ctorByClass[regexpClass]=RegExp;ctorByClass[stringClass]=String;function lodash(value){return value&&typeof value=="object"&&!isArray(value)&&hasOwnProperty.call(value,"__wrapped__")?value:new lodashWrapper(value)}function lodashWrapper(value,chainAll){this.__chain__=!!chainAll;this.__wrapped__=value}lodashWrapper.prototype=lodash.prototype;var support=lodash.support={};support.funcDecomp=!isNative(context.WinRTError)&&reThis.test(runInContext);support.funcNames=typeof Function.name=="string";lodash.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:reInterpolate,variable:"",imports:{_:lodash}};function baseBind(bindData){var func=bindData[0],partialArgs=bindData[2],thisArg=bindData[4];function bound(){if(partialArgs){var args=slice(partialArgs);push.apply(args,arguments)}if(this instanceof bound){var thisBinding=baseCreate(func.prototype),result=func.apply(thisBinding,args||arguments);return isObject(result)?result:thisBinding}return func.apply(thisArg,args||arguments)}setBindData(bound,bindData);return bound}function baseClone(value,isDeep,callback,stackA,stackB){if(callback){var result=callback(value);if(typeof result!="undefined"){return result}}var isObj=isObject(value);if(isObj){var className=toString.call(value);if(!cloneableClasses[className]){return value}var ctor=ctorByClass[className];switch(className){case boolClass:case dateClass:return new ctor(+value);case numberClass:case stringClass:return new ctor(value);case regexpClass:result=ctor(value.source,reFlags.exec(value));result.lastIndex=value.lastIndex;return result}}else{return value}var isArr=isArray(value);if(isDeep){var initedStack=!stackA;stackA||(stackA=getArray());stackB||(stackB=getArray());var length=stackA.length;while(length--){if(stackA[length]==value){return stackB[length]}}result=isArr?ctor(value.length):{}}else{result=isArr?slice(value):assign({},value)}if(isArr){if(hasOwnProperty.call(value,"index")){result.index=value.index}if(hasOwnProperty.call(value,"input")){result.input=value.input}}if(!isDeep){return result}stackA.push(value);stackB.push(result);(isArr?forEach:forOwn)(value,function(objValue,key){result[key]=baseClone(objValue,isDeep,callback,stackA,stackB)});if(initedStack){releaseArray(stackA);releaseArray(stackB)}return result}function baseCreate(prototype,properties){return isObject(prototype)?nativeCreate(prototype):{}}if(!nativeCreate){baseCreate=function(){function Object(){}return function(prototype){if(isObject(prototype)){Object.prototype=prototype;var result=new Object;Object.prototype=null}return result||context.Object()}}()}function baseCreateCallback(func,thisArg,argCount){if(typeof func!="function"){return identity}if(typeof thisArg=="undefined"||!("prototype"in func)){return func}var bindData=func.__bindData__;if(typeof bindData=="undefined"){if(support.funcNames){bindData=!func.name}bindData=bindData||!support.funcDecomp;if(!bindData){var source=fnToString.call(func);if(!support.funcNames){bindData=!reFuncName.test(source)}if(!bindData){bindData=reThis.test(source);setBindData(func,bindData)}}}if(bindData===false||bindData!==true&&bindData[1]&1){return func}switch(argCount){case 1:return function(value){return func.call(thisArg,value)};case 2:return function(a,b){return func.call(thisArg,a,b)};case 3:return function(value,index,collection){return func.call(thisArg,value,index,collection)};case 4:return function(accumulator,value,index,collection){return func.call(thisArg,accumulator,value,index,collection)}}return bind(func,thisArg)}function baseCreateWrapper(bindData){var func=bindData[0],bitmask=bindData[1],partialArgs=bindData[2],partialRightArgs=bindData[3],thisArg=bindData[4],arity=bindData[5];var isBind=bitmask&1,isBindKey=bitmask&2,isCurry=bitmask&4,isCurryBound=bitmask&8,key=func;function bound(){var thisBinding=isBind?thisArg:this;if(partialArgs){var args=slice(partialArgs);push.apply(args,arguments)}if(partialRightArgs||isCurry){args||(args=slice(arguments));if(partialRightArgs){push.apply(args,partialRightArgs)}if(isCurry&&args.length<arity){bitmask|=16&~32;return baseCreateWrapper([func,isCurryBound?bitmask:bitmask&~3,args,null,thisArg,arity])}}args||(args=arguments);if(isBindKey){func=thisBinding[key]}if(this instanceof bound){thisBinding=baseCreate(func.prototype);var result=func.apply(thisBinding,args);return isObject(result)?result:thisBinding}return func.apply(thisBinding,args)}setBindData(bound,bindData);return bound}function baseDifference(array,values){var index=-1,indexOf=getIndexOf(),length=array?array.length:0,isLarge=length>=largeArraySize&&indexOf===baseIndexOf,result=[];if(isLarge){var cache=createCache(values);if(cache){indexOf=cacheIndexOf;values=cache}else{isLarge=false}}while(++index<length){var value=array[index];if(indexOf(values,value)<0){result.push(value)}}if(isLarge){releaseObject(values)}return result}function baseFlatten(array,isShallow,isStrict,fromIndex){var index=(fromIndex||0)-1,length=array?array.length:0,result=[];while(++index<length){var value=array[index];if(value&&typeof value=="object"&&typeof value.length=="number"&&(isArray(value)||isArguments(value))){if(!isShallow){value=baseFlatten(value,isShallow,isStrict)}var valIndex=-1,valLength=value.length,resIndex=result.length;result.length+=valLength;while(++valIndex<valLength){result[resIndex++]=value[valIndex]}}else if(!isStrict){result.push(value)}}return result}function baseIsEqual(a,b,callback,isWhere,stackA,stackB){if(callback){var result=callback(a,b);if(typeof result!="undefined"){return!!result}}if(a===b){return a!==0||1/a==1/b}var type=typeof a,otherType=typeof b;if(a===a&&!(a&&objectTypes[type])&&!(b&&objectTypes[otherType])){return false
}if(a==null||b==null){return a===b}var className=toString.call(a),otherClass=toString.call(b);if(className==argsClass){className=objectClass}if(otherClass==argsClass){otherClass=objectClass}if(className!=otherClass){return false}switch(className){case boolClass:case dateClass:return+a==+b;case numberClass:return a!=+a?b!=+b:a==0?1/a==1/b:a==+b;case regexpClass:case stringClass:return a==String(b)}var isArr=className==arrayClass;if(!isArr){var aWrapped=hasOwnProperty.call(a,"__wrapped__"),bWrapped=hasOwnProperty.call(b,"__wrapped__");if(aWrapped||bWrapped){return baseIsEqual(aWrapped?a.__wrapped__:a,bWrapped?b.__wrapped__:b,callback,isWhere,stackA,stackB)}if(className!=objectClass){return false}var ctorA=a.constructor,ctorB=b.constructor;if(ctorA!=ctorB&&!(isFunction(ctorA)&&ctorA instanceof ctorA&&isFunction(ctorB)&&ctorB instanceof ctorB)&&("constructor"in a&&"constructor"in b)){return false}}var initedStack=!stackA;stackA||(stackA=getArray());stackB||(stackB=getArray());var length=stackA.length;while(length--){if(stackA[length]==a){return stackB[length]==b}}var size=0;result=true;stackA.push(a);stackB.push(b);if(isArr){length=a.length;size=b.length;result=size==length;if(result||isWhere){while(size--){var index=length,value=b[size];if(isWhere){while(index--){if(result=baseIsEqual(a[index],value,callback,isWhere,stackA,stackB)){break}}}else if(!(result=baseIsEqual(a[size],value,callback,isWhere,stackA,stackB))){break}}}}else{forIn(b,function(value,key,b){if(hasOwnProperty.call(b,key)){size++;return result=hasOwnProperty.call(a,key)&&baseIsEqual(a[key],value,callback,isWhere,stackA,stackB)}});if(result&&!isWhere){forIn(a,function(value,key,a){if(hasOwnProperty.call(a,key)){return result=--size>-1}})}}stackA.pop();stackB.pop();if(initedStack){releaseArray(stackA);releaseArray(stackB)}return result}function baseMerge(object,source,callback,stackA,stackB){(isArray(source)?forEach:forOwn)(source,function(source,key){var found,isArr,result=source,value=object[key];if(source&&((isArr=isArray(source))||isPlainObject(source))){var stackLength=stackA.length;while(stackLength--){if(found=stackA[stackLength]==source){value=stackB[stackLength];break}}if(!found){var isShallow;if(callback){result=callback(value,source);if(isShallow=typeof result!="undefined"){value=result}}if(!isShallow){value=isArr?isArray(value)?value:[]:isPlainObject(value)?value:{}}stackA.push(source);stackB.push(value);if(!isShallow){baseMerge(value,source,callback,stackA,stackB)}}}else{if(callback){result=callback(value,source);if(typeof result=="undefined"){result=source}}if(typeof result!="undefined"){value=result}}object[key]=value})}function baseRandom(min,max){return min+floor(nativeRandom()*(max-min+1))}function baseUniq(array,isSorted,callback){var index=-1,indexOf=getIndexOf(),length=array?array.length:0,result=[];var isLarge=!isSorted&&length>=largeArraySize&&indexOf===baseIndexOf,seen=callback||isLarge?getArray():result;if(isLarge){var cache=createCache(seen);indexOf=cacheIndexOf;seen=cache}while(++index<length){var value=array[index],computed=callback?callback(value,index,array):value;if(isSorted?!index||seen[seen.length-1]!==computed:indexOf(seen,computed)<0){if(callback||isLarge){seen.push(computed)}result.push(value)}}if(isLarge){releaseArray(seen.array);releaseObject(seen)}else if(callback){releaseArray(seen)}return result}function createAggregator(setter){return function(collection,callback,thisArg){var result={};callback=lodash.createCallback(callback,thisArg,3);var index=-1,length=collection?collection.length:0;if(typeof length=="number"){while(++index<length){var value=collection[index];setter(result,value,callback(value,index,collection),collection)}}else{forOwn(collection,function(value,key,collection){setter(result,value,callback(value,key,collection),collection)})}return result}}function createWrapper(func,bitmask,partialArgs,partialRightArgs,thisArg,arity){var isBind=bitmask&1,isBindKey=bitmask&2,isCurry=bitmask&4,isCurryBound=bitmask&8,isPartial=bitmask&16,isPartialRight=bitmask&32;if(!isBindKey&&!isFunction(func)){throw new TypeError}if(isPartial&&!partialArgs.length){bitmask&=~16;isPartial=partialArgs=false}if(isPartialRight&&!partialRightArgs.length){bitmask&=~32;isPartialRight=partialRightArgs=false}var bindData=func&&func.__bindData__;if(bindData&&bindData!==true){bindData=slice(bindData);if(bindData[2]){bindData[2]=slice(bindData[2])}if(bindData[3]){bindData[3]=slice(bindData[3])}if(isBind&&!(bindData[1]&1)){bindData[4]=thisArg}if(!isBind&&bindData[1]&1){bitmask|=8}if(isCurry&&!(bindData[1]&4)){bindData[5]=arity}if(isPartial){push.apply(bindData[2]||(bindData[2]=[]),partialArgs)}if(isPartialRight){unshift.apply(bindData[3]||(bindData[3]=[]),partialRightArgs)}bindData[1]|=bitmask;return createWrapper.apply(null,bindData)}var creater=bitmask==1||bitmask===17?baseBind:baseCreateWrapper;return creater([func,bitmask,partialArgs,partialRightArgs,thisArg,arity])}function escapeHtmlChar(match){return htmlEscapes[match]}function getIndexOf(){var result=(result=lodash.indexOf)===indexOf?baseIndexOf:result;return result}function isNative(value){return typeof value=="function"&&reNative.test(value)}var setBindData=!defineProperty?noop:function(func,value){descriptor.value=value;defineProperty(func,"__bindData__",descriptor)};function shimIsPlainObject(value){var ctor,result;if(!(value&&toString.call(value)==objectClass)||(ctor=value.constructor,isFunction(ctor)&&!(ctor instanceof ctor))){return false}forIn(value,function(value,key){result=key});return typeof result=="undefined"||hasOwnProperty.call(value,result)}function unescapeHtmlChar(match){return htmlUnescapes[match]}function isArguments(value){return value&&typeof value=="object"&&typeof value.length=="number"&&toString.call(value)==argsClass||false}var isArray=nativeIsArray||function(value){return value&&typeof value=="object"&&typeof value.length=="number"&&toString.call(value)==arrayClass||false};var shimKeys=function(object){var index,iterable=object,result=[];if(!iterable)return result;if(!objectTypes[typeof object])return result;for(index in iterable){if(hasOwnProperty.call(iterable,index)){result.push(index)}}return result};var keys=!nativeKeys?shimKeys:function(object){if(!isObject(object)){return[]}return nativeKeys(object)};var htmlEscapes={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};var htmlUnescapes=invert(htmlEscapes);var reEscapedHtml=RegExp("("+keys(htmlUnescapes).join("|")+")","g"),reUnescapedHtml=RegExp("["+keys(htmlEscapes).join("")+"]","g");var assign=function(object,source,guard){var index,iterable=object,result=iterable;if(!iterable)return result;var args=arguments,argsIndex=0,argsLength=typeof guard=="number"?2:args.length;if(argsLength>3&&typeof args[argsLength-2]=="function"){var callback=baseCreateCallback(args[--argsLength-1],args[argsLength--],2)}else if(argsLength>2&&typeof args[argsLength-1]=="function"){callback=args[--argsLength]}while(++argsIndex<argsLength){iterable=args[argsIndex];if(iterable&&objectTypes[typeof iterable]){var ownIndex=-1,ownProps=objectTypes[typeof iterable]&&keys(iterable),length=ownProps?ownProps.length:0;while(++ownIndex<length){index=ownProps[ownIndex];result[index]=callback?callback(result[index],iterable[index]):iterable[index]}}}return result};function clone(value,isDeep,callback,thisArg){if(typeof isDeep!="boolean"&&isDeep!=null){thisArg=callback;callback=isDeep;isDeep=false}return baseClone(value,isDeep,typeof callback=="function"&&baseCreateCallback(callback,thisArg,1))}function cloneDeep(value,callback,thisArg){return baseClone(value,true,typeof callback=="function"&&baseCreateCallback(callback,thisArg,1))}function create(prototype,properties){var result=baseCreate(prototype);return properties?assign(result,properties):result}var defaults=function(object,source,guard){var index,iterable=object,result=iterable;if(!iterable)return result;var args=arguments,argsIndex=0,argsLength=typeof guard=="number"?2:args.length;while(++argsIndex<argsLength){iterable=args[argsIndex];if(iterable&&objectTypes[typeof iterable]){var ownIndex=-1,ownProps=objectTypes[typeof iterable]&&keys(iterable),length=ownProps?ownProps.length:0;while(++ownIndex<length){index=ownProps[ownIndex];if(typeof result[index]=="undefined")result[index]=iterable[index]}}}return result};function findKey(object,callback,thisArg){var result;callback=lodash.createCallback(callback,thisArg,3);forOwn(object,function(value,key,object){if(callback(value,key,object)){result=key;return false}});return result}function findLastKey(object,callback,thisArg){var result;callback=lodash.createCallback(callback,thisArg,3);forOwnRight(object,function(value,key,object){if(callback(value,key,object)){result=key;return false}});return result}var forIn=function(collection,callback,thisArg){var index,iterable=collection,result=iterable;if(!iterable)return result;if(!objectTypes[typeof iterable])return result;callback=callback&&typeof thisArg=="undefined"?callback:baseCreateCallback(callback,thisArg,3);for(index in iterable){if(callback(iterable[index],index,collection)===false)return result}return result};function forInRight(object,callback,thisArg){var pairs=[];forIn(object,function(value,key){pairs.push(key,value)});var length=pairs.length;callback=baseCreateCallback(callback,thisArg,3);while(length--){if(callback(pairs[length--],pairs[length],object)===false){break}}return object}var forOwn=function(collection,callback,thisArg){var index,iterable=collection,result=iterable;if(!iterable)return result;if(!objectTypes[typeof iterable])return result;callback=callback&&typeof thisArg=="undefined"?callback:baseCreateCallback(callback,thisArg,3);var ownIndex=-1,ownProps=objectTypes[typeof iterable]&&keys(iterable),length=ownProps?ownProps.length:0;while(++ownIndex<length){index=ownProps[ownIndex];if(callback(iterable[index],index,collection)===false)return result}return result};function forOwnRight(object,callback,thisArg){var props=keys(object),length=props.length;callback=baseCreateCallback(callback,thisArg,3);while(length--){var key=props[length];if(callback(object[key],key,object)===false){break}}return object}function functions(object){var result=[];forIn(object,function(value,key){if(isFunction(value)){result.push(key)}});return result.sort()}function has(object,key){return object?hasOwnProperty.call(object,key):false}function invert(object){var index=-1,props=keys(object),length=props.length,result={};while(++index<length){var key=props[index];result[object[key]]=key}return result}function isBoolean(value){return value===true||value===false||value&&typeof value=="object"&&toString.call(value)==boolClass||false}function isDate(value){return value&&typeof value=="object"&&toString.call(value)==dateClass||false}function isElement(value){return value&&value.nodeType===1||false}function isEmpty(value){var result=true;if(!value){return result}var className=toString.call(value),length=value.length;if(className==arrayClass||className==stringClass||className==argsClass||className==objectClass&&typeof length=="number"&&isFunction(value.splice)){return!length}forOwn(value,function(){return result=false});return result}function isEqual(a,b,callback,thisArg){return baseIsEqual(a,b,typeof callback=="function"&&baseCreateCallback(callback,thisArg,2))}function isFinite(value){return nativeIsFinite(value)&&!nativeIsNaN(parseFloat(value))}function isFunction(value){return typeof value=="function"}function isObject(value){return!!(value&&objectTypes[typeof value])}function isNaN(value){return isNumber(value)&&value!=+value}function isNull(value){return value===null}function isNumber(value){return typeof value=="number"||value&&typeof value=="object"&&toString.call(value)==numberClass||false}var isPlainObject=!getPrototypeOf?shimIsPlainObject:function(value){if(!(value&&toString.call(value)==objectClass)){return false}var valueOf=value.valueOf,objProto=isNative(valueOf)&&(objProto=getPrototypeOf(valueOf))&&getPrototypeOf(objProto);return objProto?value==objProto||getPrototypeOf(value)==objProto:shimIsPlainObject(value)};function isRegExp(value){return value&&typeof value=="object"&&toString.call(value)==regexpClass||false}function isString(value){return typeof value=="string"||value&&typeof value=="object"&&toString.call(value)==stringClass||false}function isUndefined(value){return typeof value=="undefined"}function mapValues(object,callback,thisArg){var result={};callback=lodash.createCallback(callback,thisArg,3);forOwn(object,function(value,key,object){result[key]=callback(value,key,object)});return result}function merge(object){var args=arguments,length=2;if(!isObject(object)){return object}if(typeof args[2]!="number"){length=args.length}if(length>3&&typeof args[length-2]=="function"){var callback=baseCreateCallback(args[--length-1],args[length--],2)}else if(length>2&&typeof args[length-1]=="function"){callback=args[--length]}var sources=slice(arguments,1,length),index=-1,stackA=getArray(),stackB=getArray();while(++index<length){baseMerge(object,sources[index],callback,stackA,stackB)}releaseArray(stackA);releaseArray(stackB);return object}function omit(object,callback,thisArg){var result={};if(typeof callback!="function"){var props=[];forIn(object,function(value,key){props.push(key)});props=baseDifference(props,baseFlatten(arguments,true,false,1));var index=-1,length=props.length;while(++index<length){var key=props[index];result[key]=object[key]}}else{callback=lodash.createCallback(callback,thisArg,3);forIn(object,function(value,key,object){if(!callback(value,key,object)){result[key]=value}})}return result}function pairs(object){var index=-1,props=keys(object),length=props.length,result=Array(length);while(++index<length){var key=props[index];result[index]=[key,object[key]]}return result}function pick(object,callback,thisArg){var result={};if(typeof callback!="function"){var index=-1,props=baseFlatten(arguments,true,false,1),length=isObject(object)?props.length:0;while(++index<length){var key=props[index];if(key in object){result[key]=object[key]}}}else{callback=lodash.createCallback(callback,thisArg,3);forIn(object,function(value,key,object){if(callback(value,key,object)){result[key]=value}})}return result}function transform(object,callback,accumulator,thisArg){var isArr=isArray(object);if(accumulator==null){if(isArr){accumulator=[]}else{var ctor=object&&object.constructor,proto=ctor&&ctor.prototype;accumulator=baseCreate(proto)}}if(callback){callback=lodash.createCallback(callback,thisArg,4);(isArr?forEach:forOwn)(object,function(value,index,object){return callback(accumulator,value,index,object)})}return accumulator}function values(object){var index=-1,props=keys(object),length=props.length,result=Array(length);while(++index<length){result[index]=object[props[index]]}return result}function at(collection){var args=arguments,index=-1,props=baseFlatten(args,true,false,1),length=args[2]&&args[2][args[1]]===collection?1:props.length,result=Array(length);while(++index<length){result[index]=collection[props[index]]}return result}function contains(collection,target,fromIndex){var index=-1,indexOf=getIndexOf(),length=collection?collection.length:0,result=false;fromIndex=(fromIndex<0?nativeMax(0,length+fromIndex):fromIndex)||0;if(isArray(collection)){result=indexOf(collection,target,fromIndex)>-1}else if(typeof length=="number"){result=(isString(collection)?collection.indexOf(target,fromIndex):indexOf(collection,target,fromIndex))>-1}else{forOwn(collection,function(value){if(++index>=fromIndex){return!(result=value===target)}})}return result}var countBy=createAggregator(function(result,value,key){hasOwnProperty.call(result,key)?result[key]++:result[key]=1});function every(collection,callback,thisArg){var result=true;callback=lodash.createCallback(callback,thisArg,3);var index=-1,length=collection?collection.length:0;if(typeof length=="number"){while(++index<length){if(!(result=!!callback(collection[index],index,collection))){break}}}else{forOwn(collection,function(value,index,collection){return result=!!callback(value,index,collection)})}return result}function filter(collection,callback,thisArg){var result=[];callback=lodash.createCallback(callback,thisArg,3);var index=-1,length=collection?collection.length:0;if(typeof length=="number"){while(++index<length){var value=collection[index];if(callback(value,index,collection)){result.push(value)}}}else{forOwn(collection,function(value,index,collection){if(callback(value,index,collection)){result.push(value)}})}return result}function find(collection,callback,thisArg){callback=lodash.createCallback(callback,thisArg,3);var index=-1,length=collection?collection.length:0;if(typeof length=="number"){while(++index<length){var value=collection[index];if(callback(value,index,collection)){return value}}}else{var result;forOwn(collection,function(value,index,collection){if(callback(value,index,collection)){result=value;return false}});return result}}function findLast(collection,callback,thisArg){var result;callback=lodash.createCallback(callback,thisArg,3);forEachRight(collection,function(value,index,collection){if(callback(value,index,collection)){result=value;return false}});return result}function forEach(collection,callback,thisArg){var index=-1,length=collection?collection.length:0;callback=callback&&typeof thisArg=="undefined"?callback:baseCreateCallback(callback,thisArg,3);if(typeof length=="number"){while(++index<length){if(callback(collection[index],index,collection)===false){break}}}else{forOwn(collection,callback)}return collection}function forEachRight(collection,callback,thisArg){var length=collection?collection.length:0;callback=callback&&typeof thisArg=="undefined"?callback:baseCreateCallback(callback,thisArg,3);if(typeof length=="number"){while(length--){if(callback(collection[length],length,collection)===false){break}}}else{var props=keys(collection);length=props.length;forOwn(collection,function(value,key,collection){key=props?props[--length]:--length;return callback(collection[key],key,collection)})}return collection}var groupBy=createAggregator(function(result,value,key){(hasOwnProperty.call(result,key)?result[key]:result[key]=[]).push(value)});var indexBy=createAggregator(function(result,value,key){result[key]=value});function invoke(collection,methodName){var args=slice(arguments,2),index=-1,isFunc=typeof methodName=="function",length=collection?collection.length:0,result=Array(typeof length=="number"?length:0);forEach(collection,function(value){result[++index]=(isFunc?methodName:value[methodName]).apply(value,args)});return result}function map(collection,callback,thisArg){var index=-1,length=collection?collection.length:0;callback=lodash.createCallback(callback,thisArg,3);if(typeof length=="number"){var result=Array(length);while(++index<length){result[index]=callback(collection[index],index,collection)}}else{result=[];forOwn(collection,function(value,key,collection){result[++index]=callback(value,key,collection)})}return result}function max(collection,callback,thisArg){var computed=-Infinity,result=computed;if(typeof callback!="function"&&thisArg&&thisArg[callback]===collection){callback=null}if(callback==null&&isArray(collection)){var index=-1,length=collection.length;while(++index<length){var value=collection[index];if(value>result){result=value}}}else{callback=callback==null&&isString(collection)?charAtCallback:lodash.createCallback(callback,thisArg,3);forEach(collection,function(value,index,collection){var current=callback(value,index,collection);if(current>computed){computed=current;result=value}})}return result}function min(collection,callback,thisArg){var computed=Infinity,result=computed;if(typeof callback!="function"&&thisArg&&thisArg[callback]===collection){callback=null}if(callback==null&&isArray(collection)){var index=-1,length=collection.length;while(++index<length){var value=collection[index];if(value<result){result=value}}}else{callback=callback==null&&isString(collection)?charAtCallback:lodash.createCallback(callback,thisArg,3);forEach(collection,function(value,index,collection){var current=callback(value,index,collection);if(current<computed){computed=current;result=value}})}return result}var pluck=map;function reduce(collection,callback,accumulator,thisArg){if(!collection)return accumulator;var noaccum=arguments.length<3;callback=lodash.createCallback(callback,thisArg,4);var index=-1,length=collection.length;if(typeof length=="number"){if(noaccum){accumulator=collection[++index]}while(++index<length){accumulator=callback(accumulator,collection[index],index,collection)}}else{forOwn(collection,function(value,index,collection){accumulator=noaccum?(noaccum=false,value):callback(accumulator,value,index,collection)})}return accumulator}function reduceRight(collection,callback,accumulator,thisArg){var noaccum=arguments.length<3;callback=lodash.createCallback(callback,thisArg,4);forEachRight(collection,function(value,index,collection){accumulator=noaccum?(noaccum=false,value):callback(accumulator,value,index,collection)});return accumulator}function reject(collection,callback,thisArg){callback=lodash.createCallback(callback,thisArg,3);return filter(collection,function(value,index,collection){return!callback(value,index,collection)})}function sample(collection,n,guard){if(collection&&typeof collection.length!="number"){collection=values(collection)}if(n==null||guard){return collection?collection[baseRandom(0,collection.length-1)]:undefined}var result=shuffle(collection);result.length=nativeMin(nativeMax(0,n),result.length);return result}function shuffle(collection){var index=-1,length=collection?collection.length:0,result=Array(typeof length=="number"?length:0);forEach(collection,function(value){var rand=baseRandom(0,++index);result[index]=result[rand];result[rand]=value});return result}function size(collection){var length=collection?collection.length:0;return typeof length=="number"?length:keys(collection).length}function some(collection,callback,thisArg){var result;callback=lodash.createCallback(callback,thisArg,3);var index=-1,length=collection?collection.length:0;if(typeof length=="number"){while(++index<length){if(result=callback(collection[index],index,collection)){break}}}else{forOwn(collection,function(value,index,collection){return!(result=callback(value,index,collection))})}return!!result}function sortBy(collection,callback,thisArg){var index=-1,isArr=isArray(callback),length=collection?collection.length:0,result=Array(typeof length=="number"?length:0);if(!isArr){callback=lodash.createCallback(callback,thisArg,3)}forEach(collection,function(value,key,collection){var object=result[++index]=getObject();if(isArr){object.criteria=map(callback,function(key){return value[key]})}else{(object.criteria=getArray())[0]=callback(value,key,collection)}object.index=index;object.value=value});length=result.length;result.sort(compareAscending);while(length--){var object=result[length];result[length]=object.value;if(!isArr){releaseArray(object.criteria)}releaseObject(object)}return result}function toArray(collection){if(collection&&typeof collection.length=="number"){return slice(collection)}return values(collection)}var where=filter;function compact(array){var index=-1,length=array?array.length:0,result=[];while(++index<length){var value=array[index];if(value){result.push(value)}}return result}function difference(array){return baseDifference(array,baseFlatten(arguments,true,true,1))}function findIndex(array,callback,thisArg){var index=-1,length=array?array.length:0;callback=lodash.createCallback(callback,thisArg,3);while(++index<length){if(callback(array[index],index,array)){return index}}return-1}function findLastIndex(array,callback,thisArg){var length=array?array.length:0;callback=lodash.createCallback(callback,thisArg,3);while(length--){if(callback(array[length],length,array)){return length}}return-1}function first(array,callback,thisArg){var n=0,length=array?array.length:0;if(typeof callback!="number"&&callback!=null){var index=-1;callback=lodash.createCallback(callback,thisArg,3);while(++index<length&&callback(array[index],index,array)){n++}}else{n=callback;if(n==null||thisArg){return array?array[0]:undefined}}return slice(array,0,nativeMin(nativeMax(0,n),length))}function flatten(array,isShallow,callback,thisArg){if(typeof isShallow!="boolean"&&isShallow!=null){thisArg=callback;callback=typeof isShallow!="function"&&thisArg&&thisArg[isShallow]===array?null:isShallow;isShallow=false}if(callback!=null){array=map(array,callback,thisArg)}return baseFlatten(array,isShallow)}function indexOf(array,value,fromIndex){if(typeof fromIndex=="number"){var length=array?array.length:0;fromIndex=fromIndex<0?nativeMax(0,length+fromIndex):fromIndex||0}else if(fromIndex){var index=sortedIndex(array,value);return array[index]===value?index:-1}return baseIndexOf(array,value,fromIndex)}function initial(array,callback,thisArg){var n=0,length=array?array.length:0;if(typeof callback!="number"&&callback!=null){var index=length;callback=lodash.createCallback(callback,thisArg,3);while(index--&&callback(array[index],index,array)){n++}}else{n=callback==null||thisArg?1:callback||n}return slice(array,0,nativeMin(nativeMax(0,length-n),length))}function intersection(){var args=[],argsIndex=-1,argsLength=arguments.length,caches=getArray(),indexOf=getIndexOf(),trustIndexOf=indexOf===baseIndexOf,seen=getArray();while(++argsIndex<argsLength){var value=arguments[argsIndex];if(isArray(value)||isArguments(value)){args.push(value);caches.push(trustIndexOf&&value.length>=largeArraySize&&createCache(argsIndex?args[argsIndex]:seen))}}var array=args[0],index=-1,length=array?array.length:0,result=[];outer:while(++index<length){var cache=caches[0];value=array[index];if((cache?cacheIndexOf(cache,value):indexOf(seen,value))<0){argsIndex=argsLength;(cache||seen).push(value);while(--argsIndex){cache=caches[argsIndex];if((cache?cacheIndexOf(cache,value):indexOf(args[argsIndex],value))<0){continue outer}}result.push(value)}}while(argsLength--){cache=caches[argsLength];if(cache){releaseObject(cache)}}releaseArray(caches);releaseArray(seen);return result}function last(array,callback,thisArg){var n=0,length=array?array.length:0;if(typeof callback!="number"&&callback!=null){var index=length;callback=lodash.createCallback(callback,thisArg,3);while(index--&&callback(array[index],index,array)){n++}}else{n=callback;if(n==null||thisArg){return array?array[length-1]:undefined}}return slice(array,nativeMax(0,length-n))}function lastIndexOf(array,value,fromIndex){var index=array?array.length:0;if(typeof fromIndex=="number"){index=(fromIndex<0?nativeMax(0,index+fromIndex):nativeMin(fromIndex,index-1))+1}while(index--){if(array[index]===value){return index}}return-1}function pull(array){var args=arguments,argsIndex=0,argsLength=args.length,length=array?array.length:0;while(++argsIndex<argsLength){var index=-1,value=args[argsIndex];while(++index<length){if(array[index]===value){splice.call(array,index--,1);length--}}}return array}function range(start,end,step){start=+start||0;step=typeof step=="number"?step:+step||1;if(end==null){end=start;start=0}var index=-1,length=nativeMax(0,ceil((end-start)/(step||1))),result=Array(length);while(++index<length){result[index]=start;start+=step}return result}function remove(array,callback,thisArg){var index=-1,length=array?array.length:0,result=[];callback=lodash.createCallback(callback,thisArg,3);while(++index<length){var value=array[index];if(callback(value,index,array)){result.push(value);splice.call(array,index--,1);length--}}return result}function rest(array,callback,thisArg){if(typeof callback!="number"&&callback!=null){var n=0,index=-1,length=array?array.length:0;callback=lodash.createCallback(callback,thisArg,3);while(++index<length&&callback(array[index],index,array)){n++}}else{n=callback==null||thisArg?1:nativeMax(0,callback)}return slice(array,n)}function sortedIndex(array,value,callback,thisArg){var low=0,high=array?array.length:low;callback=callback?lodash.createCallback(callback,thisArg,1):identity;value=callback(value);while(low<high){var mid=low+high>>>1;callback(array[mid])<value?low=mid+1:high=mid}return low}function union(){return baseUniq(baseFlatten(arguments,true,true))}function uniq(array,isSorted,callback,thisArg){if(typeof isSorted!="boolean"&&isSorted!=null){thisArg=callback;callback=typeof isSorted!="function"&&thisArg&&thisArg[isSorted]===array?null:isSorted;isSorted=false}if(callback!=null){callback=lodash.createCallback(callback,thisArg,3)}return baseUniq(array,isSorted,callback)}function without(array){return baseDifference(array,slice(arguments,1))}function xor(){var index=-1,length=arguments.length;while(++index<length){var array=arguments[index];if(isArray(array)||isArguments(array)){var result=result?baseUniq(baseDifference(result,array).concat(baseDifference(array,result))):array}}return result||[]}function zip(){var array=arguments.length>1?arguments:arguments[0],index=-1,length=array?max(pluck(array,"length")):0,result=Array(length<0?0:length);while(++index<length){result[index]=pluck(array,index)}return result}function zipObject(keys,values){var index=-1,length=keys?keys.length:0,result={};if(!values&&length&&!isArray(keys[0])){values=[]}while(++index<length){var key=keys[index];if(values){result[key]=values[index]}else if(key){result[key[0]]=key[1]}}return result}function after(n,func){if(!isFunction(func)){throw new TypeError}return function(){if(--n<1){return func.apply(this,arguments)}}}function bind(func,thisArg){return arguments.length>2?createWrapper(func,17,slice(arguments,2),null,thisArg):createWrapper(func,1,null,null,thisArg)}function bindAll(object){var funcs=arguments.length>1?baseFlatten(arguments,true,false,1):functions(object),index=-1,length=funcs.length;while(++index<length){var key=funcs[index];object[key]=createWrapper(object[key],1,null,null,object)}return object}function bindKey(object,key){return arguments.length>2?createWrapper(key,19,slice(arguments,2),null,object):createWrapper(key,3,null,null,object)}function compose(){var funcs=arguments,length=funcs.length;while(length--){if(!isFunction(funcs[length])){throw new TypeError}}return function(){var args=arguments,length=funcs.length;while(length--){args=[funcs[length].apply(this,args)]}return args[0]}}function curry(func,arity){arity=typeof arity=="number"?arity:+arity||func.length;return createWrapper(func,4,null,null,null,arity)}function debounce(func,wait,options){var args,maxTimeoutId,result,stamp,thisArg,timeoutId,trailingCall,lastCalled=0,maxWait=false,trailing=true;if(!isFunction(func)){throw new TypeError}wait=nativeMax(0,wait)||0;if(options===true){var leading=true;trailing=false}else if(isObject(options)){leading=options.leading;maxWait="maxWait"in options&&(nativeMax(wait,options.maxWait)||0);trailing="trailing"in options?options.trailing:trailing}var delayed=function(){var remaining=wait-(now()-stamp);if(remaining<=0){if(maxTimeoutId){clearTimeout(maxTimeoutId)}var isCalled=trailingCall;maxTimeoutId=timeoutId=trailingCall=undefined;if(isCalled){lastCalled=now();result=func.apply(thisArg,args);if(!timeoutId&&!maxTimeoutId){args=thisArg=null}}}else{timeoutId=setTimeout(delayed,remaining)}};var maxDelayed=function(){if(timeoutId){clearTimeout(timeoutId)}maxTimeoutId=timeoutId=trailingCall=undefined;if(trailing||maxWait!==wait){lastCalled=now();result=func.apply(thisArg,args);if(!timeoutId&&!maxTimeoutId){args=thisArg=null}}};return function(){args=arguments;stamp=now();thisArg=this;trailingCall=trailing&&(timeoutId||!leading);if(maxWait===false){var leadingCall=leading&&!timeoutId}else{if(!maxTimeoutId&&!leading){lastCalled=stamp}var remaining=maxWait-(stamp-lastCalled),isCalled=remaining<=0;if(isCalled){if(maxTimeoutId){maxTimeoutId=clearTimeout(maxTimeoutId)}lastCalled=stamp;result=func.apply(thisArg,args)}else if(!maxTimeoutId){maxTimeoutId=setTimeout(maxDelayed,remaining)}}if(isCalled&&timeoutId){timeoutId=clearTimeout(timeoutId)}else if(!timeoutId&&wait!==maxWait){timeoutId=setTimeout(delayed,wait)
}if(leadingCall){isCalled=true;result=func.apply(thisArg,args)}if(isCalled&&!timeoutId&&!maxTimeoutId){args=thisArg=null}return result}}function defer(func){if(!isFunction(func)){throw new TypeError}var args=slice(arguments,1);return setTimeout(function(){func.apply(undefined,args)},1)}function delay(func,wait){if(!isFunction(func)){throw new TypeError}var args=slice(arguments,2);return setTimeout(function(){func.apply(undefined,args)},wait)}function memoize(func,resolver){if(!isFunction(func)){throw new TypeError}var memoized=function(){var cache=memoized.cache,key=resolver?resolver.apply(this,arguments):keyPrefix+arguments[0];return hasOwnProperty.call(cache,key)?cache[key]:cache[key]=func.apply(this,arguments)};memoized.cache={};return memoized}function once(func){var ran,result;if(!isFunction(func)){throw new TypeError}return function(){if(ran){return result}ran=true;result=func.apply(this,arguments);func=null;return result}}function partial(func){return createWrapper(func,16,slice(arguments,1))}function partialRight(func){return createWrapper(func,32,null,slice(arguments,1))}function throttle(func,wait,options){var leading=true,trailing=true;if(!isFunction(func)){throw new TypeError}if(options===false){leading=false}else if(isObject(options)){leading="leading"in options?options.leading:leading;trailing="trailing"in options?options.trailing:trailing}debounceOptions.leading=leading;debounceOptions.maxWait=wait;debounceOptions.trailing=trailing;return debounce(func,wait,debounceOptions)}function wrap(value,wrapper){return createWrapper(wrapper,16,[value])}function constant(value){return function(){return value}}function createCallback(func,thisArg,argCount){var type=typeof func;if(func==null||type=="function"){return baseCreateCallback(func,thisArg,argCount)}if(type!="object"){return property(func)}var props=keys(func),key=props[0],a=func[key];if(props.length==1&&a===a&&!isObject(a)){return function(object){var b=object[key];return a===b&&(a!==0||1/a==1/b)}}return function(object){var length=props.length,result=false;while(length--){if(!(result=baseIsEqual(object[props[length]],func[props[length]],null,true))){break}}return result}}function escape(string){return string==null?"":String(string).replace(reUnescapedHtml,escapeHtmlChar)}function identity(value){return value}function mixin(object,source,options){var chain=true,methodNames=source&&functions(source);if(!source||!options&&!methodNames.length){if(options==null){options=source}ctor=lodashWrapper;source=object;object=lodash;methodNames=functions(source)}if(options===false){chain=false}else if(isObject(options)&&"chain"in options){chain=options.chain}var ctor=object,isFunc=isFunction(ctor);forEach(methodNames,function(methodName){var func=object[methodName]=source[methodName];if(isFunc){ctor.prototype[methodName]=function(){var chainAll=this.__chain__,value=this.__wrapped__,args=[value];push.apply(args,arguments);var result=func.apply(object,args);if(chain||chainAll){if(value===result&&isObject(result)){return this}result=new ctor(result);result.__chain__=chainAll}return result}}})}function noConflict(){context._=oldDash;return this}function noop(){}var now=isNative(now=Date.now)&&now||function(){return(new Date).getTime()};var parseInt=nativeParseInt(whitespace+"08")==8?nativeParseInt:function(value,radix){return nativeParseInt(isString(value)?value.replace(reLeadingSpacesAndZeros,""):value,radix||0)};function property(key){return function(object){return object[key]}}function random(min,max,floating){var noMin=min==null,noMax=max==null;if(floating==null){if(typeof min=="boolean"&&noMax){floating=min;min=1}else if(!noMax&&typeof max=="boolean"){floating=max;noMax=true}}if(noMin&&noMax){max=1}min=+min||0;if(noMax){max=min;min=0}else{max=+max||0}if(floating||min%1||max%1){var rand=nativeRandom();return nativeMin(min+rand*(max-min+parseFloat("1e-"+((rand+"").length-1))),max)}return baseRandom(min,max)}function result(object,key){if(object){var value=object[key];return isFunction(value)?object[key]():value}}function template(text,data,options){var settings=lodash.templateSettings;text=String(text||"");options=defaults({},options,settings);var imports=defaults({},options.imports,settings.imports),importsKeys=keys(imports),importsValues=values(imports);var isEvaluating,index=0,interpolate=options.interpolate||reNoMatch,source="__p += '";var reDelimiters=RegExp((options.escape||reNoMatch).source+"|"+interpolate.source+"|"+(interpolate===reInterpolate?reEsTemplate:reNoMatch).source+"|"+(options.evaluate||reNoMatch).source+"|$","g");text.replace(reDelimiters,function(match,escapeValue,interpolateValue,esTemplateValue,evaluateValue,offset){interpolateValue||(interpolateValue=esTemplateValue);source+=text.slice(index,offset).replace(reUnescapedString,escapeStringChar);if(escapeValue){source+="' +\n__e("+escapeValue+") +\n'"}if(evaluateValue){isEvaluating=true;source+="';\n"+evaluateValue+";\n__p += '"}if(interpolateValue){source+="' +\n((__t = ("+interpolateValue+")) == null ? '' : __t) +\n'"}index=offset+match.length;return match});source+="';\n";var variable=options.variable,hasVariable=variable;if(!hasVariable){variable="obj";source="with ("+variable+") {\n"+source+"\n}\n"}source=(isEvaluating?source.replace(reEmptyStringLeading,""):source).replace(reEmptyStringMiddle,"$1").replace(reEmptyStringTrailing,"$1;");source="function("+variable+") {\n"+(hasVariable?"":variable+" || ("+variable+" = {});\n")+"var __t, __p = '', __e = _.escape"+(isEvaluating?", __j = Array.prototype.join;\n"+"function print() { __p += __j.call(arguments, '') }\n":";\n")+source+"return __p\n}";var sourceURL="\n/*\n//# sourceURL="+(options.sourceURL||"/lodash/template/source["+templateCounter++ +"]")+"\n*/";try{var result=Function(importsKeys,"return "+source+sourceURL).apply(undefined,importsValues)}catch(e){e.source=source;throw e}if(data){return result(data)}result.source=source;return result}function times(n,callback,thisArg){n=(n=+n)>-1?n:0;var index=-1,result=Array(n);callback=baseCreateCallback(callback,thisArg,1);while(++index<n){result[index]=callback(index)}return result}function unescape(string){return string==null?"":String(string).replace(reEscapedHtml,unescapeHtmlChar)}function uniqueId(prefix){var id=++idCounter;return String(prefix==null?"":prefix)+id}function chain(value){value=new lodashWrapper(value);value.__chain__=true;return value}function tap(value,interceptor){interceptor(value);return value}function wrapperChain(){this.__chain__=true;return this}function wrapperToString(){return String(this.__wrapped__)}function wrapperValueOf(){return this.__wrapped__}lodash.after=after;lodash.assign=assign;lodash.at=at;lodash.bind=bind;lodash.bindAll=bindAll;lodash.bindKey=bindKey;lodash.chain=chain;lodash.compact=compact;lodash.compose=compose;lodash.constant=constant;lodash.countBy=countBy;lodash.create=create;lodash.createCallback=createCallback;lodash.curry=curry;lodash.debounce=debounce;lodash.defaults=defaults;lodash.defer=defer;lodash.delay=delay;lodash.difference=difference;lodash.filter=filter;lodash.flatten=flatten;lodash.forEach=forEach;lodash.forEachRight=forEachRight;lodash.forIn=forIn;lodash.forInRight=forInRight;lodash.forOwn=forOwn;lodash.forOwnRight=forOwnRight;lodash.functions=functions;lodash.groupBy=groupBy;lodash.indexBy=indexBy;lodash.initial=initial;lodash.intersection=intersection;lodash.invert=invert;lodash.invoke=invoke;lodash.keys=keys;lodash.map=map;lodash.mapValues=mapValues;lodash.max=max;lodash.memoize=memoize;lodash.merge=merge;lodash.min=min;lodash.omit=omit;lodash.once=once;lodash.pairs=pairs;lodash.partial=partial;lodash.partialRight=partialRight;lodash.pick=pick;lodash.pluck=pluck;lodash.property=property;lodash.pull=pull;lodash.range=range;lodash.reject=reject;lodash.remove=remove;lodash.rest=rest;lodash.shuffle=shuffle;lodash.sortBy=sortBy;lodash.tap=tap;lodash.throttle=throttle;lodash.times=times;lodash.toArray=toArray;lodash.transform=transform;lodash.union=union;lodash.uniq=uniq;lodash.values=values;lodash.where=where;lodash.without=without;lodash.wrap=wrap;lodash.xor=xor;lodash.zip=zip;lodash.zipObject=zipObject;lodash.collect=map;lodash.drop=rest;lodash.each=forEach;lodash.eachRight=forEachRight;lodash.extend=assign;lodash.methods=functions;lodash.object=zipObject;lodash.select=filter;lodash.tail=rest;lodash.unique=uniq;lodash.unzip=zip;mixin(lodash);lodash.clone=clone;lodash.cloneDeep=cloneDeep;lodash.contains=contains;lodash.escape=escape;lodash.every=every;lodash.find=find;lodash.findIndex=findIndex;lodash.findKey=findKey;lodash.findLast=findLast;lodash.findLastIndex=findLastIndex;lodash.findLastKey=findLastKey;lodash.has=has;lodash.identity=identity;lodash.indexOf=indexOf;lodash.isArguments=isArguments;lodash.isArray=isArray;lodash.isBoolean=isBoolean;lodash.isDate=isDate;lodash.isElement=isElement;lodash.isEmpty=isEmpty;lodash.isEqual=isEqual;lodash.isFinite=isFinite;lodash.isFunction=isFunction;lodash.isNaN=isNaN;lodash.isNull=isNull;lodash.isNumber=isNumber;lodash.isObject=isObject;lodash.isPlainObject=isPlainObject;lodash.isRegExp=isRegExp;lodash.isString=isString;lodash.isUndefined=isUndefined;lodash.lastIndexOf=lastIndexOf;lodash.mixin=mixin;lodash.noConflict=noConflict;lodash.noop=noop;lodash.now=now;lodash.parseInt=parseInt;lodash.random=random;lodash.reduce=reduce;lodash.reduceRight=reduceRight;lodash.result=result;lodash.runInContext=runInContext;lodash.size=size;lodash.some=some;lodash.sortedIndex=sortedIndex;lodash.template=template;lodash.unescape=unescape;lodash.uniqueId=uniqueId;lodash.all=every;lodash.any=some;lodash.detect=find;lodash.findWhere=find;lodash.foldl=reduce;lodash.foldr=reduceRight;lodash.include=contains;lodash.inject=reduce;mixin(function(){var source={};forOwn(lodash,function(func,methodName){if(!lodash.prototype[methodName]){source[methodName]=func}});return source}(),false);lodash.first=first;lodash.last=last;lodash.sample=sample;lodash.take=first;lodash.head=first;forOwn(lodash,function(func,methodName){var callbackable=methodName!=="sample";if(!lodash.prototype[methodName]){lodash.prototype[methodName]=function(n,guard){var chainAll=this.__chain__,result=func(this.__wrapped__,n,guard);return!chainAll&&(n==null||guard&&!(callbackable&&typeof n=="function"))?result:new lodashWrapper(result,chainAll)}}});lodash.VERSION="2.4.1";lodash.prototype.chain=wrapperChain;lodash.prototype.toString=wrapperToString;lodash.prototype.value=wrapperValueOf;lodash.prototype.valueOf=wrapperValueOf;forEach(["join","pop","shift"],function(methodName){var func=arrayRef[methodName];lodash.prototype[methodName]=function(){var chainAll=this.__chain__,result=func.apply(this.__wrapped__,arguments);return chainAll?new lodashWrapper(result,chainAll):result}});forEach(["push","reverse","sort","unshift"],function(methodName){var func=arrayRef[methodName];lodash.prototype[methodName]=function(){func.apply(this.__wrapped__,arguments);return this}});forEach(["concat","slice","splice"],function(methodName){var func=arrayRef[methodName];lodash.prototype[methodName]=function(){return new lodashWrapper(func.apply(this.__wrapped__,arguments),this.__chain__)}});return lodash}var _=runInContext();if(typeof define=="function"&&typeof define.amd=="object"&&define.amd){root._=_;define(function(){return _})}else if(freeExports&&freeModule){if(moduleExports){(freeModule.exports=_)._=_}else{freeExports._=_}}else{root._=_}}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}]},{},[]);require("clj-fuzzy");var _=require("lodash");var html="";var oldCleanedHTML="";var newCleanedHTML="";var prep=function(){document.body.innerHTML='<p><h4>Old cleaned html:</h4><code id="Old"></code></p> <p><h4>New cleaned html:</h4><code id="New"></code></p> <h4>Result:</h4> <ul id="Result"></ul>'};var cleanPage=function cleanPage(sampleHTML){var fragDiv=document.createElement("div");fragDiv.innerHTML=sampleHTML;var clonedDiv=fragDiv.cloneNode(true),iterator,cleanedPage;clonedDiv.normalize();iterator=document.createNodeIterator(clonedDiv,NodeFilter.SHOW_ALL);while(iterator.nextNode()){var currentNode=iterator.referenceNode;if(currentNode.parentNode){if(currentNode.nodeType===3){iterator.referenceNode.parentNode.removeChild(iterator.referenceNode)}}if(currentNode.dataset){for(var prop in Object.keys(currentNode.dataset)){var propName="data-"+Object.keys(currentNode.dataset)[prop];currentNode.setAttribute(propName,"")}}if(currentNode.nodeName==="IMG"){currentNode.removeAttribute("src","")}}cleanedPage=clonedDiv.innerHTML;return cleanedPage};var modify=function modify(sampleHTML){var fragDiv=document.createElement("div");fragDiv.innerHTML=sampleHTML;fragDiv.appendChild(document.createElement("div"));fragDiv.querySelector("span").appendChild(document.createElement("a"));fragDiv.querySelector(".container").innerHTML="<ul><li></li><li></li></ul><span></span>";return fragDiv.innerHTML};var createResult=function displayResult(title,res){var li,resNode,titleNode;if(typeof res!=="string")res=JSON.stringify(res);li=document.createElement("LI");resNode=document.createElement("STRONG");resNode.textContent=res;titleNode=document.createTextNode(title+": ");li.appendChild(titleNode);li.appendChild(resNode);return li};html='<div class="container"> <p>This is some content</p> </div> <span>Some inline text</span>';prep();oldCleanedHTML=cleanPage(html);newCleanedHTML=_.compose(cleanPage,modify)(html);document.querySelector("#Old").textContent=oldCleanedHTML;document.querySelector("#New").textContent=newCleanedHTML;var Result=document.querySelector("#Result");Result.appendChild(createResult("Dice coefficient",clj_fuzzy.metrics.dice(newCleanedHTML,oldCleanedHTML)));Result.appendChild(createResult("Sorensen coefficient",clj_fuzzy.metrics.sorensen(oldCleanedHTML,newCleanedHTML)));Result.appendChild(createResult("Hamming distance",clj_fuzzy.metrics.hamming(newCleanedHTML,oldCleanedHTML)));Result.appendChild(createResult("Jaccard distance",clj_fuzzy.metrics.jaccard(oldCleanedHTML,newCleanedHTML)));Result.appendChild(createResult("Tanimoto distance",clj_fuzzy.metrics.tanimoto(oldCleanedHTML,newCleanedHTML)));Result.appendChild(createResult("Jaro distance",clj_fuzzy.metrics.jaro(oldCleanedHTML,newCleanedHTML)));Result.appendChild(createResult("Jaro-Winkler distance",clj_fuzzy.metrics.jaro_winkler(newCleanedHTML,oldCleanedHTML)));Result.appendChild(createResult("MRA Comparison",clj_fuzzy.metrics.mra_comparison(oldCleanedHTML,newCleanedHTML)));Result.appendChild(createResult("Lancaster stemmer",clj_fuzzy.stemmers.lancaster(newCleanedHTML)));
{
"name": "requirebin-sketch",
"version": "1.0.0",
"dependencies": {
"clj-fuzzy": "0.2.0",
"lodash": "2.4.1"
}
}
<style type='text/css'>html, body { margin: 0; padding: 0; border: 0; }
body, html { height: 100%; width: 100%; }</style>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment