! function(t) { "use strict"; function e() { var e = this; e.reads = [], e.writes = [], e.raf = u.bind(t) } function n(t) { t.scheduled || (t.scheduled = !0, t.raf(i.bind(null, t))) } function i(t) { var e, i = t.writes, o = t.reads; try { r(o), r(i) } catch(t) { e = t } if(t.scheduled = !1, (o.length || i.length) && n(t), e) { //if(!t.catch) throw e; //t.catch(e) } } function r(t) { for(var e; e = t.shift();) e() } function o(t, e) { var n = t.indexof(e); return !!~n && !!t.splice(n, 1) } function s(t, e) { for(var n in e) e.hasownproperty(n) && (t[n] = e[n]) } var u = t.requestanimationframe || t.webkitrequestanimationframe || t.mozrequestanimationframe || t.msrequestanimationframe || function(t) { return settimeout(t, 16) }; e.prototype = { constructor: e, measure: function(t, e) { var i = e ? t.bind(e) : t; return this.reads.push(i), n(this), i }, mutate: function(t, e) { var i = e ? t.bind(e) : t; return this.writes.push(i), n(this), i }, clear: function(t) { return o(this.reads, t) || o(this.writes, t) }, extend: function(t) { if("object" != typeof t) throw new error("expected object"); var e = object.create(this); return s(e, t), e.fastdom = this, e.initialize && e.initialize(), e }, catch: null }; var a = t.fastdom = t.fastdom || new e; "f" == (typeof define)[0] ? define(function() { return a }): "o" == (typeof module)[0] && (module.exports = a) }("undefined" != typeof window ? window : this);