diff --git a/mithril.js b/mithril.js index 8fac9557..014e22ee 100644 --- a/mithril.js +++ b/mithril.js @@ -539,8 +539,7 @@ if (!keysDiffer) { forKeys(inst.data, function (attrs, i) { var cachedCell = inst.cached[i] - return keysDiffer = - cachedCell && + return keysDiffer = cachedCell && cachedCell.attrs && cachedCell.attrs.key !== attrs.key }) @@ -602,7 +601,8 @@ case MOVE: var changeElement = change.element - if (inst.parent.childNodes[index] !== changeElement) { + if (inst.parent.childNodes[index] !== changeElement && + changeElement !== null) { inst.parent.insertBefore( changeElement, inst.parent.childNodes[index] || null @@ -764,7 +764,7 @@ if (index > -1) { return cached[index] - } else if (isFunction(controller)) { + } else if (typeof controller === "function") { return new controller() } else { return {} @@ -790,19 +790,14 @@ } } - // Shallow array compare, assumes strings + // shallow array compare, sorts function arraySortCompare(a, b) { + a.sort() + b.sort() var len = a.length if (len !== b.length) return false - - // A string-integer map is used to simplify the algorithm from - // two `O(n * log(n))` loops + an `O(n)` loop to just two O(n) loops - // with constant-time (or a super cheap `log(n)`) string key lookup. - var i = 0 - var cache = Object.create(null) - while (i < len) cache[b[i]] = i++ - while (i !== 0) { - if (cache[a[--i]] === undefined) return false + for (var i = 0; i < len; i++) { + if (a[i] !== b[i]) return false } return true } @@ -863,7 +858,8 @@ return $document.createElement(data.tag) } } else if (data.attrs.is) { - return $document.createElementNS(inst.ns, data.tag, data.attrs.is) + return $document.createElementNS(inst.ns, data.tag, + data.attrs.is) } else { return $document.createElementNS(inst.ns, data.tag) } @@ -897,7 +893,7 @@ function objectBuildChildren(inst, node) { var children = inst.builder.data.children - if (children != null && children.length) { + if (children != null && children.length !== 0) { return objectMakeChild(inst, node, true) } else { return children @@ -999,8 +995,22 @@ } function nodeHasBody(node) { - return !/^(AREA|BASE|BR|COL|COMMAND|EMBED|HR|IMG|INPUT|KEYGEN|LINK|META|PARAM|SOURCE|TRACK|WBR)$/ // eslint-disable-line max-len - .test(node) + return node !== "AREA" && + node !== "BASE" && + node !== "BR" && + node !== "COL" && + node !== "COMMAND" && + node !== "EMBED" && + node !== "HR" && + node !== "IMG" && + node !== "INPUT" && + node !== "KEYGEN" && + node !== "LINK" && + node !== "META" && + node !== "PARAM" && + node !== "SOURCE" && + node !== "TRACK" && + node !== "WBR" } function builderHandleNonexistentNodes(inst) { @@ -1043,9 +1053,10 @@ inst.editable.innerHTML = inst.data } else { // was a trusted string - if (nodes[0].nodeType === 1 || nodes.length > 1 || - isString(nodes[0].nodeValue) && - /\s*/.test(nodes[0].nodeValue)) { + if (nodes[0].nodeType === 1 || + nodes.length > 1 || + (nodes[0].nodeValue.trim && !nodes[0].nodeValue.trim()) + ) { clear(inst.cached.nodes, inst.cached) nodes = [$document.createTextNode(inst.data)] } @@ -1101,7 +1112,12 @@ } function shouldSetAttrDirectly(attr) { - return !/^(list|style|form|type|width|height)$/.test(attr) + return attr !== "list" && + attr !== "style" && + attr !== "form" && + attr !== "type" && + attr !== "width" && + attr !== "height" } function trySetAttribute(attr, dataAttr, cachedAttr, node, namespace, tag) { @@ -1143,7 +1159,7 @@ // used as a string, but it's an object in js // // #348 - // don't set the value if not needed, otherwise cursor placement + // don't set the value if not needed otherwise cursor placement // breaks in Chrome if (tag !== "input" || node[attr] !== dataAttr) { node[attr] = dataAttr @@ -1159,7 +1175,7 @@ } catch (e) { // swallow IE's invalid argument errors to mimic HTML's // fallback-to-doing-nothing-on-invalid-attributes behavior - if (!/\bInvalid argument\b/.test(e.message)) throw e + if (e.message.indexOf("Invalid argument") < 0) throw e } } @@ -1171,7 +1187,7 @@ trySetSingle(attr, dataAttr, cachedAttr, node, namespace, tag) } else if (attr === "value" && tag === "input" && // #348: dataAttr may not be a string, so use loose - // comparison (i.e. identity not required). + // comparison node.value != dataAttr) { // eslint-disable-line eqeqeq node.value = dataAttr } @@ -1346,7 +1362,7 @@ function getCellCacheKey(element) { var index = nodeCache.indexOf(element) - return index >= 0 ? index : nodeCache.push(element) - 1 + return index < 0 ? nodeCache.push(element) - 1 : index } m.trust = function (value) { @@ -1452,7 +1468,7 @@ var lastRedrawCallTime = 0 function actuallyPerformRedraw() { - if (lastRedrawId !== 0) $cancelAnimationFrame(lastRedrawId) + if (lastRedrawId > 0) $cancelAnimationFrame(lastRedrawId) lastRedrawId = $requestAnimationFrame(redraw, FRAME_BUDGET) } @@ -1814,8 +1830,8 @@ } function parseQueryString(str) { - if (!str) return {} - if (str[0] === "?") str = str.slice(1) + if (str === "" || str == null) return {} + if (str.charAt(0) === "?") str = str.slice(1) var pairs = str.split("&") var params = {} @@ -2120,7 +2136,7 @@ script.src = options.url + (options.url.indexOf("?") > 0 ? "&" : "?") + - (options.callbackKey || "callback") + + (options.callbackKey ? options.callbackKey : "callback") + "=" + callbackKey + "&" + buildQueryString(options.data || {}) @@ -2167,7 +2183,7 @@ data = options.data } - if (data && !isString(data) && !(data instanceof window.FormData)) { + if (data && !isString(data) && data.constructor !== window.FormData) { throw new Error("Request data should be either be a string or " + "FormData. Check the `serialize` option in `m.request`") } @@ -2177,7 +2193,7 @@ } function ajax(options) { - if (options.dataType === "JSONP") { + if (options.dataType && options.dataType.toLowerCase() === "jsonp") { return getJsonp(options) } else { return runXhr(options) @@ -2219,15 +2235,15 @@ return jsonp.responseText } - if (!options.dataType || options.dataType.toUpperCase() !== "JSONP") { - options.dataType = "JSONP" + if (!options.dataType || options.dataType.toLowerCase() !== "jsonp") { serialize = options.serialize || JSON.stringify deserialize = options.deserialize || JSON.parse extract = options.extract || function (xhr) { - if (xhr.responseText.length || deserialize !== JSON.parse) { - return xhr.responseText - } else { + if (xhr.responseText.length === 0 && + deserialize === JSON.parse) { return null + } else { + return xhr.responseText } } } diff --git a/mithril.min.js b/mithril.min.js index a9464f6f..3121dd93 100644 --- a/mithril.min.js +++ b/mithril.min.js @@ -4,5 +4,5 @@ http://mithril.js.org (c) 2014-2015 Leo Horie License: MIT */ -!function(a,b){"use strict";var c=b("undefined"!=typeof window?window:{});"object"==typeof module&&null!=module&&module.exports?module.exports=c:"function"==typeof define&&define.amd?define(function(){return c}):a.m=c}(this,function(a,b){"use strict";function c(a){return"function"==typeof a}function d(a){return"[object Object]"===bb.call(a)}function e(a){return"[object String]"===bb.call(a)}function f(){}function g(a,b){for(var c=0;ci;i++){var k=A(a,a.data[i],a.cached[h],e);k!==b&&(d=d&&k.nodes.intact,e+=ga(k),a.cached[h++]=k)}return d||E(a,c),a.cached}function C(a,b){var c=a.data.length!==a.cached.length;c||s(a.data,function(b,d){var e=a.cached[d];return c=e&&e.attrs&&e.attrs.key!==b.key}),c&&D(a,b)}function D(a,b){var c=a.cached.nodes;s(a.data,function(a,d){a=a.key,b[a]?b[a]={action:gb,index:d,from:b[a].index,element:c[b[a].index]||Za.createElement("div")}:b[a]={action:fb,index:d}});var d=[];h(b,function(a){d.push(a)});var e=d.sort(ha),f=new Array(a.cached.length);f.nodes=a.cached.nodes.slice(),g(e,function(b){var c=b.index;switch(b.action){case eb:na(a.cached[c].nodes,a.cached[c]),f.splice(c,1);break;case fb:var d=Za.createElement("div");d.key=a.data[c].attrs.key,v(a.parent,d,c),f.splice(c,0,{attrs:{key:a.data[c].attrs.key},nodes:[d]}),f.nodes[c]=d;break;case gb:var e=b.element;a.parent.childNodes[c]!==e&&a.parent.insertBefore(e,a.parent.childNodes[c]||null),f[c]=a.cached[b.from],f.nodes[c]=e}}),a.cached=f}function E(a,b){for(var c=0,d=a.data.length;d>c;c++){var e=a.cached[c];null!=e&&b.push.apply(b,e.nodes)}g(a.cached.nodes,function(c,d){null!=c.parentNode&&b.indexOf(c)<0&&na([c],[a.cached[d]])}),a.data.length+("key"in b)}function G(a){var b=a.data;return b.attrs.xmlns?b.attrs.xmlns:"svg"===b.tag?"http://www.w3.org/2000/svg":"math"===b.tag?"http://www.w3.org/1998/Math/MathML":a.ns}function H(a){var b=[],c=[];if(I(a,b,c),!a.data.tag&&c.length)throw new Error("Component template must return a virtual element, not an array, string, etc.");var d=F(a);return e(a.data.tag)?R({builder:a,hasKeys:d,views:b,controllers:c,ns:G(a)}):void 0}function I(a,b,c){for(var d=a.cached&&a.cached.controllers;null!=a.data.view;)J(a,d,c,b)}function J(a,b,c,d){var e=a.data.view.$original||a.data.view,f=M(a.cached.views,e,b,a.data.controller),g=+(a.data&&a.data.attrs&&a.data.attrs.key);return 0===ib||hb||b&&b.indexOf(f)>-1?a.data=a.data.view(f):a.data={tag:"placeholder"},"retain"===a.data.subtree?a.cached:(g===g&&((a.data.attrs=a.data.attrs||{}).key=g),void L(d,c,e,f))}function K(a,b){a.ctrls.splice(a.ctrls.indexOf(a.ctrl),1),a.views.splice(a.views.indexOf(a.view),1),a.ctrl&&c(a.ctrl.onunload)&&a.ctrl.onunload(b)}function L(a,b,c,d){a.push(c),jb[b.push(d)-1]={views:a,view:c,ctrl:d,ctrls:b}}function M(a,b,d,e){var f="diff"===lb()&&a?a.indexOf(b):-1;return f>-1?d[f]:c(e)?new e:{}}function N(a,b){P(a,b)&&(a.cached.nodes.length&&na(a.cached.nodes),a.cached.cfgCtx&&c(a.cached.cfgCtx.onunload)&&a.cached.cfgCtx.onunload(),a.cached.controllers&&g(a.cached.controllers,function(a){a.unload&&a.onunload({preventDefault:f})}))}function O(a,c){var d=a.length;if(d!==c.length)return!1;for(var e=0,f=Object.create(null);d>e;)f[c[e]]=e++;for(;0!==e;)if(f[a[--e]]===b)return!1;return!0}function P(a,b){var c=a.data,d=a.cached;return c.tag!==d.tag?!0:O(b,Object.keys(d.attrs))?c.attrs.id!==d.attrs.id?!0:c.attrs.key!==d.attrs.key?!0:"all"===lb()?!d.cfgCtx||d.cfgCtx.retain!==!0:"diff"===lb()?d.cfgCtx&&d.cfgCtx.retain===!1:!1:!0}function Q(a){var b=S(a);return a.builder.cached=W(a,b,T(a,b),V(a,b)),b}function R(a){var b=a.builder,c=0===b.cached.nodes.length,d=c?Q(a):Z(a);return(c||b.reattach&&null!=d)&&v(b.parent,d,b.index),$(b,d,c),b.cached}function S(a){var c=a.builder.data;return a.ns===b?c.attrs.is?Za.createElement(c.tag,c.attrs.is):Za.createElement(c.tag):c.attrs.is?Za.createElementNS(a.ns,c.tag,c.attrs.is):Za.createElementNS(a.ns,c.tag)}function T(a,b){var c=a.builder.data;return a.hasKeys?la(b,c.tag,c.attrs,{},a.ns):c.attrs}function U(a,c,d){var e=a.builder;return x(w(c,e.data.tag,b,b,e.data.children,e.cached.children,d,0,e.data.attrs.contenteditable?c:e.editable,a.ns,e.cfgs))}function V(a,b){var c=a.builder.data.children;return null!=c&&c.length?U(a,b,!0):c}function W(a,b,c,d){var e=a.builder.data,f={tag:e.tag,attrs:c,children:d,nodes:[b]};return Y(a,f),f.children&&!f.children.nodes&&(f.children.nodes=[]),"select"===e.tag&&"value"in e.attrs&&la(b,e.tag,{value:e.attrs.value},{},a.ns),f}function X(a){if(a.onunload&&a.onunload.$old&&(a.onunload=a.onunload.$old),ib&&a.onunload){var b=a.onunload;a.onunload=f,a.onunload.$old=b}}function Y(a,b){a.controllers.length&&(b.views=a.views,b.controllers=a.controllers,g(a.controllers,X))}function Z(a){var b=a.builder.cached,c=b.nodes[0];return a.hasKeys&&la(c,a.builder.data.tag,a.builder.data.attrs,b.attrs,a.ns),b.children=U(a,c,!1),b.nodes.intact=!0,a.controllers.length&&(b.views=a.views,b.controllers=a.controllers),c}function $(a,b,d){var e=a.data,f=a.cached,g=e.attrs.config;if(c(g)){var h=f.cfgCtx=f.cfgCtx||{};a.cfgs.push(function(){return g.call(e,b,!d,h,f)})}}function _(a){return 0===a.cached.nodes.length?ba(a):a.cached.valueOf()!==a.data.valueOf()||a.reattach?ca(a):(a.cached.nodes.intact=!0,a.cached)}function aa(a){return!/^(AREA|BASE|BR|COL|COMMAND|EMBED|HR|IMG|INPUT|KEYGEN|LINK|META|PARAM|SOURCE|TRACK|WBR)$/.test(a)}function ba(a){var b;a.data.$trusted?b=pa(a.parent,a.index,a.data):(b=[Za.createTextNode(a.data)],aa(a.parent.nodeName)&&v(a.parent,b[0],a.index));var c;return c="string"==typeof a.data||"number"==typeof a.data||"boolean"==typeof a.data?new a.data.constructor(a.data):a.data,c.nodes=b,c}function ca(a){var b=a.cached.nodes;return a.editable&&a.editable===Za.activeElement||(a.data.$trusted?(na(b,a.cached),b=pa(a.parent,a.index,a.data)):"textarea"===a.pTag?a.parent.value=a.data:a.editable?a.editable.innerHTML=a.data:((1===b[0].nodeType||b.length>1||e(b[0].nodeValue)&&/\s*/.test(b[0].nodeValue))&&(na(a.cached.nodes,a.cached),b=[Za.createTextNode(a.data)]),da(a,b[0]))),a.cached=new a.data.constructor(a.data),a.cached.nodes=b,a.cached}function da(a,b){try{v(a.parent,b,a.index),b.nodeValue=a.data}catch(c){}}function ea(){ib++}function fa(){ib>1?ib--:(ib=0,r.redraw())}function ga(a){if(!a.$trusted)return db(a)?a.length:1;var b=a.match(/<[^\/]|\>\s*[^<]/g);return null!=b?b.length:void 0}function ha(a,b){return a.action-b.action||a.index-b.index}function ia(a){return!/^(list|style|form|type|width|height)$/.test(a)}function ja(a,b,e,f,g,i){if("config"!==a&&"key"!==a)if(c(b)&&"on"===a.slice(0,2))f[a]=qa(b,f);else if("style"===a&&null!=b&&d(b)){h(b,function(a,b){(null==e||e[b]!==a)&&(f.style[b]=a)});for(var j in e)cb.call(e,j)&&(cb.call(b,j)||(f.style[j]=""))}else null!=g?"href"===a?f.setAttributeNS("http://www.w3.org/1999/xlink","href",b):f.setAttribute("className"===a?"class":a,b):a in f&&ia(a)?("input"!==i||f[a]!==b)&&(f[a]=b):f.setAttribute(a,b)}function ka(a,b,c,d,e,f){try{ja(a,b,c,d,e,f)}catch(g){if(!/\bInvalid argument\b/.test(g.message))throw g}}function la(a,b,c,d,e){return h(c,function(c,f){var g=d[f];f in d&&g===c?"value"===f&&"input"===b&&a.value!=c&&(a.value=c):(d[f]=c,ka(f,c,g,a,e,b))}),d}function ma(a){try{a.parentNode.removeChild(a)}catch(b){}}function na(a,b){if(a.length){b=[].concat(b);for(var c=a.length-1;c>=0;c--){var d=a[c];null!=d&&d.parentNode&&(ma(d),b[c]&&oa(b[c]))}a.length&&(a.length=0)}}function oa(a){a.cfgCtx&&c(a.cfgCtx.onunload)&&(a.cfgCtx.onunload(),a.cfgCtx.onunload=null),a.controllers&&g(a.controllers,function(a){c(a.onunload)&&a.onunload({preventDefault:f})}),a.children&&(db(a.children)?g(a.children,oa):a.children.tag&&oa(a.children))}function pa(a,b,c){var d=a.childNodes[b];d?1!==d.nodeType?(a.insertBefore(nb,d||null),nb.insertAdjacentHTML("beforebegin",c),a.removeChild(nb)):d.insertAdjacentHTML("beforebegin",c):mb(a,c);for(var e=[];a.childNodes[b]!==d;)e.push(a.childNodes[b++]);return e}function qa(a,b){return function(c){lb("diff"),ea();try{return a.call(b,c||event)}finally{za()}}}function ra(a){var b=pb.indexOf(a);return b>=0?b:pb.push(a)-1}function sa(a,b,c,d){var e=null===a;if(!d){lb("all"),ea(),sb[c]=b,a=rb=a||{controller:f};var g=new(a.controller||f);return a===rb&&(ub[c]=g,tb[c]=a),za(),e&&ua(b,c),ub[c]}e&&ua(b,c)}function ta(a,b){if(!a)throw new Error("Please ensure the DOM element exists before rendering a template into it.");var d=sb.indexOf(a);0>d&&(d=sb.length);var e=!1,f={preventDefault:function(){e=!0,vb=wb=null}};return g(jb,function(a){null!=a.ctrl&&(K(a,f),a.ctrl.onunload=null)}),e?g(jb,function(a){a.ctrl.onunload=function(b){K(a,b)}}):jb=[],ub[d]&&c(ub[d].onunload)&&ub[d].onunload(f),sa(b,a,d,e)}function ua(a,b){sb.splice(b,1),ub.splice(b,1),tb.splice(b,1),Oa(a),pb.splice(ra(a),1)}function va(){0!==yb&&ab(yb),yb=_a(ya,xb)}function wa(){yb=0}function xa(a){yb&&!a?Ab():(ya(),yb=_a(wa,xb))}function ya(){vb&&(vb(),vb=null);for(var a=0;a=0){var j=Na(Cb.slice(i+1));h(g,function(a,b){j[b]=g[b]}),e=Ma(j),f=Cb.slice(0,i)}else e=Ma(b),f=Cb;if(e){var k=-1===f.indexOf("?")?"?":"&";Cb=f+k+e}return Fa(c||d===a)}function Ha(a,b,c,d){if(0===arguments.length)return Cb;if(3===arguments.length&&e(b))Eb=function(d){var e=Cb=Ia(d);if(!Ja(a,c,e)){if(Fb)throw new Error("Ensure the default route matches one of the routes defined in m.route");Fb=!0,Ha(b,!0),Fb=!1}},Ba("hash"===Ha.mode?"onhashchange":"onpopstate");else if(a.addEventListener||a.attachEvent)a.href=Ca()+d.attrs.href,a.addEventListener?(a.removeEventListener("click",Ka),a.addEventListener("click",Ka)):(a.detachEvent("onclick",Ka),a.attachEvent("onclick",Ka));else if(e(a))return Ga.apply(null,arguments)}function Ia(a){return a.slice(Db[Ha.mode].length)}function Ja(a,b,c){var d=c.indexOf("?");d>=0?(Bb=Na(c.substr(d+1,c.length)),c=c.substr(0,d)):Bb={};var e=Object.keys(b),f=e.indexOf(c);if(f>=0)return ta(a,b[e[f]]),!0;for(var h in b)if(cb.call(b,h)){if(h===c)return ta(a,b[h]),!0;var i=new RegExp("^"+h.replace(/:[^\/]+?\.{3}/g,"(.*?)").replace(/:[^\/]+/g,"([^\\/]+)")+"/?$");if(i.test(c))return c.replace(i,function(){for(var a=[],b=1,c=arguments.length-2;c>b;)a.push(arguments[b++]);var d=h.match(/:[^\/]+/g)||[];g(d,function(b,c){b=b.replace(/:|\./g,""),Bb[b]=decodeURIComponent(a[c])})}),ta(a,b[h]),!0}}function Ka(a){if(a=a||event,!a.ctrlKey&&!a.metaKey&&2!==a.which){a.preventDefault?a.preventDefault():a.returnValue=!1;var b,c=a.currentTarget||a.srcElement;for(b="pathname"===Ha.mode&&c.search?Na(c.search.slice(1)):{};c&&"A"!==c.nodeName.toUpperCase();)c=c.parentNode;ib=0,Ha(c[Ha.mode].slice(Db[Ha.mode].length),b)}}function La(){"hash"!==Ha.mode&&$a.hash?$a.hash=$a.hash:a.scrollTo(0,0)}function Ma(a,c){var e={},f=[];return h(a,function(a,h){var i=c?c+"["+h+"]":h;if(null===a)f.push(encodeURIComponent(i));else if(d(a))f.push(Ma(a,i));else if(db(a)){var j=[];e[i]=e[i]||{},g(a,function(a){e[i][a]||(e[i][a]=!0,j.push(encodeURIComponent(i)+"="+encodeURIComponent(a)))}),f.push(j.join("&"))}else a!==b&&f.push(encodeURIComponent(i)+"="+encodeURIComponent(a))}),f.join("&")}function Na(a){if(!a)return{};"?"===a[0]&&(a=a.slice(1));var b=a.split("&"),c={};return g(b,function(a){var b=a.split("="),d=decodeURIComponent(b[0]),e=2===b.length?decodeURIComponent(b[1]):null;null!=c[d]?(db(c[d])||(c[d]=[c[d]]),c[d].push(e)):c[d]=e}),c}function Oa(a){var c=ra(a);na(a.childNodes,qb[c]),qb[c]=b}function Pa(a,b,c,d){return k(a)?a.then(function(a){Pa(a,b,c,d)},function(a){Pa(a,c,c,d)}):b.call(d,a)}function Qa(a,d){function e(a){r=a}function f(a){a.resolve(r)}function h(a){a.reject(r)}function i(a){return u!==h&&a(r),a}function j(a){t.push(a)}function l(a,b){var c=Ra().resolve(a()).promise;return b!==h&&c(r),c.then(b)}function m(a){u=a,g(t,a),n=q=null}function n(a,b){Pa(a,function(a){r=a,m(b===Ib?f:h)},function(a){r=a,m(h)})}function o(a,b){var c=0;try{return a.then(function(a){c++||q(Gb,a,b)},function(a){c++||q(Hb,a,b)})}catch(d){return Ra.onerror(d),q(Hb,d,b)}}function p(b,e,f){try{e===Gb&&c(a)?b=a(b):e===Hb&&c(d)&&(b=d(b),e=Gb)}catch(g){return Ra.onerror(g),n(g,Jb)}return b===f?n(TypeError(),Jb):n(b,e===Gb?Ib:Jb)}function q(a,b,c){var d;try{d=k(b)}catch(e){return Ra.onerror(e),q(Hb,e,c)}return a===Hb&&Ra.onerror(b),d?o(b,c):p(b,a,c)}var r,s=this,t=[],u=j;s.resolve=function(a){return u===j&&q(Gb,a,s),s},s.reject=function(a){return u===j&&q(Hb,a,s),s},s.promise=function(a){return arguments.length&&Pa(a,e,e),u!==h?r:b},s.promise.then=function(a,b){var c=new Qa(a,b);return u(c),i(c.promise)},s.promise["catch"]=function(a){return s.promise.then(null,a)},s.promise["finally"]=function(a){return s.promise.then(function(){return l(a,function(){return r})},function(){return l(a,function(){throw r})})}}function Ra(){return new Qa}function Sa(a){return a instanceof EvalError||a instanceof RangeError||a instanceof ReferenceError||a instanceof SyntaxError||a instanceof TypeError||a instanceof URIError}function Ta(){return"mithril_callback_"+(new Date).getTime()+"_"+Math.round(1e16*Math.random()).toString(36)}function Ua(c){var d=Ta(),e=Za.createElement("script");a[d]=function(f){e.parentNode.removeChild(e),c.onload({success:!0,target:{responseText:f}}),a[d]=b},e.onerror=function(){return e.parentNode.removeChild(e),c.onerror({success:!1,target:{status:500,responseText:'{"error": "Error making jsonp request"}'}}),a[d]=b,!1},e.onload=function(){return!1},e.src=c.url+(c.url.indexOf("?")>0?"&":"?")+(c.callbackKey||"callback")+"="+d+"&"+Ma(c.data||{}),Za.body.appendChild(e)}function Va(b){var d=new a.XMLHttpRequest;if(d.open(b.method,b.url,!0,b.user,b.password),d.onreadystatechange=function(){4===this.readyState&&(this.status>=200&&this.status<300?b.onload({success:!0,target:this}):b.onerror({success:!1,target:this}))},b.serialize===JSON.stringify&&b.data&&"GET"!==b.method&&d.setRequestHeader("Content-Type","application/json; charset=utf-8"),b.deserialize===JSON.parse&&d.setRequestHeader("Accept","application/json, text/*"),c(b.config)){var f=b.config(d,b);null!=f&&(d=f)}var g;if(g="GET"!==b.method&&b.data?b.data:"",g&&!e(g)&&!(g instanceof a.FormData))throw new Error("Request data should be either be a string or FormData. Check the `serialize` option in `m.request`");return d.send(g),d}function Wa(a){return"JSONP"===a.dataType?Ua(a):Va(a)}function Xa(a,b,c){if("GET"===a.method&&"jsonp"!==a.dataType){var d=a.url.indexOf("?")<0?"?":"&",e=Ma(b);a.url+=e?d+e:""}else a.data=c(b);return a}function Ya(a,b){var c=a.match(/:[a-z]\w+/gi);return c&&b&&g(c,function(c){var d=c.slice(1);a=a.replace(c,b[d]),delete b[d]}),a}r.version=function(){return"v0.2.1"};var Za,$a,_a,ab,bb={}.toString,cb={}.hasOwnProperty,db=Array.isArray||function(a){return"[object Array]"===bb.call(a)};i(a),r.deps=function(b){return i(a=b||a),a},r.prop=function(a){return k(a)?m(a):j(a)},r.component=q;var eb=1,fb=2,gb=3,hb=!1,ib=0,jb=[],kb=!1;r.redraw=function(a){if(!kb){kb=!0,a&&(hb=!0);try{xa(a)}finally{kb=hb=!1}}};var lb=r.redraw.strategy=r.prop();r.startComputation=ea,r.endComputation=fa;var mb=function(){try{return Za.createRange().createContextualFragment("x"),function(a,b){a.appendChild(Za.createRange().createContextualFragment(b))}}catch(a){return function(a,b){a.insertAdjacentHTML("beforeend",b)}}}(),nb=Za.createElement("span"),ob={appendChild:function(a){Za.documentElement&&Za.documentElement!==a?Za.replaceChild(a,Za.documentElement):Za.appendChild(a),this.childNodes=Za.childNodes},insertBefore:function(a){this.appendChild(a)},childNodes:[]},pb=[],qb={};r.render=function(a,c,d){if(!a)throw new Error("Ensure the DOM element being passed to m.route/m.mount/m.render exists.");var e,f=[],h=ra(a),i=a===Za;e=i||a===Za.documentElement?ob:a,i&&"html"!==c.tag&&(c={tag:"html",attrs:{},children:c}),qb[h]===b&&na(e.childNodes),d===!0&&Oa(a),qb[h]=x(w(e,null,b,b,c,qb[h],!1,0,null,b,f)),g(f,function(a){a()})},r.trust=function(a){return a=new String(a),a.$trusted=!0,a};var rb,sb=[],tb=[],ub=[],vb=null,wb=null,xb=16;r.mount=r.module=ta;var yb=0,zb=0,Ab=_a===a.requestAnimationFrame?va:function(){+new Date-zb>xb&&va()};r.withAttr=function(a,b,c){return function(d){d=d||event;var e,f=d.currentTarget||this;e=a in f?f[a]:f.getAttribute(a),b.call(c||this,e)}};var Bb,Cb,Db={pathname:"",hash:"#",search:"?"},Eb=f,Fb=!1;r.route=Ha,Ha.param=function(a){if(!Bb)throw new Error("You must call m.route(element, defaultRoute, routes) before calling mroute.param()");return a?Bb[a]:Bb},Ha.mode="search",Ha.buildQueryString=Ma,Ha.parseQueryString=Na;var Gb=1,Hb=2,Ib=3,Jb=4;return r.deferred=Ra,Ra.prototype=Qa.prototype,Ra.prototype.constructor=Ra,Ra.onerror=function(a){if(Sa(a))throw ib=0,a},r.sync=function(a){function b(a,b){return e[a]=b,0===--d&&(c.promise(e),c[f](e)),b}var c=new Qa,d=a.length,e=new Array(d),f="resolve";return a.length>0?g(a,function(a,c){a.then(function(a){return b(c,a)},function(a){return f="reject",b(c,a)})}):c.resolve([]),c.promise},r.request=function(a){a.background!==!0&&ea();var b=Ra(),c=function(a){return a},d=c,e=function(a){return a.responseText};return a.dataType&&"JSONP"===a.dataType.toUpperCase()||(a.dataType="JSONP",c=a.serialize||JSON.stringify,d=a.deserialize||JSON.parse,e=a.extract||function(a){return a.responseText.length||d!==JSON.parse?a.responseText:null}),a.serialize=c,a.deserialize=d,a.method=(a.method||"GET").toUpperCase(),a.url=Ya(a.url,a.data),a=Xa(a,a.data,c),a.onload=a.onerror=function(c){c=c||event;var f,h=c.success;f=h?a.unwrapSuccess:a.unwrapError;try{var i=d(e(c.target,a));f&&(i=f(i,c.target)),h?(db(i)&&a.type?g(i,function(b,c){i[c]=new a.type(b)}):a.type&&(i=new a.type(i)),b.resolve(i)):b.reject(i)}catch(j){b.reject(j)}finally{a.background!==!0&&fa()}},Wa(a),b.promise(a.initialValue),b.promise},r}); +!function(a,b){"use strict";var c=b("undefined"!=typeof window?window:{});"object"==typeof module&&null!=module&&module.exports?module.exports=c:"function"==typeof define&&define.amd?define(function(){return c}):a.m=c}(this,function(a,b){"use strict";function c(a){return"function"==typeof a}function d(a){return"[object Object]"===bb.call(a)}function e(a){return"[object String]"===bb.call(a)}function f(){}function g(a,b){for(var c=0;ci;i++){var k=A(a,a.data[i],a.cached[h],e);k!==b&&(d=d&&k.nodes.intact,e+=ga(k),a.cached[h++]=k)}return d||E(a,c),a.cached}function C(a,b){var c=a.data.length!==a.cached.length;c||s(a.data,function(b,d){var e=a.cached[d];return c=e&&e.attrs&&e.attrs.key!==b.key}),c&&D(a,b)}function D(a,b){var c=a.cached.nodes;s(a.data,function(a,d){a=a.key,b[a]?b[a]={action:gb,index:d,from:b[a].index,element:c[b[a].index]||Za.createElement("div")}:b[a]={action:fb,index:d}});var d=[];h(b,function(a){d.push(a)});var e=d.sort(ha),f=new Array(a.cached.length);f.nodes=a.cached.nodes.slice(),g(e,function(b){var c=b.index;switch(b.action){case eb:na(a.cached[c].nodes,a.cached[c]),f.splice(c,1);break;case fb:var d=Za.createElement("div");d.key=a.data[c].attrs.key,v(a.parent,d,c),f.splice(c,0,{attrs:{key:a.data[c].attrs.key},nodes:[d]}),f.nodes[c]=d;break;case gb:var e=b.element;a.parent.childNodes[c]!==e&&null!==e&&a.parent.insertBefore(e,a.parent.childNodes[c]||null),f[c]=a.cached[b.from],f.nodes[c]=e}}),a.cached=f}function E(a,b){for(var c=0,d=a.data.length;d>c;c++){var e=a.cached[c];null!=e&&b.push.apply(b,e.nodes)}g(a.cached.nodes,function(c,d){null!=c.parentNode&&b.indexOf(c)<0&&na([c],[a.cached[d]])}),a.data.length+("key"in b)}function G(a){var b=a.data;return b.attrs.xmlns?b.attrs.xmlns:"svg"===b.tag?"http://www.w3.org/2000/svg":"math"===b.tag?"http://www.w3.org/1998/Math/MathML":a.ns}function H(a){var b=[],c=[];if(I(a,b,c),!a.data.tag&&c.length)throw new Error("Component template must return a virtual element, not an array, string, etc.");var d=F(a);return e(a.data.tag)?R({builder:a,hasKeys:d,views:b,controllers:c,ns:G(a)}):void 0}function I(a,b,c){for(var d=a.cached&&a.cached.controllers;null!=a.data.view;)J(a,d,c,b)}function J(a,b,c,d){var e=a.data.view.$original||a.data.view,f=M(a.cached.views,e,b,a.data.controller),g=+(a.data&&a.data.attrs&&a.data.attrs.key);return 0===ib||hb||b&&b.indexOf(f)>-1?a.data=a.data.view(f):a.data={tag:"placeholder"},"retain"===a.data.subtree?a.cached:(g===g&&((a.data.attrs=a.data.attrs||{}).key=g),void L(d,c,e,f))}function K(a,b){a.ctrls.splice(a.ctrls.indexOf(a.ctrl),1),a.views.splice(a.views.indexOf(a.view),1),a.ctrl&&c(a.ctrl.onunload)&&a.ctrl.onunload(b)}function L(a,b,c,d){a.push(c),jb[b.push(d)-1]={views:a,view:c,ctrl:d,ctrls:b}}function M(a,b,c,d){var e="diff"===lb()&&a?a.indexOf(b):-1;return e>-1?c[e]:"function"==typeof d?new d:{}}function N(a,b){P(a,b)&&(a.cached.nodes.length&&na(a.cached.nodes),a.cached.cfgCtx&&c(a.cached.cfgCtx.onunload)&&a.cached.cfgCtx.onunload(),a.cached.controllers&&g(a.cached.controllers,function(a){a.unload&&a.onunload({preventDefault:f})}))}function O(a,b){a.sort(),b.sort();var c=a.length;if(c!==b.length)return!1;for(var d=0;c>d;d++)if(a[d]!==b[d])return!1;return!0}function P(a,b){var c=a.data,d=a.cached;return c.tag!==d.tag?!0:O(b,Object.keys(d.attrs))?c.attrs.id!==d.attrs.id?!0:c.attrs.key!==d.attrs.key?!0:"all"===lb()?!d.cfgCtx||d.cfgCtx.retain!==!0:"diff"===lb()?d.cfgCtx&&d.cfgCtx.retain===!1:!1:!0}function Q(a){var b=S(a);return a.builder.cached=W(a,b,T(a,b),V(a,b)),b}function R(a){var b=a.builder,c=0===b.cached.nodes.length,d=c?Q(a):Z(a);return(c||b.reattach&&null!=d)&&v(b.parent,d,b.index),$(b,d,c),b.cached}function S(a){var c=a.builder.data;return a.ns===b?c.attrs.is?Za.createElement(c.tag,c.attrs.is):Za.createElement(c.tag):c.attrs.is?Za.createElementNS(a.ns,c.tag,c.attrs.is):Za.createElementNS(a.ns,c.tag)}function T(a,b){var c=a.builder.data;return a.hasKeys?la(b,c.tag,c.attrs,{},a.ns):c.attrs}function U(a,c,d){var e=a.builder;return x(w(c,e.data.tag,b,b,e.data.children,e.cached.children,d,0,e.data.attrs.contenteditable?c:e.editable,a.ns,e.cfgs))}function V(a,b){var c=a.builder.data.children;return null!=c&&0!==c.length?U(a,b,!0):c}function W(a,b,c,d){var e=a.builder.data,f={tag:e.tag,attrs:c,children:d,nodes:[b]};return Y(a,f),f.children&&!f.children.nodes&&(f.children.nodes=[]),"select"===e.tag&&"value"in e.attrs&&la(b,e.tag,{value:e.attrs.value},{},a.ns),f}function X(a){if(a.onunload&&a.onunload.$old&&(a.onunload=a.onunload.$old),ib&&a.onunload){var b=a.onunload;a.onunload=f,a.onunload.$old=b}}function Y(a,b){a.controllers.length&&(b.views=a.views,b.controllers=a.controllers,g(a.controllers,X))}function Z(a){var b=a.builder.cached,c=b.nodes[0];return a.hasKeys&&la(c,a.builder.data.tag,a.builder.data.attrs,b.attrs,a.ns),b.children=U(a,c,!1),b.nodes.intact=!0,a.controllers.length&&(b.views=a.views,b.controllers=a.controllers),c}function $(a,b,d){var e=a.data,f=a.cached,g=e.attrs.config;if(c(g)){var h=f.cfgCtx=f.cfgCtx||{};a.cfgs.push(function(){return g.call(e,b,!d,h,f)})}}function _(a){return 0===a.cached.nodes.length?ba(a):a.cached.valueOf()!==a.data.valueOf()||a.reattach?ca(a):(a.cached.nodes.intact=!0,a.cached)}function aa(a){return"AREA"!==a&&"BASE"!==a&&"BR"!==a&&"COL"!==a&&"COMMAND"!==a&&"EMBED"!==a&&"HR"!==a&&"IMG"!==a&&"INPUT"!==a&&"KEYGEN"!==a&&"LINK"!==a&&"META"!==a&&"PARAM"!==a&&"SOURCE"!==a&&"TRACK"!==a&&"WBR"!==a}function ba(a){var b;a.data.$trusted?b=pa(a.parent,a.index,a.data):(b=[Za.createTextNode(a.data)],aa(a.parent.nodeName)&&v(a.parent,b[0],a.index));var c;return c="string"==typeof a.data||"number"==typeof a.data||"boolean"==typeof a.data?new a.data.constructor(a.data):a.data,c.nodes=b,c}function ca(a){var b=a.cached.nodes;return a.editable&&a.editable===Za.activeElement||(a.data.$trusted?(na(b,a.cached),b=pa(a.parent,a.index,a.data)):"textarea"===a.pTag?a.parent.value=a.data:a.editable?a.editable.innerHTML=a.data:((1===b[0].nodeType||b.length>1||b[0].nodeValue.trim&&!b[0].nodeValue.trim())&&(na(a.cached.nodes,a.cached),b=[Za.createTextNode(a.data)]),da(a,b[0]))),a.cached=new a.data.constructor(a.data),a.cached.nodes=b,a.cached}function da(a,b){try{v(a.parent,b,a.index),b.nodeValue=a.data}catch(c){}}function ea(){ib++}function fa(){ib>1?ib--:(ib=0,r.redraw())}function ga(a){if(!a.$trusted)return db(a)?a.length:1;var b=a.match(/<[^\/]|\>\s*[^<]/g);return null!=b?b.length:void 0}function ha(a,b){return a.action-b.action||a.index-b.index}function ia(a){return"list"!==a&&"style"!==a&&"form"!==a&&"type"!==a&&"width"!==a&&"height"!==a}function ja(a,b,e,f,g,i){if("config"!==a&&"key"!==a)if(c(b)&&"on"===a.slice(0,2))f[a]=qa(b,f);else if("style"===a&&null!=b&&d(b)){h(b,function(a,b){(null==e||e[b]!==a)&&(f.style[b]=a)});for(var j in e)cb.call(e,j)&&(cb.call(b,j)||(f.style[j]=""))}else null!=g?"href"===a?f.setAttributeNS("http://www.w3.org/1999/xlink","href",b):f.setAttribute("className"===a?"class":a,b):a in f&&ia(a)?("input"!==i||f[a]!==b)&&(f[a]=b):f.setAttribute(a,b)}function ka(a,b,c,d,e,f){try{ja(a,b,c,d,e,f)}catch(g){if(g.message.indexOf("Invalid argument")<0)throw g}}function la(a,b,c,d,e){return h(c,function(c,f){var g=d[f];f in d&&g===c?"value"===f&&"input"===b&&a.value!=c&&(a.value=c):(d[f]=c,ka(f,c,g,a,e,b))}),d}function ma(a){try{a.parentNode.removeChild(a)}catch(b){}}function na(a,b){if(a.length){b=[].concat(b);for(var c=a.length-1;c>=0;c--){var d=a[c];null!=d&&d.parentNode&&(ma(d),b[c]&&oa(b[c]))}a.length&&(a.length=0)}}function oa(a){a.cfgCtx&&c(a.cfgCtx.onunload)&&(a.cfgCtx.onunload(),a.cfgCtx.onunload=null),a.controllers&&g(a.controllers,function(a){c(a.onunload)&&a.onunload({preventDefault:f})}),a.children&&(db(a.children)?g(a.children,oa):a.children.tag&&oa(a.children))}function pa(a,b,c){var d=a.childNodes[b];d?1!==d.nodeType?(a.insertBefore(nb,d||null),nb.insertAdjacentHTML("beforebegin",c),a.removeChild(nb)):d.insertAdjacentHTML("beforebegin",c):mb(a,c);for(var e=[];a.childNodes[b]!==d;)e.push(a.childNodes[b++]);return e}function qa(a,b){return function(c){lb("diff"),ea();try{return a.call(b,c||event)}finally{za()}}}function ra(a){var b=pb.indexOf(a);return 0>b?pb.push(a)-1:b}function sa(a,b,c,d){var e=null===a;if(!d){lb("all"),ea(),sb[c]=b,a=rb=a||{controller:f};var g=new(a.controller||f);return a===rb&&(ub[c]=g,tb[c]=a),za(),e&&ua(b,c),ub[c]}e&&ua(b,c)}function ta(a,b){if(!a)throw new Error("Please ensure the DOM element exists before rendering a template into it.");var d=sb.indexOf(a);0>d&&(d=sb.length);var e=!1,f={preventDefault:function(){e=!0,vb=wb=null}};return g(jb,function(a){null!=a.ctrl&&(K(a,f),a.ctrl.onunload=null)}),e?g(jb,function(a){a.ctrl.onunload=function(b){K(a,b)}}):jb=[],ub[d]&&c(ub[d].onunload)&&ub[d].onunload(f),sa(b,a,d,e)}function ua(a,b){sb.splice(b,1),ub.splice(b,1),tb.splice(b,1),Oa(a),pb.splice(ra(a),1)}function va(){yb>0&&ab(yb),yb=_a(ya,xb)}function wa(){yb=0}function xa(a){yb&&!a?Ab():(ya(),yb=_a(wa,xb))}function ya(){vb&&(vb(),vb=null);for(var a=0;a=0){var j=Na(Cb.slice(i+1));h(g,function(a,b){j[b]=g[b]}),e=Ma(j),f=Cb.slice(0,i)}else e=Ma(b),f=Cb;if(e){var k=-1===f.indexOf("?")?"?":"&";Cb=f+k+e}return Fa(c||d===a)}function Ha(a,b,c,d){if(0===arguments.length)return Cb;if(3===arguments.length&&e(b))Eb=function(d){var e=Cb=Ia(d);if(!Ja(a,c,e)){if(Fb)throw new Error("Ensure the default route matches one of the routes defined in m.route");Fb=!0,Ha(b,!0),Fb=!1}},Ba("hash"===Ha.mode?"onhashchange":"onpopstate");else if(a.addEventListener||a.attachEvent)a.href=Ca()+d.attrs.href,a.addEventListener?(a.removeEventListener("click",Ka),a.addEventListener("click",Ka)):(a.detachEvent("onclick",Ka),a.attachEvent("onclick",Ka));else if(e(a))return Ga.apply(null,arguments)}function Ia(a){return a.slice(Db[Ha.mode].length)}function Ja(a,b,c){var d=c.indexOf("?");d>=0?(Bb=Na(c.substr(d+1,c.length)),c=c.substr(0,d)):Bb={};var e=Object.keys(b),f=e.indexOf(c);if(f>=0)return ta(a,b[e[f]]),!0;for(var h in b)if(cb.call(b,h)){if(h===c)return ta(a,b[h]),!0;var i=new RegExp("^"+h.replace(/:[^\/]+?\.{3}/g,"(.*?)").replace(/:[^\/]+/g,"([^\\/]+)")+"/?$");if(i.test(c))return c.replace(i,function(){for(var a=[],b=1,c=arguments.length-2;c>b;)a.push(arguments[b++]);var d=h.match(/:[^\/]+/g)||[];g(d,function(b,c){b=b.replace(/:|\./g,""),Bb[b]=decodeURIComponent(a[c])})}),ta(a,b[h]),!0}}function Ka(a){if(a=a||event,!a.ctrlKey&&!a.metaKey&&2!==a.which){a.preventDefault?a.preventDefault():a.returnValue=!1;var b,c=a.currentTarget||a.srcElement;for(b="pathname"===Ha.mode&&c.search?Na(c.search.slice(1)):{};c&&"A"!==c.nodeName.toUpperCase();)c=c.parentNode;ib=0,Ha(c[Ha.mode].slice(Db[Ha.mode].length),b)}}function La(){"hash"!==Ha.mode&&$a.hash?$a.hash=$a.hash:a.scrollTo(0,0)}function Ma(a,c){var e={},f=[];return h(a,function(a,h){var i=c?c+"["+h+"]":h;if(null===a)f.push(encodeURIComponent(i));else if(d(a))f.push(Ma(a,i));else if(db(a)){var j=[];e[i]=e[i]||{},g(a,function(a){e[i][a]||(e[i][a]=!0,j.push(encodeURIComponent(i)+"="+encodeURIComponent(a)))}),f.push(j.join("&"))}else a!==b&&f.push(encodeURIComponent(i)+"="+encodeURIComponent(a))}),f.join("&")}function Na(a){if(""===a||null==a)return{};"?"===a.charAt(0)&&(a=a.slice(1));var b=a.split("&"),c={};return g(b,function(a){var b=a.split("="),d=decodeURIComponent(b[0]),e=2===b.length?decodeURIComponent(b[1]):null;null!=c[d]?(db(c[d])||(c[d]=[c[d]]),c[d].push(e)):c[d]=e}),c}function Oa(a){var c=ra(a);na(a.childNodes,qb[c]),qb[c]=b}function Pa(a,b,c,d){return k(a)?a.then(function(a){Pa(a,b,c,d)},function(a){Pa(a,c,c,d)}):b.call(d,a)}function Qa(a,d){function e(a){r=a}function f(a){a.resolve(r)}function h(a){a.reject(r)}function i(a){return u!==h&&a(r),a}function j(a){t.push(a)}function l(a,b){var c=Ra().resolve(a()).promise;return b!==h&&c(r),c.then(b)}function m(a){u=a,g(t,a),n=q=null}function n(a,b){Pa(a,function(a){r=a,m(b===Ib?f:h)},function(a){r=a,m(h)})}function o(a,b){var c=0;try{return a.then(function(a){c++||q(Gb,a,b)},function(a){c++||q(Hb,a,b)})}catch(d){return Ra.onerror(d),q(Hb,d,b)}}function p(b,e,f){try{e===Gb&&c(a)?b=a(b):e===Hb&&c(d)&&(b=d(b),e=Gb)}catch(g){return Ra.onerror(g),n(g,Jb)}return b===f?n(TypeError(),Jb):n(b,e===Gb?Ib:Jb)}function q(a,b,c){var d;try{d=k(b)}catch(e){return Ra.onerror(e),q(Hb,e,c)}return a===Hb&&Ra.onerror(b),d?o(b,c):p(b,a,c)}var r,s=this,t=[],u=j;s.resolve=function(a){return u===j&&q(Gb,a,s),s},s.reject=function(a){return u===j&&q(Hb,a,s),s},s.promise=function(a){return arguments.length&&Pa(a,e,e),u!==h?r:b},s.promise.then=function(a,b){var c=new Qa(a,b);return u(c),i(c.promise)},s.promise["catch"]=function(a){return s.promise.then(null,a)},s.promise["finally"]=function(a){return s.promise.then(function(){return l(a,function(){return r})},function(){return l(a,function(){throw r})})}}function Ra(){return new Qa}function Sa(a){return a instanceof EvalError||a instanceof RangeError||a instanceof ReferenceError||a instanceof SyntaxError||a instanceof TypeError||a instanceof URIError}function Ta(){return"mithril_callback_"+(new Date).getTime()+"_"+Math.round(1e16*Math.random()).toString(36)}function Ua(c){var d=Ta(),e=Za.createElement("script");a[d]=function(f){e.parentNode.removeChild(e),c.onload({success:!0,target:{responseText:f}}),a[d]=b},e.onerror=function(){return e.parentNode.removeChild(e),c.onerror({success:!1,target:{status:500,responseText:'{"error": "Error making jsonp request"}'}}),a[d]=b,!1},e.onload=function(){return!1},e.src=c.url+(c.url.indexOf("?")>0?"&":"?")+(c.callbackKey?c.callbackKey:"callback")+"="+d+"&"+Ma(c.data||{}),Za.body.appendChild(e)}function Va(b){var d=new a.XMLHttpRequest;if(d.open(b.method,b.url,!0,b.user,b.password),d.onreadystatechange=function(){4===this.readyState&&(this.status>=200&&this.status<300?b.onload({success:!0,target:this}):b.onerror({success:!1,target:this}))},b.serialize===JSON.stringify&&b.data&&"GET"!==b.method&&d.setRequestHeader("Content-Type","application/json; charset=utf-8"),b.deserialize===JSON.parse&&d.setRequestHeader("Accept","application/json, text/*"),c(b.config)){var f=b.config(d,b);null!=f&&(d=f)}var g;if(g="GET"!==b.method&&b.data?b.data:"",g&&!e(g)&&g.constructor!==a.FormData)throw new Error("Request data should be either be a string or FormData. Check the `serialize` option in `m.request`");return d.send(g),d}function Wa(a){return a.dataType&&"jsonp"===a.dataType.toLowerCase()?Ua(a):Va(a)}function Xa(a,b,c){if("GET"===a.method&&"jsonp"!==a.dataType){var d=a.url.indexOf("?")<0?"?":"&",e=Ma(b);a.url+=e?d+e:""}else a.data=c(b);return a}function Ya(a,b){var c=a.match(/:[a-z]\w+/gi);return c&&b&&g(c,function(c){var d=c.slice(1);a=a.replace(c,b[d]),delete b[d]}),a}r.version=function(){return"v0.2.1"};var Za,$a,_a,ab,bb={}.toString,cb={}.hasOwnProperty,db=Array.isArray||function(a){return"[object Array]"===bb.call(a)};i(a),r.deps=function(b){return i(a=b||a),a},r.prop=function(a){return k(a)?m(a):j(a)},r.component=q;var eb=1,fb=2,gb=3,hb=!1,ib=0,jb=[],kb=!1;r.redraw=function(a){if(!kb){kb=!0,a&&(hb=!0);try{xa(a)}finally{kb=hb=!1}}};var lb=r.redraw.strategy=r.prop();r.startComputation=ea,r.endComputation=fa;var mb=function(){try{return Za.createRange().createContextualFragment("x"),function(a,b){a.appendChild(Za.createRange().createContextualFragment(b))}}catch(a){return function(a,b){a.insertAdjacentHTML("beforeend",b)}}}(),nb=Za.createElement("span"),ob={appendChild:function(a){Za.documentElement&&Za.documentElement!==a?Za.replaceChild(a,Za.documentElement):Za.appendChild(a),this.childNodes=Za.childNodes},insertBefore:function(a){this.appendChild(a)},childNodes:[]},pb=[],qb={};r.render=function(a,c,d){if(!a)throw new Error("Ensure the DOM element being passed to m.route/m.mount/m.render exists.");var e,f=[],h=ra(a),i=a===Za;e=i||a===Za.documentElement?ob:a,i&&"html"!==c.tag&&(c={tag:"html",attrs:{},children:c}),qb[h]===b&&na(e.childNodes),d===!0&&Oa(a),qb[h]=x(w(e,null,b,b,c,qb[h],!1,0,null,b,f)),g(f,function(a){a()})},r.trust=function(a){return a=new String(a),a.$trusted=!0,a};var rb,sb=[],tb=[],ub=[],vb=null,wb=null,xb=16;r.mount=r.module=ta;var yb=0,zb=0,Ab=_a===a.requestAnimationFrame?va:function(){+new Date-zb>xb&&va()};r.withAttr=function(a,b,c){return function(d){d=d||event;var e,f=d.currentTarget||this;e=a in f?f[a]:f.getAttribute(a),b.call(c||this,e)}};var Bb,Cb,Db={pathname:"",hash:"#",search:"?"},Eb=f,Fb=!1;r.route=Ha,Ha.param=function(a){if(!Bb)throw new Error("You must call m.route(element, defaultRoute, routes) before calling mroute.param()");return a?Bb[a]:Bb},Ha.mode="search",Ha.buildQueryString=Ma,Ha.parseQueryString=Na;var Gb=1,Hb=2,Ib=3,Jb=4;return r.deferred=Ra,Ra.prototype=Qa.prototype,Ra.prototype.constructor=Ra,Ra.onerror=function(a){if(Sa(a))throw ib=0,a},r.sync=function(a){function b(a,b){return e[a]=b,0===--d&&(c.promise(e),c[f](e)),b}var c=new Qa,d=a.length,e=new Array(d),f="resolve";return a.length>0?g(a,function(a,c){a.then(function(a){return b(c,a)},function(a){return f="reject",b(c,a)})}):c.resolve([]),c.promise},r.request=function(a){a.background!==!0&&ea();var b=Ra(),c=function(a){return a},d=c,e=function(a){return a.responseText};return a.dataType&&"jsonp"===a.dataType.toLowerCase()||(c=a.serialize||JSON.stringify,d=a.deserialize||JSON.parse,e=a.extract||function(a){return 0===a.responseText.length&&d===JSON.parse?null:a.responseText}),a.serialize=c,a.deserialize=d,a.method=(a.method||"GET").toUpperCase(),a.url=Ya(a.url,a.data),a=Xa(a,a.data,c),a.onload=a.onerror=function(c){c=c||event;var f,h=c.success;f=h?a.unwrapSuccess:a.unwrapError;try{var i=d(e(c.target,a));f&&(i=f(i,c.target)),h?(db(i)&&a.type?g(i,function(b,c){i[c]=new a.type(b)}):a.type&&(i=new a.type(i)),b.resolve(i)):b.reject(i)}catch(j){b.reject(j)}finally{a.background!==!0&&fa()}},Wa(a),b.promise(a.initialValue),b.promise},r}); //# sourceMappingURL=mithril.min.js.map \ No newline at end of file diff --git a/mithril.min.js.map b/mithril.min.js.map index 8a3f99ea..07c8c9ae 100644 --- a/mithril.min.js.map +++ b/mithril.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["mithril.js"],"names":["global","factory","m","window","module","exports","define","amd","this","undefined","isFunction","object","isObject","type","call","isString","noop","forEach","list","f","i","length","forOwn","obj","prop","hasOwn","initialize","$document","document","$location","location","$cancelAnimationFrame","cancelAnimationFrame","clearTimeout","$requestAnimationFrame","requestAnimationFrame","setTimeout","gettersetter","store","arguments","toJSON","isPromise","then","simpleResolve","p","callback","propify","promise","resolve","reject","value","reason","checkForAttrs","pairs","parseSelector","tag","cell","match","classes","parser","exec","attrs","id","push","pair","assignAttrs","target","classAttr","hasClass","attr","join","parameterize","component","Ctrl","originalCtrl","apply","args","view","ctrl","rest","concat","originalView","controller","prototype","$original","output","key","TypeError","hasAttrs","children","isArray","forKeys","dataToString","data","toString","e","flatten","insertNode","parent","node","index","insertBefore","childNodes","buildContext","parentElement","parentTag","parentCache","parentIndex","cached","shouldReattach","editable","namespace","configs","pTag","pCache","pIndex","reattach","ns","cfgs","builderBuild","inst","subtree","builderMakeCache","builderBuildArray","builderBuildObject","builderHandleTextNode","nodes","offset","end","clear","slice","constructor","buildArrayKeys","guid","builderBuildArrayChild","child","count","intact","subArrayCount","existing","shouldMaintainIdentities","action","DELETION","builderDiffKeys","cacheCount","len","item","getSubArrayCount","builderDiffArray","keysDiffer","cachedCell","builderHandleKeysDiffer","MOVE","from","element","createElement","INSERTION","actions","changes","sort","sortChanges","newCached","Array","change","splice","dummy","changeElement","parentNode","indexOf","builderInitAttrs","dataAttrs","dataAttrKeys","Object","keys","builderMaybeRecreateObject","builderGetObjectNamespace","xmlns","views","controllers","builderMarkViews","Error","hasKeys","objectBuild","builder","builderCheckView","getController","pendingRequests","forcing","updateLists","unloaderHandler","ev","ctrls","onunload","unloaders","redrawStrategy","builderElemIsDifferentEnough","cfgCtx","unload","preventDefault","arraySortCompare","a","b","cache","create","retain","objectBuildNewNode","objectCreateNode","objectReconstruct","objectCreateAttrs","objectBuildChildren","isNew","objectBuildUpdatedNode","builderScheduleConfigs","is","createElementNS","setAttributes","objectMakeChild","contenteditable","objectUnloadCachedControllers","unloadSingleCachedController","$old","config","context","builderHandleNonexistentNodes","valueOf","builderReattachNodes","nodeHasBody","test","$trusted","injectHTML","createTextNode","nodeName","activeElement","innerHTML","nodeType","nodeValue","builderInjectTextNode","first","startComputation","endComputation","redraw","shouldSetAttrDirectly","trySetAttribute","dataAttr","cachedAttr","autoredraw","rule","style","setAttributeNS","setAttribute","trySetSingle","message","cachedAttrs","clearSingle","removeChild","nextSibling","placeholder","insertAdjacentHTML","insertAdjacentBeforeEnd","event","endFirstComputation","getCellCacheKey","nodeCache","initComponent","root","isPrevented","isNullComponent","roots","topComponent","components","removeRootElement","mmount","computePreRedrawHook","computePostRedrawHook","unloader","reset","actuallyPerformRedraw","lastRedrawId","FRAME_BUDGET","resetLastRedrawId","attemptRedraw","force","performRedraw","render","lastRedrawCallTime","Date","historyListener","path","mroute","mode","search","currentRoute","normalizeRoute","redirect","runHistoryListener","listener","setScroll","getRouteBase","pathname","modes","windowPushState","history","pushState","title","windowReplaceState","replaceState","computeAndLaunchRedirect","replaceHistory","routeTo","route","params","oldRoute","queryString","currentPath","queryIndex","paramsObj","parseQueryString","buildQueryString","delimiter","arg1","arg2","vdom","source","routeByValue","isDefaultRoute","addEventListener","attachEvent","href","removeEventListener","routeUnobtrusive","detachEvent","router","queryStart","routeParams","substr","matcher","RegExp","replace","values","decodeURIComponent","ctrlKey","metaKey","which","returnValue","currentTarget","srcElement","toUpperCase","hash","scrollTo","prefix","duplicates","str","encodeURIComponent","split","string","cacheKey","cellCache","coerce","next","error","Deferred","onSuccess","onFailure","set","promiseValue","deferred","init","func","wrapper","mdeferred","run","finish","fire","state","RESOLVED","doThen","RESOLVING","REJECTING","onerror","notThennable","REJECTED","thenable","self","isNativeError","EvalError","RangeError","ReferenceError","SyntaxError","URIError","generateCallbackKey","getTime","Math","round","random","getJsonp","options","callbackKey","script","resp","onload","success","responseText","status","src","url","body","appendChild","runXhr","xhr","XMLHttpRequest","open","method","user","password","onreadystatechange","readyState","serialize","JSON","stringify","setRequestHeader","deserialize","parse","maybeXhr","FormData","send","ajax","dataType","bindData","xhrOptions","querystring","parameterizeUrl","tokens","token","version","hasOwnProperty","deps","mock","redrawing","strategy","createRange","createContextualFragment","documentNode","documentElement","replaceChild","forceRecreation","isDocumentRoot","trust","String","mount","withAttr","withAttrCallback","callbackThis","targetProp","getAttribute","param","sync","synchronizer","results","outstanding","arg","request","background","extract","jsonp","unwrap","doSuccess","unwrapSuccess","unwrapError","response","res","initialValue"],"mappings":";;;;;;CAAC,SAAWA,EAAQC,GACnB,YAEA,IAAIC,GAAID,EAA0B,mBAAXE,QAAyBA,UAC1B,iBAAXC,SAAiC,MAAVA,QAAkBA,OAAOC,QAC1DD,OAAOC,QAAUH,EACW,kBAAXI,SAAyBA,OAAOC,IACjDD,OAAO,WAAc,MAAOJ,KAE5BF,EAAOE,EAAIA,GAGVM,KAAM,SAAUL,EAAQM,GAC1B,YAUA,SAASC,GAAWC,GACnB,MAAyB,kBAAXA,GAGf,QAASC,GAASD,GACjB,MAA6B,oBAAtBE,GAAKC,KAAKH,GAGlB,QAASI,GAASJ,GACjB,MAA6B,oBAAtBE,GAAKC,KAAKH,GAOlB,QAASK,MAET,QAASC,GAAQC,EAAMC,GACtB,IAAK,GAAIC,GAAI,EAAGA,EAAIF,EAAKG,OAAQD,IAChCD,EAAED,EAAKE,GAAIA,GAIb,QAASE,GAAOC,EAAKJ,GACpB,IAAK,GAAIK,KAAQD,GACZE,GAAOX,KAAKS,EAAKC,IACpBL,EAAEI,EAAIC,GAAOA,GAShB,QAASE,GAAWvB,GACnBwB,GAAYxB,EAAOyB,SACnBC,GAAY1B,EAAO2B,SACnBC,GAAwB5B,EAAO6B,sBAC9B7B,EAAO8B,aACRC,GAAyB/B,EAAOgC,uBAC/BhC,EAAOiC,WAWT,QAASC,GAAaC,GACrB,QAASd,KAER,MADIe,WAAUlB,SAAQiB,EAAQC,UAAU,IACjCD,EAOR,MAJAd,GAAKgB,OAAS,WACb,MAAOF,IAGDd,EAGR,QAASiB,GAAU9B,GAClB,MAAiB,OAAVA,IAAmBC,EAASD,IAAWD,EAAWC,KACvDD,EAAWC,EAAO+B,MAGrB,QAASC,GAAcC,EAAGC,GACzB,MAAID,GAAEF,KACEE,EAAEF,KAAKG,GAEPA,IAIT,QAASC,GAAQC,GAChB,GAAIvB,GAAOtB,EAAEsB,MA2Bb,OA1BAuB,GAAQL,KAAKlB,GAEbA,EAAKkB,KAAO,SAAUM,EAASC,GAC9B,MAAOF,GAAQL,KAAK,WACnB,MAAOM,GAAQxB,MACbyB,IAGJzB,EAAAA,SAAa,SAAUyB,GACtB,MAAOF,GAAQL,KAAK,WACnB,MAAOlB,MACLyB,IAGJzB,EAAAA,WAAe,SAAUqB,GACxB,MAAOE,GAAQL,KAAK,SAAUQ,GAC7B,MAAOP,GAAcE,IAAY,WAChC,MAAOK,MAEN,SAAUC,GACZ,MAAOR,GAAcE,IAAY,WAChC,KAAMM,QAKF3B,EAiBR,QAAS4B,GAAcC,GACtB,MAAgB,OAATA,GAAiBzC,EAASyC,MAC9B,OAASA,IAAS,QAAUA,IAAS,WAAaA,IAGtD,QAASC,GAAcC,EAAKC,GAI3B,IAHA,GAEIC,GAFAC,KACAC,EAAS,uCAEwB,OAA7BF,EAAQE,EAAOC,KAAKL,KAC3B,GAAiB,KAAbE,EAAM,IAAyB,MAAZA,EAAM,GAC5BD,EAAKD,IAAME,EAAM,OACX,IAAiB,MAAbA,EAAM,GAChBD,EAAKK,MAAMC,GAAKL,EAAM,OAChB,IAAiB,MAAbA,EAAM,GAChBC,EAAQK,KAAKN,EAAM,QACb,IAAoB,MAAhBA,EAAM,GAAG,GAAY,CAC/B,GAAIO,GAAO,+BAA+BJ,KAAKH,EAAM,GACrDD,GAAKK,MAAMG,EAAK,IAAMA,EAAK,KAAOA,EAAK,GAAK,IAAK,GAInD,MAAON,GAGR,QAASO,GAAYC,EAAQL,EAAOM,EAAWT,GAC9C,GAAIU,IAAW,CACf,IAAI3C,GAAOX,KAAK+C,EAAOM,GAAY,CAClC,GAAIjB,GAAQW,EAAMM,EACL,OAATjB,GAA2B,KAAVA,IACpBkB,GAAW,EACXV,EAAQK,KAAKb,IAIf5B,EAAOuC,EAAO,SAAUX,EAAOmB,GAC9BH,EAAOG,GAAQA,IAASF,GAAaC,EAAW,GAAKlB,IAGlDQ,EAAQrC,SACX6C,EAAOC,GAAaT,EAAQY,KAAK,MAInC,QAASC,GAAaC,GAQrB,QAASC,KACR,MAAOC,GAAaC,MAAMnE,KAAMoE,IAASpE,KAS1C,QAASqE,GAAKC,GAEb,IAAK,GADDC,IAAQD,GAAME,OAAOJ,GAChBxD,EAAI,EAAGA,EAAImB,UAAUlB,OAAQD,IACrC2D,EAAKhB,KAAKxB,UAAUnB,GAGrB,OAAO6D,GAAaN,MAAMH,EAAWO,GAtBtC,IAAK,GADDH,MACKxD,EAAI,EAAGA,EAAImB,UAAUlB,OAAQD,IACrCwD,EAAKb,KAAKxB,UAAUnB,GAGrB,IAAIsD,GAAeF,EAAUU,YAAclE,CAMvC0D,KAAiB1D,IACpByD,EAAKU,UAAYT,EAAaS,UAG/B,IAAIF,GAAeT,EAAUK,MAAQ7D,CAWrC6D,GAAKO,UAAYH,CACjB,IAAII,IAAUH,WAAYT,EAAMI,KAAMA,EAMtC,OAJID,GAAK,IAAqB,MAAfA,EAAK,GAAGU,MACtBD,EAAOxB,OAASyB,IAAKV,EAAK,GAAGU,MAGvBD,EAWR,QAASnF,GAAEqD,EAAKF,GAGf,GAAIzC,EAAS2C,GAAM,MAAOgB,GAAaI,MAAM,KAAMpC,UAEnD,KAAKxB,EAASwC,GACb,KAAM,IAAIgC,WAAU,8DAMrB,KAAKhC,EACJ,KAAM,IAAIgC,WAAU,qCAMrB,KAAK,GAHDC,GAAWpC,EAAcC,GAEzBuB,KACKxD,EAAIoE,EAAW,EAAI,EAAGpE,EAAImB,UAAUlB,OAAQD,IACpDwD,EAAKb,KAAKxB,UAAUnB,GAGrB,IAAIqE,EAGHA,GADmB,IAAhBb,EAAKvD,QAAgBqE,GAAQd,EAAK,IAC1BA,EAAK,GAELA,CAGZ,IAAIpB,IACHD,IAAK,MACLM,SACA4B,SAAUA,EAUX,OAPAxB,GACCT,EAAKK,MACL2B,EAAWnC,KACXmC,GAAY,SAAWnC,GAAQ,QAAU,YACzCC,EAAcC,EAAKC,IAGbA,EAGR,QAASmC,GAAQzE,EAAMC,GACtB,IAAK,GAAIC,GAAI,EAAGA,EAAIF,EAAKG,OAAQD,IAAK,CACrC,GAAIyC,GAAQ3C,EAAKE,EAEjB,IADAyC,EAAQA,GAASA,EAAMA,MACnBA,GAAsB,MAAbA,EAAMyB,KAAenE,EAAE0C,EAAOzC,GAC1C,OAMH,QAASwE,GAAaC,GAGrB,IACC,GAAY,MAARA,GAAmC,MAAnBA,EAAKC,WACxB,MAAOD,GAEP,MAAOE,IAIT,MAAO,GAGR,QAASC,GAAQ9E,GAEhB,IAAK,GAAIE,GAAI,EAAGA,EAAIF,EAAKG,OAAQD,IAC5BsE,GAAQxE,EAAKE,MAChBF,EAAOA,EAAK8D,OAAOL,SAAUzD,GAG7BE,IAIF,OAAOF,GAGR,QAAS+E,GAAWC,EAAQC,EAAMC,GACjCF,EAAOG,aAAaF,EAAMD,EAAOI,WAAWF,IAAU,MAqDvD,QAASG,GACRC,EACAC,EACAC,EACAC,EACAd,EACAe,EACAC,EACAT,EACAU,EACAC,EACAC,GAEA,OACCd,OAAQM,EACRS,KAAMR,EACNS,OAAQR,EACRS,OAAQR,EACRd,KAAMA,EACNe,OAAQA,EACRQ,SAAUP,EACVT,MAAOA,EACPU,SAAUA,EACVO,GAAIN,EACJO,KAAMN,GAIR,QAASO,GAAaC,GAErB,MADAA,GAAK3B,KAAOD,EAAa4B,EAAK3B,MACJ,WAAtB2B,EAAK3B,KAAK4B,QAA6BD,EAAKZ,QAChDc,EAAiBF,GAEb9B,GAAQ8B,EAAK3B,MACT8B,EAAkBH,GACF,MAAbA,EAAK3B,MAAgBjF,EAAS4G,EAAK3B,MACtC+B,EAAmBJ,GAChB9G,EAAW8G,EAAK3B,MACnB2B,EAAKZ,OAELiB,EAAsBL,IAI/B,QAASE,GAAiBF,GACzB,GAAmB,MAAfA,EAAKZ,OAAgB,CACxB,GAAI/F,GAAKC,KAAK0G,EAAKZ,UAAY/F,GAAKC,KAAK0G,EAAK3B,MAC7C,MAGD,IAAI2B,EAAKN,QAAUM,EAAKN,OAAOY,MAAO,CACrC,GAAIC,GAASP,EAAKpB,MAAQoB,EAAKL,OAC3Ba,EAAMD,GACRrC,GAAQ8B,EAAK3B,MAAQ2B,EAAK3B,KAAO2B,EAAKZ,OAAOkB,OAAOzG,MAEtD4G,IACCT,EAAKN,OAAOY,MAAMI,MAAMH,EAAQC,GAChCR,EAAKN,OAAOgB,MAAMH,EAAQC,QACjBR,GAAKZ,OAAOkB,OACtBG,GAAMT,EAAKZ,OAAOkB,MAAON,EAAKZ,QAIhCY,EAAKZ,OAAS,GAAIY,GAAK3B,KAAKsC,YAGxBX,EAAKZ,OAAOrD,MAAKiE,EAAKZ,WAC1BY,EAAKZ,OAAOkB,SAOb,QAASM,GAAevC,GACvB,GAAIwC,GAAO,CACX1C,GAAQE,EAAM,WAOb,MANA5E,GAAQ4E,EAAM,SAAUhC,GACvBA,EAAQA,GAASA,EAAMA,MACnBA,GAAsB,MAAbA,EAAMyB,MAClBzB,EAAMyB,IAAM,cAAgB+C,QAGvB,IAIT,QAASC,GAAuBd,EAAMe,EAAO3B,EAAQ4B,GACpD,MAAOjB,GAAahB,EACnBiB,EAAKtB,OACLsB,EAAKP,KACLO,EAAKZ,OACLY,EAAKpB,MACLmC,EACA3B,EACAY,EAAKJ,SACLI,EAAKpB,MAAQoC,GAASA,EACtBhB,EAAKV,SACLU,EAAKH,GACLG,EAAKF,OAOP,QAASK,GAAkBH,GAC1BA,EAAK3B,KAAOG,EAAQwB,EAAK3B,KACzB,IAAIiC,MACAW,EAASjB,EAAKZ,OAAOvF,SAAWmG,EAAK3B,KAAKxE,OAC1CqH,EAAgB,EAUhBC,KACAC,GAA2B,CAC/BjD,GAAQ6B,EAAKZ,OAAQ,SAAU/C,EAAOzC,GACrCwH,GAA2B,EAC3BD,EAAS9E,EAAMyB,MACduD,OAAQC,GACR1C,MAAOhF,KAITgH,EAAeZ,EAAK3B,MAChB+C,GACHG,EAAgBvB,EAAMmB,EAMvB,KAAK,GADDK,GAAa,EACR5H,EAAI,EAAG6H,EAAMzB,EAAK3B,KAAKxE,OAAY4H,EAAJ7H,EAASA,IAAK,CAErD,GAAI8H,GAAOZ,EACVd,EACAA,EAAK3B,KAAKzE,GACVoG,EAAKZ,OAAOoC,GACZN,EAGGQ,KAASzI,IACZgI,EAASA,GAAUS,EAAKpB,MAAMW,OAC9BC,GAAiBS,GAAiBD,GAClC1B,EAAKZ,OAAOoC,KAAgBE,GAM9B,MAFKT,IAAQW,EAAiB5B,EAAMM,GAE7BN,EAAKZ,OAGb,QAASmC,GAAgBvB,EAAMmB,GAC9B,GAAIU,GAAa7B,EAAK3B,KAAKxE,SAAWmG,EAAKZ,OAAOvF,MAE7CgI,IACJ1D,EAAQ6B,EAAK3B,KAAM,SAAUhC,EAAOzC,GACnC,GAAIkI,GAAa9B,EAAKZ,OAAOxF,EAC7B,OAAOiI,GACNC,GACAA,EAAWzF,OACXyF,EAAWzF,MAAMyB,MAAQzB,EAAMyB,MAI9B+D,GACHE,EAAwB/B,EAAMmB,GAIhC,QAASY,GAAwB/B,EAAMmB,GACtC,GAAI/B,GAASY,EAAKZ,OAAOkB,KACzBnC,GAAQ6B,EAAK3B,KAAM,SAAUP,EAAKlE,GACjCkE,EAAMA,EAAIA,IACNqD,EAASrD,GACZqD,EAASrD,IACRuD,OAAQW,GACRpD,MAAOhF,EACPqI,KAAMd,EAASrD,GAAKc,MACpBsD,QAAS9C,EAAO+B,EAASrD,GAAKc,QAC7BzE,GAAUgI,cAAc,QAG1BhB,EAASrD,IACRuD,OAAQe,GACRxD,MAAOhF,IAKV,IAAIyI,KACJvI,GAAOqH,EAAU,SAAUzF,GAC1B2G,EAAQ9F,KAAKb,IAGd,IAAI4G,GAAUD,EAAQE,KAAKC,IACvBC,EAAY,GAAIC,OAAM1C,EAAKZ,OAAOvF,OACtC4I,GAAUnC,MAAQN,EAAKZ,OAAOkB,MAAMI,QAEpCjH,EAAQ6I,EAAS,SAAUK,GAC1B,GAAI/D,GAAQ+D,EAAO/D,KAEnB,QAAQ+D,EAAOtB,QACf,IAAKC,IACJb,GAAMT,EAAKZ,OAAOR,GAAO0B,MAAON,EAAKZ,OAAOR,IAC5C6D,EAAUG,OAAOhE,EAAO,EACxB,MAED,KAAKwD,IACJ,GAAIS,GAAQ1I,GAAUgI,cAAc,MACpCU,GAAM/E,IAAMkC,EAAK3B,KAAKO,GAAOvC,MAAMyB,IACnCW,EAAWuB,EAAKtB,OAAQmE,EAAOjE,GAC/B6D,EAAUG,OAAOhE,EAAO,GACvBvC,OAAQyB,IAAKkC,EAAK3B,KAAKO,GAAOvC,MAAMyB,KACpCwC,OAAQuC,KAETJ,EAAUnC,MAAM1B,GAASiE,CACzB,MAED,KAAKb,IACJ,GAAIc,GAAgBH,EAAOT,OACvBlC,GAAKtB,OAAOI,WAAWF,KAAWkE,GACrC9C,EAAKtB,OAAOG,aACXiE,EACA9C,EAAKtB,OAAOI,WAAWF,IAAU,MAGnC6D,EAAU7D,GAASoB,EAAKZ,OAAOuD,EAAOV,MACtCQ,EAAUnC,MAAM1B,GAASkE,KAI3B9C,EAAKZ,OAASqD,EAIf,QAASb,GAAiB5B,EAAMM,GAE/B,IAAK,GAAI1G,GAAI,EAAG6H,EAAMzB,EAAK3B,KAAKxE,OAAY4H,EAAJ7H,EAASA,IAAK,CACrD,GAAI8H,GAAO1B,EAAKZ,OAAOxF,EACX,OAAR8H,GACHpB,EAAM/D,KAAKY,MAAMmD,EAAOoB,EAAKpB,OAQ/B7G,EAAQuG,EAAKZ,OAAOkB,MAAO,SAAU3B,EAAM/E,GACnB,MAAnB+E,EAAKoE,YAAsBzC,EAAM0C,QAAQrE,GAAQ,GACpD8B,IAAO9B,IAAQqB,EAAKZ,OAAOxF,OAIzBoG,EAAK3B,KAAKxE,OAASmG,EAAKZ,OAAOvF,SAClCmG,EAAKZ,OAAOvF,OAASmG,EAAK3B,KAAKxE,QAGhCmG,EAAKZ,OAAOkB,MAAQA,EAGrB,QAAS2C,GAAiBjD,GACzB,GAAIkD,GAAYlD,EAAK3B,KAAKhC,MAAQ2D,EAAK3B,KAAKhC,SAC5C2D,GAAKZ,OAAO/C,MAAQ2D,EAAKZ,OAAO/C,SAEhC,IAAI8G,GAAeC,OAAOC,KAAKrD,EAAK3B,KAAKhC,MAGzC,OAFAiH,GAA2BtD,EAAMmD,GAE1BA,EAAatJ,SAAW,OAASqJ,IAGzC,QAASK,GAA0BvD,GAClC,GAAI3B,GAAO2B,EAAK3B,IAEhB,OAAOA,GAAKhC,MAAMmH,MAAQnF,EAAKhC,MAAMmH,MACvB,QAAbnF,EAAKtC,IAAgB,6BACR,SAAbsC,EAAKtC,IAAiB,qCACtBiE,EAAKH,GAGP,QAASO,GAAmBJ,GAC3B,GAAIyD,MACAC,IAIJ,IAFAC,EAAiB3D,EAAMyD,EAAOC,IAEzB1D,EAAK3B,KAAKtC,KAAO2H,EAAY7J,OACjC,KAAM,IAAI+J,OAAM,+EAIjB,IAAIC,GAAUZ,EAAiBjD,EAE/B,OAAIzG,GAASyG,EAAK3B,KAAKtC,KACf+H,GACNC,QAAS/D,EACT6D,QAASA,EACTJ,MAAOA,EACPC,YAAaA,EACb7D,GAAI0D,EAA0BvD,KANhC,OAWD,QAAS2D,GAAiB3D,EAAMyD,EAAOC,GAEtC,IADA,GAAItE,GAASY,EAAKZ,QAAUY,EAAKZ,OAAOsE,YACf,MAAlB1D,EAAK3B,KAAKhB,MAChB2G,EAAiBhE,EAAMZ,EAAQsE,EAAaD,GAO9C,QAASO,GAAiBhE,EAAMZ,EAAQsE,EAAaD,GACpD,GAAIpG,GAAO2C,EAAK3B,KAAKhB,KAAKO,WAAaoC,EAAK3B,KAAKhB,KAC7CK,EAAauG,EAChBjE,EAAKZ,OAAOqE,MACZpG,EACA+B,EACAY,EAAK3B,KAAKX,YAIPI,IAAQkC,EAAK3B,MAAQ2B,EAAK3B,KAAKhC,OAAS2D,EAAK3B,KAAKhC,MAAMyB,IAS5D,OAPwB,KAApBoG,IAAyBC,IAC3B/E,GAAUA,EAAO4D,QAAQtF,GAAc,GACxCsC,EAAK3B,KAAO2B,EAAK3B,KAAKhB,KAAKK,GAE3BsC,EAAK3B,MAAQtC,IAAK,eAGO,WAAtBiE,EAAK3B,KAAK4B,QAA6BD,EAAKZ,QAC5CtB,IAAQA,KACVkC,EAAK3B,KAAKhC,MAAQ2D,EAAK3B,KAAKhC,WAAayB,IAAMA,OAEjDsG,GAAYX,EAAOC,EAAarG,EAAMK,IAKvC,QAAS2G,GAAgBrE,EAAMsE,GAC9BtE,EAAKuE,MAAM3B,OAAO5C,EAAKuE,MAAMvB,QAAQhD,EAAK1C,MAAO,GACjD0C,EAAKyD,MAAMb,OAAO5C,EAAKyD,MAAMT,QAAQhD,EAAK3C,MAAO,GAC7C2C,EAAK1C,MAAQpE,EAAW8G,EAAK1C,KAAKkH,WACrCxE,EAAK1C,KAAKkH,SAASF,GAIrB,QAASF,GAAYX,EAAOC,EAAarG,EAAMK,GAC9C+F,EAAMlH,KAAKc,GACXoH,GAAUf,EAAYnH,KAAKmB,GAAc,IACxC+F,MAAOA,EACPpG,KAAMA,EACNC,KAAMI,EACN6G,MAAOb,GAmBT,QAASO,GAAcR,EAAOpG,EAAM+B,EAAQ1B,GAC3C,GAAIkB,GAA6B,SAArB8F,MAA+BjB,EAC1CA,EAAMT,QAAQ3F,GACd,EAED,OAAIuB,GAAQ,GACJQ,EAAOR,GACJ1F,EAAWwE,GACd,GAAIA,MAMb,QAAS4F,GAA2BtD,EAAMmD,GAErCwB,EAA6B3E,EAAMmD,KAClCnD,EAAKZ,OAAOkB,MAAMzG,QAAQ4G,GAAMT,EAAKZ,OAAOkB,OAC5CN,EAAKZ,OAAOwF,QACd1L,EAAW8G,EAAKZ,OAAOwF,OAAOJ,WAC/BxE,EAAKZ,OAAOwF,OAAOJ,WAGhBxE,EAAKZ,OAAOsE,aACfjK,EAAQuG,EAAKZ,OAAOsE,YAAa,SAAUhG,GACtCA,EAAWmH,QACdnH,EAAW8G,UAAUM,eAAgBtL,OAQ1C,QAASuL,GAAiBC,EAAGC,GAC5B,GAAIxD,GAAMuD,EAAEnL,MACZ,IAAI4H,IAAQwD,EAAEpL,OAAQ,OAAO,CAO7B,KAFA,GAAID,GAAI,EACJsL,EAAQ9B,OAAO+B,OAAO,MACf1D,EAAJ7H,GAASsL,EAAMD,EAAErL,IAAMA,GAC9B,MAAa,IAANA,GACN,GAAIsL,EAAMF,IAAIpL,MAAQX,EAAW,OAAO,CAEzC,QAAO,EAGR,QAAS0L,GAA6B3E,EAAMmD,GAC3C,GAAI9E,GAAO2B,EAAK3B,KACZe,EAASY,EAAKZ,MAClB,OAAIf,GAAKtC,MAAQqD,EAAOrD,KAAY,EAC/BgJ,EAAiB5B,EAAcC,OAAOC,KAAKjE,EAAO/C,QAInDgC,EAAKhC,MAAMC,KAAO8C,EAAO/C,MAAMC,IAAW,EAC1C+B,EAAKhC,MAAMyB,MAAQsB,EAAO/C,MAAMyB,KAAY,EAEvB,QAArB4G,MACKtF,EAAOwF,QAAUxF,EAAOwF,OAAOQ,UAAW,EACnB,SAArBV,KACHtF,EAAOwF,QAAUxF,EAAOwF,OAAOQ,UAAW,GAE1C,GAXA,EAeT,QAASC,GAAmBrF,GAC3B,GAAIrB,GAAO2G,EAAiBtF,EAO5B,OANAA,GAAK+D,QAAQ3E,OAASmG,EACrBvF,EACArB,EACA6G,EAAkBxF,EAAMrB,GACxB8G,EAAoBzF,EAAMrB,IAEpBA,EAGR,QAASmF,GAAY9D,GACpB,GAAI+D,GAAU/D,EAAK+D,QACf2B,EAAwC,IAAhC3B,EAAQ3E,OAAOkB,MAAMzG,OAE7B8E,EAAO+G,EACVL,EAAmBrF,GACnB2F,EAAuB3F,EAOxB,QALI0F,GAAS3B,EAAQnE,UAAoB,MAARjB,IAChCF,EAAWsF,EAAQrF,OAAQC,EAAMoF,EAAQnF,OAG1CgH,EAAuB7B,EAASpF,EAAM+G,GAC/B3B,EAAQ3E,OAGhB,QAASkG,GAAiBtF,GACzB,GAAI3B,GAAO2B,EAAK+D,QAAQ1F,IACxB,OAAI2B,GAAKH,KAAO5G,EACXoF,EAAKhC,MAAMwJ,GACP1L,GAAUgI,cAAc9D,EAAKtC,IAAKsC,EAAKhC,MAAMwJ,IAE7C1L,GAAUgI,cAAc9D,EAAKtC,KAE3BsC,EAAKhC,MAAMwJ,GACd1L,GAAU2L,gBAAgB9F,EAAKH,GAAIxB,EAAKtC,IAAKsC,EAAKhC,MAAMwJ,IAExD1L,GAAU2L,gBAAgB9F,EAAKH,GAAIxB,EAAKtC,KAIjD,QAASyJ,GAAkBxF,EAAMrB,GAChC,GAAIN,GAAO2B,EAAK+D,QAAQ1F,IACxB,OAAI2B,GAAK6D,QACDkC,GAAcpH,EAAMN,EAAKtC,IAAKsC,EAAKhC,SAAW2D,EAAKH,IAEnDxB,EAAKhC,MAId,QAAS2J,GAAgBhG,EAAMrB,EAAMU,GACpC,GAAI0E,GAAU/D,EAAK+D,OACnB,OAAOhE,GAAahB,EACnBJ,EACAoF,EAAQ1F,KAAKtC,IACb9C,EACAA,EACA8K,EAAQ1F,KAAKJ,SACb8F,EAAQ3E,OAAOnB,SACfoB,EACA,EACA0E,EAAQ1F,KAAKhC,MAAM4J,gBAAkBtH,EAAOoF,EAAQzE,SACpDU,EAAKH,GACLkE,EAAQjE,OAIV,QAAS2F,GAAoBzF,EAAMrB,GAClC,GAAIV,GAAW+B,EAAK+D,QAAQ1F,KAAKJ,QACjC,OAAgB,OAAZA,GAAoBA,EAASpE,OACzBmM,EAAgBhG,EAAMrB,GAAM,GAE5BV,EAIT,QAASsH,GAAkBvF,EAAMrB,EAAMtC,EAAO4B,GAC7C,GAAII,GAAO2B,EAAK+D,QAAQ1F,KACpBe,GACHrD,IAAKsC,EAAKtC,IACVM,MAAOA,EACP4B,SAAUA,EACVqC,OAAQ3B,GAeT,OAZAuH,GAA8BlG,EAAMZ,GAEhCA,EAAOnB,WAAamB,EAAOnB,SAASqC,QACvClB,EAAOnB,SAASqC,UAKA,WAAbjC,EAAKtC,KAAoB,SAAWsC,GAAKhC,OAC5C0J,GAAcpH,EAAMN,EAAKtC,KAAML,MAAO2C,EAAKhC,MAAMX,UAChDsE,EAAKH,IAEAT,EAGR,QAAS+G,GAA6BzI,GAKrC,GAJIA,EAAW8G,UAAY9G,EAAW8G,SAAS4B,OAC9C1I,EAAW8G,SAAW9G,EAAW8G,SAAS4B,MAGvClC,IAAmBxG,EAAW8G,SAAU,CAC3C,GAAIA,GAAW9G,EAAW8G,QAC1B9G,GAAW8G,SAAWhL,EACtBkE,EAAW8G,SAAS4B,KAAO5B,GAI7B,QAAS0B,GAA8BlG,EAAMZ,GACxCY,EAAK0D,YAAY7J,SACpBuF,EAAOqE,MAAQzD,EAAKyD,MACpBrE,EAAOsE,YAAc1D,EAAK0D,YAC1BjK,EAAQuG,EAAK0D,YAAayC,IAI5B,QAASR,GAAuB3F,GAC/B,GAAIZ,GAASY,EAAK+D,QAAQ3E,OACtBT,EAAOS,EAAOkB,MAAM,EAmBxB,OAlBIN,GAAK6D,SACRkC,GACCpH,EACAqB,EAAK+D,QAAQ1F,KAAKtC,IAClBiE,EAAK+D,QAAQ1F,KAAKhC,MAClB+C,EAAO/C,MACP2D,EAAKH,IAIPT,EAAOnB,SAAW+H,EAAgBhG,EAAMrB,GAAM,GAC9CS,EAAOkB,MAAMW,QAAS,EAElBjB,EAAK0D,YAAY7J,SACpBuF,EAAOqE,MAAQzD,EAAKyD,MACpBrE,EAAOsE,YAAc1D,EAAK0D,aAGpB/E,EAGR,QAASiH,GAAuB5F,EAAMrB,EAAM+G,GAC3C,GAAIrH,GAAO2B,EAAK3B,KACZe,EAASY,EAAKZ,OAEdiH,EAAShI,EAAKhC,MAAMgK,MACxB,IAAInN,EAAWmN,GAAS,CACvB,GAAIC,GAAUlH,EAAOwF,OAASxF,EAAOwF,UAErC5E,GAAKF,KAAKvD,KAAK,WACd,MAAO8J,GAAO/M,KAAK+E,EAAMM,GAAO+G,EAAOY,EAASlH,MAKnD,QAASiB,GAAsBL,GAC9B,MAAiC,KAA7BA,EAAKZ,OAAOkB,MAAMzG,OACd0M,GAA8BvG,GAC3BA,EAAKZ,OAAOoH,YAAcxG,EAAK3B,KAAKmI,WAC7CxG,EAAKJ,SACC6G,GAAqBzG,IAE5BA,EAAKZ,OAAOkB,MAAMW,QAAS,EACpBjB,EAAKZ,QAId,QAASsH,IAAY/H,GACpB,OAAQ,0FACNgI,KAAKhI,GAGR,QAAS4H,IAA8BvG,GACtC,GAAIM,EACAN,GAAK3B,KAAKuI,SACbtG,EAAQuG,GAAW7G,EAAKtB,OAAQsB,EAAKpB,MAAOoB,EAAK3B,OAEjDiC,GAASnG,GAAU2M,eAAe9G,EAAK3B,OACnCqI,GAAY1G,EAAKtB,OAAOqI,WAC3BtI,EAAWuB,EAAKtB,OAAQ4B,EAAM,GAAIN,EAAKpB,OAIzC,IAAIQ,EAYJ,OAPCA,GAHwB,gBAAdY,GAAK3B,MACO,gBAAd2B,GAAK3B,MACS,iBAAd2B,GAAK3B,KACJ,GAAI2B,GAAK3B,KAAKsC,YAAYX,EAAK3B,MAE/B2B,EAAK3B,KAGfe,EAAOkB,MAAQA,EAERlB,EAGR,QAASqH,IAAqBzG,GAC7B,GAAIM,GAAQN,EAAKZ,OAAOkB,KA0BxB,OAzBKN,GAAKV,UAAYU,EAAKV,WAAanF,GAAU6M,gBAC7ChH,EAAK3B,KAAKuI,UACbnG,GAAMH,EAAON,EAAKZ,QAClBkB,EAAQuG,GAAW7G,EAAKtB,OAAQsB,EAAKpB,MAAOoB,EAAK3B,OACzB,aAAd2B,EAAKP,KAEfO,EAAKtB,OAAOhD,MAAQsE,EAAK3B,KACf2B,EAAKV,SAEfU,EAAKV,SAAS2H,UAAYjH,EAAK3B,OAGL,IAAtBiC,EAAM,GAAG4G,UAAkB5G,EAAMzG,OAAS,GAC7CN,EAAS+G,EAAM,GAAG6G,YACjB,MAAMR,KAAKrG,EAAM,GAAG6G,cACrB1G,GAAMT,EAAKZ,OAAOkB,MAAON,EAAKZ,QAC9BkB,GAASnG,GAAU2M,eAAe9G,EAAK3B,QAGxC+I,GAAsBpH,EAAMM,EAAM,MAIpCN,EAAKZ,OAAS,GAAIY,GAAK3B,KAAKsC,YAAYX,EAAK3B,MAC7C2B,EAAKZ,OAAOkB,MAAQA,EACbN,EAAKZ,OAIb,QAASgI,IAAsBpH,EAAMqH,GACpC,IACC5I,EAAWuB,EAAKtB,OAAQ2I,EAAOrH,EAAKpB,OACpCyI,EAAMF,UAAYnH,EAAK3B,KACtB,MAAOE,KAOV,QAAS+I,MAAqBpD,KAE9B,QAASqD,MACJrD,GAAkB,EACrBA,MAEAA,GAAkB,EAClBxL,EAAE8O,UAIJ,QAAS7F,IAAiBD,GACzB,IAAIA,EAAKkF,SAMF,MAAI1I,IAAQwD,GACXA,EAAK7H,OAEL,CALP,IAAIoC,GAAQyF,EAAKzF,MAAM,oBACvB,OAAa,OAATA,EAAsBA,EAAMpC,OAAhC,OAQF,QAAS2I,IAAYwC,EAAGC,GACvB,MAAOD,GAAE3D,OAAS4D,EAAE5D,QAAU2D,EAAEpG,MAAQqG,EAAErG,MAG3C,QAAS6I,IAAsB5K,GAC9B,OAAQ,wCAAwC8J,KAAK9J,GAGtD,QAAS6K,IAAgB7K,EAAM8K,EAAUC,EAAYjJ,EAAMY,EAAWxD,GACrE,GAAa,WAATc,GAA8B,QAATA,EAGlB,GAAI3D,EAAWyO,IAAkC,OAArB9K,EAAK6D,MAAM,EAAG,GAEhD/B,EAAK9B,GAAQgL,GAAWF,EAAUhJ,OAC5B,IAAa,UAAT9B,GAAgC,MAAZ8K,GAAoBvO,EAASuO,GAAW,CAEtE7N,EAAO6N,EAAU,SAAUjM,EAAOoM,IACf,MAAdF,GAAsBA,EAAWE,KAAUpM,KAC9CiD,EAAKoJ,MAAMD,GAAQpM,IAIrB,KAAK,GAAIoM,KAAQF,GACZ3N,GAAOX,KAAKsO,EAAYE,KACtB7N,GAAOX,KAAKqO,EAAUG,KAAOnJ,EAAKoJ,MAAMD,GAAQ,SAGhC,OAAbvI,EAEG,SAAT1C,EACH8B,EAAKqJ,eAAe,+BAAgC,OACnDL,GAEDhJ,EAAKsJ,aAAsB,cAATpL,EAAuB,QAAUA,EAClD8K,GAEQ9K,IAAQ8B,IAAQ8I,GAAsB5K,IAYpC,UAARd,GAAmB4C,EAAK9B,KAAU8K,KACrChJ,EAAK9B,GAAQ8K,GAGdhJ,EAAKsJ,aAAapL,EAAM8K,GAI1B,QAASO,IAAarL,EAAMwB,EAAMe,EAAQT,EAAMY,EAAWxD,GAC1D,IACC2L,GAAgB7K,EAAMwB,EAAMe,EAAQT,EAAMY,EAAWxD,GACpD,MAAOwC,GAGR,IAAK,uBAAuBoI,KAAKpI,EAAE4J,SAAU,KAAM5J,IAIrD,QAASwH,IAAcpH,EAAM5C,EAAKmH,EAAWkF,EAAa7I,GAczD,MAbAzF,GAAOoJ,EAAW,SAAUyE,EAAU9K,GACrC,GAAI+K,GAAaQ,EAAYvL,EACvBA,KAAQuL,IAAiBR,IAAeD,EAG1B,UAAT9K,GAA4B,UAARd,GAG7B4C,EAAKjD,OAASiM,IACfhJ,EAAKjD,MAAQiM,IANbS,EAAYvL,GAAQ8K,EACpBO,GAAarL,EAAM8K,EAAUC,EAAYjJ,EAAMY,EAAWxD,MASrDqM,EAGR,QAASC,IAAY1J,GACpB,IACCA,EAAKoE,WAAWuF,YAAY3J,GAC3B,MAAOJ,KAQV,QAASkC,IAAMH,EAAOlB,GAErB,GAAKkB,EAAMzG,OAAX,CACAuF,KAAY5B,OAAO4B,EACnB,KAAK,GAAIxF,GAAI0G,EAAMzG,OAAS,EAAGD,GAAK,EAAGA,IAAK,CAC3C,GAAI+E,GAAO2B,EAAM1G,EACL,OAAR+E,GAAgBA,EAAKoE,aACxBsF,GAAY1J,GACRS,EAAOxF,IAAIiL,GAAOzF,EAAOxF,KAM3B0G,EAAMzG,SAAQyG,EAAMzG,OAAS,IAGlC,QAASgL,IAAOzF,GACXA,EAAOwF,QAAU1L,EAAWkG,EAAOwF,OAAOJ,YAC7CpF,EAAOwF,OAAOJ,WACdpF,EAAOwF,OAAOJ,SAAW,MAEtBpF,EAAOsE,aACVjK,EAAQ2F,EAAOsE,YAAa,SAAUhG,GACjCxE,EAAWwE,EAAW8G,WACzB9G,EAAW8G,UAAUM,eAAgBtL,MAIpC4F,EAAOnB,WACNC,GAAQkB,EAAOnB,UAClBxE,EAAQ2F,EAAOnB,SAAU4G,IACfzF,EAAOnB,SAASlC,KAC1B8I,GAAOzF,EAAOnB,WAqBjB,QAAS4I,IAAWnI,EAAQE,EAAOP,GAClC,GAAIkK,GAAc7J,EAAOI,WAAWF,EAEhC2J,GAC0B,IAAzBA,EAAYrB,UACfxI,EAAOG,aAAa2J,GAAaD,GAAe,MAChDC,GAAYC,mBAAmB,cAAepK,GAC9CK,EAAO4J,YAAYE,KAEnBD,EAAYE,mBAAmB,cAAepK,GAG/CqK,GAAwBhK,EAAQL,EAIjC,KADA,GAAIiC,MACG5B,EAAOI,WAAWF,KAAW2J,GACnCjI,EAAM/D,KAAKmC,EAAOI,WAAWF,KAG9B,OAAO0B,GAER,QAASuH,IAAWxM,EAAUlC,GAC7B,MAAO,UAAUoF,GAChBmG,GAAe,QACf4C,IACA,KACC,MAAOjM,GAAS/B,KAAKH,EAAQoF,GAAKoK,OACjC,QACDC,OAsEH,QAASC,IAAgB3G,GACxB,GAAItD,GAAQkK,GAAU9F,QAAQd,EAC9B,OAAOtD,IAAS,EAAIA,EAAQkK,GAAUvM,KAAK2F,GAAW,EAiBvD,QAAS6G,IAAc/L,EAAWgM,EAAMpK,EAAOqK,GAC9C,GAAIC,GAAgC,OAAdlM,CAEtB,KAAKiM,EAAa,CACjBvE,GAAe,OACf4C,KACA6B,GAAMvK,GAASoK,EACfhM,EAAYoM,GAAepM,IAAcU,WAAYlE,EAIrD,IAAIkE,GAAa,IAAKV,EAAUU,YAAclE,EAY9C,OAXIwD,KAAcoM,KACjB1F,GAAY9E,GAASlB,EACrB2L,GAAWzK,GAAS5B,GAGrB4L,KAEIM,GACHI,GAAkBN,EAAMpK,GAGlB8E,GAAY9E,GAGhBsK,GACHI,GAAkBN,EAAMpK,GAK1B,QAAS2K,IAAOP,EAAMhM,GACrB,IAAKgM,EACJ,KAAM,IAAIpF,OAAM,4EAIjB,IAAIhF,GAAQuK,GAAMnG,QAAQgG,EACd,GAARpK,IAAWA,EAAQuK,GAAMtP,OAE7B,IAAIoP,IAAc,EAEd3E,GACHQ,eAAgB,WACfmE,GAAc,EACdO,GAAuBC,GAAwB,MAyBjD,OArBAhQ,GAAQgL,GAAW,SAAUiF,GACP,MAAjBA,EAASpM,OACZ+G,EAAgBqF,EAAUpF,GAC1BoF,EAASpM,KAAKkH,SAAW,QAIvByE,EACHxP,EAAQgL,GAAW,SAAUiF,GAC5BA,EAASpM,KAAKkH,SAAW,SAAUF,GAClCD,EAAgBqF,EAAUpF,MAI5BG,MAGGf,GAAY9E,IAAU1F,EAAWwK,GAAY9E,GAAO4F,WACvDd,GAAY9E,GAAO4F,SAASF,GAGtByE,GAAc/L,EAAWgM,EAAMpK,EAAOqK,GAG9C,QAASK,IAAkBN,EAAMpK,GAChCuK,GAAMvG,OAAOhE,EAAO,GACpB8E,GAAYd,OAAOhE,EAAO,GAC1ByK,GAAWzG,OAAOhE,EAAO,GACzB+K,GAAMX,GACNF,GAAUlG,OAAOiG,GAAgBG,GAAO,GASzC,QAASY,MACa,IAAjBC,IAAoBtP,GAAsBsP,IAC9CA,GAAenP,GAAuB8M,GAAQsC,IAkB/C,QAASC,MACRF,GAAe,EAGhB,QAASG,IAAcC,GAClBJ,KAAiBI,EACpBC,MAEA1C,KACAqC,GAAenP,GAAuBqP,GACrCD,KAIH,QAAStC,MACJgC,KACHA,KACAA,GAAuB,KAGxB,KAAK,GAAI5P,GAAI,EAAGA,EAAIuP,GAAMtP,OAAQD,IAAK,CACtC,GAAIoP,GAAOG,GAAMvP,GACboD,EAAYqM,GAAWzP,GACvB8D,EAAagG,GAAY9J,EACX,OAAd8D,GACHhF,EAAEyR,OACDnB,EACAhM,EAAUK,KACTL,EAAUK,KAAKK,GAAaA,IAC5B,IAOA+L,KACHA,KACAA,GAAwB,MAGzBI,GAAe,KACfO,GAAqB,GAAIC,MACzB3F,GAAe,QAGhB,QAASkE,MACiB,SAArBlE,MACHR,KACAQ,GAAe,SAEf6C,KAiCF,QAAS+C,MACR,GAAIC,GAAOlQ,GAAUmQ,GAAOC,KACR,cAAhBD,GAAOC,OAAqBF,GAAQlQ,GAAUqQ,QAC9CC,KAAiBC,GAAeL,IAAOM,GAASN,GAGrD,QAASO,IAAmBC,GAC3BpS,EAAOoS,GAAYT,GACnBd,GAAuBwB,GACvBrS,EAAOoS,KAGR,QAASE,MACR,OAAwB,aAAhBT,GAAOC,KAAsB,GAAKpQ,GAAU6Q,UACnDC,GAAMX,GAAOC,MAGf,QAASW,MACRzS,EAAO0S,QAAQC,UAAU,KACxBnR,GAAUoR,MACVJ,GAAMX,GAAOC,MAAQE,IAGvB,QAASa,MACR7S,EAAO0S,QAAQI,aAAa,KAC3BtR,GAAUoR,MACVJ,GAAMX,GAAOC,MAAQE,IAGvB,QAASe,IAAyBC,GAC7BhT,EAAO0S,QAAQC,WAClB9B,GAAuBwB,GACvBvB,GAAwBkC,EACvBH,GACAJ,GACDP,GAASM,GAAMX,GAAOC,MAAQE,MAE9BtQ,GAAUmQ,GAAOC,MAAQE,GACzBE,GAASM,GAAMX,GAAOC,MAAQE,KAIhC,QAASiB,IAAQC,EAAOC,EAAQH,GAC3B5Q,UAAUlB,OAAS,GAAuB,gBAAXiS,KAClCH,EAAiBG,EACjBA,EAAS,KAGV,IAAIC,GAAWpB,EAEfA,IAAekB,CACf,IAEIG,GAAaC,EAFb7O,EAAO0O,MACPI,EAAavB,GAAa3H,QAAQ,IAGtC,IAAIkJ,GAAc,EAAG,CACpB,GAAIC,GAAYC,GAAiBzB,GAAajK,MAAMwL,EAAa,GACjEpS,GAAOsD,EAAM,SAAU1B,EAAOoC,GAC7BqO,EAAUrO,GAAOV,EAAKU,KAEvBkO,EAAcK,GAAiBF,GAC/BF,EAActB,GAAajK,MAAM,EAAGwL,OAEpCF,GAAcK,GAAiBP,GAC/BG,EAActB,EAGf,IAAIqB,EAAa,CAChB,GAAIM,GAAyC,KAA7BL,EAAYjJ,QAAQ,KAAc,IAAM,GACxD2H,IAAesB,EAAcK,EAAYN,EAG1C,MAAON,IAAyBC,GAAkBI,IAAaF,GAIhE,QAASrB,IAAOxB,EAAMuD,EAAMC,EAAMC,GACjC,GAAyB,IAArB1R,UAAUlB,OAEb,MAAO8Q,GACD,IAAyB,IAArB5P,UAAUlB,QAAgBN,EAASgT,GAE7C1B,GAAW,SAAU6B,GACpB,GAAInC,GAAOI,GAAeC,GAAe8B,EACzC,KAAKC,GAAa3D,EAAMwD,EAAMjC,GAAO,CACpC,GAAIqC,GACH,KAAM,IAAIhJ,OAAM,wEAIjBgJ,KAAiB,EACjBpC,GAAO+B,GAAM,GACbK,IAAiB,IAInB9B,GACiB,SAAhBN,GAAOC,KAAkB,eAAiB,kBACrC,IAAIzB,EAAK6D,kBAAoB7D,EAAK8D,YAExC9D,EAAK+D,KAAO9B,KAAiBwB,EAAKpQ,MAAM0Q,KACpC/D,EAAK6D,kBACR7D,EAAKgE,oBAAoB,QAASC,IAClCjE,EAAK6D,iBAAiB,QAASI,MAE/BjE,EAAKkE,YAAY,UAAWD,IAC5BjE,EAAK8D,YAAY,UAAWG,SAEvB,IAAI1T,EAASyP,GAEnB,MAAO4C,IAAQzO,MAAM,KAAMpC,WAmB7B,QAAS6P,IAAeiB,GACvB,MAAOA,GAAMnL,MAAMyK,GAAMX,GAAOC,MAAM5Q,QAGvC,QAAS8S,IAAa3D,EAAMmE,EAAQ5C,GACnC,GAAI6C,GAAa7C,EAAKvH,QAAQ,IAE1BoK,IAAc,GACjBC,GAAcjB,GACb7B,EAAK+C,OAAOF,EAAa,EAAG7C,EAAK1Q,SAClC0Q,EAAOA,EAAK+C,OAAO,EAAGF,IAEtBC,KAKD,IAAIhK,GAAOD,OAAOC,KAAK8J,GACnBvO,EAAQyE,EAAKL,QAAQuH,EAEzB,IAAI3L,GAAS,EAEZ,MADA2K,IAAOP,EAAMmE,EAAO9J,EAAKzE,MAClB,CAGR,KAAK,GAAIiN,KAASsB,GACjB,GAAIlT,GAAOX,KAAK6T,EAAQtB,GAAQ,CAC/B,GAAIA,IAAUtB,EAEb,MADAhB,IAAOP,EAAMmE,EAAOtB,KACb,CAGR,IAAI0B,GAAU,GAAIC,QAAO,IACxB3B,EAAM4B,QAAQ,iBAAkB,SAC9BA,QAAQ,WAAY,aAAe,MAEtC,IAAIF,EAAQ5G,KAAK4D,GAgBhB,MAdAA,GAAKkD,QAAQF,EAAS,WAErB,IAAK,GADDG,MACK9T,EAAI,EAAG4G,EAAMzF,UAAUlB,OAAS,EAAO2G,EAAJ5G,GAC3C8T,EAAOnR,KAAKxB,UAAUnB,KAGvB,IAAIyJ,GAAOwI,EAAM5P,MAAM,eACvBxC,GAAQ4J,EAAM,SAAUvF,EAAKlE,GAC5BkE,EAAMA,EAAI2P,QAAQ,QAAS,IAC3BJ,GAAYvP,GAAO6P,mBAAmBD,EAAO9T,QAI/C2P,GAAOP,EAAMmE,EAAOtB,KACb,GAMX,QAASoB,IAAiB1O,GAGzB,GAFAA,EAAIA,GAAKoK,OAELpK,EAAEqP,UAAWrP,EAAEsP,SAAuB,IAAZtP,EAAEuP,MAAhC,CAEIvP,EAAEuG,eACLvG,EAAEuG,iBAEFvG,EAAEwP,aAAc,CAGjB,IAEI3Q,GAFA4Q,EAAgBzP,EAAEyP,eAAiBzP,EAAE0P,UAUzC,KALC7Q,EADmB,aAAhBoN,GAAOC,MAAuBuD,EAActD,OACxC0B,GAAiB4B,EAActD,OAAOhK,MAAM,OAK7CsN,GAA0D,MAAzCA,EAAcjH,SAASmH,eAC9CF,EAAgBA,EAAcjL,UAI/BmB,IAAkB,EAElBsG,GAAOwD,EAAcxD,GAAOC,MAAM/J,MAAMyK,GAAMX,GAAOC,MAAM5Q,QAC1DuD,IAGF,QAAS4N,MACY,SAAhBR,GAAOC,MAAmBpQ,GAAU8T,KACvC9T,GAAU8T,KAAO9T,GAAU8T,KAE3BxV,EAAOyV,SAAS,EAAG,GAIrB,QAAS/B,IAAiBlT,EAAQkV,GACjC,GAAIC,MACAC,IA0BJ,OAzBAzU,GAAOX,EAAQ,SAAUuC,EAAO1B,GAC/B,GAAI8D,GAAMuQ,EAASA,EAAS,IAAMrU,EAAO,IAAMA,CAE/C,IAAc,OAAV0B,EACH6S,EAAIhS,KAAKiS,mBAAmB1Q,QACtB,IAAI1E,EAASsC,GACnB6S,EAAIhS,KAAK8P,GAAiB3Q,EAAOoC,QAC3B,IAAII,GAAQxC,GAAQ,CAC1B,GAAI2H,KACJiL,GAAWxQ,GAAOwQ,EAAWxQ,OAE7BrE,EAAQiC,EAAO,SAAUgG,GACnB4M,EAAWxQ,GAAK4D,KACpB4M,EAAWxQ,GAAK4D,IAAQ,EACxB2B,EAAK9G,KAAKiS,mBAAmB1Q,GAAO,IACnC0Q,mBAAmB9M,OAItB6M,EAAIhS,KAAK8G,EAAKvG,KAAK,UACTpB,KAAUzC,GACpBsV,EAAIhS,KAAKiS,mBAAmB1Q,GAAO,IAClC0Q,mBAAmB9S,MAGf6S,EAAIzR,KAAK,KAGjB,QAASsP,IAAiBmC,GACzB,IAAKA,EAAK,QACK,OAAXA,EAAI,KAAYA,EAAMA,EAAI7N,MAAM,GAEpC,IAAI7E,GAAQ0S,EAAIE,MAAM,KAClB3C,IAaJ,OAZArS,GAAQoC,EAAO,SAAU6S,GACxB,GAAIlS,GAAOkS,EAAOD,MAAM,KACpB3Q,EAAM6P,mBAAmBnR,EAAK,IAC9Bd,EAAwB,IAAhBc,EAAK3C,OAAe8T,mBAAmBnR,EAAK,IAAM,IAC3C,OAAfsP,EAAOhO,IACLI,GAAQ4N,EAAOhO,MAAOgO,EAAOhO,IAAQgO,EAAOhO,KACjDgO,EAAOhO,GAAKvB,KAAKb,IAEjBoQ,EAAOhO,GAAOpC,IAIToQ,EAMR,QAASnC,IAAMX,GACd,GAAI2F,GAAW9F,GAAgBG,EAC/BvI,IAAMuI,EAAKlK,WAAY8P,GAAUD,IACjCC,GAAUD,GAAY1V,EAkBvB,QAAS4V,IAAOnT,EAAOoT,EAAMC,EAAO/O,GACnC,MAAI/E,GAAUS,GACNA,EAAMR,KAAK,SAAUQ,GAC3BmT,GAAOnT,EAAOoT,EAAMC,EAAO/O,IACzB,SAAUzB,GACZsQ,GAAOtQ,EAAGwQ,EAAOA,EAAO/O,KAGlB8O,EAAKxV,KAAK0G,EAAMtE,GAIzB,QAASsT,IAASC,EAAWC,GAM5B,QAASC,GAAIzT,GACZ0T,EAAe1T,EAGhB,QAASF,GAAQ6T,GAChBA,EAAS7T,QAAQ4T,GAGlB,QAAS3T,GAAO4T,GACfA,EAAS5T,OAAO2T,GAGjB,QAASE,GAAK/T,GAEb,MADIgU,KAAS9T,GAAQF,EAAQ6T,GACtB7T,EAGR,QAASgB,GAAKb,GACboT,EAAKvS,KAAKb,GAgCX,QAAS8T,GAAQnU,EAAUkU,GAC1B,GAAInU,GAAIqU,KAAYjU,QAAQH,KAAYE,OAExC,OADIgU,KAAS9T,GAAQL,EAAEgU,GAChBhU,EAAEF,KAAKqU,GAef,QAASG,GAAIrU,GACZkU,EAAOlU,EACP5B,EAAQqV,EAAMzT,GAEdsU,EAASC,EAAO,KAGjB,QAASD,GAAOjU,EAAOmU,GACtBhB,GAAOnT,EAAO,SAAUA,GACvB0T,EAAe1T,EACfgU,EAAIG,IAAUC,GAAWtU,EAAUC,IACjC,SAAUC,GACZ0T,EAAe1T,EACfgU,EAAIjU,KAIN,QAASsU,GAAOrU,EAAO2T,GAEtB,GAAIrO,GAAQ,CAEZ,KACC,MAAOtF,GAAMR,KAAK,SAAUQ,GACvBsF,KACJ4O,EAAKI,GAAWtU,EAAO2T,IACrB,SAAU3T,GACRsF,KACJ4O,EAAKK,GAAWvU,EAAO2T,KAEvB,MAAO9Q,GAER,MADAkR,IAAUS,QAAQ3R,GACXqR,EAAKK,GAAW1R,EAAG8Q,IAI5B,QAASc,GAAazU,EAAOmU,EAAOR,GACnC,IACKQ,IAAUG,IAAa9W,EAAW+V,GACrCvT,EAAQuT,EAAUvT,GACRmU,IAAUI,IAAa/W,EAAWgW,KAC5CxT,EAAQwT,EAAUxT,GAClBmU,EAAQG,IAER,MAAOzR,GAER,MADAkR,IAAUS,QAAQ3R,GACXoR,EAAOpR,EAAG6R,IAGlB,MAAI1U,KAAU2T,EACNM,EAAO5R,YAAaqS,IAEpBT,EAAOjU,EAAOmU,IAAUG,GAAYF,GAAWM,IAIxD,QAASR,GAAKC,EAAOnU,EAAO2T,GAE3B,GAAIgB,EACJ,KACCA,EAAWpV,EAAUS,GACpB,MAAO6C,GAER,MADAkR,IAAUS,QAAQ3R,GACXqR,EAAKK,GAAW1R,EAAG8Q,GAO3B,MAJIQ,KAAUI,IACbR,GAAUS,QAAQxU,GAGf2U,EACIN,EAAOrU,EAAO2T,GAEdc,EAAazU,EAAOmU,EAAOR,GAjJpC,GACID,GADAkB,EAAOtX,KAEP8V,KACAS,EAAOhT,CAuBX+T,GAAK9U,QAAU,SAAUE,GAIxB,MAHI6T,KAAShT,GACZqT,EAAKI,GAAWtU,EAAO4U,GAEjBA,GAGRA,EAAK7U,OAAS,SAAUC,GAIvB,MAHI6T,KAAShT,GACZqT,EAAKK,GAAWvU,EAAO4U,GAEjBA,GAGRA,EAAK/U,QAAU,SAAUG,GAExB,MADIX,WAAUlB,QAAQgV,GAAOnT,EAAOyT,EAAKA,GAClCI,IAAS9T,EAAS2T,EAAenW,GAGzCqX,EAAK/U,QAAQL,KAAO,SAAU+T,EAAWC,GACxC,GAAIG,GAAW,GAAIL,IAASC,EAAWC,EAEvC,OADAK,GAAKF,GACEC,EAAKD,EAAS9T,UAGtB+U,EAAK/U,QAAL+U,SAAqB,SAAUjV,GAC9B,MAAOiV,GAAK/U,QAAQL,KAAK,KAAMG,IAShCiV,EAAK/U,QAAL+U,WAAuB,SAAUjV,GAChC,MAAOiV,GAAK/U,QAAQL,KAAK,WACxB,MAAOsU,GAAQnU,EAAU,WACxB,MAAO+T,MAEN,WACF,MAAOI,GAAQnU,EAAU,WACxB,KAAM+T,QAmFV,QAASK,MACR,MAAO,IAAIT,IAMZ,QAASuB,IAAchS,GACtB,MAAOA,aAAaiS,YACnBjS,YAAakS,aACblS,YAAamS,iBACbnS,YAAaoS,cACbpS,YAAaR,YACbQ,YAAaqS,UAyCf,QAASC,MACR,MAAO,qBAAsB,GAAIxG,OAAOyG,UAAY,IAClDC,KAAKC,MAAsB,KAAhBD,KAAKE,UAAkB3S,SAAS,IAG9C,QAAS4S,IAASC,GACjB,GAAIC,GAAcP,KACdQ,EAASlX,GAAUgI,cAAc,SAErCxJ,GAAOyY,GAAe,SAAUE,GAC/BD,EAAOtO,WAAWuF,YAAY+I,GAE9BF,EAAQI,QACPC,SAAS,EACT9U,QACC+U,aAAcH,KAIhB3Y,EAAOyY,GAAenY,GAGvBoY,EAAOnB,QAAU,WAahB,MAZAmB,GAAOtO,WAAWuF,YAAY+I,GAE9BF,EAAQjB,SACPsB,SAAS,EACT9U,QACCgV,OAAQ,IACRD,aAAc,6CAIhB9Y,EAAOyY,GAAenY,GAEf,GAGRoY,EAAOE,OAAS,WACf,OAAO,GAGRF,EAAOM,IAAMR,EAAQS,KACnBT,EAAQS,IAAI5O,QAAQ,KAAO,EAAI,IAAM,MACrCmO,EAAQC,aAAe,YACxB,IAAMA,EACN,IAAM/E,GAAiB8E,EAAQ9S,UAEhClE,GAAU0X,KAAKC,YAAYT,GAG5B,QAASU,IAAOZ,GACf,GAAIa,GAAM,GAAIrZ,GAAOsZ,cA0BrB,IAxBAD,EAAIE,KAAKf,EAAQgB,OAAQhB,EAAQS,KAAK,EAAMT,EAAQiB,KACnDjB,EAAQkB,UAETL,EAAIM,mBAAqB,WACA,IAApBtZ,KAAKuZ,aACJvZ,KAAK0Y,QAAU,KAAO1Y,KAAK0Y,OAAS,IACvCP,EAAQI,QAAQC,SAAS,EAAM9U,OAAQ1D,OAEvCmY,EAAQjB,SAASsB,SAAS,EAAO9U,OAAQ1D,SAKxCmY,EAAQqB,YAAcC,KAAKC,WAC7BvB,EAAQ9S,MACW,QAAnB8S,EAAQgB,QACTH,EAAIW,iBAAiB,eACpB,mCAGExB,EAAQyB,cAAgBH,KAAKI,OAChCb,EAAIW,iBAAiB,SAAU,4BAG5BzZ,EAAWiY,EAAQ9K,QAAS,CAC/B,GAAIyM,GAAW3B,EAAQ9K,OAAO2L,EAAKb,EACnB,OAAZ2B,IAAkBd,EAAMc,GAG7B,GAAIzU,EAQJ,IAHCA,EAHsB,QAAnB8S,EAAQgB,QAAqBhB,EAAQ9S,KAGjC8S,EAAQ9S,KAFR,GAKJA,IAAS9E,EAAS8E,MAAWA,YAAgB1F,GAAOoa,UACvD,KAAM,IAAInP,OAAM,qGAKjB,OADAoO,GAAIgB,KAAK3U,GACF2T,EAGR,QAASiB,IAAK9B,GACb,MAAyB,UAArBA,EAAQ+B,SACJhC,GAASC,GAETY,GAAOZ,GAIhB,QAASgC,IAASC,EAAY/U,EAAMmU,GACnC,GAA0B,QAAtBY,EAAWjB,QAA4C,UAAxBiB,EAAWF,SAAsB,CACnE,GAAI7E,GAAS+E,EAAWxB,IAAI5O,QAAQ,KAAO,EAAI,IAAM,IACjDqQ,EAAchH,GAAiBhO,EACnC+U,GAAWxB,KAAOyB,EAAchF,EAASgF,EAAc,OAEvDD,GAAW/U,KAAOmU,EAAUnU,EAE7B,OAAO+U,GAGR,QAASE,IAAgB1B,EAAKvT,GAC7B,GAAIkV,GAAS3B,EAAI3V,MAAM,cAQvB,OAPIsX,IAAUlV,GACb5E,EAAQ8Z,EAAQ,SAAUC,GACzB,GAAI1V,GAAM0V,EAAM9S,MAAM,EACtBkR,GAAMA,EAAInE,QAAQ+F,EAAOnV,EAAKP,UACvBO,GAAKP,KAGP8T,EA/oERlZ,EAAE+a,QAAU,WACX,MAAO,SAIR,IAoCItZ,IAAWE,GAAWK,GAAwBH,GApC9ClB,MAAUiF,SACVrE,MAAYyZ,eAcZxV,GAAUwE,MAAMxE,SAAW,SAAU/E,GACxC,MAA6B,mBAAtBE,GAAKC,KAAKH,GAgClBe,GAAWvB,GAGXD,EAAEib,KAAO,SAAUC,GAElB,MADA1Z,GAAWvB,EAASib,GAAQjb,GACrBA,GA4DRD,EAAEsB,KAAO,SAAUc,GAClB,MAAIG,GAAUH,GACNQ,EAAQR,GAERD,EAAaC,IA2FtBpC,EAAEsE,UAAYD,CA0Nd,IAAIuE,IAAW,EACXc,GAAY,EACZJ,GAAO,EAuPPmC,IAAU,EACVD,GAAkB,EA4BlBO,MAoBAoP,IAAY,CAEhBnb,GAAE8O,OAAS,SAAUyC,GACpB,IAAI4J,GAAJ,CACAA,IAAY,EACR5J,IAAO9F,IAAU,EACrB,KACC6F,GAAcC,GACb,QACD4J,GAAY1P,IAAU,IAIxB,IAAIO,IAAiBhM,EAAE8O,OAAOsM,SAAWpb,EAAEsB,MA2T3CtB,GAAE4O,iBAAmBA,GAErB5O,EAAE6O,eAAiBA,EA6JnB,IAAImB,IAA0B,WAC7B,IAEC,MADAvO,IAAU4Z,cAAcC,yBAAyB,KAC1C,SAAUtV,EAAQL,GACxBK,EAAOoT,YACN3X,GAAU4Z,cAAcC,yBAAyB3V,KAElD,MAAOE,GACR,MAAO,UAAUG,EAAQL,GACxBK,EAAO+J,mBAAmB,YAAapK,QAKtCmK,GAAcrO,GAAUgI,cAAc,QAoCtC8R,IACHnC,YAAa,SAAUnT,GAClBxE,GAAU+Z,iBACZ/Z,GAAU+Z,kBAAoBvV,EAC/BxE,GAAUga,aAAaxV,EAAMxE,GAAU+Z,iBAEvC/Z,GAAU2X,YAAYnT,GAGvB3F,KAAK8F,WAAa3E,GAAU2E,YAG7BD,aAAc,SAAUF,GACvB3F,KAAK8Y,YAAYnT,IAGlBG,eAGGgK,MACA8F,KAEJlW,GAAEyR,OAAS,SAAUnB,EAAMhN,EAAMoY,GAChC,IAAKpL,EACJ,KAAM,IAAIpF,OAAM,0EAIjB,IAGIjF,GAHAa,KACAlD,EAAKuM,GAAgBG,GACrBqL,EAAiBrL,IAAS7O,EAI7BwE,GADG0V,GAAkBrL,IAAS7O,GAAU+Z,gBACjCD,GAEAjL,EAGJqL,GAA+B,SAAbrY,EAAKD,MAC1BC,GAAQD,IAAK,OAAQM,SAAW4B,SAAUjC,IAGvC4S,GAAUtS,KAAQrD,GAAWwH,GAAM9B,EAAKG,YACxCsV,KAAoB,GAAMzK,GAAMX,GAEpC4F,GAAUtS,GAAMyD,EAAahB,EAC5BJ,EACA,KACA1F,EACAA,EACA+C,EACA4S,GAAUtS,IACV,EACA,EACA,KACArD,EACAuG,IAGD/F,EAAQ+F,EAAS,SAAU6G,GAC1BA,OASF3N,EAAE4b,MAAQ,SAAU5Y,GAGnB,MAFAA,GAAQ,GAAI6Y,QAAO7Y,GACnBA,EAAMkL,UAAW,EACVlL,EAGR,IAMI0N,IANAD,MACAE,MACA3F,MACA8F,GAAuB,KACvBC,GAAwB,KACxBK,GAAe,EAkCnBpR,GAAE8b,MAAQ9b,EAAEE,OAAS2Q,EAsDrB,IAAIM,IAAe,EACfO,GAAqB,EAarBF,GAAgBxP,KAClB/B,EAAOgC,sBACRiP,GACA,YACM,GAAIS,MAASD,GAAqBN,IACtCF,KA2DHlR,GAAE+b,SAAW,SAAUza,EAAM0a,EAAkBC,GAC9C,MAAO,UAAUpW,GAEhBA,EAAIA,GAAKoK,KACT,IACIiM,GADA5G,EAAgBzP,EAAEyP,eAAiBhV,IAItC4b,GADG5a,IAAQgU,GACEA,EAAchU,GAEdgU,EAAc6G,aAAa7a,GAGzC0a,EAAiBpb,KAAKqb,GAAgB3b,KAAM4b,IAM9C,IAQIvH,IAAa1C,GARbQ,IACHD,SAAU,GACViD,KAAM,IACNzD,OAAQ,KAGLG,GAAWrR,EACXoT,IAAiB,CA8ErBlU,GAAEmT,MAAQrB,GAuCVA,GAAOsK,MAAQ,SAAUhX,GACxB,IAAKuP,GACJ,KAAM,IAAIzJ,OAAM,qFAIjB,OAAI9F,GACIuP,GAAYvP,GAEZuP,IAIT7C,GAAOC,KAAO,SAwJdD,GAAO6B,iBAAmBA,GAC1B7B,GAAO4B,iBAAmBA,EAkB1B,IAAI4D,IAAY,EACZC,GAAY,EACZH,GAAW,EACXM,GAAW,CAoaf,OA/PA1X,GAAE2W,SAAWI,GAKbA,GAAU9R,UAAYqR,GAASrR,UAC/B8R,GAAU9R,UAAUgD,YAAc8O,GAWlCA,GAAUS,QAAU,SAAU3R,GAC7B,GAAIgS,GAAchS,GAEjB,KADA2F,IAAkB,EACZ3F,GAIR7F,EAAEqc,KAAO,SAAU3X,GAMlB,QAAS4X,GAAapb,EAAG8B,GAMxB,MALAuZ,GAAQrb,GAAK8B,EACS,MAAhBwZ,IACL7F,EAAS9T,QAAQ0Z,GACjB5F,EAAS8C,GAAQ8C,IAEXvZ,EAXR,GAAI2T,GAAW,GAAIL,IACfkG,EAAc9X,EAAKvD,OACnBob,EAAU,GAAIvS,OAAMwS,GACpB/C,EAAS,SAwBb,OAbI/U,GAAKvD,OAAS,EACjBJ,EAAQ2D,EAAM,SAAU+X,EAAKvb,GAC5Bub,EAAIja,KAAK,SAAUQ,GAClB,MAAOsZ,GAAapb,EAAG8B,IACrB,SAAUA,GAEZ,MADAyW,GAAS,SACF6C,EAAapb,EAAG8B,OAIzB2T,EAAS7T,YAGH6T,EAAS9T,SAsIjB7C,EAAE0c,QAAU,SAAUjE,GACjBA,EAAQkE,cAAe,GAAM/N,IACjC,IAAI+H,GAAWI,KAEX+C,EAAY,SAAU9W,GACzB,MAAOA,IAEJkX,EAAcJ,EACd8C,EAAU,SAAUC,GACvB,MAAOA,GAAM9D,aAyDd,OAtDKN,GAAQ+B,UAA+C,UAAnC/B,EAAQ+B,SAAShF,gBACzCiD,EAAQ+B,SAAW,QACnBV,EAAYrB,EAAQqB,WAAaC,KAAKC,UACtCE,EAAczB,EAAQyB,aAAeH,KAAKI,MAC1CyC,EAAUnE,EAAQmE,SAAW,SAAUtD,GACtC,MAAIA,GAAIP,aAAa5X,QAAU+Y,IAAgBH,KAAKI,MAC5Cb,EAAIP,aAEJ,OAKVN,EAAQqB,UAAYA,EACpBrB,EAAQyB,YAAcA,EAEtBzB,EAAQgB,QAAUhB,EAAQgB,QAAU,OAAOjE,cAC3CiD,EAAQS,IAAM0B,GAAgBnC,EAAQS,IAAKT,EAAQ9S,MACnD8S,EAAUgC,GAAShC,EAASA,EAAQ9S,KAAMmU,GAC1CrB,EAAQI,OAASJ,EAAQjB,QAAU,SAAU5L,GAC5CA,EAAKA,GAAMqE,KACX,IACI6M,GADAC,EAAYnR,EAAGkN,OAIlBgE,GADGC,EACMtE,EAAQuE,cAERvE,EAAQwE,WAGlB,KACC,GAAIC,GAAWhD,EAAY0C,EAAQhR,EAAG5H,OAAQyU,GAC1CqE,KAAQI,EAAWJ,EAAOI,EAAUtR,EAAG5H,SACvC+Y,GACCvX,GAAQ0X,IAAazE,EAAQ9X,KAChCI,EAAQmc,EAAU,SAAUC,EAAKjc,GAChCgc,EAAShc,GAAK,GAAIuX,GAAQ9X,KAAKwc,KAEtB1E,EAAQ9X,OAClBuc,EAAW,GAAIzE,GAAQ9X,KAAKuc,IAE7BvG,EAAS7T,QAAQoa,IAEjBvG,EAAS5T,OAAOma,GAEhB,MAAOrX,GACR8Q,EAAS5T,OAAO8C,GACf,QACG4S,EAAQkE,cAAe,GAAM9N,OAInC0L,GAAK9B,GACL9B,EAAS9T,QAAQ4V,EAAQ2E,cAClBzG,EAAS9T,SAGV7C","file":"mithril.min.js"} \ No newline at end of file +{"version":3,"sources":["mithril.js"],"names":["global","factory","m","window","module","exports","define","amd","this","undefined","isFunction","object","isObject","type","call","isString","noop","forEach","list","f","i","length","forOwn","obj","prop","hasOwn","initialize","$document","document","$location","location","$cancelAnimationFrame","cancelAnimationFrame","clearTimeout","$requestAnimationFrame","requestAnimationFrame","setTimeout","gettersetter","store","arguments","toJSON","isPromise","then","simpleResolve","p","callback","propify","promise","resolve","reject","value","reason","checkForAttrs","pairs","parseSelector","tag","cell","match","classes","parser","exec","attrs","id","push","pair","assignAttrs","target","classAttr","hasClass","attr","join","parameterize","component","Ctrl","originalCtrl","apply","args","view","ctrl","rest","concat","originalView","controller","prototype","$original","output","key","TypeError","hasAttrs","children","isArray","forKeys","dataToString","data","toString","e","flatten","insertNode","parent","node","index","insertBefore","childNodes","buildContext","parentElement","parentTag","parentCache","parentIndex","cached","shouldReattach","editable","namespace","configs","pTag","pCache","pIndex","reattach","ns","cfgs","builderBuild","inst","subtree","builderMakeCache","builderBuildArray","builderBuildObject","builderHandleTextNode","nodes","offset","end","clear","slice","constructor","buildArrayKeys","guid","builderBuildArrayChild","child","count","intact","subArrayCount","existing","shouldMaintainIdentities","action","DELETION","builderDiffKeys","cacheCount","len","item","getSubArrayCount","builderDiffArray","keysDiffer","cachedCell","builderHandleKeysDiffer","MOVE","from","element","createElement","INSERTION","actions","changes","sort","sortChanges","newCached","Array","change","splice","dummy","changeElement","parentNode","indexOf","builderInitAttrs","dataAttrs","dataAttrKeys","Object","keys","builderMaybeRecreateObject","builderGetObjectNamespace","xmlns","views","controllers","builderMarkViews","Error","hasKeys","objectBuild","builder","builderCheckView","getController","pendingRequests","forcing","updateLists","unloaderHandler","ev","ctrls","onunload","unloaders","redrawStrategy","builderElemIsDifferentEnough","cfgCtx","unload","preventDefault","arraySortCompare","a","b","retain","objectBuildNewNode","objectCreateNode","objectReconstruct","objectCreateAttrs","objectBuildChildren","isNew","objectBuildUpdatedNode","builderScheduleConfigs","is","createElementNS","setAttributes","objectMakeChild","contenteditable","objectUnloadCachedControllers","unloadSingleCachedController","$old","config","context","builderHandleNonexistentNodes","valueOf","builderReattachNodes","nodeHasBody","$trusted","injectHTML","createTextNode","nodeName","activeElement","innerHTML","nodeType","nodeValue","trim","builderInjectTextNode","first","startComputation","endComputation","redraw","shouldSetAttrDirectly","trySetAttribute","dataAttr","cachedAttr","autoredraw","rule","style","setAttributeNS","setAttribute","trySetSingle","message","cachedAttrs","clearSingle","removeChild","nextSibling","placeholder","insertAdjacentHTML","insertAdjacentBeforeEnd","event","endFirstComputation","getCellCacheKey","nodeCache","initComponent","root","isPrevented","isNullComponent","roots","topComponent","components","removeRootElement","mmount","computePreRedrawHook","computePostRedrawHook","unloader","reset","actuallyPerformRedraw","lastRedrawId","FRAME_BUDGET","resetLastRedrawId","attemptRedraw","force","performRedraw","render","lastRedrawCallTime","Date","historyListener","path","mroute","mode","search","currentRoute","normalizeRoute","redirect","runHistoryListener","listener","setScroll","getRouteBase","pathname","modes","windowPushState","history","pushState","title","windowReplaceState","replaceState","computeAndLaunchRedirect","replaceHistory","routeTo","route","params","oldRoute","queryString","currentPath","queryIndex","paramsObj","parseQueryString","buildQueryString","delimiter","arg1","arg2","vdom","source","routeByValue","isDefaultRoute","addEventListener","attachEvent","href","removeEventListener","routeUnobtrusive","detachEvent","router","queryStart","routeParams","substr","matcher","RegExp","replace","test","values","decodeURIComponent","ctrlKey","metaKey","which","returnValue","currentTarget","srcElement","toUpperCase","hash","scrollTo","prefix","duplicates","str","encodeURIComponent","charAt","split","string","cacheKey","cellCache","coerce","next","error","Deferred","onSuccess","onFailure","set","promiseValue","deferred","init","func","wrapper","mdeferred","run","finish","fire","state","RESOLVED","doThen","RESOLVING","REJECTING","onerror","notThennable","REJECTED","thenable","self","isNativeError","EvalError","RangeError","ReferenceError","SyntaxError","URIError","generateCallbackKey","getTime","Math","round","random","getJsonp","options","callbackKey","script","resp","onload","success","responseText","status","src","url","body","appendChild","runXhr","xhr","XMLHttpRequest","open","method","user","password","onreadystatechange","readyState","serialize","JSON","stringify","setRequestHeader","deserialize","parse","maybeXhr","FormData","send","ajax","dataType","toLowerCase","bindData","xhrOptions","querystring","parameterizeUrl","tokens","token","version","hasOwnProperty","deps","mock","redrawing","strategy","createRange","createContextualFragment","documentNode","documentElement","replaceChild","forceRecreation","isDocumentRoot","trust","String","mount","withAttr","withAttrCallback","callbackThis","targetProp","getAttribute","param","sync","synchronizer","results","outstanding","arg","request","background","extract","jsonp","unwrap","doSuccess","unwrapSuccess","unwrapError","response","res","initialValue"],"mappings":"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","file":"mithril.min.js"} \ No newline at end of file